@charset "utf-8";

/* CSS Document */


/* Text above header */
.site-header-text {
	background-color: var(--red_dark);
	color: #fff;
	font-size: 0.8888em;
	padding: var(--space_xxxsmall) var(--gutter_width);
	text-align: center;
}

.site-header-text * {
	margin: 0;
}


/* Main site header */
.site-header a {
	text-decoration: none;
}

.site-header-wrap {
	align-items: center;
	box-shadow: var(--box_shadow);
	display: flex;
	padding: var(--space_small) var(--gutter_width);
	position: relative;
}

.site-branding {
	background-color: #fff;
	box-shadow: none;
	flex-grow: 1;
	order: 1;
	padding: 0;
}

/* Holds logo */
.site-logo {
	width: 40px;
}

.site-logo a {
	display: block;
}

/* different logo at mobile :( */
.logo-regs {
	display: none;
}


#site-navigation {
	height: 28px;

	/*overflow: hidden;*/
	order: 4;
}

.mobile-menu-toggle {
	background: none;
	padding: 0 2px;
	width: 32px;
	z-index: 12;
}

/*
.site-header .cart-contents {
	color: inherit;
	z-index: 12;
	display: flex;
	align-items: center;
	font-size: 0.8888em;
	order: 3;
	margin: 0 1.25rem;
}
*/

.site-header .al-header-cart {
	align-items: center;
	display: flex;
	margin: 0 1.25rem;
	order: 3;
	z-index: 12;
}

.al-header-cart .header-cart-toggle {
	background-color: transparent;
	border-radius: 0;
	color: inherit;
	font-size: 0.8888em;
	padding: 2px;
}

.al-header-cart .header-cart-toggle.toggled::after {
	background-color: rgba(0, 0, 0, 0.5);
	bottom: 0;
	content: "";
	display: block;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;

}

.header-cart-toggle .cart-contents {
	align-items: center;
	display: flex;
}

.header-cart {
	background-color: white;
	max-width: 540px;
	padding: var(--space_xlarge) var(--gutter_width);
	
	/*transition: all 0.5s ease-out;*/
	
	transition: opacity 0.25s ease-out;
}

/* 4-25-23 - Site notices now display on the cart page in this div */
.woocommerce-cart-form .header-cart {
	margin-bottom: var(--space_xlarge);
	max-width: none;
	padding: 0;
}

.header-cart.toggled-off {
	top: var(--al_header_cart_offset, 0);
	transform: scale(1);
}

.header-cart.toggled-on {
	left: auto;
	min-height: 100vh;
	position: absolute;
	right: 0;
	top: var(--al_header_cart_offset, 0);
	width: 100%;
	z-index: 99;
}

.al-header-cart-top {
	align-items: center;
	display: flex;
	margin-bottom: 1rem;
}

.al-header-cart-title {

	/* 21/31 */
	font-size: 1.3125rem;
	font-weight: 700;
	line-height: 1.47619047619;
}

.header-cart-inner-toggle {
	background-color: transparent;
	border-radius: 0;
	color: inherit;
	font-size: 1.5rem;
	line-height: 1;
	margin-left: auto;
	padding: 2px;
}

.header-cart-tabs-controls {
	border-bottom: 1px solid var(--border_color);
}

.tabs-menu {
	display: flex;
}

.tabs-menu li + li {
	margin-left: 1.5rem;
}

.tabs-menu button.tab-button {
	background-color: transparent;
	border-radius: 2px;
	color: inherit;
	font-ize: 1.125rem;
	line-height: 1.3333;
	padding: 8px 1px;
	position: relative;
}

.tabs-menu button.tab-button[aria-expanded="true"] {
	font-weight: 700;
}

.tab-button sup {
	align-items: center;
	background-color: var(--red);
	border-radius: 8px;
	color: white;
	display: inline-flex;
	font-weight: 400;
	height: 16px;
	justify-content: center;
	width: 16px;
}

.tabs-menu button.tab-button[aria-expanded="true"]::after {
	background-color: currentColor;
	border-radius: 2px;
	content: "";
	display: block;
	height: 4px;
	left: 0;
	margin-top: -2px;
	position: absolute;
	right: 0;
	top: 100%;
}

.tab-inactive {
	left: -9999em;
	opacity: 0;
	position: absolute;
	top: -9999em;
	transform: scale(0);
	transition: none;
	visibility: hidden;
}

.tab-active {
	opacity: 1;
	position: static;
	transform: none;
	visibility: visible;
}


/* 3-6-23 - Added Smile rewards balance in the minicart */
.al-minicart-points {
	border: 1px solid var(--border_color);
	border-radius: 20px;
	margin-top: var(--space_normal);
	padding: var(--space_normal);
}

.minicart-points-inner {
	align-items: center;
	display: flex;
	font-size: 1rem;
	line-height: 1.5;
}

.minicart-points-image {
	flex-basis: 100px;
	margin: 0 16px 0 8px;
	min-width: 100px;
}

.minicart-points-image img[class^="attachment-"] {
	border: none;
	border-radius: 0;
}

.minicart-points-content {
	flex-grow: 1;
}

.minicart-points-name {
	font-weight: 700;
}

.minicart-points-text {
	display: flex;
	justify-content: space-between;
}

.points-text-learnmore {
	margin-left: var(--space_normal);
}


.woocommerce-mini-cart {

	/*border-bottom: 1px solid var(--border_color);*/

	/* Removed because doesn't show with cart notices in minicart */
}

.woocommerce-mini-cart-item {
	align-items: center;
	display: flex;
	padding: 24px 0;
}

.woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
	border-top: 1px solid var(--border_color);
}

.al-minicart-image {
	min-width: 60px;
	width: 60px;
}

.al-minicart-text {
	flex-grow: 1;

	/* 14/23 */
	font-size: 0.875rem;
	line-height: 1.6428571428571;
	padding: 0 24px;
}

.al-minicart-name a {
	color: inherit;
	font-weight: 700;
}

.al-minicart-sku .product-sku {
	font-size: inherit;
	line-height: inherit;
}

.al-minicart-item-data .variation {
	font-size: inherit;
}

.al-minicart-item-data .variation dt {
	display: block;
	margin-right: 0;
}

.al-minicart-item-data .variation dd {
	display: block;
}

.al-minicart-item-data .variation p {
	display: block;
}

.al-minicart-item-data .variation dd::after {
	display: none;
}

.al-minicart-quantity-price {
	align-items: center;
	display: flex;
}

.al-minicart-quantity,
.al-minicart-price {
	font-weight: 700;
}

/* Not showing this? */

/*
.al-minicart-quantity {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px !important;
	overflow: hidden;
	padding: 0 !important;
	position: absolute;
	width: 1px;
	white-space: nowrap;
	left: -9999em;	
}
*/
.al-minicart-quantity-adjust {
	margin-left: auto;
}

.al-minicart-quantity-adjust input {
	font-size: inherit;
	line-height: inherit;
	padding: 1px 2px;
	text-align: center;
	width: 60px;
}

@media (min-width: 33em) {

	.al-minicart-quantity-adjust {
		transform: translateY(-75%);
	}
}


.al-minicart-remove {
		
}

.al-minicart-remove a {
	align-items: center;
	display: flex;
	height: 20px;
	justify-content: center;
	width: 20px;
}

.al-minicart-remove .remove-icon {
	font-size: 2rem;
	line-height: 0;
}

.al-minicart-remove .remove-text {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	left: -9999em;
	margin: -1px !important;
	overflow: hidden;
	padding: 0 !important;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}


.woocommerce-mini-cart__total,
.woocommerce-mini-cart__buttons {
	display: flex;
	justify-content: space-between;
	margin: 1rem 0;
}

.woocommerce-mini-cart__total {

	/* 16/24 */
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
}

.woocommerce-mini-cart__buttons {
	height: 40px;
}

.woocommerce-mini-cart__buttons a {
	align-items: center;
	display: flex;
	flex-grow: 1;
	font-weight: 700;
	justify-content: center;
}

.woocommerce-mini-cart__buttons a.ghost {
	color: var(--red);
	margin-right: 8px;
}

.woocommerce-mini-cart__buttons a.checkout {
	margin-left: 8px;
}

/* 11-30-22 - Not sure what is adding this empty p :( */
#ppc-button-minicart {
	display: none;
}


@media (min-width: 48em) {
	
	
	.al-minicart-image {
		min-width: 100px;
		width: 100px;
	}

	.al-minicart-text {
		align-self: center;

		/* 16/24 */
		font-size: 1rem;
		line-height: 1.5;
	}

	.al-minicart-item-data .variation {
		font-size: 0.875rem;
	}
	
	.woocommerce-mini-cart__total {

		/* 18/30 */
		font-size: 1.125rem;
		line-height: 1.6666;
	}
	
	.woocommerce-mini-cart__buttons buttons {
		margin-top: 24px;
	}
	
}

@media (min-width: 78.75em) {
	
	/* Stop the left/right padding from getting any bigger */
	.header-cart {
		padding: var(--space_xlarge) 40px;
	}

	/* Always positioned on right edge */
	.header-cart.toggled-off {
		top: 0;
	}

	.header-cart.toggled-on {
		height: 100%;
		overflow: auto;
		position: fixed;
		top: 0;
	}
	
}
	


.site-header .cart-icon {
	color: var(--red);
	font-size: 1.5em;
}

.cart-contents .amount {
	font-weight: 700;
	margin-left: 0.5em;
	margin-right: 0.25em;
}

.cart-items-count::before {
	content: "(";
}

.cart-items-count::after {
	content: ")";
}

.cart-items-text {
	display: none;
}


/* Search form toggles at smallest size */
.site-header-search {
	height: 24px;
	order: 2;
}

.header-search-toggle {
	background: none;
	order: 2;
	padding: 0;
	position: absolute;
	right: calc(var(--gutter_width) + 170px);
	top: 50%;
	z-index: 12;
}

/* The position of the button needs to shift based on cart link */

/* 10+ items in cart */
.cart-contents[data-items-length="2"] + .site-header-search .header-search-toggle,
.cart-contents[data-subtotal-length="6"] + .site-header-search .header-search-toggle {
	margin-right: 0.5em;
}

/* 1000+ dollars in cart */
.cart-contents[data-subtotal-length="8"] + .site-header-search .header-search-toggle {
	margin-right: 1em;
}

.site-header-search .search-icon {
	color: var(--red);
	font-size: 1.5em;
}

.header-search {
	background: #fff;
	box-shadow: var(--box_shadow);
	left: -9999em;
	padding: var(--space_xsmall) var(--gutter_width);
	position: absolute;
	top: 100%;
	transform: translateY(-100%);
	transition: transform 0.25s ease-in-out;
	visibility: hidden;
	width: 100%;
	z-index: 10;
}

.header-search.toggled-on {
	left: 0;
	position: absolute;
	transform: translateY(0);
	visibility: visible;
}

.header-search.toggled-off {
	transform: translateY(-100%);
}

/* Search forms are always inlined */
.search-form {
	border: 1px solid var(--gray_light);
	border-radius: 1.5em;
	display: flex;
	flex-wrap: nowrap;
	overflow: hidden;
}

.search-form > label {
	width: 100%;
}

.search-form input {
	border: none;
	line-height: normal;
}

.search-form button {
	background: none;
	color: var(--red);
}

#header-doofinder-toggle {
	background: transparent;
	cursor: pointer;
	padding: 0;
}

#header-doofinder-toggle .ftmicon-search {
	color: var(--primary_color);
}

.ftmicon-catalog::before {
	content: url('data:image/svg+xml,<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.6484 0.330002H2.46875C1.1075 0.330002 0 1.43746 0 2.79871V17.8613C0 19.2225 1.1075 20.33 2.46871 20.33H15.6484C15.972 20.33 16.2343 20.0677 16.2343 19.7441V15.9784V0.915939C16.2344 0.592346 15.9721 0.330002 15.6484 0.330002ZM3.7943 7.23633C3.86324 7.02422 4.04656 6.86961 4.26727 6.83758L6.56457 6.50383L7.59176 4.42227C7.69043 4.22227 7.89414 4.09563 8.11715 4.09563C8.34023 4.09563 8.54395 4.22223 8.64262 4.42223L9.66992 6.50383L11.967 6.83758C12.1877 6.86961 12.3711 7.02422 12.44 7.23633C12.509 7.44844 12.4515 7.68129 12.2918 7.83695L10.6297 9.45731L11.0166 11.7133C11.0262 11.7554 11.0313 11.7992 11.0313 11.8442C11.0313 12.1675 10.7694 12.4297 10.4462 12.4302C10.4457 12.4302 10.4451 12.4302 10.4445 12.4302C10.3512 12.4302 10.2576 12.4079 10.1719 12.3629L8.11719 11.2826L6.06254 12.3628C5.9768 12.4079 5.88316 12.4302 5.78992 12.4302C5.6684 12.4302 5.54754 12.3924 5.44547 12.3182C5.26504 12.1872 5.17461 11.965 5.21234 11.7452L5.60484 9.45735L3.94254 7.83703C3.78289 7.68129 3.72539 7.44844 3.7943 7.23633ZM15.0625 19.1581H2.46875C1.75363 19.1581 1.17188 18.5763 1.17188 17.8613C1.17188 17.8366 1.1727 17.8121 1.1741 17.7878C1.21234 17.1067 1.77836 16.5644 2.46875 16.5644H10.9609H15.0625V19.1581Z" fill="%23C81E11"/></svg>');
	display: block;
	height: 18px;
	width: 18px;
}

/* Site uses breadcrumbs on some pages */
.site-breadcrumbs {
	font-size: 0.8888em;
	margin: var(--space_xsmall) 0;
	padding: 0 var(--gutter_width);
}

.site-breadcrumbs-inner {
	margin: 0 auto;
	max-width: 1200px;
}

.site-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

@media (min-width: 37.5em) {

	/* Logo changes */
	.site-logo {
		width: 200px;
	}

	.logo-mobile {
		display: none;
	}

	.logo-regs {
		display: block;
	}

	/* Search form no longer toggles */
	.header-search-toggle {
		display: none;
	}

	.header-search.toggled {
		left: auto;
		transform: translateY(-50%);
	}

	.header-search {
		background: none;
		box-shadow: none;
		left: auto;
		padding: 0;
		right: calc(var(--gutter_width) + 170px);
		top: 50%;
		transform: translateY(-50%);
		transition: none;
		visibility: visible;
		width: calc(100% - 342px - (var(--gutter_width) * 2));
		z-index: 13;
	}

	/* The position of the search form needs to shift based on cart link */

	/* 10+ items in cart or 100+ dollars in cart */
	.cart-contents[data-items-length="2"] + .site-header-search .header-search,
	.cart-contents[data-subtotal-length="6"] + .site-header-search .header-search {
		margin-right: 0.5em;
	}

	/* 1000+ dollars in cart */
	.cart-contents[data-subtotal-length="8"] + .site-header-search .header-search {
		margin-right: 1em;
	}

}

@media (min-width: 78.75em) {

	/* 1260px */

	.site-logo {
		margin-top: -38px;
	}

	.site-header {
		background-color: #fff; /* For login/register page */
		border-bottom: 1px solid var(--gray_light);
		padding: 0;
		position: relative;
	}

	.site-header::before {
		border-bottom: 1px solid var(--gray_light);
		content: "";
		display: block;
		left: 0;
		position: absolute;
		right: 0;
		top: 40px;
	}

	.site-branding {
		background-color: transparent;
		box-shadow: none;
		flex-grow: 0;
		padding: var(--space_small) 0;
		padding-left: 0;
		padding-right: 0;
	}

	/* Everything moves around a lot, but stays relative to this */
	.site-header-wrap {
		align-items: center;
		box-shadow: none;
		display: flex;
		margin: 0 auto;
		max-width: calc(1200px + var(--gutter_width) * 2);
		padding-bottom: 0;
		padding-top: 40px;
	}

	.main-navigation {
		display: flex;
		flex-grow: 1;
	}

	/* Site nav goes to regs */
	.mobile-menu-toggle {
		display: none;
	}

	.site-header .mobile-menu {
		background-color: #fff;
		box-shadow: none;
		left: auto;
		margin-left: auto;
		padding: 0;
		position: static;
		top: auto;
		transform: none;
		transform-origin: top right;
		transition: none;
		visibility: visible;
		width: auto;
	}

	.site-header .mobile-menu.toggled {
		left: auto;
		right: auto;
		top: 100%;
		transform: none;
		visibility: visible;

	}

	.site-header .main-navigation li {

	}

	.site-header .main-navigation .menu > li {
		border-top: none;
		display: inline-flex;
		margin-left: 1em;
	}

	/* No longer large font */
	.site-header .main-navigation .menu > li > a {
		font-size: inherit;
		line-height: inherit;
	}

	/* Extra menu items get positioned next to the cart link */
	.al-primary-menu-extra {
		align-items: center;
		display: flex;
		height: 40px;
		position: absolute;
		right: calc(130px + var(--gutter_width) * 1.5); /* Magic numbers!!! */
		top: 0;
	}

	.main-navigation .menu {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
	}

	.al-primary-menu-extra .menu {
		align-items: center;
		flex-direction: row-reverse;
	}

	.al-primary-menu-extra li {
		padding-bottom: var(--space_xsmall);
		padding-top: var(--space_xsmall);
	}

	.al-primary-menu-extra a {
		white-space: nowrap;
	}

	.extra-menu-text {
		font-size: 0.8888em;
	}


	/* Cart link is positioned at the top-right */
	.site-header .cart-contents {
		height: 40px;
		margin: 0;
		position: absolute;
		right: calc(var(--gutter_width) * 1.5);
		top: 0;
		transform: none;
	}

	/* Header Search */
	.site-header-search {
		margin-left: var(--space_large);
		order: 4;
	}

	.header-search {
		position: static;
		right: auto;
		transform: none;
		width: auto;
	}


	/* Sub menus */
	.main-navigation .sub-menu {
		width: auto;
	}

	/*
	.main-navigation .sub-menu li {
		padding-right: 20px;
	}
	.primary-menu-container > .menu > li > .sub-menu {
		background-color: #fff;
		box-shadow: 0 2px 4px 0 rgba(0,0,0,0.08);
		border-top: 2px solid var(--light_green);
		padding: 0.5em 0;
	}
	*/
	.main-navigation .menu li {
		padding: 0;
	}

	.main-navigation .menu > li.toggled-on-load > .sub-menu {
		position: absolute;
		visibility: hidden;
	}

	.primary-menu-container > .menu > li.toggled > .sub-menu,
	.primary-menu-container > .menu > li:hover > .sub-menu {
		left: auto;
		position: absolute;
		right: 0;
		top: 100%;

		transform: scale(1);
		visibility: visible;
	}

	.primary-menu-container .sub-menu a {
		white-space: nowrap;
	}



}

/* Doofinder stuff - added 9/8 by AS */
body .dfd-fullscreen.dfd-animate .dfd-layer {
	opacity: 1 !important;
}

body .dfd-card {
	border: 0;
	font-size: 1.125rem;
	--df-accent-primary: var(--primary_color);
}

body .dfd-card-price {
	font-size: 1.125rem;
}

body .dfd-card-row {
	display: block;
	margin: 0;
}

body .dfd-card .dfd-cart-add-button {
	border-radius: 2rem;
	font-size: 1rem;
	margin-top: 0.5rem;
	padding: 0 1rem;
	width: auto;
}

body .dfd-card .dfd-cart-add-button::before {
	content: "Add to cart";
}

body .dfd-card .dfd-cart-add-button svg {
	display: none;
}

body .dfd-btn-term-filter {
	--dfd-btn-font-size: 1.125rem;
}

body .dfd-aside {
	display: flex;
	flex-direction: column-reverse;
}

.dfd-card-flex {
	display: none;
}

body .dfd-card-flags {
	left: 40px;
	right: auto;
	top: 24px;
}

body .dfd-card-flags .df-card-flag,
body .dfd-card-flags .dfd-card-flag {
	background-color: var(--primary_color);
	border-bottom-right-radius: 4px;
	border-top-left-radius: 0;
}

body .df-card-flag[data-discount]::after,
body .dfd-card-flag[data-discount]::after {
	content: " Off!";
}

body .dfd-suggestion-link {
	min-height: 0;
}

body .dfd-suggestion-link + .dfd-suggestion-link {
	margin-top: 0;
}

body .dfd-suggestion-link + .dfd-suggestion-link button {
	display: block;
	margin-top: 1rem;
}

body .dfd-suggestion-link button[dfd-value-term="coupon category"],
body .dfd-suggestion-link button[dfd-value-term="mous"],
body .dfd-suggestion-link button[dfd-value-term="410122"],
body .dfd-suggestion-link button[dfd-value-term*="wholesale"],
body .dfd-suggestion-link button[dfd-value-term*="Wholesale"],
body .dfd-suggestion-link button[dfd-value-term*="2023"],
body .dfd-btn-term-filter[dfd-value-term="coupon category"],
body .dfd-btn-term-filter[dfd-value-term="mous"],
body .dfd-btn-term-filter[dfd-value-term="410122"],
body .dfd-btn-term-filter[dfd-value-term*="wholesale"],
body .dfd-btn-term-filter[dfd-value-term*="Wholesale"],
body .dfd-btn-term-filter[dfd-value-term*="2023"],
.dfd-card-mpn:not([mpn]) {
	display: none;
}

body .dfd-card-mpn {
	font-size: 0.875rem;
	zoom: 100% !important;
}
