@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --dgrey: #333333;
    --mgrey: #cccccc;
    --lgrey: #e2e2e2;
    
    --dgreen: #344239;
    --mgreen: #49564d;
    --lgreen: #717f75;
    
    --dtan: #8c7860;
    --mtan: #bcb2a4;
    --ltan: #ddd9d4;
    --lttan: #efece8;
    
    --red: #b70404;
    --blue: #07476b;
    --white: #ffffff;
	
	--clippath: polygon(
    7px 0,          /* top-left cut */
    100% 0,
    100% calc(100% - 7px),  /* bottom-right cut */
    calc(100% - 7px) 100%, 
    0 100%,
    0 7px);
	
	--border-width: 10px;
	--edge-size: 40px;
	
    --nav-offset: 211px;         /* always present */
    --adminbar-height: 0px;      /* added only when logged in */
}

/*Maintenance*/
body
{
	font-family: "Montserrat", sans-serif;
	min-width: 320px;
}

body.page,
body.post
{
	margin-bottom: 0;
}

a,
a:visited
{
    color: var(--mgreen);
    font-weight: 700;
    text-decoration: underline;
    transition: color 0.3s ease; /* smooth hover transition */
}

a:hover,
a:focus 
{
    color: var(--lgreen);
}

.pagecontent
{
	margin-top: 44px;
}

.whitetext,
.whitetext p,
.whitetext h1,
.whitetext h2,
.whitetext h3,
.whitetext h4,
.whitetext h5,
.whitetext h6:not(.grayheading),
.whitetext.coloredlist ol li,
.whitetext.coloredlist ul li
{
	color: #ffffff;
}

@media (min-width: 768px) {
	.contentspaced
	{
		padding-left: 50px;
		padding-right: 50px;
	}
}

.elements .section
{
	margin-bottom: 75px;
}

.elements .tightspacing
{
	margin-bottom: 25px;	
}

.elements .nospacing
{
	margin-bottom: 0;	
}

.mlgmargin {
    margin-bottom: 30px;
}

@media (min-width: 992px) {
	.mlgmargin {
		margin-bottom: 0px;
	}	
}

.mxlmargin {
    margin-bottom: 30px;
}

@media (min-width: 1200px) {
	.mxlmargin {
		margin-bottom: 0px;
	}	
}

.elements
{
	margin-top: 50px;
}

.large p
{
	font-size: 18px;
	line-height: 28px;
	font-weight: 600;
}

.text p:last-child
{
	margin-bottom: 0;
}
/*END Maintenance*/


/*Headings and Text*/
p {
	font-size:16px;
	line-height:28px;
    color: var(--dgrey);
    font-weight: 400;
    margin-bottom: 20px;
}

/* Base styles (mobile first) */
h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
    margin-bottom: 30px;
    letter-spacing: 0.25px;
	color: var(--dgrey);
}

h1 a, h2 a, h3 a, h5 a, h6 a
{
    font-weight: 900;
}

h4 a
{
    font-weight: 700;
}

/* H1 */
h1,
h2.sizeh1 {
    font-size: 30px;
    line-height: 36px;
    font-weight: 900;
    text-transform: uppercase;
}


@media (min-width: 768px) {
	h1,
	h2.sizeh1 {
		font-size: 42px;
		line-height: 52px;
	}
}


/* H2 */
h2 {
    font-size: 36px;
    line-height: 46px;
    font-weight: 900;
}

/* H3 */
h1.sizeh3,
h3 {
    font-size: 30px;
    line-height: 40px;
    font-weight: 900;
    text-transform: uppercase;
}

/* H4 */
h4 {
    font-size: 30px;
    line-height: 40px;
    font-weight: 700;
}

/* H5 */
h5 {
    font-size: 24px;
    line-height: 30px;
    font-weight: 900;
    text-transform: uppercase;
}

h5.greyboxheading 
{
	font-weight:700;
	color: var(--mgreen);
	font-size:10px;
	line-height:14px;
	text-transform:uppercase;
	background-color: var(--lgrey);
	letter-spacing:0.25px;
	display: inline-block;
	padding: 10px 20px;
}

h5.greyboxheading.hasbevel
{
	clip-path: polygon(
    7px 0,          /* top-left cut */
    100% 0,
    100% calc(100% - 7px),  /* bottom-right cut */
    calc(100% - 7px) 100%, 
    0 100%,
    0 7px);
  )
}


/* H6 */
h6 {
    font-size: 21px;
    line-height: 28px;
    font-weight: 900;
    text-transform: uppercase;
}

h6.grayheading
{
	background-color: var(--lgrey);
	padding:20px 40px;
	display: inline-block; 
	margin-bottom: 0;
}

/* Larger screens (992px and up) */
@media (min-width: 992px) {
    h1:not(.sizeh3),
	h2.sizeh1 {
		font-size: 48px;
		line-height: 58px;
	}

    h2 {
        font-size: 42px;
        line-height: 52px;
    }

    h3 {
        font-size: 36px;
        line-height: 46px;
    }

    h4 {
        font-size: 36px;
        line-height: 46px;
    }

    h5 {
        font-size: 30px;
        line-height: 40px;
    }

    h6 {
        font-size: 24px;
        line-height: 30px;
    }
}
/*END Headings and Text*/


/*Header Design Desktop and Mobile*/
.headertexture ul.navbar-nav
{
	margin: 0;
}

.headertexture .logorow
{
	height: 115px;
}

.headertexture
{
	position: relative;
}

.navcontainer
{
	position: relative;
}

.navbg
{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	overflow: hidden; /* contain skew */
	pointer-events: none; /* avoid blocking clicks */
}

.navbg:before
{
	content: '';
	position: absolute;
	width: calc(50% + 36px);
	height: 100%;
	background-color: var(--dgrey);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	transform: skewX(-10deg);
	transform-origin: top left;
}


.navbg:after 
{
	content: '';
	position: absolute;
	width: calc(50% - 66px);
	height: 100%;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
	transform: skewX(-10deg);
	transform-origin: bottom left;
	background-color: var(--dtan);
	right: 0;
	top: 0;
}

@media (min-width: 500px) {
	.navbg:before
	{
		width: calc(75% + 36px);
	}


	.navbg:after 
	{
		width: calc(25% - 66px);
	}
}

.bg-light
{
	background-color: transparent!important;
}

.headertexture .logocol img
{
	max-width: 100%;
}

@media (min-width: 400px) {
	.headertexture .logocol img
	{
		max-width: 350px;
	}
}

.utilitylinks ul li
{
	margin-right: 10px;
}

.utilitylinks ul li:last-child
{
	margin-right: 0;	
}

.utilitylinks a
{
	font-size: 20px;
	color: #ffffff;
	display: block;
}

.utilitylinks a:hover
{
	color: var(--mgreen);
}

.utilitylinks a.cartlink
{
	position: relative;	
}

.utilitylinks a .cart-count
{
	position: absolute;
	background-color: var(--dtan);
	border-radius: 100%;
	color: var(--white);
	font-size: 10px;
	text-decoration: none;
	width: 15px;
	height: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	top: -5px;
	right: -5px;
}

.utilitylinks ul
{
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-block;
	line-height: normal;
}

.utilitylinks ul li
{
	display: inline-block;
}

@media (min-width: 992px) {
	.utilitylinks a
	{
		color: var(--dgrey);
	}
}

.headertexture ul.navbar-nav .nav-link:focus{
	outline: 0;
}

.headertexture ul.navbar-nav .nav-link
{
	letter-spacing:0.25px;
	padding: 17px 10px;
	font-weight:800;
	font-size:13px;
	color: var(--white);
	text-transform:uppercase;
	transition-property: all;
}

.headertexture ul.navbar-nav .nav-link.show,
.headertexture ul.navbar-nav .nav-link:hover,
.headertexture ul.navbar-nav .current-menu-item .nav-link,
.headertexture ul.navbar-nav .current-menu-parent .nav-link
{
	background-color: var(--lgreen);
	position: relative;
	transition: all 0.15s ease-in-out 0s;
}
/*END Header Design Desktop and Mobile*/


/*Theme Header Desktop Only*/
@media (min-width: 1200px) {
	.headertexture ul.navbar-nav .nav-link
	{
		transform: skewX(-10deg);
	}
	
	.headertexture ul.navbar-nav .nav-link span
	{
		transform: skewX(10deg);
		display: inline-block;
	}
	.headertexture .navbar
	{
		display: inline-flex;
		padding:0;
		padding-left: 30px;
	}
	.headertexture ul.navbar-nav .nav-item
	{
		margin-right: 20px;
	}
	
	.headertexture ul.navbar-nav .nav-item:last-child
	{
		margin-right: 0px;
	}
	
	.dropdown-menu {
		column-count: 1;
	}

	.dropdown-menu .innerdrop
	{
		transform: skewX(10deg);
	}
	.dropdown-menu .three-columns.innerdrop {
		column-count: 3;
		column-gap: 20px;
		column-rule: .25px solid var(--blue); /* border between columns */
		min-width: 800px;
	}
	
	.dropdown-menu {
		display: block; /* prevent Bootstrap from overriding */
		opacity: 0;
		transform: translateY(-50px) skewX(-10deg);
		visibility: hidden;
		transition: all 0.3s ease;
		margin-left: -27px;
	}
	
	.dropdown-menu.show {
		opacity: 1;
		transform: translateY(0) skewX(-10deg);
		visibility: visible;
		
	}
	
	.rightnav
	{
		display:inline-block;
		margin-left: auto;
		position: relative;
		z-index: 1;
	}
	
	.rightnav ul
	{
		list-style: none;
		margin: 0;
		padding: 0;
	}
	
	.rightnav ul li
	{
		display: inline-flex;
	}
	
	.rightnav ul li a
	{
		letter-spacing:0.25px;
		padding: 17px 10px;
		font-weight: 800;
		font-size: 13px;
		color: var(--white);
		text-transform: uppercase;
		text-decoration: none;
	}
	
	li.dropdown:last-child .dropdown-menu
	{
		right: 0;
		left: auto;
	}

	.dropdown-menu
	{
		border-radius: 0;
		background-color: var(--ltan);
		border: 0;
		padding: 30px 20px;
		min-width: 250px;
		margin-top: 0px !important;
	}

	.dropdown-menu .dropdown-item
	{
		white-space: normal;
	}

	.dropdown-menu .nav-item
	{
		margin-right: 0!important;
	}

	.dropdown-menu .nav-item:last-child
	{
		margin-bottom: 0;
	}

	.dropdown-menu .nav-item a,
	.dropdown-menu .nav-item a:visited
	{
		margin-bottom: 5px;
		font-size:18px;
		font-weight:800; 
		color: var(--black)
	}

	.dropdown-menu .nav-item a:hover,
	.dropdown-menu .nav-item .dropdown-item.active
	{
		background-color: transparent;
		color: var(--red);
	}

	.dropdown-toggle::after 
	{
		display: none;
	}
}
/*END Theme Header Desktop Only*/


/*Mobile Specific Header*/
@media (max-width: 1199px) {
	body.menu-open {
		overflow: hidden;
		height: 100vh;
	}
	
	.headertexture .navbar
	{
		position: static;
		z-index: 10;
	}
	
	.headertexture ul.navbar-nav .nav-item
	{
		margin-right: 0px;
	}
	
	.navbar-toggler
	{
		padding: 7px;
		width: 45px;
		margin-left: auto;
	}
	
	.navbar-toggler .icon-bar
	{
		height: 2px;
		display: block;
		background-color: var(--white);
		width: 36px;
		margin-bottom: 8px;
		transition: all 0.2s;
	}

	.navbar-toggler.collapsed .icon-bar
	{
		width: 30px;
	}

	.navbar-toggler .icon-bar:last-child
	{
		margin-bottom: 0;
	}

	.top-bar {
		transform: rotate(45deg);
		transform-origin: 10% 10%;
	}
	.middle-bar {
		opacity: 0;
	}
	
	.bottom-bar {
		transform: rotate(-45deg);
		transform-origin: 10% 90%;
	}

	.navbar-toggler.collapsed .top-bar {
		transform: rotate(0);
	}
	.navbar-toggler.collapsed .middle-bar {
		opacity: 1;
	}
	
	.navbar-toggler.collapsed .bottom-bar {
		transform: rotate(0);
	}
	
	.navbar-collapse
	{
		position: fixed;
		z-index: 10;
		width: 100%;
		top: calc(var(--nav-offset) + var(--adminbar-height));
		height: calc(100% - var(--nav-offset) - var(--adminbar-height)) !important;

		background-color: var(--dgrey);
		right: -100%;
		transition: all 0.4s ease;

		padding: 20px 50px 100px !important;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		
	}
	
	.navbar-collapse.show {
		margin-right: 100%;
		transition: all 0.2s ease;
		opacity: 1;
	}
	
	.headertexture .dropdown-menu {
		position: fixed;
		border: 0;
		border-radius: 0;
		width: 100%;
		bottom: 0;
		right: -100%;
		transition: all 0.4s ease;
		display: block;
		opacity: 1;
		left: auto;
		margin-top: 0;
		padding: 20px 50px 100px !important;
        background-color: var(--dgrey);
		overflow-y: auto;  /* allow scrolling */
    	-webkit-overflow-scrolling: touch; /* smooth scroll on iOS */
		
		top: calc(var(--nav-offset) + var(--adminbar-height));
	    height: calc(100% - var(--nav-offset) - var(--adminbar-height)) !important;
	}
	
	.headertexture .navbar-light .navbar-nav .nav-item
	{
        border-bottom: 0.5px solid var(--lgreen);
    }
	
	.dropdown-toggle::after
	{
		font-family: "Font Awesome 7 Sharp";
		font-weight: 900;
		content: "\f054";
		background-image: none !important;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		border: 0 !important;
		position: absolute;
		right: 0;
		margin-left: 0;
		vertical-align: middle;
		top: 50%;
		transform: translateY(-50%);
		font-size: 10px;
	}
	
	.headertexture .dropdown-menu.show {
		margin-right: 100%;
		transition: all 0.2s ease;
		opacity: 1;
	}
	
	.headertexture ul.navbar-nav .nav-item.back
	{
		padding-left: 20px;
	}
	
	.headertexture ul.navbar-nav .nav-item.back::before
	{
		font-family: "Font Awesome 7 Sharp";
		font-weight: 900;
		content: "\f053";
		background-image: none !important;
		font-style: normal;
		font-variant: normal;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
		border: 0 !important;
		left: 0;
		margin-left: 0;
		vertical-align: middle;
		top: 50%;
		transform: translateY(-50%);
		font-size: 10px;
		color: white;
		position: absolute;
	}
	
	.headertexture .navbar-light .navbar-nav .nav-item
	{
		position: relative;
	}
	
	.headertexture ul.navbar-nav .nav-link
	{
		padding-left: 0px;
		padding-right: 0px;
	}
	
	.headertexture ul.navbar-nav .nav-link.dropdown-toggle
	{
		padding-right: 20px;
	}
	
	.dropdown-menu .nav-item a, 
	.dropdown-menu .nav-item a:visited
	{
		letter-spacing:0.25px;
		padding: 17px 0px;
		font-weight:800;
		font-size:13px;
		color: var(--white);
		text-transform:uppercase;
		transition-property: all;
	}
	
	.dropdown-menu .nav-item a:hover{
		background-color: transparent;
	}

	.headertexture ul.navbar-nav .nav-link.show,
	.headertexture ul.navbar-nav .nav-link:hover,
	.headertexture ul.navbar-nav .current-menu-item .nav-link,
	.headertexture ul.navbar-nav .current-menu-parent .nav-link,
	.dropdown-menu .nav-item a:hover,
	.dropdown-menu .nav-item a.active
	{
		background-color: transparent;
		color: var(--lgreen);
		position: relative;
		transition: all 0.15s ease-in-out 0s;
	}
	
	.navbar-toggler
	{
		border: 0;
		border-radius: 0;
	}
	
	.navbar-toggler:focus,
	.navbar-toggler:hover
	{
		box-shadow: none;
		border: 0;
	}
}

@media (max-width: 767px) {
	.navbar-collapse,
	.headertexture .dropdown-menu
	{
		padding: 20px 12px 100px !important;
	}
}
/*END Mobile Specific Header*/


/* =========================================
   COLORED LIST STYLES + COMPONENT DATA LISTS
   ========================================= */

/* REMOVE default bullets from ul */
.coloredlist ul,
.coloredlist ol,
.details.component_data ul,
.details.component_data ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Space between nested lists */
.coloredlist ul ul,
.coloredlist ul ol,
.coloredlist ol ul,
.coloredlist ol ol,
.details.component_data ul ul,
.details.component_data ul ol,
.details.component_data ol ul,
.details.component_data ol ol {
	margin-top: 20px;
}

/* Custom bullet for ul list items using SVG */
.coloredlist ul li,
.details.component_data ul li {
	position: relative;
	padding-left: 25px; /* space for bullet */
}

.coloredlist ul li::before,
.details.component_data ul li::before {
	content: "";
	background-image: url("https://patricks286.sg-host.com/wp-content/uploads/2025/10/bullet-icon.svg");
	background-size: contain;
	background-repeat: no-repeat;
	width: 16px;
	height: 16px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* Typography + spacing for all list items */
.coloredlist ol li,
.coloredlist ul li,
.details.component_data ol li,
.details.component_data ul li {
	margin-bottom: 20px;
	font-size: 16px;
	line-height: 28px;
	color: var(--dgrey);
	font-weight: 400;
}

/* Remove bottom margin for last child if needed */
.coloredlist ol li:last-child,
.coloredlist ul li:last-child,
.details.component_data ol li:last-child,
.details.component_data ul li:last-child {
	margin-bottom: 0px;
}

/* ========= ORDERED LIST STYLES ========= */

/* Initialize the main counter */
.coloredlist ol,
.details.component_data ol {
	counter-reset: main-counter;
	margin: 0;
}

/* Top-level ordered list items */
.coloredlist > ol > li,
.details.component_data > ol > li {
	counter-increment: main-counter;
	position: relative;
	padding-left: 25px;
}

/* Main numbers */
.coloredlist > ol > li::before,
.details.component_data > ol > li::before {
	content: counter(main-counter) ". ";
	color: var(--dtan);
	display: inline-block;
	width: 20px;
	margin-left: -25px;
	font-size: 14px;
	font-weight: 900;
	line-height: 24px;
}

/* Nested ol starts its own counter */
.coloredlist ol ol,
.details.component_data ol ol {
	counter-reset: sub-counter;
	margin-top: 20px;
	padding-left: 25px;
}

/* Nested ol li increments sub-counter */
.coloredlist ol ol > li,
.details.component_data ol ol > li {
	counter-increment: sub-counter;
	position: relative;
}

/* Sublist numbering */
.coloredlist ol ol > li::before,
.details.component_data ol ol > li::before {
	content: counter(sub-counter) ". ";
	color: var(--dtan);
	display: inline-block;
	width: 20px;
	margin-left: -25px;
	font-size: 14px;
	font-weight: 900;
	line-height: 24px;
}

/* Bottom spacing for lists */
.coloredlist ol,
.coloredlist ul,
.details.component_data ol,
.details.component_data ul {
	margin-bottom: 20px;
}

/*END Colored List Styles*/


/*Button Styles*/
.buttonlink
{
	margin-top: 30px;
}

.buttonlink.multiple .btn
{
	margin-top: 10px;
	margin-right: 20px;
}

.composite_navigation_inner a.page_button,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt,
body.woocommerce .woocommerce-message .button,
.btn.btn-skew {
	border-radius: 0;
	display: inline-block;
	position: relative;
	padding: 0;
	overflow: hidden;
	transform: skewX(-10deg); /* whole button is skewed now */
	text-decoration: none;
}

/* Un-skew text so it looks normal */
.composite_navigation_inner a.page_button span,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt span,
body.woocommerce .woocommerce-message .button span,
.btn.btn-skew span {
	display: inline-block;
	color: var(--white);
	text-transform: uppercase;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.25px;
	padding: 18px 40px;
	position: relative;
	z-index: 3;
	transform: skewX(10deg); /* counter-skew text */
	transition: transform 0.3s;
}

/* Base background (static color) */
.composite_navigation_inner a.page_button::before,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt::before,
body.woocommerce .woocommerce-message .button::before,
.btn.btn-skew::before {
	content: "";
	position: absolute;
	top: 0;
	left: -25%;
	width: 150%;
	height: 100%;
	transform-origin: left center;
	transform: skewX(10deg);
	z-index: 0;
	transition: background-color 0.3s;
	pointer-events: none;
}

/* Hover overlay (slides in) */
.composite_navigation_inner a.page_button::after,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt::after,
body.woocommerce .woocommerce-message .button::after,
.btn.btn-skew::after {
	content: ""!important;
	position: absolute;
	top: 0!important;
	left: -25%;
	width: 150%;
	height: 100%;
	transform-origin: left center;
	transform: skewX(0deg) translateX(-100%)!important;
	z-index: 1;
	transition: transform 0.45s cubic-bezier(.2,.9,.2,1);
	pointer-events: none;
	margin-top: 0!important;
}

/* Color variations */
.composite_navigation_inner a.page_button::before,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt::before,
body.woocommerce .woocommerce-message .button::before,
.btn.btn-skew.green::before {
	background-color: var(--mgreen);
}

.composite_navigation_inner a.page_button::after,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt::after,
body.woocommerce .woocommerce-message .button::after,
.btn.btn-skew.green::after {
	background-color: var(--lgreen);
}

.btn.btn-skew.tan::before {
	background-color: var(--dtan);
}

.btn.btn-skew.tan::after {
	background-color: var(--mtan);
}

/* Slide the overlay in on hover */
.composite_navigation_inner a.page_button:hover::after,
body.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:hover::after,
body.woocommerce .woocommerce-message .button:hover::after,
.btn.btn-skew:hover::after {
	transform: translateX(0)!important;
}

.btn.btnplus
{
	color: var(--white);
	padding: 0;
	margin: 0;
	font-size: 36px;
}

.btn.btnplus:hover
{
	color: var(--lgrey);
}

.btn.btnplus.dtan
{
	color: var(--dtan);
}

.btn.btnplus.dtan:hover
{
	color: var(--ltan);
}


.btn.btn-circlearrow
{
	color: var(--lgreen);
	padding: 0;
	margin: 0;
	font-size: 36px;
}


.btn.btn-circlearrow:hover
{
	color: var(--mgreen);
}
/*END Button Styles*/


/*Content Slider*/
.contentslider .slideoverlay
{
	background-color: rgba(51, 51, 51, 0.85);
	padding-left: 70px;
	padding-right: 70px;
}

@media (min-width: 768px) {
	.contentslider .slideoverlay
	{
		 padding-left: 100px;
		padding-right: 100px;
	}
}

@media (min-width: 1500px) {
	.contentslider .slideoverlay
	{
		padding-left: 0px;
		padding-right: 0px;
	}

}

.contentslider .slideoverlay .sliderrow{
	min-height: 600px;
	padding-top: 100px;
	padding-bottom: 100px;
}

@media (max-width: 767px) {
	.contentslider .slideoverlay .sliderrow .large p
	{
		font-size: 16px;
		line-height: 24px
	}
}


.contentslider .slide-content
{
	background-size: cover; 
	background-position: center; 
	background-repeat: no-repeat;
}
/*END Content Slider*/


/*Carosel Indicators*/
.carousel-indicators [data-bs-target] {
	width: 15px;
	height: 15px;
	margin-left: 4px;
	margin-right: 4px;
	border-radius: 50%;
	background-color: var(--white); /* Change color as needed */
}

.carousel-indicators .active {
  background-color: var(--white); /* Active color */
}





.carousel-control-prev,
.carousel-control-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	height: auto;
	padding: 0;
	border: none;
	background: none;
	z-index: 1;
	opacity: 1;
}


/* Inner container holds shape and overlay */
.carousel-control-inner {
	position: relative;
	display: inline-block;
	background-color: var(--mgreen);
	overflow: hidden;
	padding: 15px; /* adjust for chevron */
}

/* Prev button: top-right moves inward, padding on right */
.carousel-control-prev .carousel-control-inner {
	clip-path: polygon(
		0 0,       /* top-left */
		80% 0,     /* top-right inward */
		100% 100%, /* bottom-right */
		0 100%     /* bottom-left */
	);
	padding-right: 25px; /* keep chevron visible */
}

.carousel-control-prev .carousel-control-inner:after {
	clip-path: polygon(
		0 0,       /* top-left */
		80% 0,     /* top-right inward */
		100% 100%, /* bottom-right */
		0 100%     /* bottom-left */
	);
}

/* Next button: top-left moves inward, padding on left */
.carousel-control-next .carousel-control-inner {
	clip-path: polygon(
		20% 0,    /* top-left inward */
		100% 0,   /* top-right */
		100% 100%,/* bottom-right */
		0 100%    /* bottom-left */
	);
	padding-left: 25px; /* keep chevron visible */
}

.carousel-control-next .carousel-control-inner:after {
	clip-path: polygon(
		20% 0,    /* top-left inward */
		100% 0,   /* top-right */
		100% 100%,/* bottom-right */
		0 100%    /* bottom-left */
	);
}

/* Hover overlay */
.carousel-control-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	background-color: var(--lgreen);
	transform: translateX(-100%);
	transition: transform 0.45s cubic-bezier(.2,.9,.2,1);
	z-index: 1;
	pointer-events: none;
}


.carousel-control-prev .carousel-control-inner::after {
	transform: translateX(-100%); /* slide in from right */
}

.carousel-control-next .carousel-control-inner::after {
	transform: translateX(100%); /* slide in from left */
}

/* Slide overlay in on hover/focus */
.carousel-control-prev:hover .carousel-control-inner::after,
.carousel-control-prev:focus .carousel-control-inner::after {
	transform: translateX(0);
}

.carousel-control-next:hover .carousel-control-inner::after,
.carousel-control-next:focus .carousel-control-inner::after {
	transform: translateX(0);
}

/* Icons stay above overlay */
.carousel-control-prev-icon,
.carousel-control-next-icon {
	background-image: none;
	font-size: 16px;
	width: auto;
	height: auto;
	position: relative;
	z-index: 2;
	color: white;
}

@media (min-width: 768px) {
	.carousel-control-prev-icon, .carousel-control-next-icon
	{
		font-size: 30px;
	}
}


/*END Carosel Indicators*/





/* =========================================
   TWO-PART SLIDER BASE
========================================= */
.two-part-slider {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  background: var(--white);
}

/* =========================================
   SLIDES WRAPPER
========================================= */
.two-part-slider .slides-outer,
.two-part-slider .slides-inner {
  width: 100%;
  height: 100%;
}

.two-part-slider .slides-inner {
  position: relative;
}

.two-part-slider .cornertext
{
	position: absolute;
	left: -10px;
	text-transform: uppercase;
	font-size: 100px;
	font-weight: 900;
	line-height: normal;
	bottom: -26px;
	opacity: .3;
	white-space: nowrap;
}

@media (min-width: 992px) {
	
	.two-part-slider .cornertext
	{
		left: -7px;
		transform: skewX(10deg);
	}
	
	.two-part-slider .slide-0 .cornertext
	{
		left: 90px;
	}	
}

/* =========================================
   SLIDE BASE STYLES
========================================= */
.two-part-slider .slide {
  position: relative;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-sizing: border-box;
  transform-origin: top left;
  overflow: hidden;
  z-index: 1;
}

/* Alternate transform origin for slide-1 */
.two-part-slider .slide-1 {
  transform-origin: bottom left;
}

/* =========================================
   SLIDE BACKGROUND (pseudo-element)
========================================= */
.two-part-slider .slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: -1;
}

/* =========================================
   BUTTONS
========================================= */
.two-part-slider .next-slide,
.two-part-slider .prev-slide {
  display: none;
}

/* =========================================
   SLIDE CONTENT
========================================= */
.two-part-slider .slide-content {
  width: 100%;
  height: 100%;
  min-height: 450px;
  padding: 30px 30px 80px 30px;
  transition: opacity 0.6s ease-in-out, background 0.6s ease-in-out;
  background-color: rgba(51, 51, 51, 0.85);
}

.two-part-slider .slide-content .slideinner
{
	z-index: 1;
}


.two-part-slider .slide-content .slideinner h1,
.two-part-slider .slide-content .slideinner h2.sizeh1
{
	white-space: normal;        /* allow normal wrapping at spaces */
	overflow-wrap: break-word;  /* modern: break long words if needed */
	word-wrap: break-word;      /* legacy alias, still useful */
	word-break: break-word;  
}


@media (max-width: 767px) {
	.two-part-slider .slide-content .slideinner .large p
	{
		font-size: 16px;
		line-height: 24px
	}
}

.two-part-slider .slide-0 {
  margin-bottom: 44px;
}

.two-part-slider .slide-0.nomargin
{
	margin-bottom: 0;
}

/* =========================================
   DESKTOP STYLES
========================================= */
@media (min-width: 992px) {
  .two-part-slider .slide {
    position: absolute;
    width: calc(75% + 18px);
    transition: margin 0.6s ease, left 0.6s ease, background 0.6s ease;
  }

  .two-part-slider .slide-content {
    min-height: none;
  }

  .two-part-slider {
    height: 600px;
  }

  .two-part-slider .btnplus {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	  z-index: 2;
  }

  .two-part-slider .next-slide {
    right: 100px;
	  display: block;
  }

  .two-part-slider .prev-slide {
    left: 100px;
    display: none;
  }

  .two-part-slider.shifted .next-slide {
    display: none;
  }

  .two-part-slider.shifted .prev-slide {
    display: block;
  }

	.two-part-slider .slideinner {
		transform: skewX(10deg);
		margin-left: 100px;
		margin-right: 100px;
		  transition: opacity 0.6s ease-in-out;

	}
	
	.two-part-slider .slide-0 .slideinner {
		opacity: 1;
	}
	
	.two-part-slider .slide-1 .slideinner {
		opacity: 0;
	}
	
	.two-part-slider.shifted .slide-0 .slideinner {
		opacity: 0;
	}
	
	.two-part-slider.shifted .slide-1 .slideinner {
		opacity: 1;
	}

  .two-part-slider.shifted .slide-0 {
    left: -50%;
    z-index: 1;
    margin-left: 44px;
  }

  .two-part-slider.shifted .slide-1 {
    left: 25%;
    z-index: 2;
    margin-left: 0;
  }

  .two-part-slider .slide-0 {
    left: 0;
    z-index: 2;
    margin-left: 0;
    margin-bottom: 0;
  }

  .two-part-slider .slide-1 {
    left: 75%;
    z-index: 1;
    margin-left: -44px;
  }

  .two-part-slider .slide::before {
    transform: skewX(10deg);
    transform-origin: top left;
  }

  .two-part-slider .slide-1::before {
    transform-origin: bottom left;
  }

  .two-part-slider .slide {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transform: skewX(-10deg);
    transform-origin: top left;
  }

  .two-part-slider .slide-1 {
    transform-origin: bottom left;
  }

  .two-part-slider .slide-0 .slide-content {
    background-color: rgba(51, 51, 51, 0.85);
  }

  .two-part-slider .slide-1 .slide-content {
    background-color: rgba(188, 178, 164, 0.75);
  }

  .two-part-slider.shifted .slide-0 .slide-content {
    background-color: rgba(188, 178, 164, 0.75);
  }

  .two-part-slider.shifted .slide-1 .slide-content {
    background-color: rgba(51, 51, 51, 0.85);
  }
}


/*Announcement Banner*/
.announcementbanner
{
	background-color: var(--dgreen);
	padding:40px 0px;
}

.announcementbanner h3
{
	display: inline-block;
	margin-bottom: 0;
}

.announcementbanner p:last-child
{
	margin-bottom: 0;
}

.announcementbanner .icon
{
	width: 100px;
	display: inline-block;
}

.announcementbanner .icon
{
	margin-right: 10px;
}
/*END Announcement Banner*/


/*Callouts*/
.callouts .calloutsinner
{
	background-color: var(--dgreen);
	padding:40px 40px;
	padding-bottom: 0;
	clip-path: polygon(
    40px 0,          /* top-left cut */
    100% 0,
    100% calc(100% - 40px),  /* bottom-right cut */
    calc(100% - 40px) 100%, 
    0 100%,
    0 40px);
}

.callouts .calloutsinner .icon
{
	width: 140px;
	margin-left: auto;
	margin-right: auto;
}
.callouts .calloutsinner .icon.hastext
{
	margin-bottom: 20px;
}

.callouts .column
{
	position: relative;
}

.callouts .column:after{
	border-bottom:  0.5px solid var(--mgreen);
	content: '';
	width: 100%;
	height: 1px;
	right: 0;
	position: absolute;
	bottom: 0;
}

.callouts .column
{
	padding-bottom: 40px;
	margin-bottom: 40px;
}


.callouts .column:last-child:after
{
	display: none;
}


@media (min-width: 992px) {
	.callouts .column
	{
		padding-bottom: 0px;
	}

	.callouts .column:after{
		height: 100%;
		width: auto;
		border-right:  0.5px solid var(--mgreen);
		border-bottom: 0;
		bottom: auto;
		top: 0;
	}
}
/*END Callouts*/


/*Columned Content*/
.columnedcontent.ltan
{
	background-color: var(--ltan);
	padding: 80px 0px;
}

.columnedcontent.mgreen
{
	background-color: var(--mgreen);
	padding: 80px 0px;
}

.columnedcontent.dgrey
{
	background-color: var(--dgrey);
	padding: 80px 0px;
}

.columnedcontent .text.hasimage
{
	margin-top: 30px;
}
/*END Columned Content*/



/*Highlighted Element*/
.highlightedelement
{
	background-size: cover;
	background-position: center center; 
	background-repeat: no-repeat;
}

.highlightedelement .innerbg
{
	padding-top: 100px;
	padding-bottom: 70px;
	position: relative;
	z-index:2;
}

.highlightedelement .innerbg:before
{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: .9;
}

.highlightedelement.ltan .innerbg:before
{
	background-color: var(--ltan);
}

.highlightedelement.mgreen .innerbg:before
{
	background-color: var(--mgreen);
}

.highlightedelement.dgrey .innerbg:before
{
	background-color: var(--dgrey);
}

.highlightedelement .alternaterow
{
	margin-bottom: 50px;
}

.highlightedelement .alternaterow:last-child
{
	margin-bottom: 0;	
}

.highlightedelement .innerbg h6.grayheading
{
	margin-bottom: 75px;
}

.highlightedelement.ltan .innerbg h6.grayheading
{
	background-color: var(--white);
}

.highlightedelement.mgreen .innerbg h6.grayheading
{
	background-color: var(--lgreen);
	color: var(--white);
}

.highlightedelement p,
.highlightedelement.coloredlist li
{
	font-weight: 600;
}
/*END Highlighted Element*/


/*Image with Borders and Bevel*/
.imagestyle {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
}

/* Base image */
.imagestyle img {
	display: block;
	width: 100%;
	height: auto;
}

/* hasborder only */
.imagestyle.hasborder:not(.hasbevel) {
	border: 10px solid var(--lgrey);
}

/* hasbevel only */
.imagestyle.hasbevel {
	--edge-size: 40px;
	clip-path: polygon(
		var(--edge-size) 0%,
		100% 0,
		100% calc(100% - var(--edge-size)),
		calc(100% - var(--edge-size)) 100%,
		0 100%,
		0% var(--edge-size)
	);
}

/* hasbevel + hasborder */
.imagestyle.hasbevel.hasborder {
	--border-width: 10px;
	--edge-size: 40px;
	--border-color: var(--lgrey);
	background-color: var(--border-color); /* this becomes the border color */
	clip-path: polygon(
		var(--edge-size) 0%,
		100% 0,
		100% calc(100% - var(--edge-size)),
		calc(100% - var(--edge-size)) 100%,
		0 100%,
		0% var(--edge-size)
	);
	height: 100%;
}

/* Inner wrapper (offset inward by border width) */
.imagestyle.hasbevel.hasborder .imageinner {
	clip-path: polygon(
		var(--border-width) calc(var(--edge-size) + var(--border-width) * 0.5),
		calc(var(--edge-size) + var(--border-width) * 0.5) var(--border-width),
		calc(100% - var(--border-width)) var(--border-width),
		calc(100% - var(--border-width)) calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)),
		calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width)),
		var(--border-width) calc(100% - var(--border-width))
	);
	height: 100%;
}

.imagestyle.hasbevel.hasborder .imageinner img {
	width: 100%;
	height: 100%;
	display: block;
}

.highlightedelement .imagestyle.hasbevel.hasborder
{
	background-color: var(--white);
}
/*END Image with Borders and Bevel*/


/*Columns with Border*/
.colcolumn.addborder .inner {
	border: 0; /* remove standard border */
	padding: 100px 60px;
	width: 100%;
	position: relative;
	clip-path: polygon(
		var(--edge-size) 0%,
		100% 0,
		100% calc(100% - var(--edge-size)),
		calc(100% - var(--edge-size)) 100%,
		0 100%,
		0% var(--edge-size)
	);
}

/* Outer layer = border color */
.colcolumn.addborder .inner::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -2;
	clip-path: inherit;
}

/* Inner layer = transparent hole */
.colcolumn.addborder .inner::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	clip-path: polygon(
		var(--border-width) calc(var(--edge-size) + var(--border-width) * 0.5),
		calc(var(--edge-size) + var(--border-width) * 0.5) var(--border-width),
		calc(100% - var(--border-width)) var(--border-width),
		calc(100% - var(--border-width)) calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)),
		calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width)),
		calc(var(--border-width)) calc(100% - var(--border-width))
	);
	transition: clip-path 500ms;
}

/* Color-specific borders using ::before */
.transparent .colcolumn.addborder .inner::before
{
	background-color: var(--dgrey);
}

.transparent .colcolumn.addborder .inner::after {
	background: var(--white);	 
}

.ltan .colcolumn.addborder .inner::before
{
	background-color: var(--white);
}

.ltan .colcolumn.addborder .inner::after {
	background: var(--ltan);	 
}

.mgreen .colcolumn.addborder .inner::before {
	background: var(--lgreen);
}

.mgreen .colcolumn.addborder .inner::after
{
	background-color: var(--mgreen);
}

.dgrey .colcolumn.addborder .inner::before {
	background: var(--dtan);
}

.dgrey .colcolumn.addborder .inner::after
{
	background-color: var(--dgrey);
}
/*END Columns with Border*/


/*Photo Gallery*/
.photogallery .gallerycolumn
{
	height: 300px;
	overflow: hidden;
	margin-bottom: 24px;
}

@media (min-width: 992px) {
	.photogallery .gallerycolumn.columns1
	{
		height: 600px;
	}

	.photogallery .gallerycolumn.columns2
	{
		height: 400px;
	}
}

.photogallery .gallerycolumn img
{
	object-fit: cover;
	width: 100%;
	height: 100%;
}






.photogallery .gallerycolumn .doublecol {
	display: block; /* Reset Bootstrap row flex behavior */
	height: 100%;
}

.photogallery .gallerycolumn .doublecol .col-12 {
	margin: 0;
	height: calc(50% - 12px); /* half height minus half the gap */
}


.photogallery .gallerycolumn .doublecol .col-12:first-child {
	margin-bottom: 24px; /* full 24px vertical gap */
}

/*END Photo Gallery*/


/*Theme Footer*/
.footertexture
{
	background-color: var(--dgrey);
	padding-top: 90px;
	padding-bottom: 20px;
	color: var(--white);
}

.footertexture p
{
	color: var(--white);
	
}

.footertexture a
{
	text-transform: uppercase;
	text-decoration: none;
	color: var(--mgrey);
}

.footertexture a:hover
{
	color: var(--lgrey);
}

.footertexture .title
{
	margin-bottom: 20px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--white);
}

.footertexture .content
{
    white-space: normal;        /* allow normal wrapping at spaces */
    overflow-wrap: break-word;  /* modern: break long words if needed */
    word-wrap: break-word;      /* legacy alias, still useful */
    word-break: break-word;     /* WebKit fallback when overflow-wrap fails */
}

.footertexture .linkul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footertexture .linkul li
{
	margin-bottom: 15px;
}

.footertexture .linkul li:last-child
{
	margin-bottom: 0px;
}

.footertexture .byrow
{
	margin-top: 150px;
	text-transform: uppercase;
	color: var(--mgrey);
    font-weight: 700;
	font-size: 12px;
}

@media (min-width: 992px) {
	.footertexture .byrow .leftside
	{
		text-align: left;
	}
	
	.footertexture .byrow .rightside
	{
		text-align: right;
	}
	
}
/*END Theme Footer*/


/*Social Media*/
.socialmedia
{
	list-style: none;
	margin: 0;
	padding: 0;
	line-height: 1;
}

.socialmedia li
{
	display: inline-block;
	font-size: 32px;
}

.socialmedia li a:hover, .socialmedia li a:focus
{
	text-decoration: none;
}

.socialmedia li a:hover
{
	opacity: .7;	
}
/*END Social Media*/


/*Category Sliders*/
.categorysliders .categorysection
{
	padding-top: 50px;
	padding-bottom: 50px;
}
.categorysliders .categorysection.ltan
{
	background-color: var(--ltan);
}

.categorysliders .categorysection.lttan
{
	background-color: var(--lttan);
}

.categorysliders .shopallarea
{
	text-align: center;
}

.categorysliders .shopallarea h5
{
	margin-bottom: 20px;
}

.categorysliders .shopallarea p
{
	font-weight:800;
	text-transform:uppercase;
	color: var(--mgreen);
}

.categorysliders .slick-item .shopallarea
{
	height: auto;
	word-break: break-word;
}

.categorysliders .slick-track {
    margin-left: -10px;
    margin-right: -10px;
}

.categorysliders .slick-slide {
    padding: 0 10px;
}

.categorysliders .slider-wrapper
{
	padding-left: 70px;
	padding-right: 50px;
	position: relative;
}

@media (min-width: 768px) {
	.categorysliders .slider-wrapper
	{
		padding-left: 100px;
		padding-right: 80px;
	}
}

.categorysliders .my-slick-slider
{
	position: static;
}

.my-slick-slider,
.my-slick-slider .slick-track,
.my-slick-slider .slick-list {
    display: flex !important;
}

.my-slick-slider .slick-slide,
.my-slick-slider .slick-item {
    height: auto !important;
}

.my-slick-slider .slick-slide > div {
    height: 100%;
}

.my-slick-slider
{
	width: 100%!important;
}

.slick-list
{
	width: 100%;
}
/*END Category Sliders*/


/*Popular Products - used on parent category page*/
.popularproducts
{
	background-color: var(--dgreen);
	padding-top: 50px;
	padding-bottom: 50px;
}

.popularproducts .column
{
	margin-bottom: 30px;
}


/*Reuseable Prouct Style*/
.productstyle
{
	--edge-size: 40px;
	clip-path: polygon(
		var(--edge-size) 0%,
		100% 0,
		100% calc(100% - var(--edge-size)),
		calc(100% - var(--edge-size)) 100%,
		0 100%,
		0% var(--edge-size)
	);
	background-color: var(--white);
	text-align: center;
	padding: 30px 20px;
	position: relative;
	align-items: center;
	display: flex;
	width: 100%;
}

.productstyle .productstyleinner
{
	width: 100%;
}

.productstyle .product-title
{
	font-weight: 900;
	font-size: 18px;
	margin-bottom: 12px;
}

.productstyle a
{
	text-decoration: none;
	width: 100%;
}

.productstyle a img
{
	width: 100%;
}

.productstyle a .product-title,
.productstyle a:visited .product-title
{
	color: #000000;
}

.productstyle a:hover .product-title
{
	color: var(--lgreen);
}


.productstyle a .product-price
{
	font-weight:600;
	color: var(--mgreen);
	font-size:14px
}

.productstyleouter
{
	position: relative;
	padding-top: 20px;
	width: 100%;
}
/*END Reuseable Prouct Style*/


/*Bread Crumbs*/
body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a
{
	text-decoration: none;
	font-size: 12px;
	color: var(--mgreen);
	font-weight: 600;
}

.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb
{
	text-align: right; 
	margin-bottom: 0;
	font-weight: 600;
	padding-top: 10px;
	padding-bottom: 10px;
	text-transform: uppercase;
	color: var(--mgreen);
	font-size: 12px;
}
/*END Bread Crumbs*/


/*Archive Product Page*/
.parentproductcontainer
{
	margin-top: 50px;
	margin-bottom: 50px;
}

.productgridwrapper {
	position: relative;
	display: inline-block;
	overflow: hidden;
	width: 100%;
}

.productgridwrapper {
	--border-width: 7px;
	--edge-size: 40px;
	--border-color: var(--white);
	background-color: var(--border-color); /* this becomes the border color */
	clip-path: polygon(
		var(--edge-size) 0%,
		100% 0,
		100% calc(100% - var(--edge-size)),
		calc(100% - var(--edge-size)) 100%,
		0 100%,
		0% var(--edge-size)
	);
	height: 100%;
}

.productgridwrapper .productgridinner {
	clip-path: polygon(
		var(--border-width) calc(var(--edge-size) + var(--border-width) * 0.5),
		calc(var(--edge-size) + var(--border-width) * 0.5) var(--border-width),
		calc(100% - var(--border-width)) var(--border-width),
		calc(100% - var(--border-width)) calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)),
		calc(100% - calc(var(--edge-size) + var(--border-width) * 0.5)) calc(100% - var(--border-width)),
		var(--border-width) calc(100% - var(--border-width))
	);
	height: 100%;
	background-color: var(--white);
	padding: 30px;
	text-align: center;
}

.sale:not(.outofstock) .productgridwrapper
{
	background-color: var(--dgreen);
}

.product .badgeouter
{
	top: -10px;
}

body.woocommerce ul.products li.product .woocommerce-loop-product__title
{
	font-size:18px;
	line-height:28px
}

body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price
{
	color: var(--lgreen);
	font-size:16px;
	font-weight:600;
}

body.woocommerce ul.products li.product .price .from
{
	color: var(--lgreen);
	font-size:13px;
	font-weight:600;
}

ul.products.columns-3 li.product {
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.products.columns-3 {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;   /* half of gutter */
    margin-right: -20px;  /* half of gutter */
}

ul.products.columns-3 li.product {
    width: calc(33.333% - 40px)!important; /* minus full horizontal margin */
    margin: 0 20px 40px!important;         /* 20px L/R gutter, optional bottom */
    box-sizing: border-box;
}

@media (max-width: 992px) {
    ul.products.columns-3 li.product {
        width: calc(50% - 40px)!important;
    }
}

@media (max-width: 576px) {
    ul.products.columns-3 li.product {
        width: calc(100% - 40px)!important;
    }
}

.filterareasection
{
	background-color: var(--lgrey);
	padding: 30px;
	width: 100%;
}
/*END Archive Product Page*/


/*Badges*/
.badgeouter
{
	z-index: 1;
	position: absolute;
	top: 0;
	text-align: center;
	width: 100%;
}

.badgeouter h5.greyboxheading
{
	margin-bottom: 0;
}

h5.greyboxheading.mtan
{
	background-color: var(--mtan);
	color: var(--dgreen);
}

h5.greyboxheading.dgreen
{
	background-color: var(--dgreen);
	color: var(--white);
}

h5.greyboxheading.red
{
	background-color: var(--red);
	color: var(--white);
}
/*END Badges*/



/*Page Navi Styles*/
.wp-pagenavi
{
	text-align: center;
}

.wp-pagenavi a:hover{
	text-decoration: none;
}

body .wp-pagenavi a, 
body .wp-pagenavi span
{
	border: 0;
	border-radius: 50%;
	width: 25px;
	height: 25px;
	display: inline-flex;
	font-weight: 400;
	color: var(--mtan);
	align-items: center;
	justify-content: center;
	font-size: 16px;
	line-height: 16px;
	font-weight: bold;
	background-color: var(--lgrey);
}

.wp-pagenavi span.current
{
	font-weight: normal;
	background-color: var(--mgreen);
	color: #ffffff;
	border: 0;
}
/*END Page Navi Styles*/


/*Product Single*/
.single-product .product .onsale
{
	background-color: var(--lgreen);
    font-size: 21px;
    text-transform: uppercase;
    border-radius: 0;
    min-height: 0;
    min-width: 0;
    padding: 5px 10px;
    line-height: normal;
	clip-path: polygon(
		7px 0,          /* top-left cut */
		100% 0,
		100% calc(100% - 7px),  /* bottom-right cut */
		calc(100% - 7px) 100%, 
		0 100%,
		0 7px);
	 );
	left: 0;
	top: 0;
}

.single-product .deals
{
	margin-bottom: 50px;
}

.single-product .quantity-wrapper
{
	display: inline-flex;
	align-items: center;
	margin-right: 20px;
	margin-bottom: 20px;
}

.single-product .quantity-wrapper input.qty::-webkit-outer-spin-button,
.single-product .quantity-wrapper input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.single-product .quantity-wrapper input.qty[type=number] {
    -moz-appearance: textfield;
	font-weight: bold;
	border: 0;
}

.single-product .woocommerce-product-details__short-description
{
	padding-bottom: 20px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--mtan);
}

.single-product .product_meta
{
	padding-top: 20px;
	margin-top: 30px;
	border-top: 1px solid var(--mtan);
	font-size: 10px;
}

.single-product .summary .cart
{
	margin-top: 20px;
}

/* Move variation label above the select box */
.single-product .summary .variations tr th.label {
    display: block;       /* Make the <th> act like a block */
    margin-bottom: 5px;   /* Space between label and select */
    width: 100%;          /* Full width so it’s on its own line */
	text-transform: uppercase;
}

/* Ensure the select and reset link appear below the label */
.single-product .summary .variations tr td.value {
    display: block;
}

/* Optional: add spacing between each variation row */
.single-product .summary .variations tr {
    margin-bottom: 15px;
    display: block;
}

body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price,
body.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price 
{
	color: var(--mgreen);
	font-weight:700;
}

.woocommerce.single-product div.product form.cart .button
{
	float: none;
}

.woocommerce.single-product div.product form.cart div.quantity
{
	float: none;
	margin-left: 10px;
	margin-right: 10px;
}

.woocommerce.single-product div.product form.cart .variations select,
.woocommerce.single-product .component .component_options_select
{
	font-size:14px;
	font-weight:600;
	padding:10px 15px;
	border:1px solid var(--dgreen);
	width: 100%;

}

.single-product h1.product_title
{
	font-size:36px;
	font-weight:800;
	text-transform:none;
	line-height: 46px;
}

.single-product .productcallout
{
	margin-top: 50px;
	padding: 30px;
	background-color: var(--dgreen);
	clip-path: polygon(
    40px 0,          /* top-left cut */
    100% 0,
    100% calc(100% - 40px),  /* bottom-right cut */
    calc(100% - 40px) 100%, 
    0 100%,
    0 40px);
}

.single-product .productcallout .title
{
	font-weight: 800;
	margin-bottom: 15px;
}

.single-product .productcallout p
{
	margin: 0;
}

.productcallout .calloutcol
{
	position: relative;
}

.productcallout .calloutcol {
	border-bottom: 1px solid #fff;
	padding-bottom: 15px;
	margin-bottom: 15px;
}

/* Remove border from last column in stacked layout */
.productcallout .calloutcol:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

/* Desktop (992px and up) - add 1px white border between columns, except last */
@media (min-width: 992px) {
	.productcallout .calloutcol
	{
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}
	
    .productcallout .calloutcol:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: 1px;
        height: 100%;
        background: #fff;
    }
}

.single-product .sezzle-shopify-info-button .sezzle-checkout-button-wrapper .sezzle-button-text .sezzle-payment-amount
{
	font-weight: 500;
	font-size: 14px;
}

.single-product .afterpay-paragraph
{
	font-weight:500;
	font-size:14px;
	line-height:18px;
}

body.single-product.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product .stock
{
	color: var(--red);
	text-transform:uppercase;
	font-weight:700;
}
/*END Product Single*/


/*WooCommerce Messages*/
.woocommerce-error, .woocommerce-info, .woocommerce-message
{
	border-top: 7px solid var(--blue);	
}

.woocommerce-message::before,
.woocommerce-info::before
{
	color: var(--blue);
}

.acfw-notice-text
{
	font-size: 21px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--blue);
}
/*END WooCommerce Messages*/


/*Text Banner*/
.textbanner
{
	margin-bottom: 44px;
}

.textbanner h1
{
	margin-bottom: 0;
}
/*END Text Banner*/


/*Composite Products*/
body.single-product .composite_form .composite_pagination ul li.pagination_element_current
{
	background-color: var(--lgreen);
}

body.single-product .composite_form .composite_pagination ul li.pagination_element_current:after
{
	border-left-color: var(--lgreen);
}

body.single-product .composite_form .composite_pagination ul li.pagination_element_current:before
{
	border-top-color: var(--lgreen);
	border-bottom-color: var(--lgreen);
}

body.single-product .composite_pagination .element_index
{
	color: #fff;
	font-weight 600;
}

body.single-product .composite_pagination a.element_link,
body.single-product .composite_pagination a.element_link:visited
{
	color:#fff;
	text-decoration: none;
	font-weight: 600;
}

body.single-product .composite_form .composite_pagination ul li 
{
	background-color: var(--mgreen);
}

body.single-product .composite_form .composite_pagination ul li:before 
{
	border-top-color: var(--mgreen);
	border-bottom-color: var(--mgreen);
}

body.single-product .composite_form .composite_pagination ul li:after 
{
	border-left-color: var(--mgreen);
}

body.single-product h2.component_title .step_title,
body.single-product h2.component_title .step_index
{
	font-size:30px;
	line-height:36px;
	font-weight:700;
}

body.single-product h3.composited_product_title {
    font-size: 30px;
    line-height: 36px;
    font-weight: 700;
    text-transform: none;
}

body.single-product p.component_section_title {
    font-weight: 700;
    text-transform: uppercase;
}

body.single-product .composite_summary li.summary_element h3 
{
	font-size:18px;
	line-height:24px;
	font-weight:600;
}

body.single-product .composite_summary li.summary_element span.summary_element_content span.content_product_title 
{
	font-size:18px;
	font-weight:800; 
}


.composite_form .composite_navigation .next,
.composite_form .composite_navigation .prev
{
	display: flex;
	align-items: center;
}

.composite_form .composite_navigation .page_button
{
	max-width: 45%;
}

.composite_form .composite_navigation .next span
{
	padding-left: 20px;
}

.composite_form .composite_navigation .prev span
{
	padding-right: 20px;
}

.composite_form .composite_navigation .next span:after {
	font-family: "FontAwesomeCP";
	content: "" /*rtl:''*/;
	position: absolute;
	top: 50%;
	right: 20px;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.composite_form .composite_navigation .prev span:before {
	font-family: "FontAwesomeCP";
	content: "" /*rtl:''*/;
	position: absolute;
	top: 50%;
	left: 20px;
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

body.single-product .composite_navigation_inner
{
	display: flex;
	justify-content: space-between;
}

body.single-product .composite_form .composite_navigation.paged .prev
{
	float: none;
	margin-left: 12px;
}

body.single-product .composite_form .composite_navigation.paged .next
{
	float: none;
	margin-left: auto;
	margin-right: 12px;
}
/*END Composite Products*/


/*Cart and Checkout Pages and My Account*/
.woocommerce-cart table.cart td.actions .coupon .input-text
{
	min-width: 100px;
}

body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-cart h2,
body.woocommerce-checkout .woocommerce h2
{
	font-size:30px;
	line-height:36px;
	text-transform:uppercase;
}

body.woocommerce-account .woocommerce-MyAccount-content h3,
body.woocommerce-account .woocommerce-MyAccount-content h4,
body.woocommerce-cart h3,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-cart h4,
body.woocommerce-checkout .woocommerce h4
{
	font-size:24px;
	line-height:30px;
	text-transform:uppercase;
}


body.woocommerce-account .woocommerce-MyAccount-content h5,
body.woocommerce-cart h5,
body.woocommerce-checkout .woocommerce h5
{
	font-size:21px;
	line-height:28px;
	text-transform:uppercase;
}

body.woocommerce-checkout .woocommerce table.shop_table td
{
	font-weight:500
}

body.woocommerce-checkout .woocommerce table.shop_table tbody th,
body.woocommerce-checkout .woocommerce table.shop_table tfoot td,
body.woocommerce-checkout .woocommerce table.shop_table tfoot th
{
	font-weight:600;
}

body.woocommerce-checkout .woocommerce ul#shipping_method .amount
{
	font-weight:600;
}

body.woocommerce-checkout .order-total strong
{
	
	font-weight: 700;
}

body.woocommerce-checkout .woocommerce form .form-row .points-field 
{
	width: 100%;
}

body.woocommerce-checkout .woocommerce label
{
	font-weight: 500;
}

.woocommerce-MyAccount-navigation
{
	background-color: var(--lgrey);
	padding: 30px;
}

.woocommerce-MyAccount-navigation ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li
{
	margin-bottom: 5px;
}

.woocommerce-MyAccount-navigation ul li:last-child
{
	margin-bottom: 0px;
}

.woocommerce-MyAccount-navigation ul li a
{
	text-decoration: none;
}

body.woocommerce-giftcards .woocommerce-MyAccount-content form
{
	margin-bottom: 30px;
}
/*END Cart and Checkout Pages and My Account*/


/*WooCommerce Buttons*/
.woocommerce a.button.alt,
.woocommerce button.button,
.woocommerce button.button:disabled,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button
{
	background-color: var(--mgreen)!important;
	color: var(--white)!important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button:hover,
.woocommerce button.button:disabled:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover
{
	background-color: var(--lgreen)!important;
	color: var(--white)!important;
}
/*WooCommerce Buttons*/


/*Product Customizations*/
.custom-product-options label {
    font-weight: 700;
    text-transform: uppercase;
}
/*Product Customizations*/