/*
	Theme Name: w32026
	Theme URI: https://w3nerds.com
	Description: Theme designed for client
	Version: 1.1
	Author: w3 Global Solutions
	Author URI: https://w3nerds.com
	Tags: HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/
/*------------------------------------*\
    BASE — variables, reset, base typography
\*------------------------------------*/
*,
*:after,
*:before {
	box-sizing: border-box;
	text-rendering: optimizeLegibility;
	margin: 0;
}

:root {
	--color-1: #023d32;
	--color-2: #688a7a;
	--color-3: #d5b991;
	--color-4: #db9421;
	--color-5: #ffc107;
	--color-spotlight: #6b4d8a;
	--greyZero: #f5f5f5;
	--greyOne: #e5e5e5;
	--greyTwo: #bfbfbf;
	--greyThree: #757575;
	--greyFour: #444444;
	--greyFive: #151515;
	--font-title: 'title', 'opensans-extrabold', Times, serif;
	--font-sm-title: 'regular', 'opensans-regular', Times, serif;
	--font-text-strong: 'title', 'opensans-bold', "Arial Black", sans-serif;
	--font-text-regular: 'regular', 'opensans-regular', Arial, sans-serif;
	--font-text-italic: 'italic', 'opensans-italic', "Arial Italic", sans-serif;
	--font-nav: 'regular', 'opensans-bold', Arial, serif;
	--font-cta: 'cta', 'opensans-bold', Arial, serif;
}

.screen-reader-text {
	overflow: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	clip: rect(1px, 1px, 1px, 1px);
}

.skip-to-content-link {
	background: #fff;
	color: #000;
	height: 30px;
	left: 50%;
	padding: 4px;
	position: absolute;
	transform: translateY(-100%);
	transition: transform 0.3s;
}

.skip-to-content-link:focus {
	transform: translateY(0%);
}

#loader {
	left: 50%;
	top: 50%;
	position: fixed;
	transform: translate(-50%, -50%);
	border: 12px solid #f3f3f3;
	/* Light grey */
	border-top: 12px solid #3498db;
	/* Blue */
	border-radius: 50%;
	width: 90px;
	height: 90px;
	animation: spin 2s linear infinite;
	z-index: 999;
}

@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

p#noscript {
	background-color: red;
	color: white;
	text-align: center;
	width: 100%;
}

a#w3 {
	background-color: transparent;
	background: transparent url(img/w3nerds-logo-web.png) no-repeat;
	background-position: 10% 50%;
	color: #151515;
	display: inline-block;
	font-family: 'opensans-regular', sans-serif;
	font-size: 13px;
	line-height: 22px;
	margin: 10px;
	padding: 10px;
	text-align: right;
	transition-duration: 0.8s;
	text-decoration: none;
	width: 180px;
	height: 90px;
}

a#w3:hover {
	background-color: #fff;
	box-shadow: 15px 15px 0px -10px #4285f4, -15px -15px 0px -10px #fcc934, 5px -5px #ff5252, -5px 5px #34a853;
	color: #151515;
}

.success {
	padding: 12px 20px;
	text-align: left;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	background: green;
	position: relative;
	z-index: 9999;
}

.success a {
	color: #ccc;
}

.error,
.form-error-container {
	padding: 12px 20px;
	text-align: left;
	font-size: 16px;
	color: #fff;
	background: red;
	position: relative;
	z-index: 9999;
}

.error span,
.error a {
	vertical-align: middle !important;
}

.inputError {
	background-color: rgb(249, 213, 212) !important;
}

html {
	font-size: 14px;
}

body {
	font-family: var(--font-text-regular), 'opensans-regular', serif;
	font-size: 14px;
	line-height: 22px;
	color: #555;
	background-color: #fff;
	text-align: center;
}

img {
	vertical-align: bottom;
	width: auto;
	height: auto;
	max-width: 100%;
}

a {
	color: var(--color-1);
	font-family: var(--font-text-strong), 'opensans-bold', serif;
	text-decoration: underline;
	cursor: pointer;
	text-decoration-color: var(--color-5);
}

a:hover {
	color: #000;
	text-decoration-color: var(--greyFive);
}

a:focus {
	outline: #2f2f2f;
}

a:hover,
a:active {
	outline: 0;
}

button {
	cursor: pointer;
}

input:focus {
	outline: 0;
	border: 1px solid var(--color-4);
}

textarea {
	outline-color: var(--color-4);
}

p {
	text-align: left;
	font-size: 18px;
	line-height: 26px;
	position: relative;
	font-family: var(--font-text-regular), 'opensans-regular', serif;
}

ul,
ol {
	font-size: 14px;
	line-height: 14px;
	padding: 20px 0 20px 20px;
}

ul li,
ol ul li {
	/*NEW*/
	text-align: left;
	list-style: none;
	background-image: url('favicon.svg');
	background-repeat: no-repeat;
	background-size: 12px;
	background-position: 5px 12px;
	font-size: 16px;
	line-height: 24px;
	padding: 5px 0 10px 30px;
}

ol li,
ul ol li {
	/*NEW*/
	list-style: auto;
	background-image: none;
	text-align: left;
	font-size: 16px;
	line-height: 24px;
	padding: 5px 0 15px 5px;
}

ol li::marker,
ul ol li::marker {
	font-family: var(--font-text-strong), 'opensans-bold', serif;
}

ul li h4,
ol li h4,
ul ol li h4 {
	padding-bottom: 4px;
}

h1,
h2.xlg-title,
h3.xlg-title,
h4.xlg-title,
h5.xlg-title,
.xlg-title {
	color: var(--greyFour);
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 36px;
	font-weight: normal;
	line-height: 46px;
	margin: 0;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	vertical-align: middle;
}

h2,
h1.lg-title,
h3.lg-title,
h4.lg-title,
h5.lg-title,
.lg-title {
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 32px;
	line-height: 40px;
	color: var(--greyFive);
	text-align: center;
	text-transform: none;
	border-bottom: 0;
	margin: 0 0 12px 0;
	padding: 0;
}

h2 u,
h1.lg-title u,
h3.lg-title u,
h4.lg-title u,
h5.lg-title u,
.lg-title u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -14px 0 0 var(--color-4);
	padding: 0 4px;
}

h3,
h1.med-title,
h2.med-title,
h4.med-title,
h5.med-title,
.med-title {
	border-bottom: 2px solid var(--color-4);
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 20px;
	font-weight: normal;
	line-height: 28px;
	margin-bottom: 14px;
	padding-bottom: 10px;
	text-align: left;
	text-transform: uppercase;
	vertical-align: middle;
}

h4,
h1.sm-title,
h2.sm-title,
h3.sm-title,
h5.sm-title,
.sm-title {
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-sm-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	font-variant: small-caps;
	font-weight: normal;
	line-height: 24px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: middle;
}

h5,
h1.xsm-title,
h2.xsm-title,
h3.xsm-title,
h4.xsm-title,
.xsm-title {
	color: var(--greyFour);
	display: inline-block;
	font-family: var(--font-sm-title), 'opensans-bold', sans-serif;
	font-size: 16px;
	font-weight: normal;
	line-height: 22px;
	padding-bottom: 10px;
	text-align: left;
	vertical-align: middle;
}

strong,
b,
table th {
	font-weight: normal;
	font-family: var(--font-text-strong), 'opensans-bold', serif;
}

svg {
	vertical-align: middle;
	width: 25px;
	height: 25px;
	fill: var(--greyThree);
}

i {
	font-style: normal;
	font-family: var(--font-text-italic), 'opensans-italic', sans-serif;
}

blockquote {
	background-color: var(--greyZero);
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	padding: 14px 18px;
	border-left: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin-bottom: 22px;
	text-align: left;
}

section {
	background-position: center;
	background-size: cover;
	width: 100%;
	padding: 75px 20px;
	position: relative;
}

section.no-padding {
	padding: 0;
}
section.large {
	max-width: 1920px;
	margin: 0 auto;
}
section.landing {
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
body.terms-of-service section:first-of-type,
body.privacy-policy section:first-of-type {
	background-image: none;
}
.wrapper {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
}
.wrapper.large {
	max-width: 1920px;
}
.wrapper.small {
	max-width: 1000px;
}
.wrapper.xsmall {
	max-width: 750px;
}
.std-padding {
	padding: 75px 20px;
}

.less-padding {
	padding: 40px 15px;
}
.grey {
	background-color: var(--greyZero);
}
.object-fit {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.left {
	text-align: left;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
.align-left {
	float: left;
	padding: 0;
	margin: 0 12px 2px 0;
}
.align-right {
	float: right;
	padding: 0;
	margin: 0 0 2px 12px;
}
@media only screen and (max-width:900px) {
	.stopFloatOnTablet {
		float: none;
		display: block;
		margin: 12px auto;
	}
}
@media only screen and (max-width:640px) {
	.stopFloatOnMobile {
		float: none;
		display: block;
		margin: 12px auto;
	}
}
@media only screen and (max-width:399px) {

	.align-left,
	.align-right {
		float: none;
		display: block;
		margin: 12px auto;
	}
}
ul.list {
	overflow: hidden;
	list-style: none;
	text-align: left;
	padding: 15px 10px;
	margin: 0 0 0 40px;
}
ul.list li {
	float: left;
	display: inline;
	width: 33%;
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 5px 50%;
	font-size: 18px;
	line-height: 24px;
	padding: 15px 10px 15px 50px;
}
ul.list.one-col li {
	width: 100%;
}

@media only screen and (max-width:900px) {
	ul.list {
		margin: 0;
		padding: 10px 5px;
	}

	ul.list li {
		width: 50%;
	}
}
@media only screen and (max-width:640px) {
	ul.list {
		padding: 10px 0px;
	}

	ul.list li {
		font-size: 16px;
		background-size: 20px;
		padding: 10px 10px 10px 30px;
	}
}
@media only screen and (max-width:390px) {
	ul.list li {
		width: 100%;
	}
}
iframe {
	display: block;
	width: 100%;
	margin: 0 auto;
	border: 0;
}
.parallax {
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
}
/*------------------------------------*\
	STRUCTURE
\*------------------------------------*/
table,
table tr.even,
table tr.alt,
table tr:nth-of-type(even) {
	background: none;
	border: 0;
}
div.table,
div.table-noresponse {
	display: table;
	width: 100%
}
div.table div.tableRow,
div.table-noresponse div.tableRow-noresponse {
	display: table-row;
	width: 100%
}
div.table div.tableRow div.tableCell,
div.table-noresponse div.tableRow-noresponse div.tableCell-noresponse {
	display: table-cell;
	vertical-align: middle
}
.small-1 {
	width: 8.33333%
}
.small-2 {
	width: 16.66667%
}
.small-3 {
	width: 25%
}
.small-4 {
	width: 33.33333%
}
.small-5 {
	width: 41.66667%
}
.small-6 {
	width: 50%
}
.small-7 {
	width: 58.33333%
}
.small-8 {
	width: 66.66667%
}
.small-9 {
	width: 75%
}
.small-10 {
	width: 83.33333%
}
.small-11 {
	width: 91.66667%
}
.small-12 {
	width: 100%
}
@media only screen and (min-width: 640px) {
	.medium-1 {
		width: 8.33333%
	}
	.medium-2 {
		width: 16.66667%
	}
	.medium-3 {
		width: 25%
	}
	.medium-4 {
		width: 33.33333%
	}
	.medium-5 {
		width: 41.66667%
	}
	.medium-6 {
		width: 50%
	}
	.medium-7 {
		width: 58.33333%
	}
	.medium-8 {
		width: 66.66667%
	}
	.medium-9 {
		width: 75%
	}
	.medium-10 {
		width: 83.33333%
	}
	.medium-11 {
		width: 91.66667%
	}
	.medium-12 {
		width: 100%
	}
}
@media only screen and (min-width: 1024px) {
	.large-1 {
		width: 8.33333%
	}
	.large-2 {
		width: 16.66667%
	}
	.large-3 {
		width: 25%
	}
	.large-4 {
		width: 33.33333%
	}
	.large-5 {
		width: 41.66667%
	}
	.large-6 {
		width: 50%
	}
	.large-7 {
		width: 58.33333%
	}
	.large-8 {
		width: 66.66667%
	}
	.large-9 {
		width: 75%
	}
	.large-10 {
		width: 83.33333%
	}
	.large-11 {
		width: 91.66667%
	}
	.large-12 {
		width: 100%
	}
}
.flex-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center
}
.flex-container.centerItems {
	align-items: center
}
.flex-container.col {
	flex-direction: column
}
.flex-container .flex-block {
	display: block;
	width: 25%;
	transition-duration: 0.8s
}
.flex-container .flex-block.one-eighth {
	width: 12.5%
}
.flex-container .flex-block.one-third {
	width: 33.33%
}
.flex-container .flex-block.one-half {
	width: 50%
}
.flex-container .flex-block.two-thirds {
	width: 66.66%
}
.flex-container .flex-block.three-quarters {
	width: 75%
}
.flex-container .flex-block.full {
	width: 100%
}
.flex-container .flex-block.noResponse {
	width: 25% !important
}
.flex-container .flex-block.one-eighth.noResponse {
	width: 12.5% !important
}
.flex-container .flex-block.one-third.noResponse {
	width: 33.33% !important
}
.flex-container .flex-block.one-half.noResponse {
	width: 50% !important
}
.flex-container .flex-block.two-thirds.noResponse {
	width: 66.66% !important
}
.flex-container .flex-block.three-quarters.noResponse {
	width: 75% !important
}
.flex-container .flex-block.full.noResponse {
	width: 100% !important
}
@media only screen and (max-width:900px) {
	.flex-container.reverseOnTablet {
		flex-direction: column-reverse
	}
	.flex-container .flex-block.one-half,
	.flex-container .flex-block.two-thirds,
	.flex-container .flex-block.three-quarters,
	.flex-container .flex-block.fullOnTablet,
	.flex-container .flex-block.one-third.fullOnTablet {
		width: 100%
	}
	.flex-container .flex-block,
	.flex-container .flex-block.one-third,
	.flex-container .flex-block.one-half.lateResponse {
		width: 50%
	}
	.flex-container .flex-block.one-eighth {
		width: 25%
	}
}
@media screen and (max-width:640px) {
	.flex-container.reverseOnMobile {
		flex-direction: column-reverse
	}
	.flex-container .flex-block,
	.flex-container .flex-block.one-third,
	.flex-container .flex-block.two-thirds,
	.flex-container .flex-block.one-half.lateResponse {
		width: 100%
	}
	.flex-container .flex-block.one-eighth,
	.flex-container .flex-block.lateResponse,
	.flex-container .flex-block.one-third.lateResponse {
		width: 50%
	}

	.flex-container .flex-block.one-eighth.lateResponse {
		width: 25%
	}
}
@media screen and (max-width:390px) {

	.flex-container .flex-block.one-eighth,
	.flex-container .flex-block.lateResponse,
	.flex-container .flex-block.one-eighth.lateResponse,
	.flex-container .flex-block.one-third.lateResponse {
		width: 100%
	}
}
/*------------------------------------*\
    HEADER
\*------------------------------------*/
.announcement-bar {
	background-color: var(--greyZero);
	padding: 8px 12px;
	border-top: 8px solid white;
	border-bottom: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin: 0 0 10px 0;
}
.announcement-bar p {
	text-align: center;
	font-size: 15px;
	line-height: 20px;
}
.announcement-bar a {
	font-family: var(--font-text-strong), 'opensans-bold', serif;
	text-decoration: underline;
	transition-duration: 0.3s;
	color: var(--color-1);
}
.announcement-bar a:hover {
	color: var(--color-4);
}
header,
div.content {
	max-width: 1200px;
	margin: 0 auto;
}
header {
	text-align: center;
	background-color: #fff;
	position: relative;
	z-index: 100;
}
header a {
	color: var(--greyThree);
	font-family: var(--font-nav), sans-serif;
	font-size: 15px;
	text-decoration-color: transparent;
	vertical-align: middle;
	transition-duration: 0.6s;
}
header a:hover {
	text-decoration-color: var(--color-4);
}
header .top {
	padding: 6px 10px;
}
header .top .flex-container {
	justify-content: space-between;
	align-items: center;
}
header .top a {
	display: inline-flex;
	font-size: 12px;
	gap: 6px;
}
header .top a:hover {
	color: var(--color-1);
}
header .top a img,
header .top a svg {
	vertical-align: middle;
	max-height: 16px;
	width: auto;
}
header div#mobileGrippy {
	display: none;
}
header .mid {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}
a.logo {
	display: inline-block;
	text-decoration: none;
}
a.logo img {
	width: 200px;
	height: auto;
	vertical-align: middle;
}
header .mid {
	padding: 16px 5px;
}
header .mid .flex-container {
	justify-content: space-between;
	gap: 24px;
}
header .mid .logo-block {
	flex: 0 0 auto;
}
header #mobileGrippy {
	/* mobileGrippy hidden on desktop */
	display: none;
}
header .mid nav {
	flex: 1 1 auto;
}
header .mid nav ul {
	justify-content: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
header .mid nav ul li {
	display: inline-block;
	padding: 0;
	background-image: none;
}
header .mid nav ul li a {
	padding: 17px;
}
header nav ul li.withChild {
	position: relative;
}
header nav ul li.withChild>a {
	padding-right: 20px;
}
header nav ul li.withChild>a:after {
	content: "";
	display: inline-block;
	width: 0;
	height: 12px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid var(--greyFour);
	margin-left: 8px;
	vertical-align: middle;
}
header nav ul li.withChild ul.children {
	display: none;
	position: absolute;
	top: 140%;
	left: 0;
	background: #fff;
	border: 1px solid var(--greyTwo);
	min-width: 160px;
	z-index: 100;
	list-style: none;
	margin: 0;
	padding: 8px 0;
}
header nav ul li.withChild:hover ul.children {
	display: block;
}
header nav ul li.withChild ul.children li a {
	display: block;
	padding: 8px 16px;
}
header .mid nav ul li.withChild {
	position: relative;
	display: inline-block;
}
header .mid nav ul li.withChild ul {
	display: none;
	position: absolute;
	background-color: #f1f1f1;
	min-width: 160px;
	box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
	z-index: 1;
}
header .mid nav ul li.withChild ul a {
	display: block;
	color: #000;
	padding: 12px 16px;
	text-align: left;
}
header .mid nav ul li.withChild ul a:hover {
	/* Change color of dropdown links on hover */
	text-decoration-color: var(--color-4);
}
header .mid nav ul li.withChild:hover ul {
	/* Show the dropdown menu on hover */
	display: block;
}
header .mid .eCom-block {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 0 0 auto;
}
header .mid .eCom-block a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition-duration: 0.4s;
}
header .mid .eCom-block a:hover {
	color: var(--color-1);
}
header .mid .eCom-block a#account-icon-container .words {
	display: inline-flex;
	flex-direction: column;
	line-height: 1.1;
	text-align: left;
}
header .mid .eCom-block a#account-icon-container .words .greeting {
	font-size: 13px;
	font-weight: 600;
	color: #1a3a32;   /* your green; or #f5a623 gold if you prefer */
}
header .mid .eCom-block svg {
	width: 24px;
	height: 24px;
}
header .mid .eCom-block img {
	width: 25px;
	height: 25px;
	vertical-align: middle;
}
/* Cart count badge */
#cart-count-container {
	position: relative;
}
#cart-count {
	position: absolute;
	top: -6px;
	right: -8px;
	background-color: var(--color-3);
	color: var(--color-1);
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 11px;
	line-height: 18px;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	text-align: center;
	padding: 0 4px;
}
#cart-count.empty {
	display: none;
}
/*------------------------------------*\
    GLOBAL — patterns reused across 2+ pages (CTAs, cards, title separators, image frames, etc.)
\*------------------------------------*/
div.content {
	position: relative;
}
.relative {
	position: relative;
}
div.card {
	background-color: #fbfbfb;
	border:1px #ccc solid;
	text-align:center;
}
div.card div.card-heading {
	background-color:#346fd4;
	color:#fff;
	text-align:center;
	font-size:24px;
	padding:6px 4px;
}
div.card div.card-content {
	background-color: #fff;
	padding:8px;
}
.cta {
	display: inline-block;
	background-color: var(--color-5);
	background-image: url('uploads/icon-shopping-bag-fill-black.svg');
	background-image: url('favicon.svg');
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 93% 50%;
	border: 1px solid transparent;
	color: var(--greyFive);
	font-family: var(--font-cta), 'opensans-bold', serif;
	font-size: 16px;
	text-decoration: none;
	margin: 12px 8px;
	padding: 12px 50px 12px 28px;
	transition-duration: 0.8s;
	vertical-align: middle;
}
.cta:hover {
	color: var(--color-1);
	background-color: #fff;
	border-color: var(--color-1);
	padding: 12px 39px;
	background-position: 120% 50%;
	box-shadow: 0px 0px 5px var(--color-4);
}
.cta.large {
	background-position: 95% 50%;
}
.cta.large:hover {
	background-position: 130% 50%;
}
.cta.shop {
	background-image: url('uploads/icon-shopping-bag-fill-black.svg');
	background-color: var(--color-5);
	color: var(--greyFive);
	border-color: transparent;
}
.cta.shop:hover {
	box-shadow: 0px 0px 5px var(--color-4);
}
.cta.transparent {
	background-color: transparent;
	border: 1px solid var(--color-4);
}
.cta.transparent:hover {
	background-color: var(--color-4);
	color: #000;
}
.cta.white {
	background-color: transparent;
	border-color: var(--color-5);
}
.cta.white:hover {
	background-color: var(--color-2);
	box-shadow: 0px 0px 5px var(--color-2);
}
.cta.appt {
	background-image: url('uploads/icon-calendar.svg');
	background-position: 95% 50%;
}
.cta img {
	display: inline-block;
	vertical-align: middle;
	width: 30px;
}
.cta span {
	display: inline-block;
	vertical-align: middle;
	padding: 0 0 0 8px;
}
.frame {
	border-radius: 4px;
	border-top: 4px solid var(--color-2);
	border-right: 1px solid var(--color-2);
	border-bottom: 4px solid var(--color-4);
	border-left: 1px solid var(--color-2);
	transition-duration: 0.8s;
}
.frame:hover {
	box-shadow: 0px 0px 10px var(--color-4);
}
div.hr-container {
	position: relative;
	display:block;
	width:100%;
	height:50px;
	text-align: center;
	margin: 20px auto;
}
div.hr-container hr {
	width:90%;
	position:absolute;
	top:25px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
div.hr-container span {
	display: inline-block;
	position:absolute;
	font-size:25px;
	line-height: 25px;
	top:15px;
	background-color: #fff;
	width:50px!important;
	height:50px;
	margin-top: -15px;
	margin-left: -25px;
	border:1px solid var(--greyOne);
	border-radius: 50px;
	align-content: center;
}
.page-hero {
	padding: 60px 40px;
	text-align: center;
}
.page-hero h1 {
	margin: 0 0 16px;
}
.page-hero h1 u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -14px 0 0 var(--color-4);
	padding: 0 4px;
}
.page-hero p {
	max-width: 640px;
	margin: 16px auto 0;
	text-align: center;
}
.visit-block {
	max-width: 480px;
	margin: 0 auto;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	padding: 24px;
	text-align: center;
}
.visit-block-name {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
	color: var(--greyFive);
	border: 0;
	margin: 0 0 12px;
	padding: 0;
	text-align: center;
	text-transform: none;
}
.visit-block-address {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
	text-decoration: none;
	margin: 0 0 16px;
}
.visit-block-address:hover {
	color: var(--color-1);
}
.visit-block-hours {
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
}
.visit-block-hours strong {
	display: block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	margin-bottom: 4px;
}
.map-embed {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.map-embed iframe {
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
}
div#personsPaymentMethods-container {
	border-left: 10px solid rgb(30,30,30,0.25);
	padding-left: 10px;
}
/*------------------------------------*\
    HOME — body.home
\*------------------------------------*/
body.home section.a-section {
	padding: 24px 0;
}
body.home section.a-section .flex-container {
	align-items: stretch;
	gap: 20px;
}
body.home section.a-section .flex-block.banner-block {
	background-color: var(--greyZero);
	padding: 0;
	width: calc(75% - 20px);
}
body.home section.a-section .banner-block .banner-card {
	background-image: url(uploads/microgrown-fire-flower-pic-flower-concentrate-sleep-drinks-850x640-1.webp);
	background-position: top right;
	background-repeat: no-repeat;
	background-size: contain;
	position: relative;
	border-radius: 4px;
	border: 1px solid var(--greyOne);
	min-height: 360px;
	height: 100%;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 40px;
}
body.home section.a-section .banner-content {
	max-width: 600px;
	text-align: left;
}
body.home section.a-section .banner-content h1 {
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 40px;
	line-height: 48px;
	text-align: left;
	text-transform: none;
	margin-bottom: 16px;
	padding: 0;
}
body.home section.a-section .banner-content h1 u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -16px 0 0 var(--color-4);
	padding: 0 4px;
}
body.home section.a-section .banner-content p.banner-tagline {
	font-size: 17px;
	line-height: 26px;
	margin-bottom: 24px;
}
body.home section.a-section .banner-content a.cta {
	margin-left: 0;
}
body.home section.a-section .flex-block.categories-block {
	width: 25%;
	padding: 0;
}
body.home section.a-section .categories-block .categories-menu {
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	height: 100%;
}
body.home section.a-section .categories-block .categories-menu .category-heading {
	background-color: var(--color-1);
	padding: 14px 20px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}
body.home section.a-section .categories-block .categories-menu .category-heading h2 {
	color: #fff;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	line-height: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	text-transform: uppercase;
}
body.home section.a-section .categories-block .categories-menu .category-menu-list {
	padding: 0;
}
body.home section.a-section .categories-block .categories-menu .category-menu-list ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.home section.a-section .categories-block .categories-menu .category-menu-list ul li {
	display: block;
	background-image: none;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid var(--greyOne);
}
body.home section.a-section .categories-block .categories-menu .category-menu-list ul li:last-child {
	border-bottom: 0;
}
body.home section.a-section .categories-block .categories-menu .category-menu-list ul li a {
	display: block;
	padding: 12px 20px;
	font-family: var(--font-text-regular), 'opensans-regular', serif;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyFive);
	text-decoration: none;
	transition-duration: 0.4s;
}
body.home section.a-section .categories-block .categories-menu .category-menu-list ul li a:hover {
	background-color: var(--color-5);
	color: var(--color-1);
	padding-left: 26px;
}
body.home section.featured-products {
	background-color: #fff;
	padding: 60px 20px;
}
body.home section.featured-products .wrapper {
	max-width: 1400px;
	text-align: center;
}
body.home section.featured-products p.section-intro {
	max-width: 720px;
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: center;
}
body.home section.featured-products .products-cards-container,
body.home section.featured-categories .products-cards-container {
	gap: 20px;
	justify-content: center;
	align-items: stretch;
}
body.home section.featured-products article.product-block {
	width: calc(25% - 15px);
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	transition-duration: 0.4s;
}
body.home section.featured-categories article.product-block {
	width: calc(33.33% - 14px);
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	transition-duration: 0.4s;
}
body.home section.featured-products article.product-block:hover,
body.home section.featured-categories article.product-block:hover {
	border-color: var(--color-1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
body.home section.featured-products article.product-block a.product-card,
body.home section.featured-categories article.product-block a.product-card {
	background-color: var(--greyZero);
	display: block;
	text-decoration: none;
	color: var(--greyFive);
	height: 100%;
}
body.home section.featured-products .product-img-container,
body.home section.featured-categories .product-img-container {
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--greyZero);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
body.home section.featured-products .product-img-container img,
body.home section.featured-categories .product-img-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.home section.featured-products .product-details-container,
body.home section.featured-categories .product-details-container {
	padding: 16px 18px 20px;
	text-align: left;
}
body.home section.featured-products .product-name,
body.home section.featured-categories .product-name {
	display: block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 16px;
	line-height: 22px;
	color: var(--greyFive);
	margin-bottom: 4px;
}
body.home section.featured-products .product-primary-category,
body.home section.featured-categories .product-primary-category {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
}
body.home section.featured-products .product-price,
body.home section.featured-categories .product-price {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 18px;
	line-height: 24px;
	color: var(--color-1);
	margin-right: 8px;
}
body.home section.featured-products .product-msrp,
body.home section.featured-categories .product-msrp {
	display: inline-block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyThree);
	text-decoration: line-through;
	margin-right: 8px;
}
body.home section.featured-products .product-savings,
body.home section.featured-categories .product-savings {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: var(--color-4);
	background-color: var(--greyZero);
	padding: 2px 8px;
	border-radius: 3px;
}
body.home section.featured-products .featured-products-cta {
	margin-top: 36px;
	text-align: center;
}
body.home section.product-spotlight {
	padding: 60px 20px;
}
body.home section.product-spotlight .wrapper {
	max-width: 1200px;
	text-align: center;
}
body.home section.product-spotlight p.section-intro {
	max-width: 640px;
	margin: 0 auto 36px;
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: center;
}
body.home section.product-spotlight article.spotlight-card {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-left: 15px solid var(--color-spotlight);
	border-radius: 4px;
	overflow: hidden;
	text-align: left;
	transition-duration: 0.4s;
}
body.home section.product-spotlight article.spotlight-card:hover {
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
body.home section.product-spotlight .spotlight-image-block {
	width: 45%;
	background-color: var(--greyZero);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	min-height: 360px;
}
body.home section.product-spotlight .spotlight-image-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}
body.home section.product-spotlight .spotlight-image-block img {
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
}
body.home section.product-spotlight .spotlight-content-block {
	background-color: var(--greyZero);
	width: 55%;
	padding: 36px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
body.home section.product-spotlight .spotlight-eyebrow {
	display: inline-block;
	align-self: flex-start;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--color-spotlight);
	padding: 4px 10px;
	border-radius: 3px;
	margin-bottom: 14px;
}
body.home section.product-spotlight h3.spotlight-product-name {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 26px;
	line-height: 32px;
	color: var(--greyFive);
	border-bottom: 0;
	margin: 0 0 6px 0;
	padding: 0;
	text-align: left;
	text-transform: none;
}
body.home section.product-spotlight .spotlight-category {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 14px;
}
body.home section.product-spotlight p.spotlight-pitch {
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	margin-bottom: 18px;
	text-align: left;
}
body.home section.product-spotlight .spotlight-price-block {
	margin-bottom: 18px;
}
body.home section.product-spotlight .spotlight-price {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 24px;
	line-height: 30px;
	color: var(--color-1);
	margin-right: 10px;
	vertical-align: middle;
}
body.home section.product-spotlight .spotlight-msrp {
	display: inline-block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 16px;
	line-height: 22px;
	color: var(--greyThree);
	text-decoration: line-through;
	vertical-align: middle;
}
body.home section.product-spotlight .spotlight-content-block a.cta {
	align-self: flex-start;
	margin-left: 0;
}
body.home section.product-spotlight p.spotlight-empty {
	max-width: 640px;
	margin: 0 auto;
	padding: 24px;
	background-color: #fff;
	border: 1px dashed var(--greyTwo);
	border-radius: 4px;
	color: var(--greyFour);
}
body.home section.featured-categories {
	padding: 60px 20px;
}
body.home section.featured-categories .wrapper {
	max-width: 1400px;
	text-align: center;
}
body.home section.featured-categories p.section-intro {
	max-width: 720px;
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: center;
}
/* Hide the radios visually but keep them keyboard-focusable */
body.home section.featured-categories .d-cat-radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
	clip: rect(0 0 0 0);
}
body.home section.featured-categories .flex-container.featured-categories-row {
	gap: 24px;
	align-items: stretch;
}
body.home section.featured-categories .flex-block.category-switcher-block {
	width: calc(33.33% - 16px);
	padding: 0;
}
body.home section.featured-categories .flex-block.category-products-block {
	width: calc(66.66% - 8px);
	padding: 0;
}
body.home section.featured-categories .category-switcher {
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	padding: 24px 22px;
	height: 100%;
	text-align: left;
}
body.home section.featured-categories h3.category-switcher-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 16px;
	line-height: 22px;
	color: var(--greyFive);
	border-bottom: 2px solid var(--color-1);
	margin: 0 0 16px 0;
	padding: 0 0 10px 0;
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
body.home section.featured-categories ul.category-switcher-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.home section.featured-categories li.category-switcher-item {
	display: block;
	background-image: none;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid var(--greyOne);
}
body.home section.featured-categories li.category-switcher-item:last-child {
	border-bottom: 0;
}
body.home section.featured-categories label.category-switcher-link {
	display: block;
	padding: 12px 14px 12px 18px;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 15px;
	line-height: 20px;
	color: var(--greyFive);
	text-decoration: none;
	border-left: 3px solid transparent;
	cursor: pointer;
	transition-duration: 0.4s;
}
body.home section.featured-categories label.category-switcher-link:hover {
	background-color: var(--greyZero);
	border-left-color: var(--color-2);
	color: var(--color-1);
	padding-left: 22px;
}
/* Active label state — driven by :checked, one rule per catID */
body.home section.featured-categories #d-cat-160:checked~.featured-categories-layout label[for="d-cat-160"],
body.home section.featured-categories #d-cat-166:checked~.featured-categories-layout label[for="d-cat-166"],
body.home section.featured-categories #d-cat-167:checked~.featured-categories-layout label[for="d-cat-167"],
body.home section.featured-categories #d-cat-168:checked~.featured-categories-layout label[for="d-cat-168"],
body.home section.featured-categories #d-cat-171:checked~.featured-categories-layout label[for="d-cat-171"] {
	background-color: var(--color-1);
	color: #fff;
	border-left-color: var(--color-4);
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	padding-left: 18px;
	cursor: default;
}
/* Keyboard focus indicator on the label whose hidden radio has focus */
body.home section.featured-categories #d-cat-160:focus-visible~.featured-categories-layout label[for="d-cat-160"],
body.home section.featured-categories #d-cat-166:focus-visible~.featured-categories-layout label[for="d-cat-166"],
body.home section.featured-categories #d-cat-167:focus-visible~.featured-categories-layout label[for="d-cat-167"],
body.home section.featured-categories #d-cat-168:focus-visible~.featured-categories-layout label[for="d-cat-168"],
body.home section.featured-categories #d-cat-171:focus-visible~.featured-categories-layout label[for="d-cat-171"] {
	outline: 2px solid var(--color-1);
	outline-offset: -2px;
}
body.home section.featured-categories p.category-switcher-description {
	margin: 18px 4px 0;
	padding: 14px 0 0 0;
	border-top: 1px solid var(--greyOne);
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
	text-align: left;
}
/* Hide all descriptions and grids by default; :checked rules below reveal one */
body.home section.featured-categories .d-description,
body.home section.featured-categories .d-grid {
	display: none;
}
body.home section.featured-categories #d-cat-160:checked~.featured-categories-layout .d-description[data-cat="160"],
body.home section.featured-categories #d-cat-166:checked~.featured-categories-layout .d-description[data-cat="166"],
body.home section.featured-categories #d-cat-167:checked~.featured-categories-layout .d-description[data-cat="167"],
body.home section.featured-categories #d-cat-168:checked~.featured-categories-layout .d-description[data-cat="168"],
body.home section.featured-categories #d-cat-171:checked~.featured-categories-layout .d-description[data-cat="171"] {
	display: block;
}
body.home section.featured-categories #d-cat-160:checked~.featured-categories-layout .d-grid[data-cat="160"],
body.home section.featured-categories #d-cat-166:checked~.featured-categories-layout .d-grid[data-cat="166"],
body.home section.featured-categories #d-cat-167:checked~.featured-categories-layout .d-grid[data-cat="167"],
body.home section.featured-categories #d-cat-168:checked~.featured-categories-layout .d-grid[data-cat="168"],
body.home section.featured-categories #d-cat-171:checked~.featured-categories-layout .d-grid[data-cat="171"] {
	display: block;
}
body.home section.featured-categories .category-products-cta {
	margin-top: 28px;
	text-align: center;
}
body.home section.featured-categories p.category-products-empty {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 28px 24px;
	background-color: #fff;
	border: 1px dashed var(--greyTwo);
	border-radius: 4px;
	color: var(--greyFour);
	text-align: center;
}
body.home section.discover-categories {
	background-color: #fff;
	padding: 60px 20px;
}
body.home section.discover-categories .wrapper {
	max-width: 1400px;
	text-align: center;
}
body.home section.discover-categories p.section-intro {
	max-width: 720px;
	margin: 0 auto 32px;
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: center;
}
body.home section.discover-categories .discover-slider {
	position: relative;
	padding: 0 48px;
}
body.home section.discover-categories .discover-track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 4px 0 8px;
}
body.home section.discover-categories .discover-track::-webkit-scrollbar {
	display: none;
}
body.home section.discover-categories .discover-card {
	flex: 0 0 calc((100% - 64px) / 5);
	scroll-snap-align: start;
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	transition-duration: 0.4s;
}
body.home section.discover-categories .discover-card:hover {
	border-color: var(--color-1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
body.home section.discover-categories a.discover-card-link {
	background-color: var(--greyZero);
	display: block;
	text-decoration: none;
	color: var(--greyFive);
	height: 100%;
}
body.home section.discover-categories .discover-img-container {
	width: 100%;
	aspect-ratio: 1 / 1;
	background-color: var(--greyZero);
	overflow: hidden;
}
body.home section.discover-categories .discover-img-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.home section.discover-categories h3.discover-cat-name {
	display: block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 15px;
	line-height: 20px;
	color: var(--greyFive);
	border-bottom: 0;
	margin: 0;
	padding: 14px 16px 16px;
	text-align: center;
	text-transform: none;
}
body.home section.discover-categories .discover-arrow {
	position: absolute;
	top: calc(50% - 24px);
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	padding: 0;
	margin: 0;
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 50%;
	color: var(--color-1);
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
	transition-duration: 0.3s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
body.home section.discover-categories .discover-arrow:hover {
	background-color: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
}
body.home section.discover-categories .discover-arrow:focus-visible {
	outline: 2px solid var(--color-4);
	outline-offset: 2px;
}
body.home section.discover-categories .discover-arrow-prev {
	left: 0;
}
body.home section.discover-categories .discover-arrow-next {
	right: 0;
}
body.home section.discover-categories .discover-dots {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}
body.home section.discover-categories .discover-dot {
	width: 10px;
	height: 10px;
	padding: 0;
	margin: 0;
	background-color: var(--greyTwo);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition-duration: 0.3s;
}
body.home section.discover-categories .discover-dot:hover {
	background-color: var(--greyThree);
}
body.home section.discover-categories .discover-dot.active {
	background-color: var(--color-1);
	transform: scale(1.2);
}
body.home section.discover-categories .discover-dot:focus-visible {
	outline: 2px solid var(--color-1);
	outline-offset: 3px;
}
body.home section.about-preview {
	padding: 60px 20px;
}
body.home section.about-preview .wrapper {
	max-width: 1200px;
}
body.home section.about-preview .about-preview-intro {
	max-width: 820px;
	margin: 0 auto 40px;
	text-align: center;
}
body.home section.about-preview .about-preview-eyebrow {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 11px;
	line-height: 16px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #fff;
	background-color: var(--color-1);
	padding: 4px 10px;
	border-radius: 3px;
	margin-bottom: 14px;
}
body.home section.about-preview h2.section-title {
	display: block;
	text-align: center;
	font-size: 32px;
	line-height: 40px;
	margin: 0 0 16px 0;
}
body.home section.about-preview p.about-preview-lede {
	font-size: 17px;
	line-height: 26px;
	color: var(--greyFive);
	margin: 0;
	text-align: center;
}
body.home section.about-preview .flex-container.about-preview-row {
	gap: 48px;
	align-items: center;
	margin-bottom: 48px;
}
body.home section.about-preview .flex-container.owner-row-debbie {
	flex-direction: row-reverse;
}
body.home section.about-preview .flex-block.owner-image-block {
	width: calc(50% - 24px);
	padding: 0;
}
body.home section.about-preview .flex-block.owner-content-block {
	width: calc(50% - 24px);
	padding: 0;
	text-align: left;
}
body.home section.about-preview .about-preview-figure {
	margin: 0;
	padding: 0;
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
	transition-duration: 0.4s;
	max-width: 480px;
}
body.home section.about-preview .owner-row-matt .about-preview-figure {
	margin-left: auto;
	margin-right: 0;
}
body.home section.about-preview .owner-row-debbie .about-preview-figure {
	margin-left: 0;
	margin-right: auto;
}
body.home section.about-preview .about-preview-figure:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.14);
}
body.home section.about-preview .about-preview-figure img {
	display: block;
	width: 100%;
	height: auto;
}
body.home section.about-preview .about-preview-caption {
	display: block;
	padding: 8px 14px;
	background-color: #fff;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 13px;
	line-height: 18px;
	color: var(--greyFour);
	text-align: left;
	border-top: 1px solid var(--greyOne);
}
body.home section.about-preview h3.owner-name {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 26px;
	line-height: 32px;
	color: var(--greyFive);
	border-bottom: 0;
	margin: 0 0 14px 0;
	padding: 0;
	text-align: left;
	text-transform: none;
}
body.home section.about-preview h3.owner-name u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -12px 0 0 var(--color-4);
	padding: 0 4px;
}
body.home section.about-preview p.owner-body {
	font-size: 16px;
	line-height: 25px;
	color: var(--greyFour);
	margin-bottom: 14px;
	text-align: left;
}
body.home section.about-preview p.owner-body:last-child {
	margin-bottom: 0;
}
body.home section.about-preview .about-preview-outro {
	max-width: 820px;
	margin: 0 auto;
	text-align: center;
}
body.home section.about-preview p.about-preview-tagline {
	background-color: var(--greyZero);
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	padding: 14px 18px;
	border-left: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin-bottom: 22px;
	text-align: left;
}
body.home section.about-preview .about-preview-cta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}
body.home section.about-preview .about-preview-cta-row a.cta {
	margin-left: 0;
}
body.home section.home-blog {
	background-color: #fff;
	padding: 60px 20px;
}
body.home section.home-blog .wrapper {
	max-width: 1400px;
	text-align: center;
}
body.home section.home-blog p.section-intro {
	max-width: 720px;
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: center;
}
body.home section.home-blog .flex-container.blog-cards-container {
	gap: 24px;
	justify-content: center;
	align-items: stretch;
}
body.home section.home-blog article.blog-block {
	width: calc(33.33% - 16px);
	padding: 0;
}
body.home section.home-blog a.blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: var(--greyFive);
	font-family: var(--font-text-regular), 'opensans-regular', serif;
	transition-duration: 0.4s;
}
body.home section.home-blog a.blog-card:hover {
	border-color: var(--color-1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
body.home section.home-blog .blog-img-container {
	width: 100%;
	aspect-ratio: 16 / 10;
	background-color: var(--greyOne);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.home section.home-blog .blog-img-container img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.home section.home-blog .blog-img-placeholder {
	width: 100%;
	height: 100%;
	background-color: var(--color-1);
	background-image: linear-gradient(135deg, var(--color-1) 0%, var(--color-2) 100%);
	display: flex;
	align-items: center;
	justify-content: center;
}
body.home section.home-blog .blog-img-placeholder-mark {
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 64px;
	line-height: 1;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0;
	opacity: 0.85;
}
body.home section.home-blog .blog-details-container {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 22px 22px;
	text-align: left;
}
body.home section.home-blog .blog-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 19px;
	line-height: 26px;
	color: var(--greyFive);
	margin: 0 0 10px 0;
	text-transform: none;
}
body.home section.home-blog .blog-meta {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--greyOne);
}
body.home section.home-blog .blog-date,
body.home section.home-blog .blog-by,
body.home section.home-blog .blog-author {
	display: inline;
}
body.home section.home-blog .blog-author {
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	color: var(--greyFour);
}
body.home section.home-blog .blog-meta-divider {
	display: inline-block;
	margin: 0 6px;
	color: var(--greyTwo);
}
body.home section.home-blog .blog-excerpt {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
	margin-bottom: 14px;
	flex: 1 1 auto;
}
body.home section.home-blog .blog-readmore {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 13px;
	line-height: 18px;
	color: var(--color-1);
	letter-spacing: 0.3px;
	margin-top: auto;
	transition-duration: 0.4s;
}
body.home section.home-blog .home-blog-cta {
	margin-top: 36px;
	text-align: center;
}
body.home section.home-blog p.home-blog-empty {
	max-width: 640px;
	margin: 0 auto;
	padding: 24px;
	background-color: var(--greyZero);
	border: 1px dashed var(--greyTwo);
	border-radius: 4px;
	color: var(--greyFour);
}
/*------------------------------------*\
    ABOUT — body.about
\*------------------------------------*/
/*testimonial styling*/
#testimonials #google-reviews {
	display: flex;
	flex-wrap: wrap;
	margin: 0
}

#testimonials .review-item {
	margin: 8px;
	padding: 1.8em;
	color: #000;
	flex: 1 1 20%;
	background-color: var(--greyZero);
	border: 1px #bfbfbf solid;
	box-shadow: 0 0 15px 2px rgba(170, 170, 170, .2);
	transition-duration: .8s
}
#testimonials .review-item:hover {
	border: 1px solid var(--color-2)
}
.review-meta,
.review-stars {
	text-align: center;
	font-size: 115%
}
.review-author {
	text-transform: capitalize;
	font-size: 28px;
	line-height: 40px
}
.review-author img {
	max-width: 100px;
	vertical-align: middle
}
.review-date {
	opacity: .6;
	display: block;
	font-size: 22px;
	line-height: 22px
}
.review-text {
	line-height: 1.55;
	text-align: left;
	max-width: 32em;
	margin: auto
}
.review-stars ul {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0
}
.review-stars ul li {
	background-image: none;
	padding: 0;
	float: left;
	margin-right: 1px;
	line-height: 1
}
.review-stars ul li i {
	color: #fed03d;
	font-size: 48px;
	font-style: normal
}
.review-stars ul li i.inactive {
	color: #c6c6c6
}
.star:after {
	content: "\2605"
}
#map-plug {
	display: none
}
@media only screen and (max-width:900px) {
	#testimonials .review-item {
		flex: 1 1 48%
	}
}
@media only screen and (max-width:640px) {
	#testimonials .review-item {
		flex: 1 1 100%
	}
}
/*------------------------------------*\
    MEET THE STAFF — body.meet-the-staff
\*------------------------------------*/
body.meet-the-staff section.staff-grid {
	padding-top: 30px;
}
body.meet-the-staff section.staff-grid .flex-container {
	align-items: stretch;
	margin-bottom: 24px;
}
body.meet-the-staff section.staff-grid .staff-card {
	display: inline-block;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	padding: 20px;
	text-align: center;
	height: 100%;
}
body.meet-the-staff section.staff-grid .staff-card .frame {
	max-width: 403px;
	margin: 0 auto 18px;
}
body.meet-the-staff section.staff-grid .staff-card .frame img {
	display: block;
	width: 100%;
	height: auto;
}
body.meet-the-staff section.staff-grid h3.staff-name {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 24px;
	line-height: 30px;
	color: var(--greyFive);
	border-bottom: 0;
	margin: 0 0 12px 0;
	padding: 0;
	text-align: center;
	text-transform: none;
}
body.meet-the-staff section.staff-grid p.staff-bio {
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
	text-align: left;
	max-width: 360px;
	margin: 0 auto;
}
body.meet-the-staff section.staff-grid p.staff-closer {
	max-width: 820px;
	margin: 24px auto 0;
	text-align: center;
}
/*------------------------------------*\
    GALLERY — gallery.php
\*------------------------------------*/
img.cssbox_thumb {
	max-width: 300px;
}
div.cssbox {
	display: inline-block;
}
span.cssbox_full {
	z-index: 999;
	position: fixed;
	height: 100%;
	width: 100%;
	background-color: rgba(0,0,0,0.8);
	top: 0;
	left: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s linear;
}
span.cssbox_full img {
	position: fixed;
	background-color: white;
	margin: 0;
	padding: 0;
	max-height: 90%;
	max-width: 90%;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 20px black;
}
span.cssbox_full {
	cursor: initial;
}
.gallery-container {
	column-width: 290px;
	column-gap: 15px;
	width: 100%;
	max-width: 1100px;
	padding:50px 0;
	margin: 0 auto;
}
.gallery-container div.pic-container {
	background: #f5f5f5;
	border: 1px solid #ffffff;
	box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
	margin: 0 2px 15px;
	padding: 15px;
	padding-bottom: 10px;
	transition: opacity .4s ease-in-out;
	display: inline-block;
	text-align: center;
	-webkit-column-break-inside: avoid;
		page-break-inside: avoid;
			break-inside: avoid;
}
.gallery-container div.pic-container img {
	width: 100%;
	height: auto;
	border-bottom: 1px solid var(--color-1);
	padding-bottom: 15px;
	margin-bottom: 5px;
	-moz-box-shadow: none;
	-webkit-box-shadow:none;
	box-shadow: none;
}
.gallery-container div.pic-container div.caption {
	font-size: 15px;
	color: #444;
}
/* IMAGE LIGHTBOX SELECTOR */
/* #imagelightbox {
	cursor: pointer;
	position: fixed;
	z-index: 10000;
	top: 50%;
	touch-action: none;
	box-shadow: 0 0 3.125em rgba(0, 0, 0, .75); 
} */
#imagelightbox {
	cursor: pointer;
	position: fixed;
	z-index: 10000;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 90vw;
	max-height: 90vh;
	touch-action: none;
	box-shadow: 0 0 3.125em rgba(0, 0, 0, .75);
	/* 50 */
}
.imagelightbox-open {
	user-select: none;
	overflow: hidden;
}
/* WITH ACTIVITY INDICATION */.imagelightbox-loading,
.imagelightbox-loading div {
	border-radius: 9999px;
}
.imagelightbox-loading {
	background-color: rgba(130, 130, 130, 0.8);
	position: fixed;
	z-index: 10003;
	top: 50%;
	left: 50%;
	padding: 0.65em;
	margin: -1.3em 0 0 -1.3em;
	box-shadow: 0 0 2.5em rgba(130, 130, 130, 0.6); /* 40 */
}
.imagelightbox-loading div {
	width: 1.3em;
	height: 1.3em;
	background-color: #fff;
	animation: imagelightbox-loading .5s ease infinite;
}
@keyframes imagelightbox-loading {
    from {
        opacity: .5;
        transform: scale(.75);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: .5;
        transform: scale(.75);
    }
}
/* WITH OVERLAY */.imagelightbox-overlay {
	background-color: rgba(30, 30, 30, 0.9);
	position: fixed;
	z-index: 9998;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
/* WITH "CLOSE" BUTTON */.imagelightbox-close {
	border: none;
	cursor: pointer;
	width: 3em; /* 40 */
	height: 3em; /* 40 */
	background-color: rgba(130, 130, 130, 0.8);
	position: fixed;
	z-index: 10002;
	top: 2.5em; /* 40 */
	right: 2.5em; /* 40 */
	border-radius: 50%;
	transition: color .3s ease;
}
.imagelightbox-close:hover {
	background-color: #111;
}
.imagelightbox-close:before,
.imagelightbox-close:after {
	width: 2px;
	background-color: #fff;
	content: '';
	position: absolute;
	top: 20%;
	bottom: 20%;
	left: 50%;
	margin-left: -1px;
}
.imagelightbox-close:before {
	transform: rotate(45deg);
}
.imagelightbox-close:after {
	transform: rotate(-45deg);
}
/* WITH CAPTION */.imagelightbox-caption {
	text-align: center;
	color: #fff;
	background-color: #666;
	position: fixed;
	z-index: 10001;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 0.625em; /* 10 */
}
/* WITH NAVIGATION */.imagelightbox-nav {
	background-color: rgba(0, 0, 0, .5);
	position: fixed;
	z-index: 10001;
	left: 50%;
	bottom: 3.75em; /* 60 */
	padding: 0.313em; /* 5 */
	transform: translateX(-50%);
	border-radius: 20px;
}
.imagelightbox-nav a {
	position: relative;
	top: 0.2em;
	width: 1em; /* 20 */
	height: 1em; /* 20 */
	border: 1px solid #fff;
	display: inline-block;
	margin: 0 0.313em; /* 5 */
	border-radius: 50%;
}
.imagelightbox-nav .active {
	animation: fade-in 0.45s linear;
	background-color: #fff;
}
.imagelightbox-navitem:active {
	background: #808080;
}
/* WITH ARROWS */.imagelightbox-arrow {
	border: none;
	border-radius: 50%;
	cursor: pointer;
	width: 4em; /* 53.3 */
	height: 4em; /* 53.3 */
	background-color: rgba(130, 130, 130, 0.8);
	vertical-align: middle;
	display: none;
	position: fixed;
	z-index: 10001;
	top: 50%;
	padding: 0;
	margin-top: -3.75em; /* 60 */
}
.imagelightbox-arrow:hover {
	background-color: rgba(0, 0, 0, 0.75);
}
.imagelightbox-arrow:active {
	background-color: #111;
}
.imagelightbox-arrow-left {
	left: 2.5em; /* 40 */
}
.imagelightbox-arrow-right {
	right: 2.5em; /* 40 */
}
.imagelightbox-arrow:before {
	width: 0;
	height: 0;
	border: 1em solid transparent;
	content: '';
	display: inline-block;
	margin-bottom: -7%;
}
.imagelightbox-arrow-left:before {
	border-left: none;
	border-right-color: #fff;
	margin-left: -0.35em;
}
.imagelightbox-arrow-right:before {
	border-right: none;
	border-left-color: #fff;
	margin-left: 0.2em;
}
.imagelightbox-loading,
.imagelightbox-overlay,
.imagelightbox-close,
.imagelightbox-nav,
.imagelightbox-arrow {
	animation: fade-in 0.25s linear;
}@keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}@media only screen and (max-width: 41.250em) { /* 660 */
    #container {
        width: 100%;
    }
    .imagelightbox-close {
        top: 1.25em; /* 20 */
        right: 1.25em; /* 20 */
    }
    .imagelightbox-arrow {
        width: 2.5em; /* 40 */
        height: 3.75em; /* 60 */
        margin-top: -1.875em; /* 30 */
    }
    .imagelightbox-arrow-left {
        left: 1.25em; /* 20 */
    }
    .imagelightbox-arrow-right {
        right: 1.25em; /* 20 */
    }
}@media only screen and (max-width: 20em) { /* 320 */
    .imagelightbox-arrow-left {
        left: 0;
    }
    .imagelightbox-arrow-right {
        right: 0;
    }
}
@media only screen and (max-width:700px) {
	.gallery-container {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width:640px) {
	.gallery-container {
		column-width: 150px;
	}
}
@media only screen and (max-width:399px) {
	.gallery-container {
		grid-template-columns: 1fr;
	}
}
/*------------------------------------*\
    BLOG — body.blog
\*------------------------------------*/
/* --- List/SRP mode: card grid --- */
body.blog section#blog-articles {
	padding: 50px 20px 60px;
}
body.blog section#blog-articles .wrapper {
	max-width: 1400px;
}
body.blog section#blog-articles .flex-container.blog-cards-container {
	margin: 0 -12px;
	justify-content: center;
	align-items: stretch;
}
body.blog article.blog-block {
	width: 33.333%;
	padding: 0 12px;
	margin-bottom: 24px;
}
body.blog a.blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	overflow: hidden;
	text-decoration: none;
	color: var(--greyFive);
	font-family: var(--font-text-regular), 'opensans-regular', serif;
	transition-duration: 0.4s;
}
body.blog a.blog-card:hover {
	border-color: var(--color-1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: translateY(-2px);
}
body.blog .blog-card-img {
	margin: 0;
	width: 100%;
	aspect-ratio: 16 / 10;
	background-color: var(--greyOne);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.blog .blog-card-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.blog a.blog-card .blog-details-container {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 20px 22px 22px;
	text-align: left;
}
body.blog a.blog-card .blog-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 19px;
	line-height: 26px;
	color: var(--greyFive);
	margin: 0 0 10px 0;
	text-transform: none;
}
body.blog a.blog-card .blog-meta {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 12px;
	line-height: 18px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--greyOne);
}
body.blog a.blog-card .blog-date,
body.blog a.blog-card .blog-by,
body.blog a.blog-card .blog-author {
	display: inline;
}
body.blog a.blog-card .blog-author {
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	color: var(--greyFour);
}
body.blog a.blog-card .blog-meta-divider {
	display: inline-block;
	margin: 0 6px;
	color: var(--greyTwo);
}
body.blog a.blog-card .blog-excerpt {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
	margin-bottom: 14px;
	flex: 1 1 auto;
}
body.blog a.blog-card .blog-readmore {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 13px;
	line-height: 18px;
	color: var(--color-1);
	letter-spacing: 0.3px;
	margin-top: auto;
	transition-duration: 0.4s;
}
body.blog a.blog-card:hover .blog-readmore {
	color: var(--color-4);
}
/* --- Pagination --- */
body.blog .paging-container {
	text-align: center;
	margin-top: 40px;
	padding: 20px 0;
}
body.blog .paging-container a,
body.blog .paging-container span.paging-number {
	display: inline-block;
	padding: 8px 14px;
	margin: 0 4px;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 14px;
	line-height: 18px;
	color: var(--greyFive);
	text-decoration: none;
	background-color: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	transition-duration: 0.3s;
}
body.blog .paging-container a:hover {
	background-color: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
}
body.blog .paging-container span.paging-number.disabled {
	background-color: var(--color-1);
	color: #fff;
	border-color: var(--color-1);
	cursor: default;
}
body.blog .paging-container a.previous-pg,
body.blog .paging-container a.next-pg {
	font-size: 18px;
	line-height: 1;
}
/* --- Detail mode: 2-col layout (sidebar + article) --- */
body.blog section.blog-detail {
	background-color: #fff;
	padding: 50px 20px 60px;
	max-width: 100%;
	margin: 0;
	border-top: 0;
}
body.blog section.blog-detail .wrapper {
	max-width: 1400px;
}
body.blog .blog-detail-container {
	align-items: flex-start;
}
body.blog .blog-sidebar-block,
body.blog .blog-main-block {
	padding: 0 20px;
	box-sizing: border-box;
}
body.blog .blog-sidebar-block {
	position: sticky;
	top: 20px;
	align-self: flex-start;
}
/* --- Sidebar --- */
body.blog .blog-detail .side-item {
	margin-bottom: 28px;
	padding: 20px 22px;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	text-align: left;
}
body.blog .blog-detail .side-item .blog-section-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyFive);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-variant: normal;
	font-weight: normal;
	margin: 0 0 14px 0;
	padding: 0 0 10px 0;
	border-bottom: 2px solid var(--color-4);
	text-align: left;
	vertical-align: baseline;
}
body.blog .blog-detail .side-item ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.blog .blog-detail .side-item ul li {
	display: block;
	background-image: none;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--greyOne);
}
body.blog .blog-detail .side-item ul li ul {
	padding: 0;
	border-top: 1px solid var(--greyOne);
}
body.blog .blog-detail .side-item ul li:last-child {
	border-bottom: 0;
}
body.blog .blog-detail .side-item ul li a {
	display: block;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyFour);
	text-decoration: none;
	padding: 10px 0;
	transition-duration: 0.4s;
}
body.blog .blog-detail .side-item ul li a:hover {
	color: var(--color-1);
	padding-left: 6px;
}
/* --- Main article (right column) --- */
body.blog .blog-main-block h1.post-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 32px;
	line-height: 40px;
	color: var(--greyFive);
	text-align: left;
	text-transform: none;
	margin: 0 0 10px 0;
	padding: 0;
}
body.blog .blog-main-block .post-author {
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 13px;
	line-height: 20px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-align: left;
	padding: 0 0 14px 0;
	margin: 0 0 22px 0;
	border-top: 0;
	border-bottom: 1px solid var(--greyOne);
}
body.blog .blog-main-block .post-img-container {
	margin: 0 0 24px 0;
	text-align: left;
}
body.blog .blog-main-block .post-img-container img.featured-img {
	display: block;
	max-width: 500px;
	height: auto;
	margin: 0;
	padding: 0 !important;
	border-radius: 4px;
}
body.blog .blog-main-block p {
	font-size: 16px;
	line-height: 25px;
	color: var(--greyFour);
	margin-bottom: 18px;
	text-align: left;
}
body.blog .blog-main-block h2,
body.blog .blog-main-block h3,
body.blog .blog-main-block h4 {
	display: block;
	text-align: left;
	margin: 24px 0 12px 0;
}
body.blog .blog-main-block ul,
body.blog .blog-main-block ol {
	text-align: left;
	margin: 0 0 20px 0;
}
body.blog .blog-main-block hr {
	border: 0;
	border-top: 1px solid var(--greyOne);
	margin: 32px 0 24px 0;
}
/* --- Social sharing (detail mode) --- */
body.blog .social-sharing-buttons {
	margin: 24px 0;
	padding: 16px 0;
	border-top: 1px solid var(--greyOne);
	border-bottom: 1px solid var(--greyOne);
	-webkit-font-smoothing: antialiased;
	font-size: 12px;
	text-align: left;
}
body.blog .social-sharing-buttons .social-sharing-title {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 1px;
	color: var(--greyFour);
	text-transform: uppercase;
	margin: 0 14px 8px 0;
	vertical-align: middle;
}
body.blog .social-sharing-buttons a {
	display: inline-block;
	padding: 5px 12px;
	margin: 2px 6px 2px 0;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 13px;
	line-height: 18px;
	color: #fff;
	text-decoration: none;
	border-radius: 3px;
	box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .2);
	cursor: pointer;
	transition-duration: 0.3s;
	vertical-align: middle;
}
body.blog .social-sharing-buttons a:hover {
	color: #fff;
	transform: translateY(-1px);
}
body.blog .social-sharing-buttons a.twitter {
	background-color: #1DA1F2;
}
body.blog .social-sharing-buttons a.twitter:hover {
	background-color: #0d8bd9;
}
body.blog .social-sharing-buttons a.facebook {
	background-color: #3B5997;
}
body.blog .social-sharing-buttons a.facebook:hover {
	background-color: #2d4372;
}
body.blog .social-sharing-buttons a.linkedin {
	background-color: #0074A1;
}
body.blog .social-sharing-buttons a.linkedin:hover {
	background-color: #006288;
}
body.blog .social-sharing-buttons a.pinterest {
	background-color: #bd081c;
}
body.blog .social-sharing-buttons a.pinterest:hover {
	background-color: #9f0112;
}
/* --- Prev/next nav --- */
body.blog .blog-main-block .table .tableRow {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: stretch;
}
body.blog .blog-main-block .table .tableCell {
	display: block;
	flex: 1 1 calc(50% - 10px);
	min-width: 0;
}
body.blog .blog-main-block .table .tableCell a {
	display: inline-block;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: var(--greyFour);
	text-decoration: none;
	padding: 12px 16px;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 4px;
	transition-duration: 0.3s;
	max-width: 100%;
}
body.blog .blog-main-block .table .tableCell a:hover {
	background-color: #fff;
	border-color: var(--color-1);
	color: var(--color-1);
}
/*------------------------------------*\
    ACCOUNT PAGES - MY ACCOUNT, REGISTER, VERIFY, RECOVER
\*------------------------------------*/
body.account .account-page-container {
	padding: 30px 0;
}
.widget-container {
	margin: 60px 10px;
	background-color: var(--greyZero);
	border: 1px solid var(--color-4);
	box-shadow: 0 4px 4px rgba(87, 100, 126, .21);
	text-align: left;
}
.widget-container .widget-title {
	display: table;
	width: 100%;
	cursor: pointer;
}
.widget-container .widget-title div.arrow-icon-container {
	display: table-cell;
	vertical-align: middle;
	width: 50px;
	text-align: center;
	padding: 6px 10px;
}
.widget-container .widget-title div.icon-container {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 3px 12px;
}
.widget-container .widget-title div.title-container {
	display: table-cell;
	vertical-align: middle;
}
.widget-container .widget-title div.title-container h4 {
	color: #000;
	font-size: 22px;
	line-height: 32px;
	display: inline-block;
	vertical-align: middle;
	padding: 5px;
	margin: 0;
	text-align: left;
}
.widget-container .widget-title .price-container {
	text-align: right;
	padding: 0 20px 0 0;
	font-family: 'montserrat-bold', sans-serif;
}
.widget-container .widget-content {
	padding: 20px;
	border-top: 1px solid #dadada;
}
.widget-container .widget-content table {
	width: 98%;
	border-collapse: collapse;
}
.widget-container .widget-content table th {
	font-weight: normal;
}
.widget-container .widget-content img {
	height: 15px;
	width: 15px;
}
body.account div.content {
	padding: 20px 0;
}
div.account-container input,
div.account-container textarea {
	background-color: #fff;
}
body.account h1,
body.account-assistance h1,
body.account-register h1,
body.cart h1 {
	text-transform: none;
	color: var(--greyFour);
}
body.account .account-container.login button {
	border-radius: 4px;
	margin: 10px auto;
}
div.account-container {
	padding: 10px;
	margin: 10px auto;
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
}
body.account div.account-container p {
	padding: 5px 10px;
	text-align: center;
}
body.account-register div.account-container form {
	padding: 0 10px;
}
body.account-register div.account-container p {
	padding: 0 10px 10px;
}
body.account-register div.account-container div.terms-container {
	padding: 10px 0;
}
body.account-register div.account-container div.terms-container.password,
body.account div.account-container h2 {
	padding: 10px;
}
body.account-register div.account-container div.terms-container p {
	padding: 0;
}
body.account-register div.form-input:nth-of-type(7n-6) {
	width: 100%;
}
body.account-verify .error a {
	color: #fff;
	text-decoration: underline;
}
body.account div.account-container.login {
	padding: 40px 10px;
	text-align: center;
}
body.account div.account-container.login h1 {
	max-width: 320px;
	margin: 0 auto 20px;
}
body.account div.account-container.login .account-assistance-container {
	max-width: 320px;
	padding: 10px;
	margin: 10px auto;
}
body.account div.account-container.login .account-assistance-container a:hover,
body.account-register div.account-container div.terms-container a:hover {
	color: #206dec;
	text-decoration: underline;
}
body.account div.account-container.login form {
	max-width: 320px;
	margin: 0 auto;
}
body.account div.account-container.login form div.form-input {
	width: 100%;
}
body.account div.account-container.login form button {
	width: 100%;
}
body.account .account-title-container {
	position: relative;
}
body.account .account-title-container form button {
	position: absolute;
	top: 10px;
	right: 10px;
	background-color: #cc2219;
}
body.account div.account-container.thank-you .logo {
	text-align: center;
}
body.account div.account-container.thank-you .logo img {
	max-width: 300px;
}
body.account table.order tr:nth-of-type(even) {
	/*adjusts my orders*/
	background-color: #f5f5f5;
}
/* account-assistance */
body.account-assistance div.content {
	padding: 30px 10px;
	max-width: 100%;
}
body.account-assistance div.account-container {
	background-color: var(--greyZero);
	padding: 20px 30px;
	max-width: 1600px;
	margin: 0 auto;
}
/* account-register */
body.account-register div.content {
	padding: 30px 10px;
	max-width: 100%;
}
body.account-register div.account-container {
	background-color: var(--greyZero);
	padding: 20px 30px;
	max-width: 1600px;
	margin: 0 auto;
}
body.account-register div.account-container .register-container {
	padding: 20px 0 0;
}
/*------------------------------------*\
    CART
\*------------------------------------*/
.cart .content {
	/*	background-color: var(--greyZero);*/
	padding: 30px 0;
}
.cart-container {
	background-color: var(--greyZero);
	border: 1px solid var(--color-4);
	box-shadow: 0 4px 4px rgba(87, 100, 126, .21);
	padding: 50px 0;
	max-width: 1600px;
	margin: 0 auto;
}
.cart-container h1 {
	margin-bottom: 30px;
}
div.cart-product-container {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 10px;
	padding: 0;
	border-bottom: 1px solid #dadada;
}
div.cart-product-container:first-of-type {
	border-top: 1px solid #dadada;
}
div.cart-product-container div.cart-product-block {
	display: block;
	width: 20%;
	transition-duration: 0.8s;
}
div.cart-product-container div.cart-product-block.img {
	width: 120px;
	flex-shrink: 1;
}
div.cart-product-container div.cart-product-block.img img {
	width: 120px;
}
div.cart-product-container div.cart-product-block.item-info {
	flex-grow: 1;
	padding: 10px;
	text-align: left;
}
body.cart div.cart-product-container div.cart-product-block.item-info ul,
 body.checkout div.cart-product-container div.cart-product-block.item-info ul {
	padding: 0;
}
div.cart-product-container div.cart-product-block.price {
	flex-shrink: 1;
	text-align: right;
	font-size: 18px;
	line-height: 18px;
}
div.cart-product-container div.cart-product-block.qty {
	text-align: center;
}
div.cart-product-container div.cart-product-block.qty form {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	width: 150px;
	margin: 0 auto;
}
div.cart-product-container div.cart-product-block.qty span.qty-action-container {
	font-family: 'montserrat-bold', sans-serif;
	display: inline-block;
	vertical-align: middle;
	width: 38px;
	padding: 8px;
	background-color: var(--color-5);
	text-align: center;
	color: #000;
	font-size: 24px;
	cursor: pointer;
	user-select: none;
}
div.cart-product-container div.cart-product-block.qty label {
	display: inline-block;
	background-color: #f2f2f2;
	vertical-align: middle;
	margin-top: 4px;
}
div.cart-product-container div.cart-product-block.qty input[type="text"] {
	display: inline-block;
	vertical-align: middle;
	height: 38px;
	width: 73px;
	border: 2px solid var(--color-5);
	border-radius: 0;
	margin: 0;
	text-align: center;
}
div.cart-product-container div.cart-product-block.qty button {
	width: 100%;
	padding: 6px 10px;
	font-size: 14px;
}
button.removeProductFromCart {
	background: transparent;
	color: var(--greyFour);
	font-family: var(--font-text-regular), sans-serif;
	text-decoration: underline;
	text-decoration-color: transparent;
	font-size: 12px;
	padding: 10px 0 10px 30px;
	margin: -10px 0 0 0;
}
button.removeProductFromCart:hover {
	text-decoration-color: red;
}
body.cart .cart-container h1 {
	text-align: center;
}
body.cart .subtotal-container {
	font-family: 'opensans-regular', sans-serif;
	font-size: 24px;
	padding: 25px 0 0 0;
	text-align: right;
}
body.cart .subtotal-container .sub-total-total-amount {
	display: inline-block;
	padding: 0 10px 0 0;
}
body.cart .subtotal-container button {
	background-color: #34a853;
}
/*body.cart .subtotal-container button[name="checkout"] {
	background-color: #ffce12;
	background-image: url('uploads/icon-arrow-right-black.svg');
	background-repeat: no-repeat;
	background-size: 18px;
	background-position: 93% 50%;
	color: #222;
	font-family: var(--font-cta), 'opensans-bold', serif;
	padding: 12px 50px 12px 28px;
	margin: 10px;
}*/
body.cart .subtotal-container button[name="checkout"] {
  position: relative;
  overflow: hidden;
  background-color: #ffce12;
  background-image: linear-gradient(180deg, #ffd633 0%, #ffce12 50%, #f0bf00 100%);
  background-repeat: no-repeat;
  color: #222;
  font-family: var(--font-cta), 'opensans-bold', serif;
  font-size: 18px;
  padding: 14px 56px 14px 32px;
  margin: 10px;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15), inset 0 1px 0 rgba(255,255,255,0.4);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
  letter-spacing: 0.2px;
}
body.cart .subtotal-container button[name="checkout"]::after {
  content: '';
  position: absolute;
  right: 24px;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: url(uploads/icon-arrow-right-black.svg) no-repeat center / contain;
  transition: transform 0.25s ease;
}
body.cart .subtotal-container button[name="checkout"]::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,0.6) 50%, transparent 100%);
  transform: skewX(-20deg);
  transition: left 0.6s ease;
  pointer-events: none;
}
body.cart .subtotal-container button[name="checkout"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 14px rgba(0,0,0,0.22), inset 0 1px 0 rgba(255,255,255,0.5);
  background-color: #ffd838;
}
body.cart .subtotal-container button[name="checkout"]:hover::after {
  transform: translateX(4px);
}
body.cart .subtotal-container button[name="checkout"]:hover::before {
  left: 125%;
}
body.cart .subtotal-container button[name="checkout"]:active {
  transform: translateY(0) scale(0.98);
  box-shadow: 0 1px 3px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.3);
  transition-duration: 0.08s;
}
body.cart .subtotal-container button[name="checkout"]:focus-visible {
  outline: 3px solid rgba(20, 110, 220, 0.5);
  outline-offset: 2px;
}
body.cart .subtotal-container .error,
body.products .prodDetails-container .error {
	text-align: center;
	margin: 5px;
	background-color: transparent;
	border: 1px solid var(--color-1);
	color: #222;
	z-index: 1;
}
body.products .purchase-container .prodDetails-container .error {
	color: var(--color-1);
}
body.products .purchase-container .prodDetails-container .error:before {
	content: "ðŸš¨";
	display: inline-block;
	padding: 5px;
}
body.cart .subtotal-container .error a,
body.products .prodDetails-container .error a {
	background-color: #af0900;
	color: #fff;
}
body.cart .subtotal-container .error a.cta:hover,
body.products .prodDetails-container .error a.cta:hover {
	color: #fff;
}
/*------------------------------------*\
    CHECKOUT
\*------------------------------------*/
body.checkout header .top,
 body.checkout header nav,
 body.checkout header a#account-icon-container,
 body.checkout header a.track-cart-click span#cart-count  {
	display: none;
}
body.checkout header .mid .flex-container {
	justify-content: center;
}
body.checkout header .logo-block,
 body.checkout header a.track-cart-click {
	display: block;
	text-align: center;
	width: 100%;
}
body.checkout header a.track-cart-click:before {
	content: "Return to Cart - ";
	display: inline-block;
	font-size: 14px;
}
.checkout .content {
	padding: 30px 0;
}
body.checkout div#timer {
	background-color: var(--greyZero);
	padding: 8px 12px;
	border-top: 8px solid white;
	border-bottom: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin: 0 0 50px 0;
}
body.checkout h1 {
	font-size: 35px;
	line-height: 40px;
	max-width: 1600px;
	margin: 0 auto;
	color: var(--greyFour);
}
body.checkout .login-or-guest-card .card {
	text-align: center;
}
body.checkout .login-or-guest-card .card input {
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
}
body.checkout .shipping-card:has(button[name="shippingMethod"]) {
	border-color: red;
}
body.checkout div.checkout-content-container {
	margin: 60px 10px;
	background-color: var(--greyZero);
	border: 1px solid var(--color-4);
	box-shadow: 0 4px 4px rgba(87, 100, 126, .21);
	padding: 10px;
	margin: 10px auto;
	text-align: left;
}
body.checkout div.checkout-content-container.status-is-next-up {
	border-color: red;
}
body.checkout div.checkout-content-container.card-complete {
	border: solid 2px #03ab03;
	box-shadow: none;
	opacity: 0.8;
}
body.checkout div.checkout-content-container form button.remove {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	padding: 6px 14px;
	background: transparent;
	background-color: #ffd7d7;
	color: #000;
	border: 2px solid var(--color-1);
}
/*
body.checkout div.checkout-content-container form button#removeCouponCode:after,
 body.checkout div.checkout-content-container form button[name=shippingMethodRemove]:after {
	display: inline-block;
	content: "Remove";
	color: #000;
	padding-left: 8px;
	vertical-align: middle;
}*/
body.checkout div.checkout-content-container form button[name=shippingAddressRemove] {
	border-radius:0;
	font-family: var(--font-text-strong), 'opensans-bold', sans-serif;
	width: auto!important;
	min-height:auto!important;

}
body.checkout div.checkout-content-container form button[name=shippingAddressRemove] span {
	display: inline-block;
	vertical-align: middle;
	padding: 0 6px;
}
body.checkout div.checkout-content-container form button#removeCouponCode img,
body.checkout div.checkout-content-container form button[name=shippingMethodRemove] img,
body.checkout div.checkout-content-container form button[name=shippingAddressRemove] img,
body.checkout div.checkout-content-container form button.remove img {
	width: 20px;
	vertical-align: middle;
}
/* body.checkout div.checkout-content-container form:has(button[name=shippingMethod]):before {
	content: "Please choose a shipping method. âž ";
	display: inline-block;
	padding:12px 20px;
	font-size: 16px;
	color:#fff;
	background:red;
} */
/* body.checkout div.checkout-content-container form:has(button[title="choose local pickup shipping method"]):before {
	content: "Please add a new shipping address or select one, and then select a shipping method.";
} */
body.checkout div.checkout-content-container img.card-icon {
	width: 30px;
	height: 30px;
}
body.checkout div.checkout-content-container input,
body.checkout div.checkout-content-container select,
body.checkout div.checkout-content-container textarea,
body.checkout div.checkout-content-container input#ccnumfield {
	background-color: #fff;
}
body.checkout div.checkout-content-container input:focus,
body.checkout div.checkout-content-container select:focus-visible,
body.checkout div.checkout-content-container textarea:focus,
body.checkout div.checkout-content-container input#ccnumfield:focus {
	background-color: var(--color-6);
	border-color: var(--color-7);
}
body.checkout div.checkout-content-container .container-title {
	font-size: 18px;
	line-height: 32px;
	padding: 0;
	margin: 0px 0px 10px;
	border-bottom: 1px solid var(--color-8);
}
body.checkout div.checkout-content-container span.coupon-text {
	display: inline-block;
	padding: 0 0 10px 0;
}
body.checkout div.checkout-content-container form label {
	vertical-align: middle;
}
body.checkout div.checkout-content-container form button#coupon-code {
	background-image: none;
	display: inline-block;
	vertical-align: top;
	margin: 0;
	padding: 9px 10px;
}
body.checkout div.checkout-content-container .container-title span.required {
	font-size: 16px;
	color: #e22323;
}
body.checkout div.checkout-content-container.shipping-card div.button,
 body.checkout div.checkout-content-container.shipping-card button {
	display: inline-block;
	background-color: #fff;
	background-image: none;
	border: 2px dashed var(--greyTwo);
	border-radius: 10px;
	color: var(--greyFour);
	cursor: pointer;
	padding: 15px;
	margin: 20px 20px 20px 0 !important;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	font-size: 18px;
	text-align: center;
	transition-duration: 0.6s;
	min-height: 60px;
	vertical-align: middle;
	width: 400px !important;
}
body.checkout div.checkout-content-container.shipping-card div#chooseAddressContainer div.button:hover,
 body.checkout div.checkout-content-container.shipping-card button:hover {
	border-color: var(--color-4);
}
body.checkout div.checkout-content-container div#chooseAddressContainer div.address-container span.error {
	color: #e22323;
	background-color: transparent;
	padding: 2px 6px;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container {
	padding: 10px;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container h5 {
	font-family: 'montserrat-medium', sans-serif;
	color: #34a853;
	font-size: 25px;
	line-height: 35px;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container .form-input-container {
	padding: 0 0 10px;
}

body.checkout div.checkout-content-container .table .form-input-container input,
 body.checkout div.checkout-content-container .table .form-input-container select {
	/*calls zip input*/
	width: 195px;
	display: block;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container .form-input-container select[name="customerState"],
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container .form-input-container select[name="customerCountry"] {
	display: block;
	padding: 10px;
	vertical-align: top;
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
	color: #1f1f1f;
	border: 1px #ccc solid;
	box-shadow: none;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	border: 1px solid #ccc;
	border-radius: 4px;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container div.form-input-container input#address-default-checkbox {
	display: inline-block;
	vertical-align: top;
	width: auto;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container button {
	background-image: url('uploads/icon-shopping-bag-fill-black.svg');
	background-image: url('favicon.svg');
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: 93% 50%;
	border-color: transparent;
	background-color:var(--color-5);
	padding: 12px 50px 12px 28px;
	width: auto;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container span.error {
	display: block;
	margin: 0 0 10px;
}
body.checkout div.checkout-content-container div#chooseAddressContainer div#address-input-container .form-input-container {
	padding:0;
}
body.checkout div.checkout-content-container.shipping-card div.table div.tableRow div.tableCell {
	vertical-align: bottom;
}
body.checkout div.checkout-content-container label:has(input#checkout-billingAddressSameAsShipping) {
	padding: 10px 0 20px;
}
body.checkout div.checkout-content-container label input#checkout-billingAddressSameAsShipping {
	display: inline-block;
	width: auto;
	vertical-align: middle;
}
body.checkout div.checkout-content-container input[type="radio"],
body.checkout div.checkout-content-container span {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}
body.checkout div.checkout-content-container .register-creditCard-form img[alt="Credit Card icon"] {
	width: 40px;
	vertical-align: middle;
}
body.checkout div.checkout-content-container .register-creditCard-form h4 {
	padding-bottom: 0;
}
body.checkout div.checkout-content-container div#personsPaymentMethods-container img {
	max-width: 65px;
}
body.checkout div.checkout-content-container .totals-container {
	padding: 10px;
	border-bottom: 1px solid #dadada;
}
body.checkout div.checkout-content-container .totals-container .total-container.total {
	font-size: 16px;
	display: inline-block;
	padding: 10px 0 0 0;
}
body.checkout div.checkout-content-container #order-form-container label {
	padding-right: 10px;
}
body.checkout div.checkout-content-container form#placeOrderForm {
	padding: 10px;
}
body.checkout div.checkout-content-container form#placeOrderForm label,
body.checkout div.checkout-content-container form#placeOrderForm .cart-notes-container {
	padding: 10px;
}
body.checkout div.checkout-content-container form#placeOrderForm span.error {
	display: inline-block;
	margin: 5px 5px 5px 0;
}
body.checkout footer div.gradient-bg,
body.checkout footer div.gradient-bg-two {
	display: none;
}
/*------------------------------------*\
    CONTACT — body.contact & Forms styling
\*------------------------------------*/
.form-block {
	padding: 30px 40px 60px;
}
.form-block h2 {
	text-align: center;
}
.form-block p.form-intro {
	max-width: 720px;
	margin: 16px auto 28px;
	text-align: center;
}
/*forms styling*/
section.contact p {
	max-width: 900px;
	margin: 0 auto
}
.form-container {
	max-width: 1000px;
	margin: 0 auto;
	padding-top: 20px
}
div.form-input {
	display: inline-block;
	padding: 0 10px 10px 0;
	margin: 0;
	width: 50%
}
div.form-input:has(div.g-recaptcha),
div.form-input:has(input[name=w3form_name]),
div.form-input:has(textarea[name=w3form_websitesFormID]) {
	width: 100%
}
div.form-input:has(textarea[name=w3form_message]) {
	width: 100%;
}
label {
	display: block;
	text-align: left;
	color: #444;
	font-family: var(--font-text-strong), opensans-bold, serif
}
div.form-input div.g-recaptcha,
input,
textarea {
	display: inline-block;
	vertical-align: top
}
input,
textarea,
select {
	font-family: var(--font-text-regular), opensans-regular, serif;
	width: 100%;
	margin: 0;
	padding: 12px 16px;
	font-size: 16px;
	line-height: 18px;
	cursor: pointer;
	color: #1f1f1f;
	background-color: var(--greyZero);
	background-image: none;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-shadow: none;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
textarea {
	height: 144px
}
button {
	font-family: var(--font-text-strong), opensans-bold, serif;
	padding: 6px 12px;
	color: #fff;
	font-size: 18px;
	margin: 10px auto;
	background-color: #346fd4;
	border-radius: 3px;
	border: 0;
	cursor: pointer;
	transition: .25s
}
@media only screen and (max-width:640px) {
	div.form-input {
		width: 100%
	}
}
/*------------------------------------*\
    PAYMENT DECLINED — body.payment-declined (section 1: breadcrumbs + hero)
\*------------------------------------*/
body.payment-declined .breadcrumbs-container {
	background-color: #fafafa;
	padding: 18px 24px;
	border-left: 4px solid #ff9a1a;
	border-radius: 0 4px 4px 0;
	margin: 0 0 32px 0;
}
 
body.payment-declined .breadcrumbs-container .breadcrumbs {
	font-style: italic;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyThree);
	margin: 0;
}
 
body.payment-declined .breadcrumbs-container a.breadcrumb {
	color: var(--greyFour);
	text-decoration: none;
}
 
body.payment-declined .breadcrumbs-container a.breadcrumb:hover {
	color: #ff9a1a;
}
 
body.payment-declined .breadcrumbs-container .breadcrumb-forward-slash {
	margin: 0 4px;
	color: var(--greyThree);
}
 
body.payment-declined .breadcrumbs-container .breadcrumb.productName {
	color: var(--greyFive);
	font-weight: bold;
}
 
body.payment-declined .payment-declined-hero {
	padding: 48px 24px 36px;
	text-align: center;
	background: linear-gradient(180deg, #fff5e6 0%, #ffffff 100%);
	border-bottom: 3px solid #ff9a1a;
}
 
body.payment-declined .payment-declined-mark {
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #ff5b1a;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px;
	color: #fff;
	font-weight: 800;
	box-shadow: 0 4px 12px rgba(255, 154, 26, 0.4);
}
 
body.payment-declined .payment-declined-title {
	font-size: 32px;
	font-style: italic;
	font-weight: 800;
	margin: 0 0 8px;
	color: var(--greyFive);
}
 
body.payment-declined .payment-declined-title u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -24px 0 0 #ff9a1a;
	padding: 0 4px;
}
 
body.payment-declined .payment-declined-subtitle {
	font-size: 15px;
	color: var(--greyFour);
	max-width: 620px;
	margin: 8px auto 22px;
	line-height: 1.6;
}
 
body.payment-declined .payment-declined-status-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}
 
body.payment-declined .payment-declined-pill,
body.payment-declined .payment-declined-pill-nocharge {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 22px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
 
body.payment-declined .payment-declined-pill {
	background: #fff5e6;
	color: #b8590f;
	border: 1px solid #ff9a1a;
}
 
body.payment-declined .payment-declined-pill::before {
	content: '⏸ ';
	font-weight: 900;
}
 
body.payment-declined .payment-declined-pill-nocharge {
	background: #e8f5e8;
	color: #2d6a2d;
	border: 1px solid #b5d8b5;
}
 
body.payment-declined .payment-declined-pill-nocharge::before {
	content: '✓ ';
	font-weight: 900;
}
 
body.payment-declined .payment-declined-pill:hover,
body.payment-declined .payment-declined-pill-nocharge:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0,0,0,0.12);
	filter: brightness(1.03);
}
 
body.payment-declined .payment-declined-pill:active,
body.payment-declined .payment-declined-pill-nocharge:active {
	transform: translateY(0);
}
body.payment-declined section.payment-declined-hero h3 {
	padding-top: 40px;
}
 /*------------------------------------*\
    PAYMENT DECLINED — body.payment-declined (section 2: details — reasons + cart + help)
\*------------------------------------*/
body.payment-declined .payment-declined-details {
	background: linear-gradient(180deg, #fff5e6 0%, #ffffff 80%, #ffffff 100%);
	padding: 36px 24px;
}
 
body.payment-declined .payment-declined-details .flex-block {
	padding: 20px;
}
 
body.payment-declined .reasons-card,
body.payment-declined .cart-preserved-card,
body.payment-declined .help-card {
	background: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 6px;
	padding: 22px 24px;
	margin-bottom: 18px;
}
 
/* ---------- Reasons List ---------- */
body.payment-declined .reasons-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
 
body.payment-declined .reasons-list li {
	background: none;
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--greyZero);
	font-size: 13px;
	align-items: start;
}
 
body.payment-declined .reasons-list li:last-child {
	border-bottom: 0;
}
 
body.payment-declined .reasons-list .ico {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff5e6;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	border: 1px solid #ff9a1a;
}
 
body.payment-declined .reasons-list strong {
	display: block;
	margin-bottom: 3px;
	color: var(--greyFive);
	font-size: 14px;
}
 
body.payment-declined .reasons-list span.reason-detail {
	color: var(--greyFour);
	font-size: 12px;
	line-height: 1.5;
}
 
/* ---------- Try Again primary CTA ---------- */
body.payment-declined .try-again-cta {
	display: block;
	background: linear-gradient(180deg, #ffd633 0%, #ffce12 50%, #f0bf00 100%);
	color: var(--greyFive);
	padding: 16px 24px;
	text-align: center;
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.5px;
	border-radius: 6px;
	text-decoration: none;
	margin-top: 20px;
	box-shadow: 0 4px 10px rgba(255, 206, 18, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
	border: 0;
	cursor: pointer;
	width: 100%;
	transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}
 
body.payment-declined .try-again-cta:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(255, 206, 18, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.4);
	filter: brightness(1.03);
}
 
body.payment-declined .try-again-cta:active {
	transform: translateY(0);
}
 
body.payment-declined .return-to-cart {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 13px;
	color: var(--greyFour);
	text-decoration: none;
	padding: 8px;
}
 
body.payment-declined .return-to-cart:hover {
	color: #ff9a1a;
}
 
/* ---------- Cart Preserved ---------- */
body.payment-declined .cart-preserved-header {
	background: #e8f5e8;
	color: #2d6a2d;
	padding: 10px 14px;
	border-radius: 4px;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.5px;
	margin-bottom: 16px;
	text-align: center;
}
 
body.payment-declined .cart-mini-line {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
	font-size: 13px;
	color: var(--greyFour);
	border-bottom: 1px solid var(--greyZero);
}
 
body.payment-declined .cart-mini-line:last-of-type {
	border-bottom: 0;
}
 
body.payment-declined .cart-mini-line .qty {
	color: var(--greyThree);
	font-size: 11px;
	margin-left: 6px;
}
 
body.payment-declined .cart-mini-line-price {
	font-weight: 700;
	color: var(--greyFive);
}
 
body.payment-declined .cart-mini-total {
	display: flex;
	justify-content: space-between;
	padding-top: 12px;
	margin-top: 12px;
	border-top: 2px dashed var(--greyOne);
	font-size: 15px;
	font-weight: 800;
	color: var(--greyFive);
}
 
body.payment-declined .cart-mini-total span:last-child {
	color: #ff9a1a;
}
 
/* ---------- Alt-pay chips ---------- */
body.payment-declined .alt-pay {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--greyOne);
}
 
body.payment-declined .alt-pay h4 {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--greyThree);
	margin: 0 0 10px 0;
	font-weight: 700;
}
 
body.payment-declined .alt-pay-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
 
body.payment-declined .pay-chip {
	display: inline-block;
	background: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 18px;
	padding: 6px 12px;
	font-size: 12px;
	color: var(--greyFour);
	font-weight: 600;
}
 
/* ---------- Help card (right column) ---------- */
body.payment-declined .help-card .help-intro {
	font-size: 13px;
	color: var(--greyFour);
	line-height: 1.6;
	margin: 0 0 12px 0;
}
 
body.payment-declined .help-card .help-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	font-size: 13px;
}
 
body.payment-declined .help-card .help-ico {
	flex: 0 0 auto;
	font-size: 18px;
	line-height: 1;
}
 
body.payment-declined .help-card .help-row a {
	color: var(--greyFive);
	text-decoration: none;
	font-weight: 700;
}
 
body.payment-declined .help-card .help-row a:hover {
	color: #ff9a1a;
}
 
/* ---------- Tablet / mobile stack ---------- */
@media (max-width: 760px) {
	body.payment-declined .payment-declined-details .flex-block {
		padding: 12px;
	}
}
/*------------------------------------*\
    PAYMENT SUCCESS — body.payment-success
\*------------------------------------*/
body.payment-success .breadcrumbs-container {
	background-color: #fafafa;
	padding: 18px 24px;
	border-left: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin: 0 0 32px 0;
}

body.payment-success .breadcrumbs-container .breadcrumbs {
	font-style: italic;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyThree);
	margin: 0;
}

body.payment-success .breadcrumbs-container a.breadcrumb {
	color: var(--greyFour);
	text-decoration: none;
}

body.payment-success .breadcrumbs-container a.breadcrumb:hover {
	color: var(--color-4);
}

body.payment-success .breadcrumbs-container .breadcrumb-forward-slash {
	margin: 0 4px;
	color: var(--greyThree);
}

body.payment-success .breadcrumbs-container .breadcrumb.productName {
	color: var(--greyFive);
	font-weight: bold;
}

body.payment-success .payment-success-hero {
	padding: 48px 24px 36px;
	text-align: center;
	background: linear-gradient(180deg, rgba(3, 171, 3, 0.25) 0%, #ffffff 80%, #ffffff 100%);
	border-top: 3px solid var(--color-4);
	border-bottom: 3px solid var(--color-4);
}

body.payment-success .payment-success-check {
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #03ab03;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 38px;
	color: var(--greyFive);
	box-shadow: 0 4px 12px rgba(213, 185, 145, 0.45);
}

body.payment-success .payment-success-title {
	font-size: 32px;
	font-style: italic;
	font-weight: 800;
	margin: 0 0 8px;
	color: var(--greyFive);
}

body.payment-success .payment-success-title u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -24px 0 0 #3dff3d;
	padding: 0 4px;
}

body.payment-success .payment-success-subtitle {
	font-size: 15px;
	color: var(--greyFour);
	max-width: 580px;
	margin: 8px auto 22px;
	line-height: 1.6;
}

body.payment-success .order-number-pill {
	display: inline-block;
	background-color: var(--greyFive);
	color: var(--color-4);
	padding: 12px 26px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

body.payment-success .order-number-pill strong {
	color: #fff;
	margin-left: 8px;
}

/*------------------------------------*\
    PAYMENT SUCCESS — body.payment-success (section 2: order-status-details)
\*------------------------------------*/
body.payment-success .decorated,
 body.payment-declined .decorated {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--greyFive);
	font-family: var(--font-text-strong), sans-serif;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-4);
}
.payment-success-order-details {
	background: linear-gradient(180deg, #fffbe6 0%,#ffffff 80%, #ffffff 100%);
	padding: 36px 24px;
}body.payment-success .payment-success-order-details .flex-block {
	padding:20px;
}

body.payment-success .order-card,
body.payment-success .shipping-card {
	background: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 6px;
	padding: 22px 24px;
}

body.payment-success .order-card .line-item-container {
	padding: 12px 0;
	border-bottom: 1px solid var(--greyZero);
}

body.payment-success .order-card .line-item-container:last-of-type {
	border-bottom: 0;
}

body.payment-success .line-item {
	display: flex;
	gap: 14px;
	align-items: center;
}

body.payment-success .order-card .line-item-thumb-container {
	width: 56px;
	height: 56px;
	border-radius: 4px;
	background: radial-gradient(circle at 50% 60%, #8fa67c 0%, #5a7548 50%, #3d5232 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}

body.payment-success .line-item-thumb-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	background: var(--greyZero);
	border-radius: 4px;
}

body.payment-success .line-item-info {
	flex: 1;
}

body.payment-success .line-item-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--greyFive);
}

body.payment-success .line-item-meta {
	font-size: 11px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 3px;
	padding: 0;
	list-style: none;
}

body.payment-success .line-item-meta li {
	background: none;
	padding: 0;
	margin: 0;
}

body.payment-success .line-item-qty {
	display: block;
	font-size: 11px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	margin-top: 3px;
}

body.payment-success .line-item-price {
	font-size: 15px;
	font-weight: 800;
	color: var(--color-4);
}

body.payment-success .totals-container {
	padding-top: 16px;
	margin-top: 16px;
	border-top: 2px dashed var(--greyOne);
	font-size: 13px;
}

body.payment-success .totals-row {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	color: var(--greyFour);
}

body.payment-success .totals-row.total {
	font-size: 17px;
	font-weight: 800;
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--greyOne);
}

body.payment-success .totals-row.total span:last-child {
	color: var(--color-4);
}

body.payment-success .shipping-address {
	font-size: 13px;
	line-height: 1.6;
	padding: 12px 14px;
	background: var(--greyZero);
	border-radius: 4px;
	margin-top: 8px;
	border-left: 3px solid var(--color-4);
}

body.payment-success .shipping-note {
	color: var(--greyFour);
	font-size: 12px;
	line-height: 18px;
	margin-top: 14px;
}

body.payment-success .shipping-alt {
	color: var(--greyFour);
	margin-top: 10px;
	font-size: 12px;
	line-height: 18px;
}
/*------------------------------------*\
    PAYMENT PENDING — body.payment-pending (section 1: breadcrumbs + hero)
\*------------------------------------*/
body.payment-pending .breadcrumbs-container {
	background-color: #fafafa;
	padding: 18px 24px;
	border-left: 4px solid #2d7dd2;
	border-radius: 0 4px 4px 0;
	margin: 0 0 32px 0;
}

body.payment-pending .breadcrumbs-container .breadcrumbs {
	font-style: italic;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyThree);
	margin: 0;
}

body.payment-pending .breadcrumbs-container a.breadcrumb {
	color: var(--greyFour);
	text-decoration: none;
}

body.payment-pending .breadcrumbs-container a.breadcrumb:hover {
	color: #2d7dd2;
}

body.payment-pending .breadcrumbs-container .breadcrumb-forward-slash {
	margin: 0 4px;
	color: var(--greyThree);
}

body.payment-pending .breadcrumbs-container .breadcrumb.productName {
	color: var(--greyFive);
	font-weight: bold;
}

body.payment-pending .payment-pending-hero {
	padding: 48px 24px 36px;
	text-align: center;
	background: linear-gradient(180deg, #e6f0ff 0%, #ffffff 100%);
	border-bottom: 3px solid #2d7dd2;
}

body.payment-pending .payment-pending-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: #2d7dd2;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	color: #fff;
	box-shadow: 0 4px 12px rgba(45, 125, 210, 0.4);
	position: relative;
}

body.payment-pending .payment-pending-icon::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 3px solid #2d7dd2;
	opacity: 0;
	animation: payment-pending-pulse 2s infinite;
}

@keyframes payment-pending-pulse {
	0% {
		transform: scale(1);
		opacity: 0.5;
	}

	100% {
		transform: scale(1.6);
		opacity: 0;
	}
}

body.payment-pending .payment-pending-title {
	font-size: 32px;
	font-style: italic;
	font-weight: 800;
	margin: 0 0 8px;
	color: var(--greyFive);
}

body.payment-pending .payment-pending-title u {
	text-decoration: none;
	display: inline-block;
	box-shadow: inset 0 -24px 0 0 #8ec5f0;
	padding: 0 4px;
}

body.payment-pending .payment-pending-subtitle {
	font-size: 15px;
	color: var(--greyFour);
	max-width: 620px;
	margin: 8px auto 22px;
	line-height: 1.6;
}

body.payment-pending .payment-pending-status-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
}

body.payment-pending .payment-pending-pill {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 22px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-decoration: none;
	background: #e6f0ff;
	color: #1e5a9e;
	border: 1px solid #2d7dd2;
	transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.payment-pending .payment-pending-pill::before {
	content: '⏳ ';
	font-weight: 900;
}

body.payment-pending .payment-pending-pill:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
	filter: brightness(1.03);
}

body.payment-pending .payment-pending-pill:active {
	transform: translateY(0);
}

body.payment-pending .order-number-pill {
	display: inline-block;
	background-color: var(--greyFive);
	color: var(--color-4);
	padding: 12px 26px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
}

body.payment-pending .order-number-pill strong {
	color: #fff;
	margin-left: 8px;
}
/*------------------------------------*\
    PAYMENT PENDING — body.payment-pending (section 2: order details + status cards)
\*------------------------------------*/
body.payment-pending .payment-pending-details {
	background: linear-gradient(180deg, #e6f0ff 0%, #ffffff 80%, #ffffff 100%);
	padding: 36px 24px;
}

body.payment-pending .payment-pending-details .flex-block {
	padding: 20px;
}

body.payment-pending .decorated {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--greyFive);
	font-family: var(--font-text-strong), sans-serif;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-4);
}

body.payment-pending .decorated.blue {
	border-bottom-color: #2d7dd2;
}

body.payment-pending .order-card,
body.payment-pending .whats-next-card,
body.payment-pending .help-card {
	background: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 6px;
	padding: 22px 24px;
}

body.payment-pending .help-card {
	margin-top: 18px;
}

body.payment-pending #whats-next {
	scroll-margin-top: 24px;
}

body.payment-pending .order-card .line-item-container {
	padding: 12px 0;
	border-bottom: 1px solid var(--greyZero);
}

body.payment-pending .order-card .line-item-container:last-of-type {
	border-bottom: 0;
}

body.payment-pending .line-item {
	display: flex;
	gap: 14px;
	align-items: center;
}

body.payment-pending .order-card .line-item-thumb-container {
	width: 56px;
	height: 56px;
	border-radius: 4px;
	background: radial-gradient(circle at 50% 60%, #8fa67c 0%, #5a7548 50%, #3d5232 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

body.payment-pending .line-item-info {
	flex: 1;
}

body.payment-pending .line-item-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--greyFive);
}

body.payment-pending .line-item-meta {
	font-size: 11px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 3px;
}

body.payment-pending .line-item-qty {
	display: block;
	font-size: 11px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
	margin-top: 3px;
	background: none;
}

body.payment-pending .line-item-price {
	font-size: 15px;
	font-weight: 800;
	color: var(--color-4);
}

body.payment-pending .totals-container {
	padding-top: 16px;
	margin-top: 16px;
	border-top: 2px dashed var(--greyOne);
	font-size: 13px;
}

body.payment-pending .totals-row {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	color: var(--greyFour);
}

body.payment-pending .totals-row.total {
	font-size: 17px;
	font-weight: 800;
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid var(--greyOne);
	color: var(--greyFive);
}

body.payment-pending .totals-row.total .pending-note {
	font-size: 11px;
	font-weight: 600;
	color: #2d7dd2;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-left: 6px;
}

body.payment-pending .pending-timeline {
	list-style: none;
	padding: 0;
	margin: 0;
}

body.payment-pending .pending-timeline li {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px dashed var(--greyOne);
	font-size: 13px;
	align-items: start;
	position: relative;
	background: none;
}

body.payment-pending .pending-timeline li:last-child {
	border-bottom: 0;
}

body.payment-pending .pending-timeline .step-num {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800;
	border: 2px solid #2d7dd2;
	color: #2d7dd2;
	flex-shrink: 0;
}

body.payment-pending .pending-timeline li.current .step-num {
	background: #2d7dd2;
	color: #fff;
}

body.payment-pending .pending-timeline li.future .step-num {
	border-color: var(--greyTwo);
	color: var(--greyThree);
}

body.payment-pending .pending-timeline strong {
	display: block;
	margin-bottom: 3px;
	color: var(--greyFive);
	font-size: 14px;
}

body.payment-pending .pending-timeline .meta {
	color: var(--greyThree);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-left: 8px;
}

body.payment-pending .pending-timeline .meta.now {
	color: #2d7dd2;
}

body.payment-pending .pending-timeline span.desc {
	color: var(--greyFour);
	font-size: 12px;
	line-height: 1.5;
	display: block;
}

body.payment-pending .email-note {
	background: #fffbe6;
	border-left: 3px solid var(--color-4);
	padding: 14px 16px;
	border-radius: 4px;
	font-size: 13px;
	color: var(--greyFour);
	margin-top: 14px;
}

body.payment-pending .email-note strong {
	color: var(--greyFive);
}

body.payment-pending .help-intro {
	font-size: 13px;
	color: var(--greyFour);
	margin: 0 0 12px;
}

body.payment-pending .help-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
}

body.payment-pending .help-ico {
	flex: 0 0 auto;
	font-size: 18px;
	line-height: 1;
}

body.payment-pending .help-card .cta {
	margin-top: 16px;
}

body.payment-pending .contact-cta {
	background: #fff;
	border: 1px dashed var(--color-4);
	padding: 16px 18px;
	border-radius: 4px;
	margin: 32px auto 0;
	max-width: 1100px;
	text-align: center;
	font-size: 14px;
	color: var(--greyFour);
}

body.payment-pending .contact-cta a {
	color: var(--color-4);
	font-weight: 800;
	text-decoration: none;
	border-bottom: 2px solid var(--color-4);
}

body.payment-pending .contact-cta a:hover {
	color: #b8780f;
	border-bottom-color: #b8780f;
}
/*------------------------------------*\
    PRODUCTS — body.products
\*------------------------------------*/
body.products .productResults-container {
	padding: 0 10px;
}
/* SRP layout (Mode 1 & 2) */
/* Beat global .flex-container which has flex-wrap: wrap */
body.products .products-srp-container {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 0 !important;
	padding: 40px 0;
}

/* Fixed 280px sidebar — beats global .flex-block.one-third (33.33%) */
body.products .products-sidebar-block {
	width: 280px !important;
	flex: 0 0 280px !important;
	padding-right: 32px;
	box-sizing: border-box;
	position: sticky;
	top: 20px;
	align-self: flex-start;
}

/* Inner sticky-container — greyZero card wrapping filter content */
body.products #filter-by-category .sticky-container {
	background-color: var(--greyZero);
	padding:20px 20px 0;
	border-radius: 6px;
	box-sizing: border-box;
}

/* Main column fills remaining; min-width:0 prevents flex overflow */
body.products .products-main-block {
	flex: 1 1 auto !important;
	/* width: auto !important; */
	min-width: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Override global .wrapper that is set inline on .categories-container */
body.products #filter-by-category .categories-container.wrapper {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column !important;
	gap: 0;
	text-align: left;
}

/* Filter sidebar — "Filter by A Category" */
body.products #filter-by-category .decorated.sm-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 16px;
	color: var(--greyFive);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 0;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--color-4);
	text-align: center;
}
body.products #filter-by-category .categories-container {
	flex-direction: column;
	gap: 0;
	text-align: left;
}
body.products #filter-by-category .category-block {
	width: 100%;
	margin: 0;
	text-align: left;
	border-bottom: 1px solid var(--greyOne);
}
body.products #filter-by-category .category-block:last-of-type {
	border-bottom: 0px solid var(--greyOne);
}
body.products #filter-by-category .category-card {
	display: block;
	padding: 10px 14px;
	color: var(--greyFour);
	text-decoration: none;
	font-size: 14px;
	text-align: left;
	transition: background-color 0.15s, color 0.15s;
}
body.products #filter-by-category .category-card:hover {
	background-color: var(--color-4);
	color: var(--greyFive);
	text-decoration: none;
}
body.products #filter-by-category .category-detail-block {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--greyTwo);
}

body.products #filter-by-category .category-title {
	font-size: 20px;
	margin: 0 0 12px;
}
/* Main products column header */
body.products #select-your-product .decorated.sm-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 22px;
	color: var(--greyFive);
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--greyTwo);
}
/* Product cards grid — beat global .flex-container & .flex-block widths */
body.products .products-cards-container {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: flex-start;
	padding: 10px;
}
body.products .flex-block.product-block {
	width: calc(33.333% - 14px) !important;
	margin-bottom: 0;
	min-height: 380px;
	display: flex;
	flex-direction: column;
	background: var(--greyZero);
	border: 1px solid var(--greyTwo);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	transition: box-shadow 0.2s, transform 0.2s;
}
body.products .flex-block.product-block:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
	transform: translateY(-2px);
	border-color: var(--color-1);
}
body.products .flex-block.product-block.outOfStock {
	opacity: 0.6;
}
body.products .product-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
}
body.products .product-card img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--greyZero);
	display: block;
}
body.products .product-details-container {
	padding: 16px 18px;
	flex: 1;
}
body.products .product-name {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 16px;
	line-height: 22px;
	color: var(--greyFive);
	margin-bottom: 6px;
}
body.products .product-primary-category {
	display: block;
	font-size: 12px;
	color: var(--greyThree);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-bottom: 10px;
}
body.products .product-price {
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	color: var(--color-4);
	margin-right: 8px;
}
body.products .product-price::before {
	content: "$";
}
body.products .product-msrp {
	display: inline-block;
	font-size: 14px;
	color: var(--greyThree);
	text-decoration: line-through;
	margin-right: 8px;
}
body.products .product-msrp::before {
	content: "$";
}
body.products .product-savings {
	display: inline-block;
	font-size: 12px;
	color: #6b8e23;
	font-weight: bold;
}
/* Size variations row */
body.products .product-block .prodSizes-container {
	padding: 12px 18px 16px;
	margin-top: 8px;
}
body.products .prodSize-block {
	display: inline-block;
	margin-right: 8px;
	margin-bottom: 8px;
}
body.products .prodSize-block a {
	background-color: #fff;
	display: inline-block;
	padding: 4px 10px;
	font-size: 13px;
	color: var(--greyFour);
	text-decoration: none;
	border: 1px solid var(--greyTwo);
	border-radius: 4px;
	transition: background 0.15s;
}
body.products .prodSize-block a:hover,
body.products .prodSize-block a.productIsThisSize {
	background: var(--color-4);
	color: #fff;
	border-color: var(--color-4);
}
body.products .prodSize-block.single-prod {
	width: 100%;
	text-align: center;
}
body.products .product-detail-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: var(--greyZero);
	color: var(--greyFive);
	text-decoration: none;
	border-radius: 4px;
	font-size: 14px;
	transition: background 0.15s;
}
body.products .product-detail-link:hover {
	background: var(--color-4);
	color: #fff;
}
body.products .product-detail-link img {
	vertical-align: text-bottom;
	width: 16px !important;
	height: 16px !important;
	display: inline-block;
}
body.products .addToCart {
	/* display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	background: var(--color-4);
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	font-family: inherit;
	transition: background 0.15s; */
}
body.products .addToCart img {
	width: 16px !important;
	height: 16px !important;
}
/* Breadcrumbs */
body.products .breadcrumbs-container {
	background-color: var(--greyZero);
	padding: 18px 24px;
	border-left: 4px solid var(--color-4);
	border-radius: 0 4px 4px 0;
	margin: 0 0 32px 0;
}

body.products .breadcrumbs-overlay .breadcrumbs {
	font-style: italic;
	font-size: 14px;
	line-height: 20px;
	color: var(--greyThree);
	margin: 0;
}
body.products .breadcrumbs a.breadcrumb {
	color: var(--greyFour);
	text-decoration: none;
}
body.products .breadcrumbs a.breadcrumb:hover {
	color: var(--color-4);
}
body.products .breadcrumbs .breadcrumb-forward-slash {
	margin: 0 4px;
	color: var(--greyThree);
}
body.products .breadcrumbs .breadcrumb.productName {
	color: var(--greyFive);
	font-weight: bold;
}
/* Product detail layout (Mode 3) */
body.products .prodDetailPage .flex-container.reverseOnDesktop {
	align-items: flex-start;
	padding-bottom: 60px;
}
body.products .prodDetailPage .flex-block.one-third.sidebar-block {
	padding: 0 20px;
	box-sizing: border-box;
	position: sticky;
	top: 20px;
	align-self: flex-start;
}
body.products .prodDetailPage .flex-block.two-thirds {
	padding: 0 20px;
	box-sizing: border-box;
}
/* Sidebar card — greyZero card wrapping product info, purchase, related */
body.products .prodDetailPage .sidebar.sticky-container {
	background-color: var(--greyZero);
	border: 1px solid var(--greyOne);
	border-radius: 6px;
	padding: 20px;
	box-sizing: border-box;
	text-align: left;
}
body.products .prodDetailPage .sidebar.sticky-container h1.prod-name,
body.products .prodDetailPage .sidebar.sticky-container .prodDetails-container,
body.products .prodDetailPage .sidebar.sticky-container .prodDetail-container,
body.products .prodDetailPage .sidebar.sticky-container .purchase-container,
body.products .prodDetailPage .sidebar.sticky-container .related-products-container {
	text-align: left;
}
/* Product images (cycle slideshow) */
body.products .cycle-slideshow {
    max-width: 700px;
    margin: 0 auto;
    position: relative;
}
body.products .cycle-slideshow .slide,
body.products .cycle-slideshow img.slide {
    max-width: 100%;
    max-height: 600px;
    width: auto;
    height: auto;
    object-fit: contain;
}
body.products .cycle-slideshow img.slide {
    margin: 0 auto;
    display: block;
}
body.products .cycle-slideshow .video-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
body.products .cycle-slideshow .product-video {
    max-width: 100%;
    max-height: 600px;
    width: auto;
    height: auto;
    display: block;
    object-fit: contain;
}
body.products .prodImages-container {
	min-height: 700px;
	position: relative;
}
/*body.products .prodImages-container {
	border-radius: 8px;
	padding: 40px;
	margin-bottom: 24px;
}
body.products .cycle-slideshow .video-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
body.products .cycle-slideshow .product-video {
    max-width: 100%;
    height: auto;
    display: block;
}
body.products .cycle-slideshow img {
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}*/
body.products .cycle-pager {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
    text-align: center;
    margin-top: 20px;
    line-height: 0; /* prevents extra vertical space between inline-block thumbs */
}
body.products .cycle-pager a {
    display: inline-block;
    margin: 0 6px;
    width: 80px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    border: 3px solid transparent;
    opacity: 0.55;
    transition: opacity 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    vertical-align: middle;
    cursor: pointer;
    box-sizing: border-box;
}
body.products .cycle-pager a:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}
body.products .cycle-pager a.cycle-pager-active {
    opacity: 1;
    border-color: #ffc107; /* matches your orange "Add to Cart" accent */
}
body.products .cycle-pager a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0; /* parent handles rounding */
}

/* Video pager icon */
body.products .cycle-pager a.pager-video {
    background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.products .cycle-pager a.pager-video .pager-video-icon {
    color: #fff;
    font-size: 28px;
    line-height: 1;
    margin-left: 4px; /* optical centering for the triangle */
    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
/*body.products .cycle-pager {
	text-align: center;
	margin-top: 16px;
}
body.products .cycle-pager a {
	display: inline-block;
	margin: 0 4px;
	opacity: 0.5;
	transition: opacity 0.2s;
}
body.products .cycle-pager a img {
	width: 60px;
	height: 60px;
	object-fit: cover;
	border-radius: 4px;
}
body.products .cycle-pager a.cycle-pager-active {
	opacity: 1;
}
body.products .cycle-pager a.pager-video {
    width: 60px;
    height: 60px;
    background: #222;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
}
body.products .cycle-pager a.pager-video .pager-video-icon {
    color: #fff;
    font-size: 22px;
    line-height: 1;
    margin-left: 3px;
}*/
/* Sidebar - product info */
body.products .prodDetailPage h1.prod-name {
	font-size: 26px;
	line-height: 32px;
	color: var(--greyFive);
	margin: 0 0 16px;
}
body.products .prodDetailPage .prodDetails-container {
	margin-bottom: 16px;
}
body.products .prodDetailPage .prodDetail-container {
	margin-bottom: 12px;
}
body.products .prodDetailPage .prodDetail-container.price {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
body.products .prodDetailPage .sm-title {
	display: inline-block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 13px;
	color: var(--greyFour);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}
body.products .prodDetailPage .product-msrp {
	font-size: 14px;
	color: var(--greyThree);
	text-decoration: line-through;
}
body.products .prodDetailPage .product-msrp::before {
	content: "$";
}
body.products .prodDetailPage .product-price {
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 22px;
	color: var(--color-4);
}
body.products .prodDetailPage .product-price::before {
	content: "$";
}
/* Size selector */
body.products .prodDetailPage ul.sizes {
	list-style: none;
	padding: 0;
	margin: 8px 0 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
body.products .prodDetailPage ul.sizes li {
	margin: 0;
	background-image: none;
	padding: 0;
}
body.products .prodDetailPage ul.sizes a {
	display: inline-block;
	padding: 6px 14px;
	color: var(--greyFour);
	text-decoration: none;
	border: 1px solid var(--greyTwo);
	border-radius: 4px;
	font-size: 14px;
	transition: all 0.15s;
}
body.products .prodDetailPage ul.sizes a:hover,
body.products .prodDetailPage ul.sizes a.productIsThisSize {
	background: var(--color-4);
	color: #fff;
	border-color: var(--color-4);
}
/* Attribute groups */
body.products .prodDetailPage .attribute-group-card {
	margin-bottom: 16px;
}
body.products .prodDetailPage .attribute-group-name-container {
	display: block;
	margin-bottom: 6px;
}
body.products .prodDetailPage .attribute-group-is-required {
	color: #c33;
	font-size: 13px;
	margin-left: 4px;
}
body.products .prodDetailPage .attribute-group-is-optional {
	color: var(--greyThree);
	font-size: 13px;
	margin-left: 4px;
}
body.products .prodDetailPage .attribute-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
}
body.products .prodDetailPage .attribute-container label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1px solid var(--greyTwo);
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.15s;
}
body.products .prodDetailPage .attribute-container label:hover {
	background: var(--greyZero);
}
body.products .prodDetailPage .attribute-container input[type="radio"],
body.products .prodDetailPage .attribute-container input[type="checkbox"] {
	margin: 0;
}
body.products .prodDetailPage .attribute-price {
	color: var(--greyThree);
	font-size: 13px;
}
/* Qty selector + Add to Cart (detail) */
body.products .prodDetailPage select[name="prodQty"],
body.products .prodDetailPage select[name="prodSizeID"],
body.products .prodDetailPage select[name="subscriptionInterval"] {
	border: 1px solid var(--greyOne);
	padding: 8px 12px;
	border-radius: 4px;
	background-color: #fff;
	font-size: 14px;
	font-family: var(--font-text-regular), 'opensans-regular', sans-serif;
	color: var(--greyFive);
	cursor: pointer;
	transition: border-color 0.15s;
	margin-left: 4px;
}
body.products .prodDetailPage select:focus {
	border-color: var(--color-4);
	outline: none;
}
body.products .prodDetailPage .purchase-container button.cta.addToCart {
	/* display: inline-block !important;
	width: auto !important;
	margin-top: 16px;
	padding: 12px 20px;
	background: var(--color-4);
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 16px;
	font-family: inherit;
	transition: background 0.15s; */
}
body.products .prodDetailPage .purchase-container button.cta.addToCart:hover {
	/* background: #b8860d; */
}
/* Related products on sidebar */
body.products .prodDetailPage .related-products-container {
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--greyTwo);
}
body.products .prodDetailPage .related-products-container h3.sm-title {
	margin-bottom: 8px;
}
body.products .prodDetailPage .related-products-container a {
	display: block;
	padding: 6px 0;
	color: var(--greyFour);
	text-decoration: none;
	font-size: 14px;
}
body.products .prodDetailPage .related-products-container a:hover {
	color: var(--color-4);
}
/* Main column - description, details table */
body.products .prodDetailPage .prodShortDescription-container {
	font-size: 16px;
	line-height: 24px;
	color: var(--greyFour);
}
body.products .prodDetailPage h2.sm-title,
body.products .prodDetailPage h4.container-title {
	display: block;
	font-family: var(--font-title), 'opensans-bold', sans-serif;
	font-size: 18px;
	color: var(--greyFive);
	margin: 24px 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--color-4);
}
body.products .prodDetailPage table.productDetails {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
}
body.products .prodDetailPage table.productDetails th,
body.products .prodDetailPage table.productDetails td {
	padding: 12px 16px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid var(--greyTwo);
	font-size: 14px;
}
body.products .prodDetailPage table.productDetails th {
	font-weight: bold;
	color: var(--greyFive);
	width: 30%;
	background: var(--greyZero);
}
body.products .prodDetailPage table.productDetails td {
	color: var(--greyFour);
}
body.products .prodDetailPage table.productDetails a {
	color: var(--color-4);
	text-decoration: none;
}
body.products .prodDetailPage table.productDetails a:hover {
	text-decoration: underline;
}
/* Related products at bottom of detail page */
body.products #related-products {
	margin-top: 60px;
	padding: 40px 0;
	border-top: 1px solid var(--greyTwo);
}
body.products #related-products h3 {
	text-align: center;
	margin-bottom: 24px;
}
/* "Ask an Expert" question prompt */
body.products .prodQuestions-container {
	text-align: center;
	padding: 40px 20px;
	margin-top: 40px;
	background: var(--greyZero);
	border-radius: 8px;
}
body.products .prodQuestions-container .question {
	display: block;
	font-size: 18px;
	margin-bottom: 8px;
	text-align: center;
}
body.products .prodQuestions-container .answer {
	color: var(--greyFour);
	margin-bottom: 16px;
}
/* PRODUCTS responsive — tablet (prodDetailPage + cards-per-row only) */
@media only screen and (max-width: 1024px) {
	body.products .prodDetailPage .flex-container.reverseOnDesktop {
		flex-direction: column;
	}
	body.products .prodDetailPage .flex-block.one-third.sidebar-block,
	body.products .prodDetailPage .flex-block.two-thirds {
		width: 100%;
		position: static;
	}
	body.products .flex-block.product-block {
		width: calc(50% - 10px) !important;
	}
}
/* PRODUCTS responsive — SRP flips to single column at 900px */
@media only screen and (max-width: 900px) {
	body.products .products-srp-container {
		/*flex-direction: column-reverse !important;*/
		flex-wrap: wrap !important;
	}
	body.products .products-sidebar-block {
		padding: 0 0 30px;
	}
	body.products .products-sidebar-block,
	body.products .products-main-block {
		width: 100% !important;
		flex: 1 1 100% !important;
		position: static !important;
		padding-right: 0;
	}
	body.products #filter-by-category .categories-container.wrapper {
		flex-direction: row !important;
		flex-wrap: wrap;
		gap: 8px;
	}

	body.products #filter-by-category .category-block {
		width: auto;
	}
}
/* PRODUCTS responsive — mobile */
@media only screen and (max-width: 640px) {
	body.products .hero,
	body.products .page-hero {
		padding: 40px 16px;
	}
	body.products .prodImages-container {
		padding: 20px;
	}

	body.products .prodDetailPage table.productDetails th {
		width: 35%;
	}
}
/*------------------------------------*\
    Legal - Terms of Use & Privacy Policy
\*------------------------------------*/
section#privacy-policy,
section#terms-of-use {
	padding: 50px 15px;
	background-color: #fff;
	max-width: 1000px;
	margin: auto
}
section#privacy-policy h1,
section#terms-of-use h1 {
	padding: 10px;
	text-transform: uppercase
}
section#privacy-policy h3,
section#terms-of-use h3 {
	padding: 30px 10px 10px 10px
}
section#privacy-policy p,
section#terms-of-use p {
	padding: 10px
}
/*------------------------------------*\
    FOOTER — Pass-2 restyle (TMART-style light, restrained typography)
\*------------------------------------*/
.site-footer {
	background: var(--greyZero);
	color: var(--greyFour);
	padding: 56px 48px 24px;
	font-size: 14px;
	text-align: left;
}
.site-footer-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.4fr;
	gap: 48px;
	max-width: 1280px;
	margin: 0 auto;
}
.footer-col h4 {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--greyFive);
	margin: 0 0 20px;
	text-transform: none;
}
.footer-brand {
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.5px;
	color: var(--greyFive);
	line-height: 1.3;
	margin-bottom: 20px;
}
.footer-tagline {
	font-size: 13px;
	color: var(--greyFour);
	line-height: 1.5;
	margin: 0 0 16px;
}
.footer-contact {
	display: block;
	font-size: 13px;
	color: var(--greyFour);
	text-decoration: none;
	line-height: 1.6;
	margin: 0 0 12px;
}
.footer-contact:hover {
	color: var(--color-1);
}
.footer-social {
	display: flex;
	gap: 14px;
	margin-top: 20px;
}
.footer-social a {
	width: 30px;
	height: 30px;
	border: 1px solid var(--greyTwo);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--greyFour);
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s;
}
.footer-social a:hover {
	border-color: var(--color-1);
	color: var(--color-1);
}
.footer-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-col ul li {
	background-image: none;
	padding: 0;
	margin: 0;
	list-style: none;
}
.footer-col ul li a {
	display: block;
	font-size: 14px;
	color: var(--greyFour);
	text-decoration: none;
	padding: 6px 0;
	transition-duration: 0.8s;
}
.footer-col ul li a:hover {
	color: var(--color-1);
	padding-left: 10px;
}
.footer-newsletter p {
	font-size: 13px;
	color: var(--greyFour);
	line-height: 1.6;
	margin: 0 0 16px;
}
.footer-newsletter div.form-input {
	width: 100%;
}
.footer-newsletter div.form-input input {
	background-color: #fff;
}
.footer-bottom {
	border-top: 1px solid var(--greyOne);
	margin: 48px auto 0;
	padding-top: 24px;
	max-width: 1280px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	color: var(--greyFour);
}
.footer-bottom-links {
	display: flex;
	gap: 20px;
}
.footer-bottom-links a {
	color: var(--greyFour);
	text-decoration: none;
}
.footer-bottom-links a:hover {
	color: var(--color-1);
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/
@font-face {
	font-family: 'title';
	src: url('fonts/poppins-bolditalic-webfont.woff2') format('woff2'),
		url('fonts/poppins-bolditalic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'cta';
	src: url('fonts/poppins-regular-webfont.woff2') format('woff2'),
		url('fonts/poppins-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'regular';
	src: url('fonts/poppins-regular-webfont.woff2') format('woff2'),
		url('fonts/poppins-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'bold';
	src: url('fonts/poppins-bold-webfont.woff2') format('woff2'),
		url('fonts/poppins-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'italic';
	src: url('fonts/opensans-italic-webfont.woff2') format('woff2'),
		url('fonts/opensans-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-italic';
	src: url('fonts/opensans-italic-webfont.woff2') format('woff2'),
		url('fonts/opensans-italic-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-regular';
	src: url('fonts/opensans-regular-webfont.woff2') format('woff2'),
		url('fonts/opensans-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-bold';
	src: url('fonts/opensans-bold-webfont.woff2') format('woff2'),
		url('fonts/opensans-bold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'opensans-extrabold';
	src: url('fonts/opensans-extrabold-webfont.woff2') format('woff2'),
		url('fonts/opensans-extrabold-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
/*------------------------------------*\
	RESPONSIVE — media queries (max-width descending)
\*------------------------------------*/
@media only screen and (max-width:1440px) {
	.cart-container,
	.checkout-container {
		margin: 0 10px;
	}
}
@media only screen and (max-width:1120px) {
	body.home section.a-section .banner-content {
		max-width: 500px;
	}
	.site-footer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width:1024px) {
	/*foundation medium breakpoint*/
	h1 {
		font-size: 30px;
		line-height: 40px;
	}
	h2 {
		font-size: 26px;
		line-height: 30px;
	}
	section,
	.std-padding {
		padding: 60px 20px;
	}
	.less-padding {
		padding: 30px 10px;
	}
	header div.logo {
		text-align: center;
	}
	header nav ul {
		text-align: center;
	}
	body.home section.a-section .banner-content {
		max-width: 400px;
	}
	 body.blog .flex-block.one-third.blog-sidebar-block, body.blog .flex-container .flex-block.two-thirds.blog-main-block {
		width: 100%;
	}
}
@media only screen and (max-width:932px) {
	header .mid .flex-container {
		gap: 0;
	}
}
@media only screen and (max-width:900px) {
	ul,
	ol {
		padding: 15px 0 15px 5px;
	}
	header .flex-container .flex-block.top-left,
	 header .flex-container .flex-block.top-right {
		text-align: center;
	}
	header .mid .flex-container {
		justify-content: center;
		gap: 32px;
	}
	header .mid .logo-block {
		width: 100%;
		text-align: center;
	}
	header .mid nav {
		flex: none;
	}
	body.home section.a-section .flex-container {
		flex-direction: column;
		gap: 20px;
	}
	body.home section.a-section .flex-block.categories-block,
	body.home section.a-section .flex-block.banner-block {
		width: 100%;
	}
	body.home section.a-section .banner-block .banner-card {
		min-height: 260px;
		padding: 30px 24px;
	}
	body.home section.a-section .banner-content {
		max-width: 500px;
	}
	body.home section.a-section .banner-content h1 {
		font-size: 32px;
		line-height: 38px;
	}
	body.home section.featured-products {
		padding: 40px 16px;
	}
	body.home section.featured-products article.product-block {
		width: calc(50% - 10px);
	}
	body.home section.featured-products h2.section-title {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.product-spotlight {
		padding: 40px 16px;
	}
	body.home section.product-spotlight .spotlight-image-block {
		min-height: 280px;
	}
	body.home section.product-spotlight .spotlight-image-block img {
		min-height: 280px;
	}
	body.home section.product-spotlight .spotlight-content-block {
		padding: 28px 24px;
	}
	body.home section.featured-categories {
		padding: 40px 16px;
	}
	body.home section.featured-categories .flex-container.featured-categories-row {
		flex-direction: column;
		gap: 20px;
	}
	body.home section.featured-categories .flex-block.category-switcher-block,
	body.home section.featured-categories .flex-block.category-products-block {
		width: 100%;
	}
	body.home section.featured-categories article.product-block {
		width: calc(50% - 10px);
	}
	body.home section.featured-categories h2.section-title {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.discover-categories {
		padding: 40px 16px;
	}
	body.home section.discover-categories .discover-card {
		flex-basis: calc((100% - 32px) / 3);
	}
	body.home section.discover-categories h2.section-title {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.about-preview {
		padding: 40px 16px;
	}
	body.home section.about-preview .flex-container.about-preview-row,
	body.home section.about-preview .flex-container.owner-row-debbie {
		flex-direction: column;
		gap: 24px;
		margin-bottom: 36px;
	}
	body.home section.about-preview .flex-block.owner-image-block,
	body.home section.about-preview .flex-block.owner-content-block {
		width: 100%;
	}
	body.home section.about-preview .about-preview-figure,
	body.home section.about-preview .owner-row-matt .about-preview-figure,
	body.home section.about-preview .owner-row-debbie .about-preview-figure {
		max-width: 480px;
		margin: 0 auto;
	}
	body.home section.about-preview h2.section-title {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.about-preview h3.owner-name {
		text-align: center;
	}
	body.home section.about-preview p.owner-body,
	body.home section.about-preview p.about-preview-tagline {
		text-align: left;
	}
	body.home section.home-blog {
		padding: 40px 16px;
	}
	body.home section.home-blog article.blog-block {
		width: 100%;
		max-width: 560px;
	}
	body.home section.home-blog h2.section-title {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.home-blog .blog-img-placeholder-mark {
		font-size: 56px;
	}
	.site-footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
	.site-footer {
		padding: 40px 24px 20px;
	}
	.footer-bottom {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}
	body.products .products-srp-container {
		padding: 0;
	}
	body.products .prodImages-container {
		margin-top: 20px;
	}
	body.products .cycle-slideshow .slide,
	body.products .cycle-slideshow img.slide { 
		max-height: 400px;
	}
	body.products .prodImages-container {
		min-height: 500px;
	}
}
@media only screen and (max-width:1024px) {
	/* BLOG — detail mode: collapse 2-col to stacked, article above sidebar */
	body.blog .blog-detail-container {
		flex-direction: column-reverse;
	}
	body.blog .blog-sidebar-block,
	body.blog .blog-main-block {
		width: 100%;
		flex: 1 1 100%;
		position: static;
	}
}
@media only screen and (max-width:700px) {
	body.home section.a-section .banner-content {
		max-width: 400px;
	}
	.prodQuestions-container {
		padding: 10px;
	}
	.site-footer-grid {
		grid-template-columns: 1fr;
	}
	body.checkout div.checkout-content-container.shipping-card form,
	body.checkout div.checkout-content-container.shipping-card div.button,
	body.checkout div.checkout-content-container.shipping-card button {
		display: block !important;
		margin: 20px auto !important;
		width: 95% !important;
	}	
	.footer-social,
	.footer-bottom-links {
		justify-content: center;
	}
	.site-footer-grid,
	.footer-tagline,
	.footer-col ul li,
	.footer-newsletter p,
	.footer-bottom-copyright,
	.flex-block.one-half.right.footer-brand-container,
	footer .flex-container .flex-block.full {
		text-align: center;
	}
}
@media only screen and (max-width:640px) {
	/*foundation small breakpoint*/
	p {
		font-size: 16px;
		line-height: 24px;
	}
	h1 {
		font-size: 26px;
		line-height: 32px;
	}
	h2 {
		font-size: 22px;
		line-height: 26px;
	}
	h3 {
		font-size: 18px;
		line-height: 24px;
	}
	ul {
		padding: 15px 0 15px 0;
	}
	ol {
		padding: 15px 0 15px 20px;
	}
	.frame {
		display: inline-block;
	}
	section,
	.std-padding {
		padding: 30px 10px;
	}
	.less-padding {
		padding: 10px 2.5px;
	}
	div.table,
	div.table div.tableRow,
	div.table div.tableRow div.tableHeader,
	div.table div.tableRow div.tableCell {
		display: block;
		width: 100%;
	}
	header {
		position: relative;
		text-align: center;
	}
	header div#mobileGrippy {display: inline-block;
		text-align: center;
		color: #222;
		cursor: pointer;
		padding: 12px 6px;
		margin:0 10px -5px 0;
		font-size: 30px;
		vertical-align: middle;
	}
	header .top {
		padding:0;
	}
	header .mid {
		padding: 0;
	}
	header .mid .flex-container {
		gap: 0;
	}
	header .mid a.logo img {
		width: 300px;
	}
	header .mid nav {
		display: none;
    	flex: 1 1 auto;
		background: linear-gradient(180deg, #ffffff 0%, #f6f6f9 100%);
		border-radius: 60px;
		box-shadow: inset 0px 0px 6px rgb(0, 0, 0, 0.5);
		text-align: center;
		margin: 0 auto 20px;
		max-width: 95%;
	}
	/* reveal dropdown children inline in the mobile menu */
	header .mid nav ul li {
		padding: 10px 0;
	}header .mid nav ul.withChild li ul.children {
		display: none;
	}
	header .mid nav ul li.withChild ul.children {
		display: none;/* change to reveal dropdown children inline in the mobile menu */
		position: static;     /* flow in the list instead of floating */
		min-width: 0;
		margin: 0;
		padding: 0;
		border: 0;
		box-shadow: none;
		background: transparent;
	}
	header .mid nav ul li.withChild ul.children li a {
		display: block;
		font-size: 14px;
		padding: 8px 0;
		opacity: 0.85;
	}
	header .mid nav ul li.withChild > a:after {
		display: none; /*hides caret */
	}
	header div.logo {
		display: inline-block;
		vertical-align: top;
		width: 87%;
		padding: 10px 6px 0 6px;
		text-align: center;
	}
	header div.logo a {
		display: block;
		text-align: center;
	}
	header nav ul {
		text-align: center;
	}
	header nav ul li {
		display: inline-block;
	}
	header nav ul li a img {
		display: none;
	}
	.cta {
		margin: 6px 0;
	}
	.page-hero {
		padding: 40px 16px;
	}
	body.home section.a-section {
		padding: 12px 0;
	}
	body.home section.a-section .wrapper {
		padding: 0 10px;
	}
	body.home section.a-section .banner-block .banner-card {
		min-height: 220px;
		padding: 24px 18px;
		background-position: 150% 100%;
	}
	body.home section.a-section .banner-content {
		max-width: 300px;
	}
	body.home section.a-section .banner-content h1 {
		font-size: 26px;
		line-height: 32px;
	}
	body.home section.a-section .banner-content p.banner-tagline {
		font-size: 15px;
		line-height: 22px;
	}
	body.home section.featured-products {
		padding: 30px 10px;
	}
	body.home section.featured-products .products-cards-container, body.home section.featured-categories .products-cards-container {
		gap: 10px;
	}
	body.home section.featured-products h2.section-title {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.featured-products p.section-intro {
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 24px;
	}
	body.home section.product-spotlight {
		padding: 30px 10px;
	}
	body.home section.product-spotlight .spotlight-content-block {
		padding: 22px 18px;
	}
	body.home section.product-spotlight h3.spotlight-product-name {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.product-spotlight p.spotlight-pitch {
		font-size: 15px;
		line-height: 22px;
	}
	body.home section.product-spotlight .spotlight-price {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.featured-categories {
		padding: 30px 10px;
	}
	body.home section.featured-categories h2.section-title {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.featured-categories p.section-intro {
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 24px;
	}
	body.home section.featured-categories .category-switcher {
		padding: 20px 18px;
	}
	body.home section.discover-categories {
		padding: 30px 10px;
	}
	body.home section.discover-categories .discover-slider {
		padding: 0 36px;
	}
	body.home section.discover-categories .discover-card {
		flex-basis: calc((100% - 16px) / 2);
	}
	body.home section.discover-categories h2.section-title {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.discover-categories p.section-intro {
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 20px;
	}
	body.home section.discover-categories .discover-arrow {
		width: 32px;
		height: 32px;
	}
	body.home section.about-preview {
		padding: 30px 10px;
	}
	body.home section.about-preview h2.section-title {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.about-preview h3.owner-name {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.about-preview p.about-preview-lede {
		font-size: 16px;
		line-height: 24px;
	}
	body.home section.about-preview p.owner-body,
	body.home section.about-preview p.about-preview-tagline {
		font-size: 15px;
		line-height: 23px;
	}
	body.home section.about-preview .about-preview-cta-row {
		flex-direction: column;
		align-items: stretch;
	}
	body.home section.about-preview .about-preview-cta-row a.cta {
		width: 100%;
		text-align: center;
	}
	body.home section.home-blog {
		padding: 30px 10px;
	}
	body.home section.home-blog h2.section-title {
		font-size: 22px;
		line-height: 28px;
	}
	body.home section.home-blog p.section-intro {
		font-size: 15px;
		line-height: 22px;
		margin-bottom: 24px;
	}
	body.home section.home-blog .blog-title {
		font-size: 17px;
		line-height: 24px;
	}
	body.home section.home-blog .blog-details-container {
		padding: 18px 18px 20px;
	}
	body.home section.home-blog .blog-img-placeholder-mark {
		font-size: 48px;
	}
	/* BLOG — list mode responsive */
	body.blog section#blog-articles {
		padding: 30px 12px 40px;
	}
	body.blog article.blog-block {
		width: 100%;
		max-width: 560px;
	}
	body.blog a.blog-card .blog-title {
		font-size: 17px;
		line-height: 24px;
	}
	body.blog a.blog-card .blog-details-container {
		padding: 18px 18px 20px;
	}
	body.blog .blog-main-block .post-img-container img.featured-img {
		max-width: stretch;
		width: auto;
	}
	body.blog .paging-container a,
	body.blog .paging-container span.paging-number {
		padding: 6px 10px;
		font-size: 13px;
	}
	/* BLOG — detail mode responsive */
	body.blog section.blog-detail {
		padding: 30px 12px 40px;
	}
	body.blog .blog-main-block h1.post-title {
		font-size: 24px;
		line-height: 30px;
	}
	body.blog .blog-main-block .table .tableRow {
		flex-direction: column;
		gap: 12px;
	}
	body.blog .blog-main-block .table .tableCell {
		flex: 1 1 100%;
	}
	body.blog .blog-main-block .table .tableCell a {
		display: block;
		text-align: center !important;
	}
	body.blog .social-sharing-buttons .social-sharing-title {
		display: block;
		margin: 0 0 10px 0;
	}
	body.blog .blog-main-block .post-img-container {
		text-align: center;
	}
	body.blog .blog-main-block .post-img-container img.featured-img {
		max-width: 250px;
	}
	body.cart div.cart-product-container div.cart-product-block {
		width: 50%
	}
	body.products .cycle-pager {
		position: relative;
		bottom: auto;
		left: auto;
		right: auto;
	}
	body.cart div.cart-product-container div.cart-product-block {
		width: 50%
	}.site-footer-grid {
		grid-template-columns: 1fr;
	}
}
@media only screen and (max-width:500px) {
	body.home section.a-section .banner-block .banner-card {
        background-image: none;
    }
    body.home section.a-section .banner-content {
    	max-width: none;
    }
    body.home section.product-spotlight .spotlight-image-block,
	body.home section.product-spotlight .spotlight-content-block {
		width: 100%;
	}
}
@media only screen and (max-width:420px) {
	body.products .flex-block.product-block {
		width: 100% !important;
	}
}
@media only screen and (max-width:400px) {
	body.home section.featured-categories article.product-block {
		width: 100%;
	}
	body.home section.discover-categories .discover-card {
        flex-basis: calc((100% - 16px) / 1);
    }
}
@media only screen and (max-width:375px) {
	body.cart div.cart-product-container div.cart-product-block {
		width: 100%
	}header .mid a.logo img {
		width: 200px;
	}
}

/*------------------------------------*\
	MISC
\*------------------------------------*/
::selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}
/*------------------------------------*\
	PRINT
\*------------------------------------*/
@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}
	a,
	a:visited {
		text-decoration: underline;
	}
	a[href]:after {
		content: " (" attr(href) ")";
	}
	abbr[title]:after {
		content: " (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}
	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}
	thead {
		display: table-header-group;
	}
	tr,
	img {
		page-break-inside: avoid;
	}
	img {
		max-width: 100% !important;
	}
	@page {
		margin: 0.5cm;
	}
	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}
	h2,
	h3 {
		page-break-after: avoid;
	}
}
/* help card — sibling to shipping-card in the right column */
body.payment-success .help-card {
	background: #fff;
	border: 1px solid var(--greyOne);
	border-radius: 6px;
	padding: 22px 24px;
	margin-top: 18px;
}
body.payment-success .help-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
}
body.payment-success .help-ico {
	flex: 0 0 auto;
	font-size: 18px;
	line-height: 1;
}
body.payment-success .help-card .cta {
	margin-top: 16px;
}
