/* -------------------------------------------------------------------------------------------- */
/* Products Feature Banner ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
#product-feature-bg {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	background: #f4f3ee;
}
#featured-banner {position: relative; display: block;}
#featured-banner li {
	display: block;
	width: 100%;
}
.featured-banner-contents {
	display: block;
	width: 90%;
	max-width: 1800px;
	margin: 0 auto;
}
.feature-banner-image,
.featured-banner-info {
	display: inline-block;
	vertical-align: middle;
	width: 45%;
	margin: 0 2.5%;
}
.feature-banner-image img {
	display: block;
	width: 90%;
	height: auto;
	margin: 0 0 0 auto;
}
.featured-banner-info h2 {
	font-size: 3em;
	line-height: 0.9em;
}
.featured-banner-info h2 a {color: #000700;}
.featured-banner-info h2 a:hover {color: #c10230;}


/* -------------------------------------------------------------------------------------------- */
/* Products Category Rows ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.post-section-title {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
	margin-bottom: 32px;
}
.post-section-title h2 {
	margin: 0;
	font-size: 2.5em;
	line-height: 1em;
}


/* -------------------------------------------------------------------------------------------- */
/* Archive Filters ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.archive-filter-section {
	position: relative;
	display: block;
	margin-bottom: 25px;
	text-align: center;
}
.archive-filter-section h4 {
	border-bottom: 1px solid #000700;
	padding-bottom: 8px;
	margin-bottom: 0;
	font-weight: 400;
	font-size: 0.85em;
}
.archive-filters {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 5px 6px;
}
.archive-filters div,
.archive-filters a {
	display: inline-block;
	padding: 2px 4px 3px;
	margin: 0;
	border: 1px solid;
	line-height: 1em;
	font-size: 0.7em;
	color: #a4a7a9;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}
.archive-filters a.active {color: #000700;}
.archive-filters div:hover,
.archive-filters a:hover {color: #c10230;}
.archive-filters div.not-active {color: #a4a7a9;}
.archive-filters div.not-active:hover {color: #c10230;}

.filter-columns {
	position: relative;
	display: block;
	padding: 8px 0 0;
}
.searchbar {
	position: relative;
	display: block;
	margin-bottom: 8px;
}

.searchbar form {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	border: 1px solid #a4a7a9;
}
.searchbar label {
	position: relative;
	display: block;
	width: 100%;
}
.searchbar input {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 6px 8px;
	border: 0;
	background: #fff;
	outline: none;
	color: #000700;
	font-size: 16px;
	line-height: 1.25em;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
	-webkit-appearance: none;
	-webkit-border-radius: 0px;
}
.searchbar input[type="submit"] {
	display: block;
	width: 40px;
	background: transparent;
	text-indent: 1000px;
}
.searchbar input[type="submit"]:hover {background: #f2f2f2;}
.searchbar form:before,
.searchbar form:after {
	content: '';
	position: absolute;
	right: 16px;
	top: 50%;
	z-index: 2;
	display: block;
	width: 12px;
	height: 3px;
	background: #a4a7a9;
	transform-origin: 100% 50%;
	pointer-events: none;
}
.searchbar form:before {transform: translate3d(1px,0,0) rotate(45deg);}
.searchbar form:after {transform: translate3d(1px,-2px,0) rotate(-45deg);}

@media screen and (min-width: 560px) {
	.filter-columns {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.searchbar {
		margin-bottom: 0;
		margin-right: 12px;
	}
}



/* -------------------------------------------------------------------------------------------- */
/* Display Grid - for products/brands ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-grid-item {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	max-width: 400px;
	margin: 24px auto;
	border: 2px solid #000700;
	background: #fff;
	-webkit-box-shadow: 8px 8px 0 rgb(0,7,0,0.15);
	-moz-box-shadow: 8px 8px 0 rgb(0,7,0,0.15);
	box-shadow: 8px 8px 0 rgb(0,7,0,0.15);
	color: var(--black);
	-webkit-transition: transform 0.25s ease, box-shadow 0.25s ease;
	-moz-transition: transform 0.25s ease, box-shadow 0.25s ease;
	-o-transition: transform 0.25s ease, box-shadow 0.25s ease;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
/*
.product-grid-item:has(.new) {border-color: #3D8643;}
.product-grid-item:has(.featured) {border-color: #ddad2a;}
*/
.product-grid-item:has(.sale) {border-color: #c10230;}
figure.product-grid-item.hide-post {display: none;}
.product-grid-item:hover {
	border-color: #c10230 !important;
	transform: scale(1.05);
	-webkit-box-shadow: 4px 4px 10px rgb(0,7,0,0.1);
	-moz-box-shadow: 4px 4px 10px rgb(0,7,0,0.1);
	box-shadow: 4px 4px 10px rgb(0,7,0,0.1);
	color: #000700;
}
.product-grid-item-link {
	display: block;
	width: 100%;
	padding: 0;
	border: none;
	outline: none;
	background: none;
	color: #000700;
}
.product-grid-item .product-grid-item-link:hover {color: #000700;}
.product-grid-item .product-grid-photo img {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
	transform: scale(0.95);
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
.product-grid-item .product-grid-name {
	padding: 8px 12px 20px;
	text-align: center;
	color: #000700;
}
.product-grid-item:hover .product-grid-name {color: #fff;}
.product-grid-item .product-grid-item-link .product-grid-name h3 {
	display: block;
	margin: 0;
	transform: translate3d(0,0,0);
	font-size: 1.425em;
	line-height: 1em;
	color: #000700;
}
.product-grid-item .product-grid-item-link:hover .product-grid-name h3 {color: #c10230;}
.product-grid-item h4 {margin: 4px 0;}
.product-grid-details {display: block; width: 100%;}

/* Product grid MFGs ---------------------------------------------- */
.product-grid-details .product-grid-mfg {
	flex-grow: 1;
	position: relative;
	display: block;
	min-width: 50%;
	height: auto;
	max-height: 60px;
	min-height: 60px;
	background: #f4f3ee;
}
.product-grid-details a.product-grid-mfg:hover {background: #e4e4e4;}
.product-grid-mfg img {
	position: absolute;
	left: 50%;
	display: block;
	height: 100%;
	width: 60%;
	margin: 0 auto;
	padding: 8px;
	object-fit: contain;
	object-position: center;
	transform: translate3d(-50%,0,0);
}
.product-grid-mfg .product-grid-mfg-name {
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	width: 100%;
	height: auto;
	transform: translate3d(0,-50%,0);
	font-weight: 700;
	text-transform: uppercase;
	text-align: center;
	color: #000700;
}
.archive.category .product-grid-details .product-grid-mfg {display: none;}

/* Product grid pricing ---------------------------------------------- */
.grid-prices {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: stretch;
	width: 100%;
}
.grid-prices .price-container {
	flex-grow: 1;
	position: relative;
	display: block;
	height: auto;
	padding: 8px;
	background: #000700;
	color: #fff;
	text-align: center;
}
.grid-prices .price-container.retail-price-container {min-width: calc(50% + 8px);}
.grid-prices .price-container.tradeshow-price-container {width: calc(50% - 8px); background: #c10230;}
.grid-prices .price-container.tradeshow-price-container:before {
	content: '';
	position: absolute;
	left: -9px;
	top: 0;
	display: block;
	width: 10px;
	height: 100%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 90% 50%);
	background: #c10230;
}
.grid-prices .price-container h5 {
	margin: 0;
	color: #fff;
	font-size: 0.5em;
	font-weight: 700;
	line-height: 1em;
	text-transform: uppercase;
}
.grid-prices .price-container .grid-price {
	position: relative;
	margin: 1px 0 2px;
	font-family: "urw-din-condensed", sans-serif;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 1em;
}
.grid-prices .price-container.retail-price-container:not(:last-child) .grid-price:before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: block;
	width: 50%;
	max-width: 50px;
	height: 4px;
	background: #c10230;
	transform: translate3d(-50%,-50%,0) rotate(24deg);
}

/* Product Listings alterations (new, sale, featured) ---------------------------------------------- */
/* ------------------------------------------------------------------------------- */
.product-grid-tags {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	max-width: calc(100% - 38px);
	line-height: 1em;
	text-align: left;
}
.product-grid-tags span {
	position: relative;
	padding: 5px 8px 6px;
	font-family: "urw-din-condensed", sans-serif;
	font-weight: 600;
	font-size: 0.7em;
	line-height: 1em;
	text-transform: uppercase;
	color: #fff;
}
.product-grid-tags span.new {display: inline-block; background: #3D8643;}
.product-grid-tags span.featured {display: inline-block; background: #DDAD2A;}
.product-grid-tags span.sale {display: inline-block; background: #C10230;}
.product-grid-tags span.award {display: inline-block; background: #000700;}


/* Quick Add to cart ---------------------------------------------- */
/* ------------------------------------------------------------------------------- */
button.quick-add-open {
	position: absolute;
	top: 0;
	left: 100%;
	z-index: 6;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: stretch;
	padding: 0;
	margin: 0;
	background: #fff;
	border: none;
	border-bottom: 2px solid #000700;
	border-left: 2px solid #000700;
	outline: none;
	transform: translate3d(-36px,0,0);
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
button.quick-add-open.button-on {transform: translate3d(-36px,0,0);}
button.quick-add-open:hover {
	background: #c10230;
	border-color: #c10230;
	transform: translate3d(-100%,0,0);
}
button.quick-add-open.button-on:hover {transform: translate3d(-36px,0,0);}
.quick-add-plus {
	position: relative;
	display: block;
	min-width: 34px;
	transform-origin: 50% 50%;
	transform: rotate(0deg);
	-webkit-transition: transform 0.25s ease;
	-moz-transition: transform 0.25s ease;
	-o-transition: transform 0.25s ease;
	transition: transform 0.25s ease;
}
button.quick-add-open.button-on .quick-add-plus {transform: rotate(45deg);}
.quick-add-plus span {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 14px;
	height: 2px;
	background: #000700;
	transform-origin: 50% 50%;
	-webkit-transition: background 0.25s ease;
	-moz-transition: background 0.25s ease;
	-o-transition: background 0.25s ease;
	transition: background 0.25s ease;
}
.quick-add-plus span:first-child {transform: translate3d(-50%,-50%,0) rotate(90deg);}
.quick-add-plus span:last-child {transform: translate3d(-50%,-50%,0);}
button.quick-add-open:hover .quick-add-plus span {background: #fff;}
button.quick-add-open p {
	position: relative;
	display: block;
	padding: 4px 6px;
	margin: 0;
	border-left: 1px solid #840020;
	color: #000700;
	font-weight: 600;
	font-size: 0.7em;
	line-height: 1em;
	text-transform: uppercase;
}
button.quick-add-open:hover p {color: #fff;}

.product-quick-add-popup {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	overflow-y: scroll;
	display: none;
	width: 100%;
	height: 100%;
	padding-top: 12px;
	background: rgba(0,7,0,0.9);
}
.product-quick-add-popup.popup-active {}
.product-quick-add-popup .productSingle,
.product-quick-add-popup .productSingle .options,
.product-quick-add-popup .productSingle .options .optionsWrap {
	height: 100%;
}
.product-quick-add-popup .productSingle .options .optionsWrap .productOptions {min-height: calc(100% - 129px);}
.product-quick-add-popup .productSingle .options .line,
.product-quick-add-popup .productSingle .options .productOptions .line {
	padding: 0 12px;
	margin: 0;
}
.product-quick-add-popup button.button {padding-left: 12px; height: 100%;}

.product-quick-add-popup .productSingle .cartNotice {
	position: absolute;
	bottom: 0;
	z-index: 2;
}
.product-quick-add-popup .productSingle .cartNotice p {
	margin: 0;
	padding: 18px 12px;
	background: #fff;
	border: none;
	color: #c12030;
	font-size: 0.8em;
	line-height: 1.5em;
	text-align: center;
}
.product-quick-add-popup .productSingle .cartNotice p a {
	color: #c10230;
	text-decoration: underline;	
}

.product-quick-add-popup .productSingle .submitNote {
	background: none;
	color: #bbb;
}
.product-quick-add-popup .mfg-external-sales {
	margin: 0;
	border: none;
	color: #bbb !important;
	font-size: 0.7em;
	line-height: 1.5em;
}
.product-quick-add-popup .productSingle .submitNote a,
.product-quick-add-popup .mfg-external-sales a {
	color: #fff !important;
	text-decoration: underline;
}


@media screen and (min-width: 360px) {

	/* -------------------------------------------------------------------------------------------- */
	/* Display Grid - for products/trade shows ---------------------------------------------- */
	/* -------------------------------------------------------------------------------------------- */
	.product-grid {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: stretch;
		gap: 4vw 4%;
	}
	.product-grid.center-product-grid {justify-content: center;}
	.product-grid-item {
		flex-wrap: wrap;
		width: 48%;
		margin: 0;
	}
	.product-grid-item-link {margin-bottom: auto;}
	.product-grid-item .product-grid-photo {height: auto; width: 100%;}
	.product-grid-item .product-grid-photo img {
		width: 100%;
		height: 100%;
		margin: 0;
		object-fit: contain;
		transform: scale(0.95);
	}
	.product-grid-details {margin-top: auto;}

}

@media screen and (min-width: 560px) {

	/* Product Listings ---------------------------------------------- */
	/* ------------------------------------------------------------------------------- */
	.product-grid-item-link {margin-bottom: auto;}
	.product-grid-details {margin-top: auto;}

}

@media screen and (min-width: 750px) {
	
	.product-quick-add-popup .productSingle .options .optionsWrap .productOptions {min-height: calc(100% - 134px);}

}

@media screen and (min-width: 860px) {

	.product-grid {gap: 32px 3%;}
	.product-grid-item {width: 31.3333%;}
	#related-products .product-grid-item:nth-child(4) {display: none;}

}

@media screen and (min-width: 900px) {
	
	.product-quick-add-popup .productSingle .options .optionsWrap .productOptions {min-height: calc(100% - 137px);}

}

@media screen and (min-width: 1280px) {

	.product-grid {gap: 36px 2.6667%;}
	.product-grid-item {width: 23%;}
	#related-products .product-grid-item:nth-child(4) {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}

}





/* -------------------------------------------------------------------------------------------- */
/* Featured tags ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-tags {
	position: relative;
	display: block;
}
.product-tag {
	display: inline-block;
	padding: 6px;
	margin: 4px;
	text-transform: uppercase;
	color: #fff;
	line-height: 1em;
	font-weight: 500;
	font-size: 0.85em;
}
.product-tag.empty {display: none;}
.product-tag.new-tag,
.product-tag.green-tag {background: #3D8643;}
.product-tag.feature-tag {background: #d1a50a;}
.product-tag.sale-tag {background: #c10230;}
.price {
	font-size: 1.75em;
	color: #c10230;
	font-weight: 700;
	line-height: 1em;
}
.add-to-cart .price {
	display: inline-block;
	border: 2px solid #c10230;
	padding: 5px 12px 5px 6px;
}
.strikethrough {text-decoration: line-through;}
.price-symbol {
	position: relative;
	top: -0.075em;
	display: inline-block;
	transform: scale(0.65);
}

.award-tags {background: #000700;}
.award-tag {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}
.award-tag span {position: relative;}
.award-tag span.award-recipient {display: none;}
.award-tag span.award-recipient:first-child {display: block;}
.award-tag span.award-nominee {display: none;}
.award-tag span.award-nominee:first-child {display: block;}
.award-icon-container {position: relative; display: block;}
svg.award-icon {
	position: relative;
	z-index: 1;
	display: block;
	vertical-align: middle;
	width: 9px;
	height: 10.5px;
	trasnform-origin: 100% 50%;
	transform: scale(1.25);
	fill: #ffd527;
}
.award-label {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	z-index: 2;
	display: block;
	width: 180px;
	height: auto;
	padding: 6px 8px;
	background: #000700;
	border-radius: 6px;
	transform: translate3d(-50%,0,0);
	opacity: 0;
	font-size: 0.8em;
	line-height: 1.25em;
	text-align: center;
	text-transform: initial;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
.award-label:before {
	content: '';
	position: absolute;
	top: -4px;
	left: 50%;
	display: block;
	width: 8px;
	height: 4px;
	background: #000700;
	transform: translate3d(-50%,0,0);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.award-icon-container:hover .award-label {
	transform: translate3d(-50%,8px,0);
	opacity: 1;
}

/* -------------------------------------------------------------------------------------------- */
/* Individual Product content - top bar ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-top {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.product-top-left {flex-grow: 1;}
.product-top-right {flex-grow: 1; text-align: right;}
.product-top h1 {
	display: inline-block;
	margin: 0 10px 0 0;
	text-align: left;
}
.product-top .product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}
.product-top .product-tag {
	position: relative;
	display: block;
	margin: 0;
	font-size: 0.7em;
}
.product-top p {
	margin: 0;
	text-transform: uppercase;
	color: #a4a7a9;
	font-weight: 400;
	font-size: 0.7em;
	line-height: 1em;
}
.product-top-right h2,
.product-top-right h4 {
	display: inline-block;
	margin: 0;
}
.product-top-right h2 {
	font-family: "urw-din", sans-serif;
	font-weight: 700;
	font-size: 2.5em;
	color: #c10230;
	font-style: normal;
	letter-spacing: -0.05em;
}
.product-top-right h4 {
	margin-left: 10px;
	font-weight: 400;
}

.mfg-external-sales {
	position: relative;
	margin: 24px 0 0;
	padding: 8px 12px;
	border: 1px solid;
	font-size: 0.8em;
	line-height: 1.5em;
}

/* -------------------------------------------------------------------------------------------- */
/* Individual Product content - gallery ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.half-column.product-gallery {max-width: 512px; margin: 0 auto;}
.product-gallery .bx-viewport {height: 89.6vw; max-height: 512px;}
.product-gallery-box {
	display: block;
	width: 100%;
	height: 100%;
}
.product-gallery-box li {height: 100%;}
.product-gallery-box .row .col {
	height: 100%;
	padding: 0 40px;
	position: relative;
}
.product-gallery-box .product-video .col {padding: 0;}
.product-gallery-box iframe {width: 100%;}
.product-gallery-box .product-active-slide-img {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}
.product-gallery-box img {
	display: block;
	width: 100%;
	height: 100%;
	object-position: center center;
	object-fit: contain;
}
.bx-wrapper img.product-active-image {z-index: 1;}
.bx-wrapper img.product-active-image-zoom {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: translate3d(-50%,-50%,0) scale(1);
	pointer-events: none;
	-webkit-transition: transform 0.25s ease;
	-moz-transition: transform 0.25s ease;
	-o-transition: transform 0.25s ease;
	transition: transform 0.25s ease;
}
.bx-wrapper .product-active-slide-img:hover img.product-active-image-zoom {transform: translate3d(-50%,-50%,0) scale(2);}
.content .product-gallery ul li {margin: 0;}
.content .product-gallery ul li:before {display: none;}
.product-main-image-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 3;
	padding: 4px 8px;
	background: #aaa;
	color: #fff;
	font-size: 0.6em;
	line-height: 1.25em;
}
#bx-pager {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
#bx-pager a {
	display: block;
	aspect-ratio: 1 / 1;
	width: calc(25% - 6px);
	border: 1px solid #a4a7a9;
}
#bx-pager a.active {border: 1px solid #000700;}
#bx-pager a:nth-child(5n+5) {margin-right: 0;}
#bx-pager a:after {display: none;}
#bx-pager a:hover {border: 1px solid #c10230;}
#bx-pager img {
	display: block;
	width: 100%;
	height: 100%;
	object-position: 50% 50%;
	object-fit: contain;
}

@media screen and (min-width: 560px) {
	#bx-pager a {width: calc(20% - 6.4px);}
}
@media screen and (min-width: 900px) {
	.product-gallery .bx-viewport {height: 42.3vw;}
	.half-column.product-info {width: calc(50% - 24px);}
}
@media screen and (min-width: 1333px) {	.product-gallery .bx-viewport {height: 526px;} }


/* -------------------------------------------------------------- */
/* Single Product - Video Section ------------------------------- */
/* -------------------------------------------------------------- */
/* more at screen.css ------------------------------- */

/* Two Videos ------------------------------- */
.product-videos-wrapper {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
.product-videos-wrapper a {
	position: relative;
	display: block; 
	width: 49%; 
	margin: 20px 0; 
	background: #fff;
}
.product-videos-wrapper a img {
	position: relative;
	z-index: 2;
	display: block; 
	width: 100%; 
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%; 
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
}

#product-video-gallery,
.single #youtube-gallery {
	margin-top: 24px; 
}

@media screen and (min-width: 767px) {
	#product-video-gallery,
	.single #youtube-gallery {
		margin-top: 0; 
	}
}


/* -------------------------------------------------------------------------------------------- */
/* Individual Product content - features, benefits and compatibility -------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-main-description {position: relative;}
.product-main-description + .columns {margin-top: 48px;}
.product-compat .checkmark-list {display: block; margin-top: 10px;}
.product-compat .checkmark-list li {
	display: inline-block;
	margin: 0 6px 8px 0;
	padding: 10px 15px;
	border: 1px solid #c10230 !important;
	font-weight: 500;
}
.product-compat .checkmark-list li:before {
	float: none;
	display: inline-block;
	margin-left: 0;
	margin-right: 10px;
}

#product-details .product-articles .buttons-wrapper {margin-top: 0;}


/* -------------------------------------------------------------------------------------------- */
/* Compatibility chart - using ACF table field -------------------------- */
/* -------------------------------------------------------------------------------------------- */
.spec-chart {
	position: relative;
	overflow-x: scroll;
	display: -ms-grid;
	display: grid;
	justify-content: stretch;
	align-content: stretch;
	background: #f4f3ee;
	border: 1px solid #000700;
	border-left: 2px solid #000700;
	box-shadow: 8px 8px 0 rgba(0,7,0,0.15);
}
.spec-chart.spec-chart-columns-1 {grid-template-columns: 1fr;}
.spec-chart.spec-chart-columns-2 {grid-template-columns: 1fr 1fr;}
.spec-chart.spec-chart-columns-3 {grid-template-columns: 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-4 {grid-template-columns: 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-5 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-6 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-7 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-8 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-9 {grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;}
.spec-chart.spec-chart-columns-0 {grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));}
.spec-chart-cell {
	position: relative;
	padding: 8px;
	border-right: 1px solid #000700;
	border-bottom: 1px solid #000700;
	font-size: 0.85em;
	line-height: 1.125em;
}
.spec-chart-cell.spec-chart-head-cell {
	background: #000700 !important;
	color: #fff !important;
	font-weight: 600;
	text-transform: uppercase;
}
.spec-chart.column-header-yes.spec-chart-columns-1 .spec-chart-cell:nth-child(1n+1),
.spec-chart.column-header-yes.spec-chart-columns-2 .spec-chart-cell:nth-child(2n+1),
.spec-chart.column-header-yes.spec-chart-columns-3 .spec-chart-cell:nth-child(3n+1),
.spec-chart.column-header-yes.spec-chart-columns-4 .spec-chart-cell:nth-child(4n+1),
.spec-chart.column-header-yes.spec-chart-columns-5 .spec-chart-cell:nth-child(5n+1),
.spec-chart.column-header-yes.spec-chart-columns-6 .spec-chart-cell:nth-child(6n+1),
.spec-chart.column-header-yes.spec-chart-columns-7 .spec-chart-cell:nth-child(7n+1),
.spec-chart.column-header-yes.spec-chart-columns-8 .spec-chart-cell:nth-child(8n+1),
.spec-chart.column-header-yes.spec-chart-columns-9 .spec-chart-cell:nth-child(9n+1) {
	background: #f4f3ee;
	font-weight: 600; 
	text-transform: uppercase;
}


/* -------------------------------------------------------------------------------------------- */
/* Compatible crops list ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-crop-container{position: relative; display: block;}
.product-crops-scroll {
	position: relative; 
	overflow-x: scroll; 
	display: block; 
	padding: 0 16px 16px;
}
.product-crops-scroll::-webkit-scrollbar {width: 1em;}
.product-crops-scroll::-webkit-scrollbar-track {background-color: transparent;}
.product-crops-scroll::-webkit-scrollbar-thumb {
	background-color: #c10230;
	border-radius: 8px;
	border: 4px solid #fff;
}
.bg-beige .product-crops-scroll::-webkit-scrollbar-thumb {border-color: #f4f3ee;}
.bg-black .product-crops-scroll::-webkit-scrollbar-thumb {border-color: #000700;}
.product-crops-list {
	position: relative;
	display: block;
	white-space: nowrap;
}
.product-crop {
	position: relative;
	display: inline-block;
	width: 40vw;
	height: auto;
}
.product-crop img {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
}
.product-crop-text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	transform: translate3d(-50%,-50%,0);
	text-align: center;
}
.product-crop-name {
	position: relative;
	display: inline-block;
	padding: 4px 8px 6px;
	margin: 0 0 0.65em;
	background: #c10230;
	color: #fff;
	line-height: 1em;
}
.product-crop a {
	position: relative;
	display: block;
	width: 78px;
	margin: 0 auto;
	padding: 2px 0;
	font-weight: 600;
	font-size: 0.65em;
	line-height: 1em;
	color: #fff;
	text-shadow: 0 0 4px rgba(0,7,0,1);
	opacity: 1;
}
.product-crop a:after {
	content: '';
	position: absolute;
	top: 100%;
	display: block;
	width: 100%;
	height: 2px;
	background: #c10230;
}
.product-crop a:before {
	content: '';
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	background: #c10230;
	transform-origin: 50% 50%;
	transform: translate3d(-50%,0,0) scale3d(0,1,1);
	-webkit-transition: transform 0.25s ease;
	-moz-transition: transform 0.25s ease;
	-o-transition: transform 0.25s ease;
	transition: transform 0.25s ease;
}
.product-crop a:hover:before {transform: translate3d(-50%,0,0) scale3d(1,1,1);}

@media screen and (min-width: 640px) {
	.product-crop {width: 28vw;}
}

@media screen and (min-width: 750px) {
	.product-crop a {width: 86px;}
}

@media screen and (min-width: 767px) {
	.product-crop-text {
		transform: translate3d(-50%,calc(-50% + 16px),0);
		-webkit-transition: transform 0.25s ease;
		-moz-transition: transform 0.25s ease;
		-o-transition: transform 0.25s ease;
		transition: transform 0.25s ease;
	}
	.product-crop:hover .product-crop-text {transform: translate3d(-50%,-50%,0);}
	.product-crop a {
		transform: translate3d(0,8px,0);
		opacity: 0;
		-webkit-transition: all 0.25s ease;
		-moz-transition: all 0.25s ease;
		-o-transition: all 0.25s ease;
		transition: all 0.25s ease;
	}
	.product-crop:hover a {
		transform: translate3d(0,0,0); 
		opacity: 1;
		-webkit-transition: all 0.25s ease 0.15s;
		-moz-transition: all 0.25s ease 0.15s;
		-o-transition: all 0.25s ease 0.15s;
		transition: all 0.25s ease 0.15s;
	}
}

@media screen and (min-width: 1080px) {
	.product-crop {width: 320px;}
}

@media screen and (min-width: 1280px) {
	.product-crops-scroll {padding-left: calc(50% - 600px);}
}


/* -------------------------------------------------------------------------------------------- */
/* Testimonials ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.product-testimonials {position: relative; display: block;}
#testimonial-slider li {padding: 0 0 18px;}
.product-testimony {
	position: relative;
	display: block;
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.product-testimony:nth-child(even) {margin-left: auto;}
.product-testimony:last-child {margin-bottom: 0;}
.product-testimony-writeup {
	position: relative;
	width: calc(100% - 40px);
	padding: 16px 24px 24px;
	margin: 0;
	border: 2px solid #000700;
	background: #fff;
	box-shadow: 8px 8px 0 rgba(0,7,0,0.25);
}
.bg-beige .product-testimony-writeup {background: #f4f3ee;}
.bg-primary .product-testimony-writeup {background: #c10230; border-color: #fff;}
.bg-black .product-testimony-writeup {background: #000700; border-color: #fff; box-shadow: 8px 8px 0 rgba(255,255,255,0.25);}
.product-testimony:nth-child(even) .product-testimony-writeup {margin-left: auto;}
.product-testimony-writeup svg {
	fill: #000700;
	position: absolute;
	bottom: -2px;
	display: none;
	height: 40px;
}
.product-testimony-writeup svg.bubble-arrow-left {right: 100%; width: 46px; transform: translate3d(6px,0,0);}
.product-testimony-writeup svg.bubble-arrow-right {left: 100%; width: 40px;}
.product-testimony-writeup svg.bubble-arrow-left {
	-webkit-filter: drop-shadow(0 8px 0 rgba(0,7,0,0.25));
	filter: drop-shadow(0 8px 0 rgba(0,7,0,0.25));
}
.product-testimony-writeup svg.bubble-arrow-right {
	-webkit-filter: drop-shadow(10px 8px 0 rgba(0,7,0,0.25));
	filter: drop-shadow(10px 8px 0 rgba(0,7,0,0.25));
}
.bg-black .product-testimony-writeup svg.bubble-arrow-left {
	-webkit-filter: drop-shadow(0 8px 0 rgba(255,255,255,0.25));
	filter: drop-shadow(0 8px 0 rgba(255,255,255,0.25));
}
.bg-black .product-testimony-writeup svg.bubble-arrow-right {
	-webkit-filter: drop-shadow(10px 8px 0 rgba(255,255,255,0.25));
	filter: drop-shadow(10px 8px 0 rgba(255,255,255,0.25));
}
.product-testimony:nth-child(even) .product-testimony-writeup svg.bubble-arrow-left {display: block;}
.product-testimony:nth-child(odd) .product-testimony-writeup svg.bubble-arrow-right {display: block;}
.product-testimony-writeup svg polygon {position: relative;}
.product-testimony-writeup svg polygon.bubble-fill {z-index: 2; fill: #fff;}
.product-testimony-writeup svg polygon.bubble-outline {z-index: 1; fill: #000700;}
.bg-beige .product-testimony-writeup svg polygon.bubble-fill {fill: #f4f3ee;}
.bg-primary .product-testimony-writeup svg polygon.bubble-fill {fill: #c10230;}
.bg-black .product-testimony-writeup svg polygon.bubble-fill {fill: #000700;}
.bg-primary .product-testimony-writeup svg polygon.bubble-outline,
.bg-black .product-testimony-writeup svg polygon.bubble-outline {fill: #fff;}

.product-testimony-credits {
	position: absolute;
	bottom: 1px;
	display: inline-block;
	padding: 3px 12px 4px;
	background: #000700;
	border-radius: 12px;
	transform: translate3d(0,50%,0);
	color: #fff;
	font-weight: 600;
	font-size: 0.85em;
	line-height: 1em;
}
.bg-primary .product-testimony-credits,
.bg-black .product-testimony-credits {background: #fff; color: #000700;}
.product-testimony:nth-child(odd) .product-testimony-credits {right: 24px;}
.product-testimony:nth-child(even) .product-testimony-credits {left: 24px;}
.product-testimony-location {
	font-size: 0.7em;
	line-height: 1em;
	text-transform: uppercase;
	font-weight: 400;
	font-style: italic;
}

.product-testimony-rating {
	position: absolute;
	bottom: -10px;
	display: inline-block;
}
.product-testimony:nth-child(odd) .product-testimony-rating {left: 24px;}
.product-testimony:nth-child(even) .product-testimony-rating {right: 24px;}
.review-rating {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	width: 18px;
	height: 18px;
	margin: 0 2px;
}
.review-rating .star-border {stroke: #fff; stroke-width: 6px;}
.bg-beige .review-rating .star-border {stroke: #f4f3ee;}
.bg-primary .review-rating .star-border {stroke: #c10230;}
.bg-black .review-rating .star-border {stroke: #000700;}

.review-rating .star-gold {stroke: #c10230; stroke-width: 1px;}
.bg-primary .review-rating .star-gold,
.bg-black .review-rating .star-gold {stroke: #f4ca19;}

.product-testimony-rating-1 .review-rating-one,
.product-testimony-rating-2 .review-rating-one,
.product-testimony-rating-2 .review-rating-two,
.product-testimony-rating-3 .review-rating-one,
.product-testimony-rating-3 .review-rating-two,
.product-testimony-rating-3 .review-rating-three,
.product-testimony-rating-4 .review-rating-one,
.product-testimony-rating-4 .review-rating-two,
.product-testimony-rating-4 .review-rating-three,
.product-testimony-rating-4 .review-rating-four,
.product-testimony-rating-5 .review-rating-one,
.product-testimony-rating-5 .review-rating-two,
.product-testimony-rating-5 .review-rating-three,
.product-testimony-rating-5 .review-rating-four,
.product-testimony-rating-5 .review-rating-five {
	fill: #f4ca19;
}

.animate-stars .product-testimony-rating-1 .review-rating-one,
.animate-stars .product-testimony-rating-2 .review-rating-one,
.animate-stars .product-testimony-rating-3 .review-rating-one,
.animate-stars .product-testimony-rating-4 .review-rating-one,
.animate-stars .product-testimony-rating-5 .review-rating-one {animation: starBounce 0.8s 1 0s forwards;}
.animate-stars .product-testimony-rating-2 .review-rating-two,
.animate-stars .product-testimony-rating-3 .review-rating-two,
.animate-stars .product-testimony-rating-4 .review-rating-two,
.animate-stars .product-testimony-rating-5 .review-rating-two {animation: starBounce 0.8s 1 0.1s forwards;}
.animate-stars .product-testimony-rating-3 .review-rating-three,
.animate-stars .product-testimony-rating-4 .review-rating-three,
.animate-stars .product-testimony-rating-5 .review-rating-three {animation: starBounce 0.8s 1 0.2s forwards;}
.animate-stars .product-testimony-rating-4 .review-rating-four,
.animate-stars .product-testimony-rating-5 .review-rating-four {animation: starBounce 0.8s 1 0.3s forwards;}
.animate-stars .product-testimony-rating-5 .review-rating-five {animation: starBounce 0.8s 1 0.4s forwards;}

@keyframes starBounce {
	0% {transform: translate3d(0,0,0); animation-timing-function: cubic-bezier(0,.5,.5,1);}
	32% {transform: translate3d(0,-10px,0); animation-timing-function: cubic-bezier(.5,0,1,.5);}
	64% {transform: translate3d(0,0,0); animation-timing-function: cubic-bezier(0,.5,.5,1);}
	82% {transform: translate3d(0,-3px,0); animation-timing-function: cubic-bezier(.5,0,1,.5);}
	100% {transform: translate3d(0,0,0);}
}

@media screen and (min-width: 440px) {
	.product-testimony:nth-child(odd) .product-testimony-credits {right: 54px;}
	.product-testimony:nth-child(even) .product-testimony-credits {left: 54px;}
}

@media screen and (min-width: 560px) {
	.product-testimony-writeup {
		width: calc(100% - 80px);
		padding: 24px 32px 32px;
	}
	.product-testimony:nth-child(odd) .product-testimony-credits {right: 106px;}
	.product-testimony:nth-child(even) .product-testimony-credits {left: 106px;}
	.product-testimony-rating {bottom: -12px;}
	.review-rating {width: 24px; height: 24px;}
	.product-testimony:nth-child(odd) .product-testimony-rating {left: 32px;}
	.product-testimony:nth-child(even) .product-testimony-rating {right: 32px;}
}


/* -------------------------------------------------------------------------------------------- */
/* Resources ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.resources-container {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.resources-sidebar {
	display: none;
	width: 180px;
	margin-right: 32px; 
	margin-top: 60px;
}
.resources-main {
	flex-grow: 1;
	width: calc(100% - 212px);
}

.resources-sidebar ul.resources-sidebar-links {
	position: sticky;
	top: 80px;
	display: block;
	margin: 0;
}
.resources-sidebar ul li {position: relative; display: block;}
.resources-sidebar ul li.sidebar-box {
	padding: 0;
	margin-bottom: 8px;
	border: 2px solid #000700;
	border-top: 0;
	box-shadow: 4px 4px 0 rgba(0,7,0,0.15);
}
.resources-sidebar a {
	position: relative; 
	display: block;
	padding: 4px 8px;
	font-size: 0.7em;
	line-height: 1em;
	color: #000700;
}
.resources-sidebar a.sidebar-box-header {
	background: #000700;
	color: #fff;
	font-weight: 600;
	text-transform: uppercase;
}
.resources-sidebar ul ul a {border-bottom: 1px solid #ccc;}
.resources-sidebar ul ul li:last-child a {border-bottom: 0;}
.resources-sidebar ul ul a:hover {color: #c10230;}
.resources-sidebar ul ul a.active {
	background: #f4f3ee;
	font-style: italic;
	text-transform: uppercase;
}

.resource-section {position: relative; display: block;}
.resource-section h2 {position: absolute; top: 60px; font-size: 3em;}
.resource-subsection {
	position: relative;
	display: block;
	padding-top: 24px;
}
.resource-subsection:nth-child(2) h3 {padding-top: 84px;}
.resource-subsection h3 {margin-bottom: 0;}


@media screen and (min-width: 640px) {
	/* .resources-sidebar {display: block;} */
	.resource-subsection:nth-child(2) h3 {padding-top: 60px;}
	.resource-subsection {padding-top: 60px;}
}








.resource-section-type {
	position: relative;
	display: block;
	margin: 0 0 48px;
}
.resource-section-type:last-child {margin-bottom: 0;}
.pdf-resources {position: relative;	display: block; margin: 0; padding: 0;}
.pdf-resource {display: block; position: relative;}
.pdf-resources a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 6px 16px;
	border-top: 1px solid #ccc;
	line-height: 1.125em;
	color: #000700;
}
.pdf-resources a:hover {
	background: #f4f3ee;
}
.pdf-resources a svg.file-icon {transform: scale(0.7);}
.pdf-resources a .file-images {
	position: relative;
	display: flex;
	gap: 8px;
	margin-right: 12px;
}
.pdf-resources a .file-images img {
	position: relative;
	height: 40px;
	object-position: 50% 50%;
	object-fit: contain;
}
.pdf-resources a .file-images img:nth-child(1) {display: block; width: 60px;}
.pdf-resources a .file-images img:nth-child(2) {display: none; width: 40px;}
.pdf-resources a .file-name {
	flex-grow: 1;
	position: relative;
	display: block;
	text-align: left;
}
.pdf-resources a .file-name small {
	display: block;
	text-transform: uppercase;
	font-size: 70%;
	line-height: 1.125em;
}
.pdf-resources a .file-size {
	margin-left: 12px;
	white-space: nowrap;
	text-align: right;
}

@media screen and (min-width: 480px) {
	.pdf-resources a .file-images img:nth-child(2) {display: block;}
}


/* -------------------------------------------------------------------------------------------- */
/* Downloads ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.download-files-list {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 8px;
}
.download-files-list .download-file {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 2px solid #f4f3ee;
	outline: 0;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.bg-beige .download-files-list .download-file {border-color: #000700;}
.download-files-list .download-file:hover {border-color: #c10230;}

.download-files-list .open-file {
	flex-grow: 1;
	position: relative;
	z-index: 2;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 8px 12px;
	margin: 0;
	background: #f4f3ee;
	font-family: "urw-din-condensed", sans-serif;
	font-weight: 500;
	text-align: center;
	line-height: 1.125em;
	white-space: normal;
}
.bg-beige .download-files-list .open-file {background: #fff;}
.download-files-list .open-file:hover {background: #fff;}
.bg-beige .download-files-list .open-file:hover {background: #f4f3ee;}

.download-files-list .open-file span {
	flex-grow: 1; 
	position: relative;
	display: block; 
	margin-top: 0; 
	font-weight: 600; 
	text-align: left;
}
.open-file svg {fill: #c10230;}
.open-file svg polygon,
.open-file svg rect {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
.open-file svg .top-bar {transform-origin: left center; transform: scaleX(1);}
.open-file:hover svg .top-bar {transform: scaleX(0.54);}
.open-file svg .right-bar {transform-origin: center bottom; transform: scaleY(1);}
.open-file:hover svg .right-bar {transform: scaleY(0.65);}

.open-file svg .page-fold {transform-origin: center center; transform: translate(16px,-5px) rotate(-45deg);}
.open-file:hover svg .page-fold {transform: translate(10px,2px) rotate(-45deg);}

.open-file svg .fold-bottom {transform-origin: right center; transform: translateY(-14px) scaleX(0);}
.open-file:hover svg .fold-bottom {transform: translateY(0) scaleX(1);}
.open-file svg .fold-left {transform-origin: center top; transform: translateX(14px) scaleY(0);}
.open-file:hover svg .fold-left {transform: translateX(0) scaleY(1);}


@media screen and (min-width: 500px) {
	.download-files-list {
		flex-direction: row;
		align-items: stretch;
		gap: 12px;
	}	
	.download-files-list .download-file {
		width: calc(33.3333% - 8px);
		margin-bottom: 0;
	}
	.download-files-list .open-file {display: block; padding: 18px 12px;}
	.download-files-list .open-file span {margin-top: 4px; text-align: center;}
}

@media screen and (min-width: 640px) {
	.download-files-list {gap: 12px;}	
	.download-files-list .download-file {width: calc(25% - 9px);}
}

@media screen and (min-width: 950px) {
	.download-files-list {gap: 12px;}	
	.download-files-list .download-file {width: calc(20% - 9.6px);}
}


/* -------------------------------------------------------------------------------------------- */
/* Download list - Media Gallery ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.download-media-files {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.download-media-files > li {
	position: relative; 
	display: block;
	min-width: 140px;
	background: #fff;
	border: 2px solid #000700;
}
.download-media-files img {
	position: relative;
	display: block;
	height: clamp(80px,12vw,136px);
	margin: 0 auto;
}


/* -------------------------------------------------------------------------------------------- */
/* Download list - Options Bar ---------------------------------------------- */
/* -------------------------------------------------------------------------------------------- */
.download-bar {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	height: auto;
	background: #fff;
	text-align: left;
	transition: border 0.5s ease;
}
.download-file:hover .download-bar {border-color: #c10230;}


.download-button {
	flex-grow: 1;
	position: relative;
	display: block;
	padding: 8px;
	color: #000700;
	font-size: 0.7em;
	line-height: 1em;
}
.no-dropdown:hover a.download-button,
a.download-button:hover {background: #c10230; color: #fff;}
.bg-beige .download-button {background: #f4f3ee; border-color: #fff;}


.download-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 28px;
	background: #f4f3ee;
	transition: background 0.25s ease;
}
.no-dropdown .download-icon {background: transparent; pointer-events: none;}
.download-bar.no-dropdown:hover .download-icon,
.download-bar.dropdown .download-icon:hover {background: #c10230;}


.download-icon .arrow {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate3d(-50%,-50%,0);
	transition: transform 0.25s ease;
}
.download-bar.no-dropdown:hover .download-icon .arrow,
.download-bar.dropdown .download-icon:hover .arrow {transform: translate3d(-50%,calc(-50% + 2px),0);}

.download-icon .arrow:before,
.download-icon .arrow:after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	display: block;
}
.download-icon .arrow:before {
	width: 1px;
	height: 10px;
	background: #000700;
	transform: translate3d(-50%,calc(-50% - 1px),0);
	transition: background 0.5s ease;
}
.download-bar.no-dropdown:hover .download-icon .arrow:before,
.download-bar.dropdown .download-icon:hover .arrow:before {background: #fff;}
.download-icon .arrow:after {
	width: 8px;
	height: 8px;
	border-right: 1px solid #000700;
	border-bottom: 1px solid #000700;
	transform-origin: 50% 50%;
	transform: translate3d(-50%,-50%,0) rotate(45deg);
	transition: border 0.5s ease;
}
.download-bar.no-dropdown:hover .download-icon .arrow:after,
.download-bar.dropdown .download-icon:hover .arrow:after {border-color: #fff;}

.download-icon .base {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 12px;
	height: 1px;
	background: #000700;
	transform: translate3d(-50%,calc(-50% + 8px),0);
	transition: background 0.5s ease;
}
.download-bar.no-dropdown:hover .download-icon .base,
.download-bar.dropdown .download-icon:hover .base {background: #fff;}


.download-options {
	position: absolute;
	top: 100%;
	right: -2px;
	z-index: 2;
	min-width: 140px;
	border: 2px solid #000700;
	border-top: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s ease;
}
.download-icon:hover .download-options {opacity: 1; pointer-events: initial;}
.download-options li {position: relative; display: block;}
.download-options li a {
	position: relative; 
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 8px;
	margin: 0;
	background: #f4f3ee;
	border-top: 1px solid #000700;
	color: #000700;
	font-size: 0.6em;
	line-height: 1em;
}
.download-icon:hover .download-options li a {padding: 6px 8px;}
.download-options li a:hover {background: #c10230; color: #fff;}
.download-options li a span {}


/* ------------------------------------------------------------------------------ */
/* Calculators --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.calculator {
	position: relative;
	border: 3px solid #000700;
	-webkit-box-shadow: 8px 8px 0 rgb(0,7,0, 0.15);
	-moz-box-shadow: 8px 8px 0 rgb(0,7,0, 0.15);
	box-shadow: 8px 8px 0 rgb(0,7,0, 0.15);
}
.calculator-heading {
	padding: 8px 8px 13px;
	margin: 0;
	background: #000700;
	color: #fff;
	text-align: center;
}
.bg-beige .calculator-heading {color: #f4f3ee;}
.calculator-columns {position: relative;}
.calculator-column {position: relative;}
.calculator-subheading {
	position: relative;
	display: block;
	width: 100%;
	padding: 5px 0;
	background: #f0efef;
	text-transform: uppercase;
	text-align: center;
	line-height: 1.125em;
}
.calculator-row {
	position: relative;
	background: #fff;
	font-size: 0.85em;
	line-height: 1.3em;
}
.calculator-row:nth-child(n + 2) {border-top: 1px solid #f4f3ee}

/* Calculator fields --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.calculator-field-container {
	position: relative;
	padding: 12px 18px;
	border-top: 1px solid #f4f3ee;
}
.calculator-row label {
	position: relative;
	display: block;
	padding: 0;
	margin: 0 0 6px;
	color: #000700;
	font-weight: 600;
	text-transform: uppercase;
}
.calculator-row label em {
	color: #aaa;
	text-transform: initial;
}
.calculator-field {position: relative;}
.calculator-field input,
.calculator-field select {
	position: relative;
	display: block;
	width: 100%;
	padding: 6px 8px;
	background: none;
	border: 1px solid #000700;
	border-radius: 0;
	outline: none;
	line-height: 1.4em;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	-o-transition: all 0.25s ease;
	transition: all 0.25s ease;
	-webkit-appearance: none;
	-webkit-border-radius: 0px;
}
.calculator-field input:focus,
.calculator-field select:focus {
	border-color: #c10230;
}
.calculator-select-field:after {
	content: '';
	position: absolute;
	right: 8px;
	top: 50%;
	width: 0; 
	height: 0; 
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 8px solid #000700;
	transform: translate3d(0,-50%,0);
	pointer-events: none;
}

.highlight-field {background: #c10230;}
.calculator-row .highlight-field label {color: #fff;}
.highlight-field input,
.highlight-field select {
	background: #840020;
	color: #fff;
}

/* Calculator Results --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.calculator-results {
	position: relative;
	display: block;
	padding: 12px 16px;
	background: #c10230;
	border-top: 1px solid #000700;
	color: #fff;
	text-align: center;
}
.calculator-results-title {
	position: relative;
	flex-grow: 1;
}
.calculator-results-title span {
	position: relative;
	z-index: 2;
	padding: 0 8px;
	background: #c10230;
	font-family: "urw-din-condensed", sans-serif;
	font-size: 1.75em;
	line-height: 1em;
}
.calculator-results-title:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: translate3d(0,-1px,0);
}
.calculator-results-container {
	position: relative;
	margin-top: 8px;
	border: 2px solid #fff;
}
.calculator-result {
	position: relative;
	padding: 10px 8px;
	text-transform: uppercase;
	font-weight: 600;
	line-height: 1em;
}
.calculator-result:nth-child(n + 2) {border-top: 1px solid #fff;}
.calculator-result span {font-size: 1.4em;}

/* Calculator notes --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.calculator-comments {
	text-align: left;
	padding: 20px 0 0 0;
	font-size: 11px;
	line-height: 1.3em;
}

@media (min-width: 600px) {
	.calculator-columns {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.calculator-column {flex-grow: 1; width: 20%;}
	.calculator-column:nth-child(even) {border-left: 1px solid #000700;}
	
	.calculator-row {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: stretch;
	}
	.calculator-field-container {flex-grow: 1; width: 50%;}
	.calculator-field-container:nth-child(odd) {border-right: 1px solid #f4f3ee;}
}

@media (min-width: 700px) {
	.calculator-results {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		align-items: center;
		text-align: left;
	}
	.calculator-results-container {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
		margin: 0;
	}
	.calculator-results-title span {padding: 0 8px 0 0;}
	.calculator-result:nth-child(n + 2) {border-top: 0; border-left: 1px solid #fff;}
}

@media (min-width: 767px) {
	.calculator-field-container {width: 20%;}
	.calculator-field-container:nth-child(even) {border-right: 1px solid #f4f3ee;}
	.calculator-field-container:last-child {border-right: none;}
}



/* Product Options --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.productSingle .options {margin: 0;}
.productSingle .optionsWrap {display: inline-block; width: 100%;}
.productSingle .options .line {
	position: relative;
	display: inline-block; 
	width: 100%;
}
.productSingle .options .productOptions .line {margin-bottom: 8px;}

.productSingle .options .line label {
	display: inline-block;
	width: 100%;
	padding: 5px 20px 5px 0;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.125em;
}

/* Dropdown product options --------------------------------------- */
.productSingle .options .line .select-field {
	position: relative;
	display: block;
}
.productSingle .options .line .select-field:before,
.productSingle .options .line .select-field:after {
	content: '';
	position: absolute;
	right: 14px;
	top: calc(50% - 1px);
	z-index: 2;
	display: block;
	width: 10px;
	height: 3px;
	background: #000700;
}
.productSingle .options .line .select-field:before {transform: translate3d(-2.5px,0,0) rotate(45deg);}
.productSingle .options .line .select-field:after {transform: translate3d(2.5px,0,0) rotate(-45deg);}
.productSingle .options .line select {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	padding: 12px 20px 12px 12px;
	border: 1px solid #000700;
	border-radius: 0;
	background: transparent;
	line-height: 1em;
	color: #000700;
}
.bg-black .productSingle .options .line .select-field:before,
.bg-black .productSingle .options .line .select-field:after {
	background: #fff;
	border-color: #fff;
}
.bg-black .productSingle .options .line select {
	border-color: #fff;
	color: #fff;
}


/* Checkmark options --------------------------------------- */
.productSingle .options .optionsCheckboxes {
	position: relative;
	display: block;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox {
	position: relative;
	display: inline-block;
	margin: 0 4px 4px 0;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox],
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio] {
	display: none;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox label {
	position: relative;
	overflow: hidden;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	padding: 0 !important;
	margin: 0;
	width: 100%;
	max-width: 100%;
	border: 1px solid #000700;
	font-weight: 400;
	line-height: 1em;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}
.bg-black .productSingle .options .optionsCheckboxes .product-option-checkbox label {border-color: #fff;}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label,
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label {
	background: #c10230;
	border-color: #840020;
	color: #fff;
}

.productSingle .options .optionsCheckboxes .product-option-checkbox label span {
	position: relative;
	display: block;
	padding: 8px 12px;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox label .checkmark {
	position: relative;
	display: block;
	width: 18px;
	border-right: 1px solid #ccc;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox label .checkmark:before,
.productSingle .options .optionsCheckboxes .product-option-checkbox label .checkmark:after {
	content: '';
	position: absolute;
	top: calc(50% + 4px);
	left: 8px;
	width: 14px;
	height: 3px;
	background: #ddd;
	transform-origin: 0 0;
	-webkit-transition: all .25s ease;
	-moz-transition: all .25s ease;
	-o-transition: all .25s ease;
	transition: all .25s ease;
}
.productSingle .options .optionsCheckboxes .product-option-checkbox label .checkmark:before {transform: rotate(-45deg) translate3d(-1.5px,-0.5px,0);}
.productSingle .options .optionsCheckboxes .product-option-checkbox label .checkmark:after {transform: rotate(225deg) scaleX(1) translate3d(-8px,4px,0);}

.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label .checkmark {border-color: #840020;}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label .checkmark:before,
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label .checkmark:after {background: #fff;}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label .checkmark:before {transform: rotate(-45deg) translate3d(0,0,0);}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=checkbox]:checked+label .checkmark:after {transform: rotate(225deg) scaleX(0.375) translate3d(0,0,0);}

.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label .checkmark {border-color: #840020;}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label .checkmark:before,
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label .checkmark:after {background: #fff;}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label .checkmark:before {transform: rotate(-45deg) translate3d(0,0,0);}
.productSingle .options .optionsCheckboxes .product-option-checkbox input[type=radio]:checked+label .checkmark:after {transform: rotate(225deg) scaleX(0.375) translate3d(0,0,0);}


/* Text and Number fields --------------------------------------- */
.productSingle .options .line input[type="text"],
.productSingle .options .line input[type="number"] {	
	position: relative;
	display: block;
	height: auto;
	width: 100%;
	padding: 12px;
	border: 1px solid #000700;
	background: transparent;
	line-height: 1em;
	color: #000700;
}

.bg-black .productSingle .options .line input[type="text"],
.bg-black .productSingle .options .line input[type="number"] {	
	border-color: #fff;
	color: #fff;
}
.productSingle .options .line input[type="number"].qty {
	width: 85px;
	padding: 9px 12px;
}

/* Price Box and Add to Cart button --------------------------------------- */
.checkout-line {
	position: relative;
	display: block;
	margin-top: 16px;
}
.checkout-line .priceBox {
	position: relative;
	display: block;
	width: 100%;
	background: #000700;
	color: #fff;
	line-height: 1em;
	font-size: 1.125em;
	font-family: "urw-din-condensed", sans-serif;
	font-weight: 600;
	text-align: center;
}
.checkout-line button {
	width: 100%;
	min-height: 44px; 
	text-align: left;
}
.single .checkout-line button.button.arrow-button {
	padding-top: 24px; 
	padding-bottom: 24px;
	font-weight: 600;
}

.single-product-prices {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.single-product-prices .single-product-price {
	position: relative;
	display: none;
	vertical-align: baseline;
	padding: 8px;
}
.single-product-prices small {
	position: relative;
	display: block;
	font-size: 0.6em;
	line-height: 1em;	
}
.single-product-prices span {position: relative;}
.single-product-prices .single-product-price.single-product-retail span:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	width: 100%;
	height: 3px;
	background: #c10230;
	transform: translate3d(-50%,-50%,0);
}


/* Submit Note --------------------------------------- */
.productSingle .submitWrap {position: relative; display: block;}
.productSingle .submitNote {
	display: inline-block;
	width: 100%;
	padding: 8px 12px;
	background: #f4f3ee;
	text-align: left;
}
.productSingle .submitNote p {
	text-transform: initial;
	font-size: 0.7em;
	line-height: 1.5em;
}
.productSingle .submitNote p:last-child {margin-bottom: 0;}


@media screen and (min-width: 480px) {

	.productSingle .options .line input[type="number"].qty {
		width: 85px;
	}
	
	.checkout-line {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	.checkout-line .priceBox {
		width: 50%;
	}
	.checkout-line button {
		flex-grow: 1;
		width: 50%;
	}
	
}



/* ------------------------------------------------------------------------------ */
/* DUCK FOOT SPECIFIC --------------------------------------- */
/* ------------------------------------------------------------------------------ */
/* filters --------------------------------------- */
.duck-foot-filter {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}
.df-implement-make {
	flex-grow: 1;
	display: block;
	width: 18%;
	height: 10vw;
	padding: 5px;
	background: #f4f3ee;
	border: 2px solid #f4f3ee;
	cursor: pointer;
	-webkit-transition: all 0.25s ease 0s;
	-moz-transition: all 0.25s ease 0s;
	-o-transition: all 0.25s ease 0s;
	transition: all 0.25s ease 0s;
}
.df-implement-make.df-active-implement {background: #fff; border-color: #000700;}
.df-implement-make:hover {background: #fff; border-color: #c10230;}
.df-implement-make img {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	object-position: center center;
	object-fit: contain;
}

@media screen and (min-width: 900px) {
	.duck-foot-filter {flex-wrap: nowrap;}
	.df-implement-make {
		width: 12%;
		height: 6vw;
		max-height: 80px;
		padding: 10px;
	}
}

/* Product List --------------------------------------- */
.df-models-container {
	position: relative;
	display: block;
	width: 100%;
}
.duck-foot-product-grid .product-grid-item button {
	opacity: 1;
	-webkit-transition: all 0.25s ease 0s;
	-moz-transition: all 0.25s ease 0s;
	-o-transition: all 0.25s ease 0s;
	transition: all 0.25s ease 0s;
}
.duck-foot-product-grid .product-grid-photo, .duck-foot-product-grid .product-grid-name {background: #fff;}
.duck-foot-models {
	position: relative;
	display: none;
	height: 100%;
	padding: 4px 16px 8px;
	color: #000700;
	font-size: 0.85em;
	line-height: 1.25em;
	text-align: left;
}
.duck-foot-models.df-active-models {display: block;}
.duck-foot-models span {
	top: 0;
	padding: 0 2px;
	margin: 0 3px 0 0;
	background-image: linear-gradient(#dbdad5,#dbdad5);
	background-size: 100% 0;
	background-repeat: no-repeat;
	background-position: left calc(100% + 1px);
	border: 1px solid #000700;
	line-height: 1.75em;
}

@media screen and (min-width: 860px) {
	.product-grid.duck-foot-product-grid {gap: 36px 2.6667%;}
	.product-grid.duck-foot-product-grid .product-grid-item {width: 23%;}
}


/* ------------------------------------------------------------------------------ */
/* Duck Foot quantity finder --------------------------------------- */
/* ------------------------------------------------------------------------------ */
.duck-foot-quantity-table {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 48px 0;
}
.duck-foot-quantity-table:first-child {margin-top: 0;}
.duck-foot-quantity-table:last-child {margin-bottom: 0;}
.df-qty-title {width: 100%; padding: 8px 16px 11px;}
.df-qty-row {
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	width: 33.3333%;
	background: #fff;
}
.df-qty-row.df-header-sizes {background: #f4f3ee; font-weight: 600;}
.df-qty-row div {
	flex-grow: 1;
	position: relative;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 48px;
	padding: 8px;
	border-bottom: 1px solid #000700;
	text-align: center;
	line-height: 1.25em;
}
.df-qty-row div:first-child {height: 60px; font-weight: 600;}

@media screen and (min-width: 500px) {
	.duck-foot-quantity-table {display: block;}
	.df-qty-row {flex-direction: row; width: 100%;}
	.df-qty-row div {
		display: block; 
		width: 11%; 
		height: auto;
		border-bottom: none;
		border-left: 1px solid #000700;
	}
	.df-qty-row div:first-child {
		width: 23%;
		height: auto;
		border-left: none;
		text-align: left;
	}
	.df-qty-row div br {display: none;}
}





