.flash {
	aspect-ratio: 1;
	border-radius: 50%;
	color: #333;
	display: flex;
	flex-flow: column nowrap;
	font-size: 0.75rem;
	inline-size: 10ch;
	justify-content: center;
	padding: 0;
	text-align: center;
	z-index: 200;
	.label {
		color: white;
		display: block;
		font-weight: bold;
		margin: 0;
		text-transform: uppercase;
		img {
			height: auto;
			max-height: auto;
			min-width: auto;
			width: 50%;
		}
	}
}
.twelve-days {
	background: #67CB08;
	color: white;
}
.black-friday {
	background: #680053;
	color: white;
}
.free-gift {
	background: rgba(204, 0, 0, 1);
	color: white;
}
.on-sale {
	background: rgba(248, 179, 16, 1);
}
.new-product {
	background: rgba(102, 204, 255, 1);
	line-height: 60px;
}
.special-offer {
	background: rgba(0, 204, 0, 1);
	font-size: 0.6rem;
}
.twelve-days-of-christmas {
	margin: 1rem 0;
}

.hide {
	display: none;
}

.invisible {
	height: 0;
	opacity: 0;
}

.quantity-wrapper {
	margin: 1rem 0;
}

.quantity {
	display: flex;
	flex: 1 1 auto;
	flex-flow: row wrap;
	button {
		background: var(--theme-red-medium);
		border: var(--theme-red-medium);
		border-radius: 0;
		color: black;
		flex: 0 0 auto;
		font-weight: bold;
		margin: 0;
		padding: 0;
		text-align: center;
		width: 2rem;
	}
	h2 {
		flex: 0 0 100%;
		margin: 0 0 0.25rem;
	}
	input {
		border: 1px solid #cfcfcf;
		color: #000;
		flex: 0 0 auto;
		font-weight: bold;
		padding: 0.25rem;
		text-align: center;
		width: 4rem;
	}
	.btn-minus {
		border-radius: 4px 0 0 4px;
	}
	.btn-plus {
		border-radius: 0 4px 4px 0;
	}
}

.search-product .card-body {
	position: relative;
	.flash {
		right: 1rem;
		top: 1rem;
	}
}

.woocommerce-table {
	border-collapse: collapse;
	width: 100%;
	font-size: 0.8rem;
	margin: 1rem 0;
	@media screen and (min-width: 480px) {
		font-size: 1rem;
	}
	img {
		display: block;
	}
	td, th {
		border: 1px solid #888;
		padding: 0.5rem;
		text-align: center;
	}
	thead {
		background: #888;
		th {
			color: #fff;
			font-size: 0.8rem;
			text-transform: uppercase;
		}
	}
	tfoot {
		td {
			text-align: right;
			&:first-child {
				border: none;
			}
		}
		th {
			text-align: right;
		}
		.buttons-row {
			text-align: left;
		}
		.cart-total {
			td {
				font-weight: bold;
			}
		}
		.discount {
			border: 2px solid white;
			margin: 0 auto;
			padding: 1rem;
			text-align: left;
			width: 50%;
			button {
				margin: 0.5rem 0;
			}
			p {
				margin: 0.5rem 0;
			}
		}
		.remove-item {
			text-align: center;
		}
	}
	.no-border {
		border: none;
	}
	.product-name {
		text-align: left;
		font-size: 0.7rem;
		@media screen and (min-width: 480px) {
			font-size: 1rem;
		}
		a {
			text-decoration: none;
			transition: all .5s ease-in-out;
			&:hover {
				color: var(--theme-red);
			}
		}
	}
	.product-subtotal {
		text-align: right;
	}
	.product-thumbnail {
		display: none;
		@media screen and (min-width: 480px) {
			display: table-cell;
			padding: 0;
			position: relative;
			width: 90px;
		}
	}
	.remove-item {
		border: none;
		width: 40px;
		text-align: center;
		a {
			font-size: 1.2rem;
		}
	}
	.value {
		font-weight: bold;
	}
	.bundled_table_item:last-of-type td {
		border-bottom: 1px solid #444 !important;
		&.remove-item {
			border-bottom: none !important;
		}
	}
}

#coupon_code,
#wc_gc_cart_code
{
	max-width: 280px;
}

.woocommerce-message {
	background-color: #0f834d;
	list-style: none;
	padding: 1rem;
	margin: 1rem auto;
	border-radius: 4px;
	color: #fff;
	clear: both;
	width: 90%;
	a {
		color: #fff;
		&:hover {
			color: #fff;
			opacity: 0.7;
		}
		&.button:hover {
			opacity: 1;
		}
	}
	.button {
		float: right;
		padding: 0;
		background: none;
		color: #fff;
		box-shadow: none;
		line-height: 1.618;
		padding-left: 1rem;
		border-width: 0;
		border-left-width: 1px;
		border-left-style: solid;
		border-left-color: rgba(255,255,255,0.25) !important;
		border-radius: 0;

		&:hover {
			background: none;
			color: #fff;
			opacity: 0.7;
		}
	}
	pre {
		background-color: rgba(0,0,0,.1);
	}
}
.woocommerce-info,
.woocommerce-noreviews,
p.no-comments
{
	background: #F88510;
}
.woocommerce-error {
	background: #CD3917;
}

#checkout-form {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	.woocommerce-NoticeGroup {
		width: 100%;
	}
}

.woocommerce-NoticeGroup-checkout {
	width: 100%;
}

#customer_details {
	align-items: flex-start;
	display: flex;
	flex: 0 0 auto;
	flex-flow: column nowrap;
	padding: 0.5rem;
	width: 100%;
	@media screen and (min-width: 768px) {
		padding-right: 1rem;
		width: 50%;
	}
}

#order-details {
	flex: 0 0 auto;
	padding: 0.5rem;
	width: 100%;
	@media screen and (min-width: 768px) {
		padding-left: 1rem;
		width: 50%;
	}
	#payment {
		.form-row {
			padding: 0;
		}
	}
}

.woocommerce-checkout {
	.add_gift_card_form {
		h4 {
			color: red;
			text-align: left;
			text-transform: uppercase;
		}
		/*
		#wc_gc_cart_redeem_form {
			width: 100%;
			button {
				width: 50%;
				@media screen and (min-width: 640px) {
					width: 30%;
				}
				@media screen and (min-width: 768px) {
					width: 50%;
				}
			}
			input {
				padding: 0.5rem;
			}
			@media screen and (min-width: 640px) {
				width: 70%;
			}
			@media screen and (min-width: 1024px) {
				width: 50%;
			}
		}
		*/
	}
}

.woocommerce-additional-fields {
	margin: 1rem 0;
	width: 100%;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields
{
	width: 100%;
	li {
		margin: 0 0.5rem;
	}
}

#payment {
	.form-row {
		p {
			margin: 1rem 0;
		}
		.place-order-button {
			text-align: right;
		}
	}
	.wc_payment_methods {
		list-style: none;
		margin: 0;
		padding: 0;
		.wc_payment_method {
			margin: 0 0 2rem;
			img {
				display: none;
			}
			.payment_box {
				font-family: "Open Sans", sans-serif;
				font-size: 0.9rem;
				font-style: italic;
				padding: 0 2rem;
				transition: all .5s linear;
			}
		}
	}
}

.wc_payment_method
{
	input {
		display: none;
	}
	input:checked + label,
	input:checked + span,
	input[type=hidden] + label
	{
		&:before {
			content: "\f046";
		}
	}
	label,
	span
	{
		font-family: var(--font-bank);
		font-size: 1.25rem;
		font-weight: 200;
		&:before {
			content: "\f096";
			font-family: 'FontAwesome';
			margin-right: 0.25rem;
			padding: 0;
		}
	}
	.about_paypal {
		font-size: 0.8rem;
		margin-left: 1rem;
	}
}

#place-order-button,
#woo_pp_ec_button_checkout
{
	text-align: center;
}

.required::after {
	color: #f00;
	content: '*';
	padding-left: 0.25rem;
}

#customer_login_register {
	display: flex;
	flex-flow: row wrap;
	#customer_login {
		flex: 0 0 auto;
		padding: 0 1rem;
		width: 100%;
		@media screen and (min-width: 768px) {
			width: 50%;
		}
	}
	#customer_register {
		flex: 0 0 auto;
		padding: 0 1rem;
		width: 100%;
		@media screen and (min-width: 768px) {
			width: 50%;
		}
	}
}

.flex-page .woocommerce {
	display: flex;
	flex-flow: row wrap;
}

.return-to-shop {
	flex: 1 1 100%;
	text-align: center;
}

.shopping_cart {
	width: 100%;
	@media screen and (min-width: 1400px) {
		padding: 0 1rem;
	}
}

.wc-empty-cart-message {
	flex: 1 1 100%;
}

.woocommerce {
	/*background: rgba(255, 0, 0, 0.1);*/
	display: flex;
	flex-flow: row wrap;
	padding: 1rem 0;
	width: 100%;
	@media screen and (min-width: 1400px) {
		padding: 0 1rem;
	}
}

.woocommerce-button {
	background: var(--theme-red-medium);
	border: var(--theme-red-medium);
	color: #fff;
	cursor: pointer;
	font-weight: bold;
	margin: 0.1rem 0;
	padding: 0.5rem;
	text-transform: uppercase;
	&:disabled {
		background: #aaa;
	}
}

.woocommerce-form-coupon,
.woocommerce-form-login
{
	margin: 1rem auto;
	width: 90%;
	@media screen and (min-width: 1024px) {
		width: 50%;
	}
}

.woocommerce-form-coupon-toggle,
.woocommerce-form-login-toggle
{
	width: 100%;
}

.woocommerce-notices-wrapper {
	flex: 1 1 100%
}

.woocommerce-order {
	width: 100%;
	@media screen and (min-width: 1400px) {
		padding: 0 1rem;
	}
}

.woocommerce-Addresses {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-evenly;
}
.woocommerce-Address {
	flex: 1 1 auto;
}

.woocommerce-MyAccount-content {
	flex: 1 1 100%;
	padding: 0 1rem;
	@media screen and (min-width: 768px) {
		flex: 1 1 75%;
	}
	form {
		margin: 2rem 0;
	}
	h2 {
		font-size: 40px;
	}
	h4 {
		font-size: 30px;
		text-align: left;
	}
	.my_account_orders {
		border: 1px solid #ccc;
		margin: 0 0 2rem;
		width: 100%;
		td, th {
			border: 1px dotted #ccc;
			padding: 0.25rem;
		}
	}
	.woocommerce-EditAccountForm {
		button {
			width: auto;
		}
		fieldset {
			padding: 0;
		}
	}
	.woocommerce-MyAccount-Giftcards-balance-amount {
		font-size: 20px;
	}
}

.woocommerce-MyAccount-navigation {
	flex: 0 0 auto;
	width: 100%;
	@media screen and (min-width: 768px) {
		width: 25%;
	}
	ul {
		border-bottom: 1px solid #333;
		flex: 0 0 auto;
		list-style: none;
		margin: 0;
		padding: 0;
		li {
			border-top: 1px solid #333;
			line-height: 1.5rem;
			margin: 0;
			padding: 1rem 0;
			&:before {
				content: "\f096";
				font-family: 'FontAwesome';
				font-size: 1.5rem;
				float: left;
				margin-left: 0.25rem;
				margin-right: 0.5rem;
				padding: 0;
			}
		}
		li.woocommerce-MyAccount-navigation-link--dashboard:before {
			content: "\f0e4";
		}
		li.woocommerce-MyAccount-navigation-link--orders:before {
			content: "\f291";
		}
		li.woocommerce-MyAccount-navigation-link--downloads:before {
			content: "\f019";
		}
		li.woocommerce-MyAccount-navigation-link--edit-address:before {
			content: "\f2bb";
		}
		li.woocommerce-MyAccount-navigation-link--edit-account:before {
			content: "\f007";
		}
		li.woocommerce-MyAccount-navigation-link--customer-logout:before {
			content: "\f08b";
		}
		li.is-active {
			background: rgba(204, 204, 204, 0.25);
			&:after {
				@media screen and (min-width: 800px) {
					content: "\f0da";
					font-family: 'FontAwesome';
					font-size: 1.5rem;
					float: right;
					margin-right: 0.5rem;
					padding: 0;
				}
			}
		}
	}
}
.category-title {
	flex: 0 0 auto;
	grid-area: title;
	padding: 0 0.5rem;
	width: 100%;
	#filters-toggle {
		font-size: 24px;
		float: right;
	}
}

.products_panel {
	article {
		--flow-space: 4em;
	}
}

.products-list {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	.cat-title {
		grid-column: 1 / -1;
		margin-top: 2rem;
		width: 100%;
		&:first-of-type {
			margin-top: 0;
		}
	}
}

.product {
	/*border: 1px solid #888;*/
	display: flex;
	flex-flow: column nowrap;
	padding: 0;
	position: relative;
	width: 100%;
	.woocommerce-LoopProduct-link {
		display: flex;
		flex: 1 1 auto;
		flex-flow: column nowrap;
		justify-content: space-between;
		text-decoration: none;
		img {
			display: block;
			flex: 0 0 auto;
			margin: 0 auto;
			max-height: 100%;
			min-width: 100%;
			object-fit: cover;
			/*height: 210px;*/
		}
		.product-details {
			align-items: end;
			display: flex;
			flex-flow: row nowrap;
			justify-content: space-between;
			.product-attribute {
				display: block;
				color: var(--theme-grey);
				font-family: var(--font-roboto);
				font-size: 16px;
			}
			.product-name {
				color: #000;
				flex: 1 1 auto;
				font-family: var(--font-bank);
				font-size: 28px;
				font-weight: 200;
				margin: 0;
				overflow-wrap: break-word;
				padding: 4px;
				text-align: left;
				width: 60%;
			}
			.product-price {
				display: flex;
				flex: 0 0 auto;
				flex-flow: column nowrap;
				justify-content: space-between;
				padding: 0 0.25rem;
				text-align: right;
				.price-wrapper {
					color: var(--theme-grey);
				}
				.amount {
					color: #000;
					display: inline-block;
					font-size: 1.5rem;
					margin-left: 0.5rem;
				}
				.sku {
					color: #000;
					font-size: 0.8rem;
					font-style: italic;
					.low-stock {
						color: red;
					}
				}
			}
		}

		.price {
			font-size: 0.9rem;
			height: 60px;
			margin: 0;
			position: relative;
			@media screen and (min-width: 1024px) {
				font-size: 1rem;
			}
			del {
				display: inline;
			}
			.price-wrapper {
				padding: 0 0.25rem;
				flex: 0 0 auto;
			}
		}
	}
	.flash {
		position: absolute;
		right: 0;
		top: 0;
		.label {
			color: white;
			display: block;
			font-weight: bold;
			margin: 0;
			text-transform: uppercase;
		}
	}
	.sizes {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-start;
		left: 10px;
		list-style: none;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 250px;
		transition: all 0.3s;
		z-index: 400;
		li {
			background: rgba(0, 0, 0, 0.5);
			border: 1px solid #ccc;
			color: white;
			flex: 0 0 auto;
			font-size: 12px;
			line-height: 32px;
			margin: 1px;
			padding: 0;
			text-align: center;
			transition: all 0.3s;
			width: 32px;
			&:hover {
				background: rgba(255, 0, 0, 0.8);
			}
			a {
				color: white;
				text-decoration: none;
			}
		}
	}
}

.price {
	font-size: 1.2rem;
	margin: 0 0 0.5rem;
	width: 100%;
	del {
		color: #ccc;
		display: block;
		font-size: 0.8rem;
	}
	ins {
		background: none;
		color: #000;
	}
}

.widget_layered_nav {
	width: 100%;
	h2 {
		margin: 0;
		text-align: left;
		i {
			margin-left: 0.25rem;
		}
	}
	ul {
		display: flex;
		flex-flow: row wrap;
		list-style: none;
		margin: 0 0 1rem;
		padding: 0;
		transition: all 0.5s ease-in-out;
		width: 100%;
		li {
			flex: 1 1 auto;
			font-family: var(--font-bank);
			font-weight: 200;
			margin: 0 0 0.2rem;
			padding: 0.25rem;
			padding-left: 2rem;
			position: relative;
			width: 100%;
			a {
				color: #333;
				text-decoration: none;
			}
		}
		li.chosen {
			background: var(--theme-gold);
			color: black;
			a {
				color: black;
			}
			&::before {
				font: var(--fa-font-solid);
				content: "\f00c";
				left: 4px;
				position: absolute;
				top: 8px;
			}
		}
	}
}

.widget_layered_nav_filters,
.widget_product_categories
{
	width: 100%;
	h2 {
		margin: 0;
		text-align: left;
		i {
			margin-left: 0.25rem;
		}
	}
	ul {
		display: flex;
		flex-flow: row wrap;
		list-style: none;
		margin: 0 0 1rem;
		padding: 0;
		transition: all 0.5s ease-in-out;
		width: 100%;
		li {
			flex: 1 1 auto;
			margin: 0 0 0.2rem;
			padding: 0.25rem;
			width: 50%;
			width: 100%;
			a {
				display: block;
				text-decoration: none;
			}
		}
	}
}
