.woocommerce-notices-wrapper {
	max-width:1400px;
	margin-left:auto;
	margin-right:auto;
}

.woocommerce-info {
	background-color: #a3ad62;
	color:white;
	border-radius:5px;
	border-top:4px solid #7c8638 ;
	font:bold 1.125em Arial,sans-serif;
}

.woocommerce-info a {
	color:white;
}

.woocommerce-info a:hover {
	color:#f2f4e8;
}

.woocommerce-info::before {
	color:white;
	/*content: "\27A4";*/
	content: "\e016";
}


.woocommerce-error {
	background-color:#990000;
	color:white;
	font: 1.125em Arial,sans-serif;
	border-radius:5px;
}
.woocommerce-error::before {
	color:inherit;
}


.woocommerce-breadcrumb {
	max-width:1400px !important;
	margin:0 auto;
}

.product_descript_vflex {
	display:flex;
	justify-content:space-between;
	align-content:flex-start;
	flex-flow:column nowrap;
	padding-right:20px;
}

.product_descript_vflex h1 {
	line-height:1.125em;
}

.spf_content input[type=text],
.spf_content input[type=number],
.spf_content select,
.spf_content textarea,
.woocommerce-form-login input[type=text],
.woocommerce-form-register input[type=email],
.woocommerce-form-login input[type=password],
.woocommerce-ResetPassword input[type=text],
.woocommerce-address-fields input[type=text],
.woocommerce-address-fields input[type=email],
.woocommerce-address-fields input[type=tel],
.woocommerce-address-fields select,
.woocommerce-EditAccountForm input[type=text],
.woocommerce-EditAccountForm input[type=email],
.woocommerce-EditAccountForm input[type=tel],
.woocommerce-EditAccountForm  input[type=password]{
	font:1.125em Inter,sans-serif;
	padding:5px 5px !important;
	width:100% !important;
	max-width:300px !important;
	/*margin-bottom:10px !important;*/
}

.woocommerce-address-fields input[type=text],
.woocommerce-address-fields input[type=email] {
	max-width:none !important;
}


.spf_content input[type=submit],
.spf_content input[type=button] {
	display:none;
	color:white;
	text-decoration: none;
	background-color:#7c8638 ;
	font:1.25em Inter;
	text-transform: uppercase;
	padding:15px 35px;
	line-height:0;

	border:2px solid #606a20;
	transition: opacity .25s;
	cursor:pointer;
}

.spf_content input[type=button]:hover {
	opacity:.74;
}


.grid_header {
	text-align:center;
	border-bottom:2px dotted #CCC;
	padding-bottom:20px;
	margin-bottom: 60px;
}

.grid_header h1 {
	font-size:2.75em;
	font-weight:700;
}

p.shop_note {
	text-align:center;
	margin:10px 0 0 0;
	font-size:1.125em;
	font-weight:300;
}

.function_output_test_wrap {
	max-width:1200px;
	margin:30px auto;
	padding:20px;
	border:2px solid green;
}

.function_output_test_wrap h6 {
	color:red;
	font-size:1.25em;
	margin:0;
}


.gen_shop_wrap {

}

.gen_shop_wrap h2 {
	letter-spacing:normal;
	font-size:1.75rem;
	font-weight:700;
}

.cat_lineage {
	font:1em Inter;
	color:#999;
}

.cat_lineage span {
	color:#AAA;
}

.woocommerce-breadcrumb {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	
	max-width:1920px;
	padding:10px 20px;
}

.woocommerce-breadcrumb a {

}

ul.products_grid {
	list-style:none;
	margin:50px 0;
	padding:0 0 20px 0;

	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row wrap;
	width:100%;
	border-bottom:1px dotted #999;
}

ul.products_grid>li {
	width: calc(20% - 16px);
	margin:8px;
	/*outline:2px dotted #CCC;*/
	padding:10px;
	text-align:left;
	position:relative;
	min-width:250px;
}

ul.products_grid img {
	width:100%;
	height:auto;
	max-width:400px;

	display:block;
	margin:0 auto;
	transition: opacity 1.25s, transform 1.25s;

	outline:1px solid green;
}

.grid_item_img_div {
	width:100%;
	padding-bottom:100%;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

ul.products_grid a {
	text-decoration:none;
	color:#999;
	transition: opacity 1s
}




ul.products_grid a:hover {
	transition: opacity .25s, transform .25s;
	opacity:.70;
}

/*
ul.products_grid h2 {
	margin:5px 0 0 0;
	padding:0;
	font-weight:normal;
	font-size:1.125em;
}
*/

ul.products_grid h3 {
	margin:5px 0 0 0;
	padding:0;
	font-weight:normal;
	font-size:1em;
}

/*
ul.products_grid .onsale {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	background-color:red;
	color:white;
	z-index:2;
	text-align:center;
}
*/

ul.products_grid .grid_sale_banner{
	position:absolute;
	top:0;
	right:0;
	z-index:2;
}

ul.products_grid .grid_sale_banner img {
	width:100%;
	height:auto;
	max-width:100px;
}

.out_of_stock_grid_banner {
	text-align:center;
	padding:2px;
	font-size:1.125em;
	color:#999;
	background-color:#DDD;
	box-shadow: 0px 0px 0px 3px #DDD;
	border:2px solid white;
	margin-top:2px;
}

.price_cart_flex {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.single_product_flex {
	/* image and content columns */
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.single_product_flex>div {
	
}

.single_product_flex h1 {
	font-size:2em;
}

.spf_content {
	flex:0 0 60%;
	padding-left:30px !important;
}

.spf_image_group {
	flex:0 0 40%;
}
.spf_image_group img {
	width:100%;
	height:auto;
	max-width:500px;
	display:block;
	
}

.spf_alt_image_thumbs {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.product_thumb_flex {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
	
}

.product_thumb_flex>div {
	flex:0 0 100px;
	padding:4px 2px;
}

.product_thumb_flex img {
	width:100%;
	height:auto;
	max-width:100px;
}

.shipping_methods_allowed_single_product_page {
	font-size:1em;
	margin:0 0 20px 0;
	border-top:2px dotted #ccc;
	border-bottom:2px dotted #ccc;

	color:#999;

	border-top:2px dotted #ccc;
	border-bottom:2px dotted #ccc;
	padding:7px 0;
}
.shipping_methods_allowed_single_product_page span {
	color:black;
}

.price {
	font-size:1.5em;
	color:#999;
}

.product_descript_vflex .price {
	padding-bottom:20px;
}

.old_price {
	text-decoration:line-through;
}

.grid_out_of_stock {
	display:block;
	font-size:1.25rem;
	font-weight:500;
	color:#990000;
}

.single_product_flex .jv_product_options_group {
	border-top:2px dotted #999;
	padding:20px 0;
	margin:0 !important;
	overflow:hidden;
	height:auto !important;
}

.single_product_flex .jv_product_options_group.hidden_pog {
	/* this container must remain to hold the (now) hidden field if the product is limited to one item.  But I need to hide the border and padding so there's not a weird border or pad for single-purchase items only */
	border-top:none;
	padding:0 0;
}

.product_shipping_limit {
	font:1em Inter, Arial;
	color:#999;
	font-weight:600;
}

.product_shipping_limit span {
	color:black;
	font-weight:400;
	xwhite-space: nowrap;
}

table.variations {
	height:auto;
	width:100%;
	margin:0;
}

table.variations th.label {
	margin:0;
}

table.variations th label,
.single_product_section_label {
	font:500 1.25rem Inter, Arial, sans-serif;
	color:#000;
	text-transform: uppercase;
	margin:0;
}

table.variations td.value {
	padding-top:16px;
}

.variant_checkoff_div label,
.variant_checkoff_div a.reset_variations,
table.variations a.reset_variations{
	padding:5px 1em;
	border:1px solid #CCC;
	cursor:pointer;
	transition: background-color .25s;
	margin:5px 0 0 0;
	font:1.25rem Inter, Arial, sans-serif;
}

.variant_checkoff_div a.reset_variations {
	margin-left:33px;
}

.variant_checkoff_div a.reset_variations,
table.variations a.reset_variations {
	display:inline-block;
	text-decoration:none;
	color:black;
	background-color:#e0cf12;
}

.variant_checkoff_div label {
	display:inline-flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.variant_checkoff_div label:hover {
	background-color:#ddd;
}

.variant_checkoff_div label>div {
	
}

.variant_checkoff_div label>div:first-child {
	/* variant title */
	padding-right:.25em;
}

.variant_checkoff_div label>div:last-child{
	/* variant price */
	padding-left:.25em;
	color:#999;
}

.variant_radio {
	display:none;
}

.variant_radio:checked+label {
	background-color:#a3ad62;
}
.variant_radio:checked+label>div:first-child,
.variant_radio:checked+label>div:last-child {
	
	color:white !important;
}

.single_add_to_cart_button:disabled {

}

.wc-variation-selection-needed {
	opacity:.2;
	cursor: not-allowed;
}

.woocommerce-cart-form__cart-item img.size-woocommerce_thumbnail {

	width:100%;
	height:auto;
	max-width:150px;
}


.woocommerce-cart-form {
	font-size:1.125em;
}

.woocommerce-cart-form .item_sku {
	font-size:.85em;
	color:#AAA;
}


.wc-proceed-to-checkout a,
.woocommerce-cart-form button[type="submit"],
.woocommerce-cart-form button[type="submit"]:disabled,
.woocommerce-form-login__submit,
.woocommerce-Button,
.wc-block-components-checkout-place-order-button,
.place-order .button {
	color:white !important;
	text-decoration: none;
	background-color:#7c8638  !important;
	font:1.125rem Inter;
	text-transform: uppercase;
	padding:15px 35px;
	line-height:0;

	border:2px solid #606a20;
	transition: opacity .25s;
	cursor:pointer;
}


.wc-proceed-to-checkout a:hover,
.woocommerce-cart-form button[type="submit"]:hover,
.woocommerce-form-login__submit:hover,
.woocommerce-Button:hover,
.wc-block-components-checkout-place-order-button:hover,
.place-order .button:hover {
	opacity:.74;
	color:white;
}

.cart_product_variants_list {
	display:block;
	font-size:.85em;
}

.quantity_spinner_flex {
	box-sizing: border-box;
	display:inline-flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row nowrap;
	padding:2px;
	padding-top:16px;
	width:130px;
}

.quantity_spinner_flex input[type="button"] {
	display:inline;
	color:black;
	flex:0 0 30px;
	font-size:1.5em;
	text-align:center;
	background-color:white;
	border:none;
	outline:1px solid #CCC;
	cursor:pointer;
	transition: background-color .25s;

	padding:0;
	margin:0;

}

.quantity_spinner_flex input[type="button"]:hover {
	background-color:#a3ad62;
	color:white;
}

/* Chrome, Safari, Edge, Opera */
.quantity_spinner_flex input[type="number"]::-webkit-outer-spin-button,
.quantity_spinner_flex input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Firefox */
.quantity_spinner_flex input[type="number"] {

	-moz-appearance: textfield;
	border:none;
	outline:1px solid #CCC;
	text-align:center !important;
	width:60px;
	margin:0 0 0 0 !important;
}

/* cart specific quantity */

.woocommerce-cart-form .quantity_spinner_flex input[type="number"] {
	font-size:1rem
}

.skipped_option_flag {
	font-size:1rem;
	margin-bottom:1em;
}


.product-remove a.remove {
	box-sizing: border-box;
	border-radius:5px;
	height:auto;
	width:auto;
	display:inline-block;
	border:1px solid red;
	padding:3px;
	text-align:center;
	font-size:0;

	transition: background-color .25s;
}

.product-remove a.remove svg {
	width:20px;
	height:auto;
	fill:red;
	transition: fill .25s;
}

.product-remove a.remove:hover svg {
	fill:white;
}

.added_to_cart_flag {
	font-family: Inter;

	position:fixed;
	bottom:0;
	right:20px;
	width:90%;
	max-width:450px;
	min-width:300px;
	background-color:white;
	/*height:300px;*/

	z-index:9;

	padding:20px;

	-webkit-box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.19); 
	box-shadow: 0px 0px 8px 1px rgba(0,0,0,0.19);
	border-top:8px solid #a3ad62;


	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:column;
	
}

.added_to_cart_flag>div {
	width:100%;
}

.added_to_cart_flag>div:first-child {
	
	padding-bottom:10px;
}



.atc_head {
	font-size:1em;
	font-weight:400;
	color:#666666;
}

.atc_item_name_count_flex {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
	margin-top:5px;
	border-bottom:1px solid #a3ad62;
	padding-bottom:10px;
}

.atc_item_name_count_flex .atc_item_name_variations {
	flex:1 1 100%;
	padding-right:10px;
}

.atc_item_name_variations .atc_item_name {
	display:block;
	font-size:1.35em;
	font-weight:500;
	color:#a3ad62;
	
}

.atc_item_name_variations .atc_variations {
	display:block;
	font-size:1.125em;
	font-weight:400;
	color:#a3ad62;
}



.atc_item_name_count_flex .atc_item_count {
	flex:0 0 3em;
	text-align:right;
}


.atc_thumb {
	padding-top:20px;
}
.atc_thumb img {
	width:100%;
	height:auto;
	max-width:125px;
}

.atc_cart_button_wrap {
	padding-top:10px;
	text-align:right;
}



.mini_cart_item>div {
	/*outline:1px solid white;*/
}



.cart_drawer {
	position:fixed;
	top:0;
	right:-485px;
	xright:0;
	
	background-color:#7c8638 ;
	padding:0;
	z-index:9;
	height:100%;
	width:95%;
	max-width:485px;

	-webkit-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.23);
	-moz-box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.23);
	box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.23);
}

.cart_drawer_content {
	overflow-y:auto;
	height:calc(100vh - 150px);
}


.woocommerce-mini-cart-item>div {
	/*outline:1px solid red;*/
}

.cart_drawer_header {
	text-align:center;
	font-size:1.5em;
	font-weight:bold;
	color:white;
	background-color:rgba(255,255,255,.35);
	padding:10px 5px;
	position:relative;
}

.drawer_closer {
	position:absolute;
	right:0;
	top:0;
	height:100%;
	padding:5px 10px;
	background-color:#606a20;
	cursor:pointer;
}

.drawer_closer:hover {
	background-color:#7c8638 ;
}


.cart_drawer ul.woocommerce-mini-cart {
	list-style:none;
	margin:20px 0 0 0;
	padding:10px 20px;
}

.cart_drawer ul.woocommerce-mini-cart a {
	color:white;
	text-decoration:none;
	font-size:1.125em;
}

.cart_drawer ul.woocommerce-mini-cart li {
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
	border-bottom:1px solid rgba(255,255,255,.25);
	margin-bottom:10px;
	padding-bottom:10px;
	color:white;
	font:1em Inter,sans-serif;
}

.jv_drawer_product_remove {
	flex:0 0 40px;
	padding-right:10px;
	text-align:center;
	align-self:flex-start;
}


.jv_drawer_product_remove a.remove {
	box-sizing: border-box;
	border-radius:5px;
	height:auto;
	width:auto;
	display:inline-block;
	padding:4px;
	text-align:center;
	font-size:0;
	background-color:orange;
	line-height:0;
	transition: background-color .25s;
}

.jv_drawer_product_remove a.remove svg {
	width:15px;
	height:auto;
	fill:black;
	transition: fill .25s;
}

.jv_drawer_product_remove a.remove:hover {
	
	background-color:yellow;
}



.cart_drawer .jv_tvqp {
	flex:1 1 100%;
}

.jv_drawer_variants,
.cart_drawer .cart_product_variants_list {
	opacity:.75;
	font-weight:300;
}

.cart_drawer .product_thumb {
}

.cart_drawer .product_thumb img {
	width:100%;
	height:auto;
	max-width:65px;
	border:2px solid white;
	display:block;
}

.woocommerce-mini-cart__total {
	text-align:center;
	color:white;
	font:1.25em Inter,sans-serif;
	opacity:.75;
}

.woocommerce-mini-cart__buttons {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row nowrap;
	padding:20px 20px;
	/*background-color:rgba(255,255,255,.35);*/

	position:absolute;
	bottom:0;
	left:0;
	width:100%;

}

.woocommerce-mini-cart__buttons a {
	color:white;
	text-decoration: none;
	display:inline-block;
	font:1.25em Inter,sans-serif;
	padding:4px 20px;
	text-transform: uppercase;
	background:#e0cf12;
	background: linear-gradient(180deg, rgba(224,207,18,1) 0%, rgba(193,178,15,1) 100%);
	margin:0 5px;
	flex:0 0 48%;
	text-align:center;

	transition: background 1.25s;
}

.woocommerce-mini-cart__buttons a:hover {
	background:linear-gradient(0deg, rgba(224,207,18,1) 0%, rgba(193,178,15,1) 100%);
}

.drawer_empty_message,
.woocommerce-mini-cart__empty-message {
	/* the latter class is for when removing the last item in the cart from the drawer */
	color:white;
	text-align:center;
	font-size:1.125em;
}


html {
	--radio-color: #a3ad62;	
}	


/* VARIATIONS CAND CART BUTTON */

table.variations td {
	display:block;
}

table.variations td,
table.variations th,
table.variations tr {
	display:block;
	text-align:left;
}

.variations label {
	display:block;
	font:1.25em Inter;
	text-transform: uppercase;
}


/* ****************************** */
/*
table.variations td.value {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}
*/

table.variations td.value input[type="radio"] {
	appearance: none;
	display: none;
}

table.variations td.value label {
	font-size: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: inherit;
	text-align: center;
	border-radius: 1px;
	overflow: hidden;
	transition: linear 0.3s;
	color: var(--radio-color);
	padding: 0.3em 0.6em;
	border: 2px solid var(--radio-color);
	cursor: pointer;
	margin:5px 0;
}
table.variations td.value input[type="radio"]:checked + label {
	background-color: var(--radio-color);
	color: #f1f3f5;
	transition: 0.3s;
}

/*
a.reset_variations {
    display: none!important;
}
*/


/* Make the order summary section sticky */ 
.wp-block-woocommerce-checkout-order-summary-block { 
	position: sticky; 
	top: 80px; 
	background-color: #f9f9f9; 
	padding: 20px; 
	border: 1px solid #e5e5e5; 
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.dashboard_ul {
	font-size:1.25em;
	color:#999;
}


/* the blocks cart displays the price twice for each item. no easy fix except to hide it */

.wc-block-components-order-summary-item__individual-prices {
	border:2px solid red;
	display:none !important;
}

/* ditto for th description */
.wc-block-components-product-metadata__description {
	display:none !important;
}

.jv_product_options_group select option:disabled {
    color: #CCC; /* Change color for the entire select when an option is disabled */
}

.item_page_out_of_stock {
	display:block;
	font-size:1.5rem;
	font-weight:500;
	color:#990000;
}


/* made redundant with the new cat grid 

.cats_page_flex {
	display:flex;
	justify-content:space-between;
	align-items:center;
	align-content:flex-start;
	flex-flow:row wrap;
	width:100%;
} 

.cats_page_flex>div {
	flex:0 0 33.33%;
	max-width:450px;
	height:300px;
	border:4px solid white;
	position:relative;

	background-size:cover;
	background-position:center center;
}

.cats_page_flex>div a {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	text-decoration:none;
	color:white;
}



.cats_page_flex h2 {
	color:white;
	background-color:rgba(163,173,98,.65);
	text-align:center;
	padding:5px 10px;
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	transition: background-color 1.25s;
}

.cats_page_flex>div a:hover h2 {
	transition: background-color .25s;
	background-color:rgba(163,173,98,1);
}

*/



.cats_grid_flex {
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	align-content:flex-start;
	flex-flow:row wrap;
}

.cats_grid_item {
	flex:0 0 50%;
	padding:10px;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	align-content:flex-start;
	flex-flow:row nowrap;
}

.cats_grid_img {
	flex:0 0 240px;
	height:200px;
	background-size:cover;
	background-position:center center;
}
.cats_grid_data {
	flex:1 1 100%;
	padding-left:20px;
}
.cats_grid_data a h2{
	font-size:1.5em;
	font-weight:600;
	color:#7c8638 ;
	margin:0;
}

.cats_grid_data a h2:hover {
	color:#FF9900;
}

.cats_grid_data ul {
	list-style:none;
	margin:0;
	padding:0;
	color:#a3ad62;
	font-size:1.125em;
}

.cats_grid_data ul ul {
	margin-left:.5em;
}

.cats_grid_data ul a {
	text-decoration:none;
}

.cats_grid_data ul li {
		padding-top:.15em;
	}