/******************************/
/******** Visual App **********/
/*** WooCommerce Stylesheet ***/
/******************************/
/******************************/

/******************************/

/* 1) Category Styles         */
/* 2) Product Page Styles     */
/* 3) Checkout / Cart / RFQ   */
/* 4) Responsive Styles       */
/* 5) Shop Page Styles        */

/******************************/

/******************************/
/* 1) Category Styles         */
/******************************/

ul.products {
	margin: 0 0 2em 0;
}

ul.products li.product-category {
	height: auto !important;
}

ul.products li.product {
	background: none !important;
	margin-bottom: 3em !important;
	margin-right: 1em;
	width: 200px;
	height: 38px;
	margin-bottom: 0 !important;
	display: block;
	vertical-align: top;
	/* float: none !important; */
}

body[class*=term] ul.products li.product {
	padding: 0 !important;
}

li.product img {
	height: auto;
	max-width: 100%;
	margin-bottom: 1em !important;
}

li.product h2 {
	font-weight: 600;
	font-size: 1em;
}

li.product a {
	opacity: 1 !important;
	text-decoration: none !important;
}

li.product a:hover h2,
li.product a:hover img {
	opacity: 0.8;
}

li.product a.button {
	background: #1a4294;
	border: solid 1px #7692ca;
	box-shadow: 0 0 0 1px #1a4294;
	border-radius: 3px;
	color: #fff !important;
	text-decoration: none !important;
	padding: 8px 25px;
	font-weight: 300 !important;
	display: inline-block;
}

li.product a.button:hover {
	opacity: 0.8 !important;
}

nav.woocommerce-breadcrumb {
	margin-bottom: 1.5em;
	padding-right: 150px;
	box-sizing: border-box;
}

li.product span.price {
	margin-bottom: 1em;
	display: block;
	color: #6e7f0b;
}

div#content {
	padding-bottom: 32px;
}

/******************************/
/* 2) Product Page Styles     */
/******************************/

.product_meta {
	display: none;
}

ul.tabs.wc-tabs {
	display: none;
}

.woocommerce-product-details__short-description p {
	font-size: 1.125em !important;
}

div.woocommerce-tabs div.wc-tab {
	display: block !important;
}

div.images {
	/* float: right; */
	/* margin-left: 2em; */
	/* width: 300px; */
	/* max-width: 100%; */
}

div.thumbnails li {
	background: none !important;
	padding-left: 10px !important;
	margin: 0;
	height: 76px !important;
}

div.single-product-main-image img {
	margin-bottom: 0 !important;
}

div.summary ul {
	margin-left: 0;
}

a.add-request-quote-button {
	background: url(/wp-content/themes/va/images/quote-icon-white.png) 36px center no-repeat !important;
	background-color: #d2232a !important;
	background-size: 28px !important;
	border: solid 1px #fb696e;
	box-shadow: 0 0 0 1px #a33408;
	padding: 15px 20px 15px 81px;
	margin-bottom: 1em;
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff !important;
	font-family: "Montserrat";
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-block;
	text-transform: capitalize;
	text-align: left;
	font-size: 1.125em;
}

table.shop_attributes {
	width: 500px;
	max-width: 100%;
	border: solid 1px #d8d8d8;
	margin-bottom: 0;
}

table.shop_attributes p {
	margin: 0 !important;
}

div#tab-additional_information {
	margin-bottom: 2em;
}

p.price {
	margin-bottom: 1em !important;
}

p.price span {
	font-size: 2em;
	color: #748426;
	font-weight: 600;
}

p.price span span {
	font-size: 1em;
}

.product-subtotal {
	display: none !important;
}

div.quantity input {
	display: inline-block;
	width: 56px;
	padding: 10px;
	float: left;
	margin-right: 10px;
	box-shadow: 0 0 0 1px #d8d8d8;
	border: solid 1px #ffffff;
	border-radius: 3px;
}

button.single_add_to_cart_button {
	padding: 10px;
	background: #c80000;
	border: solid 1px #de7d7d;
	box-shadow: 0 0 0 1px #c80000;
	border-radius: 3px;
	color: #fff !important;
	box-sizing: border-box;
	text-transform: capitalize;

	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	-o-transition: all 300ms;
	transition: all 300ms;
}

button.single_add_to_cart_button:hover {
	cursor: pointer;
	opacity: 0.8;
}

a.document-01 {
	background: #606060;
	border: solid 1px #818181;
	box-shadow: 0 0 0 1px #606060;
	padding: 8px 40px;
	margin-bottom: 1em;
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff !important;
	font-family: "Open Sans Regular", sans-serif;
	font-weight: 300 !important;
	text-decoration: none !important;
	display: block;
	text-transform: capitalize;
	text-align: center;
}

td.product-name a {
	font-size: 14px;
	font-weight: bold;
}
.gsc-table-cell-thumbnail {
	display: none !important;
}
input.gsc-search-button,
input.gsc-search-button:hover,
input.gsc-search-button:focus {
	border-color: #003967 !important;
	background-color: #004b85 !important;
}
.print-logo {
	display: none;
}

.woocommerce-message {
	margin-top: 40px !important;
}
.fancybox-skin,
.fancybox-outer,
.fancybox-inner {
	width: 800px !important;
}
.fancybox-skin {
	max-width: 90% !important;
}
.fancybox-outer,
.fancybox-inner {
	max-width: 100% !important;
}
.fancybox-wrap {
	left: 50% !important;
	margin-left: -400px !important;
}
.product-archive-headers {
	clear: both;
	margin-bottom: 0 !important;
}
.martin-text-link {
	display: inline-block;
	margin-top: 27px;
}
#leftnav a.xref-martin {
	display: block;
	width: 160px;
	height: 43px;
	box-sizing: border-box;
	border: 1px solid #f99056 !important;
	-webkit-box-shadow: 0 0 0 1px #d85710;
	box-shadow: 0 0 0 1px #d85710;
	background: #d85710 url(/images/xref-arrows.png) 115px 10px no-repeat;
	border-radius: 6px;
	color: white;
	text-decoration: none !important;
	padding-left: 15px;
	padding-top: 6px;
	font-size: 12px;
	line-height: 14px;
	font-weight: bold;
	margin-top: 10px;
	transition: all 300ms;
}
#leftnav a.xref-martin:hover {
	background: #ed681f url(/images/xref-arrows.png) 119px 10px no-repeat;
}

#content ul li.product-category,
#content ul li.product {
	background: none;
	list-style-type: none;
	float: left;
}

#content ul li.product {
	width: 100%;
	height: 100% !important;
	margin: 0px;
}

#content ul li.product-category {
	width: 230px !important;
	margin-right: 20px !important;
	margin-bottom: 32px !important;
	border-bottom: none !important;
	height: 320px !important;
}

#content ul.products li img {
	max-width: 100%;
	height: auto;
	border: 1px solid #cccccc;
	margin-bottom: 15px;
	transition: opacity 400ms;
}

#content ul.products li a {
	text-decoration: none;
}

#content ul.products li h2 {
	text-align: center;
	color: #005ba1;
	margin: 0;
}

#content ul.products li h2 mark {
	display: none !important;
}

#content ul.products li a:hover {
	cursor: pointer;
}

#content ul.products li:hover img {
	opacity: 0.8;
}

#content ul.products li:hover h2 {
	text-decoration: underline;
}

body[class*=term] ul.products li h2 {
	padding: 0 !important;
}

#content img.dimensional-diagram {
	max-width: 640px;
	margin-bottom: 0;
}

.cadbtn,
.rfq-btn {
	display: inline-block;
	width: auto;
	text-align: center;
	background: #015291;
	color: #ffffff !important;
	font-weight: bold;
	text-decoration: none !important;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	-webkit-box-shadow: 0 0 0 1px #015291;
	box-shadow: 0 0 0 1px #015291;
	margin-bottom: 15px;
	border: solid 1px #2b80bf;
	margin-right: 1px;
	margin-left: 1px;
	padding: 5px 16px 5px 10px;
}

span.btn-wrap.cadbtn {
	border: none;
	margin-bottom: 32px;
	float: left;
	margin-right: 20px;
}

.cadbtn span,
.rfq-btn span {
	display: block;

	background: url(../images/gear.png) 12px 6px no-repeat;

	padding: 11px 10px 11px 50px;

	height: 100%;
	font-size: 1em;
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
}
.cadbtn a:hover {
	background: #0864ab;
}

span.btn-wrap.martin-text-link {
	margin-bottom: 32px;
}

.fancybox-skin,
.fancybox-outer,
.fancybox-inner {
	height: 100% !important;
}

.fancybox-wrap {
	max-width: 90% !important;

	height: 80% !important;
}

.fancybox-wrap,
.fancybox-inner {
	width: 1200px !important;
}

.fancybox-inner {
	max-width: 100% !important;
}

.woocommerce-pagination {
	clear: both;
}

#content ul.product-archive-headers li,
#content ul.product-archive-content li {
	padding: 0px;
	float: left;
	background: none;
	height: 46px;
	font-weight: bold;
	color: #fff;
	background: #003a6a;
	box-sizing: border-box;
	border-right: 1px solid #095a9c;
	text-align: center;
	display: table;
	vertical-align: middle;
	font-size: 0.875em;
	font-weight: 400;
	margin-bottom: 0;
}

#content ul.product-archive-headers li span {
	vertical-align: middle;

	display: table-cell;

	text-align: center;
}

#content ul.product-archive-content li {
	background: white;
	color: #333;
	font-weight: normal; 
	border-right: 1px solid #cccccc;
	border-bottom: 1px solid #cccccc;
	height: 38px;
	display: block;
	padding-top: 8px;
}

#content ul.product-archive-content li.item-title {
	border-left: 1px solid #cccccc;
	padding: 0px;
}

#content ul.product-archive-content a {
	text-decoration: underline !important;
	display: block;
	padding: 8px 10px 8px 10px;
}

#content ul.product-archive-content a:hover h2 {
	color: #0073cc;
}

#content ul.product-archive-content {
	margin-bottom: 0px;
	display: block;
	height: 38px;
	margin: 0;
}

body[class*=term] #content ul.product-archive-content::before,
body[class*=term] #content ul.product-archive-content::after{
	display: none;
}

body[class*=term] .facetwp-template {
	border: 0;
}

#content ul li.product:nth-child(even) .product-archive-content li {
	background: #efefef;
}

#content ul.eleven-columns li {
	width: 86px;

	padding-left: 0px;

	padding-right: 0px;
}

#content ul.eleven-columns li.wider {
	width: 180px;
}

#content ul.thirteen-columns li.wider {
	width: 127px;
}
#content ul.thirteen-columns li {
	width: 84px;
	padding-left: 0;
	padding-right: 0;
}
#content ul.twelve-columns li {
	width: 90px;

	padding-left: 0px;

	padding-right: 0px;
}
#content ul.twelve-columns li.wider {
	width: 130px;
}
#content ul.eight-columns li {
	width: 180px;
}

#content ul.eight-columns li.wider {
	width: 162px;
}
#content ul.seven-columns li {
	width: 205px;
}

#content ul.seven-columns li.wider {
	width: 180px;
}

#content ul.six-columns li {
	width: 180px;
}

#content ul.five-columns li {
	width: 216px;
}

#content ul.four-columns li {
	width: 270px;
}

#content ul.nine-columns li {
	width: 120px;
}
#content ul.nine-columns li.wider {
	width: 110px;
}

#content ul.ten-columns li {
	width: 108px;
}
#content ul.ten-columns li.wider {
	width: 130px;
}

#content ul.one-column li {
	width: 300px;
}

#content ul.three-columns-products li,
#content ul.two-columns-products li {
	width: 285px;
}

ul.product-archive-content.ten-columns.discharge-spouts-list li,
ul.product-archive-content.ten-columns.discharge-spouts-list,
ul.products li.product_cat-304-ss-discharge-spouts {
	/*     height: 45px !important; */
}

#content .product-notes {
	padding-top: 15px;

	clear: both;

	font-style: italic;
}

#content .woocommerce-tabs ul {
	display: none !important;
}

.woocommerce-tabs {
	margin-top: 15px;
	float: left;
}

table.shop_attributes {
	border-collapse: collapse;
}

table.shop_attributes td,
table.shop_attributes th {
	padding: 8px 10px !important;
	background: white;
	border: 1px solid #b9b9b9;
	vertical-align: middle;
}

table.shop_attributes td p {
	margin-bottom: 0px;
	font-size: 1em !important;
	line-height: 1;
	vertical-align: middle;
	display: table-cell;
}

table.shop_attributes th {
	font-weight: bold;
	background: #e0e0e0;
	color: #333;
}

div.images {
	float: right;
	width: 400px; /* padding-top:37px; */
	margin-left: 2em;
	max-width: 100%;
}

div.images img {
	box-sizing: border-box;
}

.pswp__bg {
	background: rgba(0, 0, 0, 0.7) !important;
}

div.images img,
img.category-image {
	max-width: 100%;
	height: auto;
	border: 1px solid #cccccc !important;
	border-radius: 4px;
	margin-bottom: 15px;
}

div.images p.small {
	text-align: center;
}

#wooswipe .thumbnails {
	display: none;
}

div.images .cadbtn,
.rfq-btn {
	width: 260px;

	font-size: 14px;
}

div.images .cadbtn span,
.rfq-btn span {
	display: block;
	background: url(../images/gear.png) 30px 6px no-repeat;
	padding: 10px 10px 10px 71px;
	height: 100%;
	font-size: 1.25em;
}

.woocommerce-Tabs-panel {
	display: block !important;
}

img.product-dimensional-diagram {
	max-width: 446px;
}

.woocommerce-message {
	margin-top: 40px !important;
}

span.mobile-attr {
	display: none;
}

.single-product-main-image {
	margin-bottom: 12px;
}

span.btn-wrap.add-quote-btn,
span.btn-wrap.product-cad-btn,
.images .yith-ywraq-add-button.show,
.images .kws-parts-selector__inner {
	margin-bottom: 10px;
	box-sizing: border-box;
	width: 300px;
	margin: 0 auto 12px auto;
	display: block;
}

span.btn-wrap.add-quote-btn a,
span.btn-wrap.product-cad-btn a,
.images .kws-parts-selector__inner a,
a.add-request-quote-button {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 0;
}

div.single-product-main-image img {
	width: 100%;
}

@media print {
	#leftnav {
		display: none;
	}
	#content {
		float: none;
		margin: 0px;
		padding: 0px;
		width: 100%;
	}
	#pagebody {
		width: 100%;
	}
	.quote-cart,
	#nav-search,
	#topnav,
	#footer,
	#logo a,
	.cadbtn,
	.yith-ywraq-add-to-quote,
	.images .cadbtn,
	p.small {
		display: none;
	}
	#header-wrap,
	#header {
		height: auto;
	}
	.print-logo {
		display: block;
	}
	div.images {
		width: 350px !important;
	}
}

/******************************/
/* 3) Checkout / Cart / RFQ   */
/******************************/

table.shop_table tr:nth-child(odd) {
	background: initial !important;
}

table.shop_table tr:nth-child(even) {
	background: #efefef;
}

input#coupon_code {
	padding: 5px 10px;
	box-sizing: border-box;
	width: 120px;
	height: 34px;
}

div.cart_totals th {
	background: #d8d8d8 !important;
	color: #6c6c6c;
}

.woocommerce table.shop_table th {
	font-weight: 600;
	background: #d8d8d8;
	color: #6b6b6b;
}

a.checkout-button.button.alt.wc-forward {
	width: 99%;
	border: 1px solid #f85450;
	-webkit-box-shadow: 0 0 0 1px #d31b16;
	box-shadow: 0 0 0 1px #d31b16;
	background: #d31b16;
	color: #fff !important;
	box-sizing: border-box;
	text-align: center;
	text-decoration: none !important;
}

a.select2-choice {
	font-size: 1em;
	height: 40px;
}

a.select2-choice span {
	line-height: 40px;
	height: 40px;
}

input#place_order {
	border: 1px solid #f85450;
	-webkit-box-shadow: 0 0 0 1px #d31b16;
	box-shadow: 0 0 0 1px #d31b16;
	background: #d31b16;
	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	-o-transition: all 300ms;
	transition: all 300ms;
	padding: 10px 40px;
}

input#place_order:hover {
	opacity: 0.8;
}

.woocommerce form input {
	padding: 10px;
	font-size: 1em;
}

div.ywraq-wrapper th {
	text-align: left;
}

input.button.raq-send-request {
	padding: 12px 30px;
	cursor: pointer;
	max-width: 100%;
	color: #fff !important;
	border: 1px solid #ff8c5e !important;
	box-shadow: 0 0 0 1px #a33408 !important;
	border-radius: 3px;
	background-color: #d86714 !important;
	font-weight: 300 !important;
}

#yith-ywraq-mail-form input.button:hover {
	background-color: #d86714 !important;
}

a.button.wc-backward,
td.actions input.button {
	background-color: #015291 !important;
	border: solid 1px #7692ca !important;
	box-shadow: 0 0 0 1px #1a4294 !important;
	margin: 0 1px !important;
	padding: 16px 20px !important;
	border-radius: 3px;
	box-sizing: border-box;
	color: #fff !important;
	font-family: "Montserrat", sans-serif;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-block;
	text-transform: capitalize;
	text-align: center;
}

td.actions input.button:hover {
	opacity: 0.8;
}

/** Custom Catalog Styles for RFQ **/

.summary .clear {
	display: none !important;
}
.add-request-quote-button {
	background: #d85710 url(images/quote-icon-white.png) 31px center no-repeat;
	color: white;
	text-decoration: none;
	display: block;
	width: 176px;
	border-radius: 4px;
	padding: 10px 10px 10px 74px;
	z-index: 1;
	font-weight: bold;
	font-size: 14px;
	border: 1px solid #905523;
}
.add-request-quote-button:hover {
	color: white !important;
	background: #d84248 url(/wp-content/themes/va/images/quote-icon-white.png) 36px center no-repeat;
}
.yith-ywraq-add-button img {
	display: none !important;
}
#content #yith-ywrq-table-list th {
	background: #015291 !important;
	color: white !important;
}
#content #yith-ywraq-mail-form input.input-text,
#yith-ywraq-mail-form textarea {
	padding: 10px !important;
}
input.raq-send-request {
	background: #199101 !important;
	color: white !important;
	font-size: 14px !important;
	padding: 10px 20px !important;
}
input.raq-send-request:hover {
	background: #29a510 !important;
}
.quote-cart {
	position: absolute;
	top: 58px;
	right: 30px;
	color: #00599b;
	padding-left: 34px;
	background: url(images/quote-icon-blue.png) top left no-repeat;
	text-decoration: none;
	font-weight: 600;
	padding-top: 6px;
}

#content p.return-to-shop {
	font-size: 1em;
}

.cart_item .product-quantity .quantity input {
	margin-left: 10px;
	font-size: 16px;
	padding: 5px 10px;
	box-sizing: border-box;
}

/******************************/
/* 4) Responsive Styles       */
/******************************/

@media only screen and (max-width: 1480px) {
	#content img.dimensional-diagram {
		max-width: 400px;
	}
	#content ul.thirteen-columns li {
		width: 62px;
	}
	#content ul.twelve-columns li {
		width: 68px;
		font-size: 0.75em;
	}
	#content ul.eleven-columns li {
		width: 64px;
	}
	#content ul.ten-columns li {
		width: 84px;
	}
	#content ul.nine-columns li {
		width: 96px;
	}
	#content ul.eight-columns li {
		width: 150px;
	}
	#content ul.seven-columns li {
		width: 115px;
	}
	#content ul.six-columns li {
		width: 128px;
	}
	#content ul.four-columns li {
		width: 200px;
	}
	#content ul.five-columns li {
		width: 170px;
	}
}

@media only screen and (max-width: 1280px) {
	#content img.dimensional-diagram {
		max-width: 50%;
	}

	div.images,
	img.category-image {
		width: 44%;
		margin-left: 4% !important;
	}
	#content ul.product-archive-headers li,
	#content ul.product-archive-content li {
		font-size: 0.75em;
	}
	.martin-text-link {
		float: none;
		display: block !important;
		margin-bottom: 20px !important;
		max-width: 460px;
	}
	#content ul.thirteen-columns li {
		width: 50px;
	}
	#content ul.twelve-columns li {
		width: 65px;
		font-size: 0.625em;
	}
	#content ul.eleven-columns li {
		width: 80px;
	}
	#content ul.ten-columns li {
		width: 100px;
	}
	#content ul.eight-columns li {
		width: 130px;
		font-size: 0.7em;
	}
	#content ul.nine-columns li {
		width: 115px;
	}
	#content ul.seven-columns li {
		width: 140px;
	}
	#content ul.seven-columns li.wider {
		width: 158px;
	}
	#content ul.six-columns li {
		width: 120px;
	}
	#content ul.four-columns li {
		width: 170px;
	}
	#content ul.five-columns li {
		width: 135px;
	}
	#content ul.three-columns-products li,
	#content ul.two-columns-products li {
		width: 235px;
	}
}

@media only screen and (max-width: 1120px) {
	body[class*=term]:has(li[class*=product-category]) #content ul.products {
		grid-template-columns: repeat(3,1fr) !important;
	}
	#content ul.product-archive-content li {
		display: block;
		float: none;
		width: 100%;
		height: auto !important;
		text-align: left;
		border: none;
		font-size: 1em;
	}
	#content ul.product-archive-content li.item-title {
		border: none;
	}
	#content ul.product-archive-headers li {
		display: none;
	}
	#content ul.product-archive-content {
		height: auto;
		/* margin-bottom:20px; */
		/* padding-bottom: 20px; */
	}
	ul.products li.product {
		height: auto;
	}
	#content ul.products li h2 {
		text-align: left;
		font-size: 1.25em;
		line-height: 1.25;
	}
	#content ul li.product {
		border-bottom: solid 1px #b7b7b7;
		/* margin-bottom: 20px !important; */
	}
	#content ul li.product-category {
		margin-bottom: 32px !important;
	}
	#content ul.product-archive-content a {
		padding-left: 0;
		padding-right: 0;
		display: inline-block;
	}
	#content ul li.product .product-archive-content li {
		padding: 4px 20px;
		width: 100%;
	}
	span.mobile-attr {
		display: inline-block;
		font-weight: 600;
		padding-right: 10px;
	}

	div.images img,
	img.category-image {
		width: auto;
		max-width: 100% !important;
		margin: 0 auto 32px auto !important;
		float: none !important;
		display: block;
	}

	#content img.dimensional-diagram {
		width: auto;
		max-width: 100%;
		margin: 0 auto;
	}
	ul.product-archive-content.ten-columns.discharge-spouts-list li,
	ul.product-archive-content.ten-columns.discharge-spouts-list,
	ul.products li.product_cat-304-ss-discharge-spouts {
		height: auto !important;
	}
	div.images {
		width: auto;
		float: none;
		margin: 0 auto !important;
	}
	span.btn-wrap.add-quote-btn,
	span.btn-wrap.product-cad-btn {
		max-width: 300px;
	}
	span.btn-wrap.product-cad-btn a,
	span.btn-wrap.add-quote-btn a {
		width: 100%;
		box-sizing: border-box;
	}
	a.add-request-quote-button {
		background-position: 20px center;
		padding-left: 60px;
		font-size: 1em;
	}

	a.add-request-quote-button:hover {
		background-position: 20px center !important;
	}

	#content ul li.product:nth-child(even) .product-archive-content li {
		background: none;
	}

	#content ul li.product:nth-child(even) {
		background: #efefef !important;
		padding-bottom: 20px !important;
	}
}

@media only screen and (max-width: 900px) {
	.fancybox-wrap {
		left: 5% !important;
		margin-left: 0px !important;
	}
	span.btn-wrap.martin-text-link {
		font-size: 0.875em !important;
		max-width: 410px;
	}
	#content ul li.product-category:nth-child(even) {
		margin-right: 0 !important;
	}
	#content ul li.product-category {
		width: 48% !important;
		margin-right: 4% !important;
		max-width: 100%;
		height: auto !important;
	}
}
@media only screen and (max-width: 850px) {
	table.shop_attributes {
		width: 100%;
	}

	table.shop_attributes th,
	table.shop_attributes {
		padding: 12px 20px !important;
	}
}
@media only screen and (max-width: 799px) {
	div.images {
		float: none;
		display: block;
		margin: 0 0 2em 0;
	}

	a.button.wc-backward,
	td.actions input.button {
		display: block !important;
		width: 100% !important;
		margin-bottom: 1em !important;
		font-size: 1.125em;
		float: none !important;
	}

	.woocommerce.ywraq-wrapper .cart a.button.wc-backward {
		margin-top: 0.5em;
	}
	nav.woocommerce-breadcrumb {
		display: none;
	}
	span.btn-wrap.add-quote-btn,
	span.btn-wrap.product-cad-btn {
		margin: 0 auto 10px auto !important;
		display: block;
		max-width: 100%;
	}
	a.quote-cart {
		position: relative;
		top: 10px;
		right: auto;
		left: auto;
		margin-left: 20px;
		display: inline-block;
	}
}

@media only screen and (max-width: 650px) {
	span.btn-wrap.add-quote-btn a,
	span.btn-wrap.add-quote-btn,
	span.btn-wrap.product-cad-btn a {
		text-align: left;
		font-size: 16px;
	}
}
@media only screen and (max-width: 600px) {
	body[class*=term]:has(li[class*=product-category]) #content ul.products {
		grid-template-columns: 1fr 1fr !important;
	}
	ul.products li.product {
		display: block;
		text-align: center;
		width: 100%;
		height: auto;
	}

	li.product h2 {
		text-align: center !important;
	}

	li.product a.button {
		width: 300px;
		box-sizing: border-box;
		text-align: center;
		padding: 12px 25px;
		max-width: 100%;
		font-size: 1.25em;
	}

	li.product span.price {
		text-align: center;
	}

	div.quantity input {
		width: 150px;
		float: none;
		padding: 14px;
		margin-bottom: 1em;
		box-sizing: border-box;
		max-width: 100%;
	}

	button.single_add_to_cart_button {
		font-size: 1.25em;
		padding: 12px 25px;
		width: 300px;
		max-width: 100%;
	}
}

@media only screen and (max-width: 550px) {
	#yith-ywraq-form table.cart .product-thumbnail {
		display: none;
	}

	table.shop_attributes td p,
	table.shop_attributes th {
		font-size: 1em !important;
	}
}
@media only screen and (max-width: 500px) {
	#content div.images .cadbtn span {
		background-position: left center;
		padding: 10px 10px 10px 42px;
	}
	#content .cadbtn {
		padding: 5px 16px;
	}
}

@media only screen and (max-width: 450px) {
	body[class*=term]:has(li[class*=product-category]) #content ul.products {
		grid-template-columns: 1fr !important;
	}
	#content ul li.product-category:nth-child(even) {
		margin: 0 auto !important;
		margin-bottom: 32px !important;
	}

	#content ul li.product-category {
		width: auto !important;
		margin: 0 auto !important;
		margin-bottom: 32px !important;
		display: block;
		float: none;
	}
}

@media only screen and (max-width: 400px) {
	#yith-ywrq-table-list input.input-text.qty.text {
		padding: 8px 0px 8px 4px;
		width: 60px;
		text-align: left;
		box-sizing: border-box;
	}

	.woocommerce table.shop_table th {
		padding: 9px 5px;
		font-weight: 300;
	}

	.woocommerce table.shop_table td {
		padding: 6px 5px;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last,
	.woocommerce-page form .form-row-first,
	.woocommerce-page form .form-row-last {
		width: 100% !important;
		display: block !important;
		float: none !important;
	}

	input#place_order {
		padding: 10px 10px !important;
		width: auto !important;
		font-weight: 300;
		font-size: 0.875em;
	}

	span.mobile-attr {
		display: block;
	}
	span.btn-wrap.martin-text-link {
		max-width: 100%;
	}
}

@media only screen and (max-width: 300px) {
	.cadbtn span,
	.rfq-btn span,
	a.add-request-quote-button {
		font-size: 0.75em;
	}
}

/* 5) Shop Page Styles        */
.shop-page-products,
.facet-attribute-filter-wrapper,
.facet-filter-container {
	content-visibility: auto;
}

.facet-category-and-reset-wrapper {
	/* display: flex; */
	gap: 1rem;
	/* margin-bottom: 40px; */
	
	
	
	& .facetwp-facet {
		margin-bottom: 0;
		place-content: center;
	}
}

.facetwp-facet-product_selector_reset button {
    display: flex;
    align-items: center;
    height: 100%;
    border: solid 1px #d4d4d4;
    border-radius: 0;
    padding: 8px 24px;
    height: fit-content;
    background: #005a9d;
    color: #fff;
    &:hover {
        cursor: pointer;
    }
}

#products-reset-button {
    float: right;
}

.shop-page-products {
	display: grid;
	grid-template-columns: 1fr 2fr;
}

.shop-page-products ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	height: fit-content;
	gap: 20px;
	border: none !important;
}

.shop-page-products ul::before {
	display: none !important;
}


.shop-page-products .shop-page-product-attribute {
	margin-bottom: 10px !important;
	color: #383838;
	font-size: 1rem !important;
	font-family: 'Montserrat';
	font-weight: normal;
	
	& span {
		font-weight: bold;
	}
}

.shop-page-products {
	& li {
		height: fit-content !important;
		padding: 1rem !important;
		box-sizing: border-box;
		text-align: center;
		border: solid 1px #707070;
	}

	& a {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		height: 100%;
	}

	& li img {
		justify-self: center;
		width: 150px !important;
		border: none !important;
	}
}


.woocommerce-shop {
	& .facetwp-facet-label {
		margin-bottom: 0.5rem !important;
	}

	& .facet-filter-container {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 1rem;
		margin-bottom: 2rem;

		& .facet-attribute-filter-wrapper {
			display: flex;
			flex-direction: column;
			justify-content: space-between;
		}

		& .facetwp-facet {
			margin-bottom: 0;
		}

		& .facetwp-dropdown {
			width: 100%;
		}

		& .facetwp-facet-label {
			font-size: 1.1rem !important;
		}
	}

	& .facetwp-dropdown {
		height: 2rem;
		padding-left: 0.5rem;
		border: solid 1px #d4d4d4;
		border-radius: 0;
	}

	& .facet-attribute-filter-ps_categories, & .facet-attribute-filter-ps_stock_options {
		& .facetwp-facet-ps_categories, & .facetwp-facet-ps_stock_options {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 12px;
			/* max-height: 350px; */
			/* overflow-y: scroll; */
			/* scrollbar-gutter: stable; */
			/* scrollbar-width: thin; */
			/* border: solid 1px #d4d4d4; */
		}

		& .facetwp-radio {
			display: flex;
			align-items: center;
			gap: 2rem;
			background: none;
			border: solid 1px #d4d4d4;
			padding: 0 20px;
		}

		& .facetwp-radio.checked {
			font-family: 'Montserrat';
			font-weight: bold;
			color: #005a9d
		}

		& .facetwp-counter {
			content-visibility: hidden;
			display: none;
		}

		& .facetwp-radio[data-value=""] {
			display: none;
		}

		& .facetwp-radio::before {
			content: "";
			display: block;
			width: 150px;
			min-width: 150px;
			height: 150px;
			background: url("/wp-content/uploads/kws-category-thumbnail-sprite_resized.png") no-repeat;
		}

		& .facetwp-radio[data-value="coupling-bolts-grade-5"]::before,
		& .facetwp-radio[data-value="304-ss-coupling-bolts"]::before {
			background-position: 0 -152px;
		}

		& .facetwp-radio[data-value="covers"]::before,
		& .facetwp-radio[data-value="304-ss-u-trough-covers"]::before {
			background-position: -608px -152px;
		}

		& .facetwp-radio[data-value="end-bearings"]::before {
			background-position: -304px -304px;
		}

		& .facetwp-radio[data-value="end-lugs"]::before {
			background-position: -304px 0;
		}

		& .facetwp-radio[data-value="hanger-bearings"]::before {
			background-position: -608px -304px;
		}

		& .facetwp-radio[data-value="hangers-for-u-troughs"]::before,
		& .facetwp-radio[data-value="304-ss-style-226-hangers-for-u-troughs"]::before {
			background-position: 0 -456px;
		}

		& .facetwp-radio[data-value="helicoid-flighting-screws"]::before,
		& .facetwp-radio[data-value="sectional-flighting-screws"]::before,
		& .facetwp-radio[data-value="304-ss-helicoid-flighting-screws"]::before,
		& .facetwp-radio[data-value="rendering-screws"]::before {
			background-position: -304px -608px;
		}

		& .facetwp-radio[data-value="inlet-spouts"]::before {
			background-position: -456px -152px;
		}

		& .facetwp-radio[data-value="internal-collars"]::before {
			background-position: -456px 0;
		}

		& .facetwp-radio[data-value="plate-end-flanges"]::before {
			background-position: -152px -304px;
		}

		& .facetwp-radio[data-value="seals"]::before {
			background-position: 0 -304px;
		}

		& .facetwp-radio[data-value="shafts"]::before,
		& .facetwp-radio[data-value="304-ss-shafts"]::before,
		& .facetwp-radio[data-value="shafts-stock-components-for-the-rendering-industry"]::before {
			background-position: -608px -456px;
		}

		& .facetwp-radio[data-value="trough-ends-with-foot"]::before,
		& .facetwp-radio[data-value="304-ss-trough-ends-with-foot"]::before {
			background-position: -456px -304px;
		}

		& .facetwp-radio[data-value="trough-saddles-and-feet"]::before {
			background-position: -152px -152px;
		}

		& .facetwp-radio[data-value="u-trough-discharge-spouts"]::before,
		& .facetwp-radio[data-value="304-ss-discharge-spouts"]::before {
			background-position: -304px -152px;
		}

		& .facetwp-radio[data-value="u-troughs"]::before{
			background-position: -152px -608px;
		}

		& .facetwp-radio[data-value="zinc-plated-screw-clamps"]::before,
		& .facetwp-radio[data-value="304-ss-screw-clamps"]::before {
			background-position: -608px 0;
		}

		& .facetwp-radio[data-value="rendering-u-troughs"]::before,
		& .facetwp-radio[data-value="304-ss-formed-flange-u-troughs"]::before {
			background-position: -155px 0px;
		}
	}

	& .facet-attribute-filter-ps_stock_options {
		& .facetwp-facet-ps_stock_options {
			grid-template-columns: 1fr 1fr 1fr;
		}
		& .facetwp-radio {
			padding: 20px;
		}
		& .facetwp-radio::before {
			background: none;
			display: none;
		}
	}

	& figure {
		margin-top: 0;
		margin-left: 0;
		text-align: center;

		&:not(:last-of-type) {
			margin-bottom: 2.5rem;
		}

		& img {
			margin-bottom: 0 !important;
			padding: .5rem;
			border: solid 1px #d4d4d4 !important;
			box-sizing: border-box;
		}

		& figcaption {
			font-weight: bold;
		}
	}
}

.type-product {
	display: grid;
    grid-template-columns: 3fr 1fr;
    grid-template-areas:
        "title title"
		"cat cat"
		"desc cad"
        "summary cad";
	column-gap: 2rem;
	
	& h1 {
		grid-area: title;
		width: 100%;
		margin: 0 0 5px;
	}

	& .posted_in {
		grid-area: cat;
		margin-bottom: 10px;
        font-size: 1.8rem;
        color: var(--wc-subtext);
        font-weight: bold;
	}

	& .woocommerce-product-details__short-description {
		grid-area: desc;
	}
	
	& .summary {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-area: summary;
		float: unset !important;
		width: 100% !important;
		column-gap: 2rem;
		box-sizing: border-box;

		& .woocommerce-product-details__short-description,
		& h2 {
			grid-column: 1 / -1;
		}
	}

	& .cad-container {
		grid-area: cad;

		& .kws-preview-configurator {
			width: calc(100% - 2px) !important;
		}
	}
}

/* Parts Selector: not YITH; inner gets same 300px strip as .yith-ywraq-add-button + link fills row */
.woocommerce .cad-container .kws-parts-selector.kws-btn-quote.images {
	margin-top: 12px !important;
}

/* Match style.css: grey inset wrapper around the link, same as .yith-ywraq-add-button + .span.btn-wrap */
.woocommerce .cad-container .kws-parts-selector__inner {
	box-sizing: border-box;
	width: 300px;
	max-width: 100%;
	margin: 0 auto 12px auto;
	display: block;
	padding: 10px;
	background: #e4e4e4;
	border-radius: 4px;
	box-shadow: inset 0 0 1px 0px rgba(0, 0, 0, 0.5);
	vertical-align: top;
}

.woocommerce .cad-container .kws-parts-selector a.kws-parts-selector__link,
.woocommerce .cad-container .kws-parts-selector a.kws-parts-selector__link.button,
.woocommerce .cad-container .kws-parts-selector a.button.kws-parts-selector__link {
	display: block;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-bottom: 0;
	background: #004f8c !important;
	background-color: #004f8c !important;
	background-image: none !important;
	border: 1px solid #3d7ab3 !important;
	border-radius: 3px;
	box-shadow: 0 0 0 1px #002c5a;
	color: #fff !important;
	font-family: "Montserrat", sans-serif;
	font-weight: 600 !important;
	font-size: 1em;
	line-height: 1.25;
	padding: 15px 20px !important;
	text-align: center;
	text-decoration: none !important;
	text-transform: capitalize;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.woocommerce .cad-container .kws-parts-selector a.kws-parts-selector__link:hover,
.woocommerce .cad-container .kws-parts-selector a.kws-parts-selector__link.button:hover,
.woocommerce .cad-container .kws-parts-selector a.button.kws-parts-selector__link:hover {
	background: #003060 !important;
	background-color: #003060 !important;
	background-image: none !important;
	border-color: #00224a !important;
	box-shadow: 0 0 0 1px #001a3d;
	color: #fff !important;
	text-decoration: none !important;
}

@media screen and (max-width: 900px) {
	.type-product {
		grid-template-columns: 1fr;
		grid-template-areas:
			"title"
			"cat"
			"desc"
			"cad"
			"summary";
	}
}

@media screen and (max-width: 600px) {
	.type-product .summary {
		grid-template-columns: 1fr;
		grid-template-areas: 
			"schema"
			"title"
			"specs";

		& .kws-img-diagram {
			grid-area: schema;
			margin: 2rem 0 !important;
		}

		& h2 {
			grid-area: title;
			margin-bottom: 0;
		}

		& .product-attributes-list {
			grid-area: specs;
		}
	}
}

/* Layout Grid Styles for Products Section */
.products {
	display: grid;
	gap: 20px;
	width: calc(100% - 2px);
}

body[class*=term] ul.products {
	display: block;
	width: 100%
}

body[class*=term]:has(li[class*=product-category]) #content ul.products {
	display: grid;
	gap: 32px 20px;
	grid-template-columns: repeat(4,1fr);
	width: calc(100% - 2px);
	& li {
		margin: 0 !important;
		width: 100% !important;
		height: auto !important;
	}
}
#content .shop-top-level-categories ul.products {
	display: flex;
	flex-wrap: wrap;
	& li {
		margin: 0 !important;
		height: auto !important;
		padding: 0 !important;
		width: 200px !important;
	}
	& img {
		max-width: 200px !important
	}
}

body[class*=term]:has(li[class*=product-category]) ul.products::before,
body[class*=term]:has(li[class*=product-category]) ul.products::after,
.shop-top-level-categories ul.products::before, 
.shop-top-level-categories ul.products::after {
	display: none !important;
}

/* Product grid layouts */
.layout-grid-2 .products {
	grid-template-columns: repeat(2, 1fr);
}

.layout-grid-3 .products {
	grid-template-columns: repeat(3, 1fr);
}

.layout-list .products {
	grid-template-columns: 1fr;
	width: calc(100% - 4px);
	margin: 0 auto !important;
}

.layout-list .products .product a {
	display: grid;
	justify-content: space-between;
	align-items: center;
	grid-template-columns: 1fr 2fr;
	grid-template-areas:
		"image attributes"
		"name1 attributes";
	padding: 1rem;
}
.layout-list .products .product .product-image {
	grid-area: image;
	margin-bottom: 0;
}
.layout-list .products .product h2 {
	grid-area: name1;
}
/* .layout-list .products .product .product-title {
	grid-area: name2;
	align-self: flex-start;
} */
.layout-list .products .product .attribute-wrapper {
	grid-area: attributes;
	column-count: 2;
}

.attribute-wrapper {
	align-self: baseline;
}

.products .product .product-image {
	margin-bottom: 10px;
}

.products .product .product-sku {
	font-size: 24px;
	font-weight: bold;
}

.products .product .product-title,
.products .product .product-attribute {
	color: #000;
}

.products .product .product-attributes {
	display: none;
	flex-direction: column;
	gap: 7px;
}

.products .product .product-attribute {
	margin-bottom: 0;
}

.product .cta-text {
	display: flex;
    align-items: end;
	justify-content: space-between;
    width: 100%;
	flex: 1;
}

.product .cta-text::after {
	content: '';
    display: inline-block;
    width: 1rem;
    height: 1rem;
    margin-left: 1rem;
    background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3C!--%20License%3A%20PD.%20Made%20by%20mapbox%3A%20https%3A%2F%2Fgithub.com%2Fmapbox%2Fmaki%20--%3E%3Csvg%20fill%3D%22%23005a9d%22%20width%3D%2230px%22%20height%3D%2230px%22%20viewBox%3D%220%200%2015%2015%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22arrow%22%3E%3Cpath%20d%3D%22M8.29289%202.29289C8.68342%201.90237%209.31658%201.90237%209.70711%202.29289L14.2071%206.79289C14.5976%207.18342%2014.5976%207.81658%2014.2071%208.20711L9.70711%2012.7071C9.31658%2013.0976%208.68342%2013.0976%208.29289%2012.7071C7.90237%2012.3166%207.90237%2011.6834%208.29289%2011.2929L11%208.5H1.5C0.947715%208.5%200.5%208.05228%200.5%207.5C0.5%206.94772%200.947715%206.5%201.5%206.5H11L8.29289%203.70711C7.90237%203.31658%207.90237%202.68342%208.29289%202.29289Z%22%2F%3E%3C%2Fsvg%3E);
    background-size: contain;
    background-repeat: no-repeat;
}

.layout-sort-wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
	margin-bottom: 1rem;

	& .layout-toggle-button {
		padding: 0;
		border: none;
		color: black;
		font-size: 24px;
		background: none !important;
		cursor: pointer;

		&:hover {
			background: none !important;
			color: #000;
		}

		&.active {
			color: #005ba1;
		}
	}
}

body .kws-btn-quote.images,
a.add-request-quote-button.button,
a.kws-parts-selector__link.button {
	margin-top: 0 !important;
}

#product-selector-step-one {
    background: #005ba1;
    color: #fff;
    padding: 40px;
	margin-bottom: 32px;
    & h2, & .facetwp-facet-label.dark, & .facetwp-radio.checked {
        color: #fff;
    }
	& .facetwp-radio.checked {
		background: #0079d7;
	}
    & .facetwp-type-reset {
        margin-top: 8px;
    }
    & .facetwp-display-value {
        display: flex;
        align-items: center;
    }
    & .facetwp-display-value::after {
        content: '';
        display: inline-block;
        height: 24px;
        width: 14px;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 512"><path fill="%23fff" d="M235.3 244.7c6.2 6.2 6.2 16.4 0 22.6l-160 160c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L201.4 256 52.7 107.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l160 160z"/></svg>');
        background-size: contain;
        background-repeat: no-repeat;
        margin-left: 6px;
        position: relative;
        top: 1px;
        left: 0;
        transition: left 300ms;
    }
    & .facet-radio:hover .facetwp-display-value::after {
        left: 4px;
    }
	& .facetwp-radio {
		transition: all 300ms;
		opacity: 1;
		&:hover {
			background: #0079d7;
		}
	}
	&:has(.facetwp-radio.checked:not(:first-of-type)) .facetwp-radio:not(.checked) {
		opacity: .5;
		&:hover {
			opacity: 1;
			background: #0079d7;
		}
	}
}

@media screen and (max-width: 1260px) {
	.woocommerce-shop {
		& .facet-attribute-filter-ps_categories .facetwp-facet-ps_categories {
			grid-template-columns: repeat(3, 1fr);
		}
		
		& .facet-filter-container {
			grid-template-columns: repeat(4, 1fr);
		}
	}
}

@media screen and (max-width: 960px) {
	.woocommerce-shop {
		& .facet-attribute-filter-ps_categories .facetwp-facet-ps_categories {
			grid-template-columns: repeat(2, 1fr);
		}
		
		& .facet-filter-container {
			grid-template-columns: repeat(3, 1fr);
		}

		& .facetwp-facet-ps_stock_options {
			grid-template-columns: 1fr 1fr !important;
		}
	}
}

@media screen and (max-width: 660px) {
	.woocommerce-shop {
		& .facet-attribute-filter-ps_categories .facetwp-facet-ps_categories {
			grid-template-columns: 1fr;
		}
		
		& .facet-filter-container {
			grid-template-columns: 1fr;
		}

		& .layout-sort-wrapper {
			display: none !important;
		}

		& .shop-page-products .products {
			grid-template-columns: 1fr;
			width: min(80%, 800px);
			margin: 0 auto !important;

			& .product {
				background-color: #fff;
			}

			& .product a {
				display: flex;
				flex-direction: column;
				justify-content: space-between;
				align-items: center;
				padding: 1rem;
			}
		}

		& figure {
			margin: 0;
		}

		& .facetwp-facet-ps_stock_options {
			grid-template-columns: 1fr !important;
		}
	}
}

@media screen and (max-width: 400px) {
	.facet-attribute-filter-ps_categories, & .facet-attribute-filter-ps_stock_options {
		& .facetwp-facet-ps_categories, & .facetwp-facet-ps_stock_options {
			& .facetwp-radio {
				padding: 0;
			}
		}
	}
	#product-selector-step-one, #product-selector-step-one .facetwp-radio {
		padding: 20px;
	}
}