
/* -------------------------------------------------------------------------- */
/**
 * WooCommerce related styles
 * 
 */
/* -------------------------------------------------------------------------- */


/* -------------------------------------------------------------------------- */
/** WooCommerce Notifications */
/* -------------------------------------------------------------------------- */
	body .woocommerce-info {
		background-color: #E35459;
		line-height: 1.5;
	}
	body .woocommerce-message  {
		background-color: #6da28f;
		line-height: 1.5;
	}
	body .woocommerce-noreviews, 
	body p.no-comments {
		background-color: #6da28f;
		line-height: 1.5;
	}
	body .woocommerce-error {
		background-color: #960A0E;
		line-height: 1.5;
	}

	body .woocommerce-message .button, 
	body .woocommerce-info .button, 
	body .woocommerce-error .button, 
	body .woocommerce-noreviews .button, 
	body p.no-comments .button {
		height: auto;
		line-height: 1.5;
		font-weight: 600;
	}


/* -------------------------------------------------------------------------- */
/** My Account */
/* -------------------------------------------------------------------------- */
	
/* -------------------------------------------------------------------------- */
	/** General */
/* -------------------------------------------------------------------------- */
		section.account .container .woocommerce {
			display: flex;
			justify-content: space-between;
		}

		body .woocommerce-info {
			background-color: #6da28f;
		}

		body .woocommerce-info a:hover {
			color: #4d4d4d;
			opacity: 1;
		}

/* -------------------------------------------------------------------------- */
	/** Navigation */
/* -------------------------------------------------------------------------- */
		section.account .woocommerce-MyAccount-navigation ul {
			margin: 0;
			padding: 0;
			list-style: none;
			border-top: 2px solid #CCC;
		}

			section.account .woocommerce-MyAccount-navigation li {
				border-bottom: 2px solid #CCC;
				position: relative;
			}
				
				section.account .woocommerce-MyAccount-navigation li a {
					text-decoration: none;
					padding: .875em .5em;
					display: block;
					color: #081319;
					font-weight: 900;
				}

				section.account .woocommerce-MyAccount-navigation li.is-active a {
					background: #f16529;
					color: #FFF;
				}

/* -------------------------------------------------------------------------- */
	/** Content */
/* -------------------------------------------------------------------------- */
		.left-sidebar section.account .woocommerce-MyAccount-content {
			margin: 0;
		}

			section.account .woocommerce-MyAccount-content h2:first-of-type {
				margin-top: 0;
			}

			section.account .woocommerce-MyAccount-content fieldset, 
			section.account .woocommerce-MyAccount-content fieldset legend {
				background-color: transparent;
			}
			section.account .woocommerce-MyAccount-content fieldset legend {
				margin-left: 0;
			}

/* -------------------------------------------------------------------------- */
/** Cart */
/* -------------------------------------------------------------------------- */

	.basket-cta {
		float: left;
		background: #008eff;
		color: #FFF;
		margin: 0 0 2em;
		clear: both;
		width: 100%;
		padding: 0.75em 1em;
		border-left: .618em solid rgba(0,0,0,.15);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.basket-cta a#basket-cta-button {
		color: #FFF;
		border: 2px solid #ffffff;
		background-color: #008eff;
		padding: 0.6em 1em;
		min-width: 122px;
	}


	section.shipping-calculator-form {
		padding: 1em 0;
	}

	section.checkout th,
	section.cart th {
		background-color: #6da28f;
		color: #fff;
	}

	section.checkout table.shop_table td a,
	section.cart table.shop_table td a {
		color: #6da28f;
	}

	section.checkout table.shop_table td.actions,
	section.cart table.shop_table td.actions {
		padding: 1em;
	}

	table.cart td.product-quantity .qty {
		line-height: 50px;
		height: 50px;
		border: 1px solid #CCC;
		border-radius: 3px;
		box-shadow: none;
		background: #FFF;
	}

	table.cart a.remove::before {
		color: #4d7969;
	}

	table.cart button {
		background-color: #4d7969;
		border: none;
		border-radius: 3px;
	}

	table.cart button:hover {
		background-color: #4d4d4d;
	}

	table.cart input#coupon_code {
		border-color: #6da28f;
		border-width: 2px;
	}

	section.checkout a.button,
	section.cart a.button,
	section.checkout a.checkout-button,
	section.cart a.checkout-button {
		background-color: #6da28f;
		border-radius: 3px;
		transition: all .5s;
		border: none;
	}

	section.checkout a.button:hover,
	section.cart a.button:hover,
	section.checkout a.checkout-button:hover,
	section.cart a.checkout-button:hover {
		background-color: #4d4d4d;
	}

	@media ( max-width: 500px ) {
		section.cart .woocommerce-shipping-destination {
			text-align: left;
		}

		section.cart ul#shipping_method{
			margin: 2em 0 0;
		}

		section.cart table.cart td.actions {
			text-align: left;
		}

		section.cart table.cart td.product-quantity .qty{
			padding: 0;
			border: none;
			height: 24px;
		}

		section.cart .wc-proceed-to-checkout .button.checkout-button {
			font-size: 1.2em;
		}
	}

/* -------------------------------------------------------------------------- */
/** Checkout */
/* -------------------------------------------------------------------------- */

	form.checkout textarea,
	form.checkout input {
		border-color: #6da28f;
		border-width: 2px;
	}

	form.checkout {
		color: #4d4d4d;
	}

	form.checkout a {
		color: #6da28f;
	}

	form.checkout a:hover {
		color: #6da28f;
	}

	section.checkout form.checkout table th {
		border-top-color: #6da28f;
	}

	section.checkout form.checkout table th:first-of-type {
		border-left-color: #6da28f;
	}

	section.checkout form.checkout table th:last-of-type {
		border-right-color: #6da28f;
	}

	section.checkout form.checkout table tfoot tr {
		border-left-color: #6da28f;
		border-right-color: #6da28f;
	}

	section.checkout form.checkout table tfoot tr:last-of-type th {
		border-bottom-color: #6da28f;
	}

	section.checkout button#place_order {
		background-color: #6da28f;
		border: none;
		border-radius: 3px;
	}

	section.checkout button#place_order:hover {
		background-color:#4d4d4d;
	}

	form.checkout #payment .payment_methods li input[type=radio]:first-child:checked+label:before {
		color: #6da28f;
	}

	ul#shipping_method {
		margin: 0;
		padding: 0;
	}

		ul#shipping_method li {
			display: flex;
			flex-flow: row nowrap;
			align-items: baseline;
			justify-content: flex-start;
		}
		
			section ul#shipping_method label {
				text-transform: none;
				font-size: 16px;
				font-weight: 300;
			}

/* -------------------------------------------------------------------------- */
/* Product page */
/* -------------------------------------------------------------------------- */

body .storefront-product-pagination {
	display: none;
}

body.single-product #product-page {
	max-width: unset;
	padding: 0 max(calc( ( (100vw - 1600px) / 2) + 5em),5.5em);
}
body.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	z-index: 1;
}

body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
	margin-right: 10em;
	min-width: 400px;
}

.single-product div.product .woocommerce-product-gallery {
	max-width: 320px;
}

.single-product div.product .woocommerce-product-gallery img {
	border-radius: 0;
	width: 100%;
}

.single-product #summary-wrapper {
	display: flex;
	flex-direction: column;
}

.single-product #summary-wrapper > div {
	width: 100%;
	max-width: unset;
	max-height: unset;
	padding: 0%;
}

.single-product #summary-wrapper .woocommerce-tabs {
	padding-right: 2em;
}

body.single-product main.woocommerce-page #product-page .summary.entry-summary {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
    width: calc(100% - 400px - 10em);
}

@media (max-width: 1400px) and (min-width: 1101px), (max-width: 600px) {
    body.single-product main.woocommerce-page #product-page .summary.entry-summary {
        width: calc(100% - 400px - 8em);
    }
}

@media (max-width: 1100px) {
     body.single-product main.woocommerce-page #product-page .summary.entry-summary {
           width: 100%;
    }
}

@media (max-width: 1200px) {
    body.single-product main.woocommerce-page #product-page .summary.entry-summary {
        width: calc(100% - 400px - 4em);
    }
 
}

@media (max-width: 1300px) {
    body.single-product main.woocommerce-page #product-page .summary.entry-summary {
        width: calc(100% - 400px - 6em);
    }
}

body.single-product main.woocommerce-page #product-page h1 {
    font-family: goudy-old-style, serif;
	color: #547f6f;	
	width: 100%;
	margin-bottom: 0;
}

body.single-product main.woocommerce-page #product-page .product-subtitle {
    width: 100%;
    margin: 0 0 0.5em;
    color: #547f6f;
    font-size: 0.85em;
}

body.single-product main.woocommerce-page #product-page .summary .product-subtitle {
	font-size: 1.2em;
	margin: 0.2em 0 0.5em;
}

body.single-product main.woocommerce-page #product-page .summary.entry-summary p {
	font-family: 'DM Sans', sans-serif;
}

body.single-product main.woocommerce-page #product-page .summary.entry-summary > p {
	width: 50%;
	line-height: 1;
	font-size: 1.2em;
	margin: 0;
	border-bottom: solid 1px rgba( 51,51,51,0.25);
	padding-bottom: 1em;
}

body.single-product main.woocommerce-page #product-page #product-content {
	width: 100%;
}

body.single-product main.woocommerce-page #product-page .book-author {
    display: flex;
    align-items: center;
	justify-content: center;
}

body.single-product main.woocommerce-page #product-page .summary.entry-summary .book-author {
	justify-content: flex-start;
}

body.single-product main.woocommerce-page #product-page .price {
	text-align: center;
}

body.single-product main.woocommerce-page #product-page .summary.entry-summary .price {
	text-align: right;
}

body.single-product main.woocommerce-page #product-page .woocommerce-product-details__short-description {
	color: #4d4d4d;
}

/* Product attributes table */
body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attributes {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	color: #4d4d4d;
}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attributes > div {
		display: flex;
		width: 48%;
		margin-right: 2%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attribute p {
		font-family: 'DM Sans', sans-serif;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attributes .attribute_name {
		text-transform: capitalize;
		margin-right: 1em;
		font-weight: 600;
	}

	body.single-product main.woocommerce-page section.related.products {
		margin-top: 80px;
		border-top: solid 2px rgb( 238, 238, 238 );
		float: left;
		width: 100%;
	}	
		
	.up-sells {		
		float: left;
		width: 100%;
	}

	.cross-sells h2 {
		font-family: goudy-old-style, serif;
		text-align: center;
		font-size: 2em;
		color: #547f6f;
		margin: 1em 0;
	}

	.cross-sells ul {
		display: flex;
   		justify-content: space-between;
		padding: 0;
	}
		.cross-sells ul li {
			flex: 0 45%;
		}
		


/* -------------------------------------------------------------------------- */
/* Product add to cart form */
/* -------------------------------------------------------------------------- */

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart::before,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart::after,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart::before,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart::after {
	/* body .single-product div.product .variations_button::after, body .single-product div.product .variations_button::before { */
		display: none;
		content: unset;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart {
		width: 100%;
		display: flex;
		justify-content: space-between;
		background-color: #eeeeee;
		padding: 1em;
		align-items: center;
		border-radius: 3px;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart.variations_form {
		flex-direction: column;
		align-items: flex-start;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .single_variation_wrap {
		width: 100%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .woocommerce-variation-add-to-cart {
		display: flex;
		padding: 0;
		justify-content: space-between;
		align-items: center;
	}

/* Variation table */

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart table.variations {
		border: none;
		width: 100%;
		max-width: 310px;
		margin-bottom: 1em;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart table.variations td.label {
		display: none;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart table.variations td.value {
		border: none;
		margin: 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart table.variations #pa_status {
		margin: 0;
		border: none;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #product-total-wrapper,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .single_add_to_cart_button {
		width: 30%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper {
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper a {
		width: 35px;
		min-width: 35px;
		height: 35px;
		box-sizing: border-box;
		background-color: #4d4d4d;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		border: solid 10px #4d4d4d;
		cursor: pointer;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #reduce-product-quantity {
		background-image: url(/images/icons/minus-white.svg);
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #increase-product-quantity {
		background-image: url(/images/icons/plus-white.svg);
	}

	#product-page form.cart .quantity {
		margin: 0;
	}

	#product-page form.cart .quantity .qty {
		background-color: #fff;
		box-shadow: none;
		padding: 0.4em;	
	}

	#product-page form.cart .quantity .qty::-webkit-outer-spin-button,
	#product-page form.cart .quantity .qty::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

	#product-page form.cart .woocommerce-variation-price {
		color: #4d4d4d;
		display: flex;
		justify-content: center;
		margin: 0 5%;
		font-size: 1.3em;
		font-weight: 600;
	}

		#product-page form.cart .woocommerce-variation-price .price {
			margin: 0;
		}

		body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper p {
			font-family: 'DM Sans', sans-serif;
		}

		body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper p:first-of-type {
			margin-right: 1em;
		}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart button.button {
		background-color: #4d7969;
		border-radius: 3px;
		border: none;
		max-width: 200px;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart button.button:hover {
		background-color: #4d4d4d;
	}

	.single-product div.product .product_meta {
		display: none;
	}

/* -------------------------------------------------------------------------- */
/* Product tabs */
/* -------------------------------------------------------------------------- */
.woocommerce-tabs.wc-tabs-wrapper {
	color: #4d4d4d;
	float: right;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
}

.woocommerce-tabs.wc-tabs-wrapper ul.tabs {
	border: none;
	margin-right: 3%;
	padding-left: 40px;
	width: 100%;
}

.woocommerce-tabs.wc-tabs-wrapper ul.tabs li {
	border: none;
}

#center_products {
    display: flex;
    justify-content: center;
}

.woocommerce-tabs {
    width: 50%;
    max-width: 650px;
    min-width: 450px;
}

body.storefront-full-width-content .woocommerce-tabs ul.tabs {
	padding: 0;
	width: unset;
}

.woocommerce-tabs > ul > li {
    background-color: rgba( 77, 121, 105, 0.5);
    display: inline-block;
    padding: 20px 18px 0;
    cursor: pointer;
    margin-right: 5px;
}

.woocommerce-tabs > ul > li:not( :last-of-type ) {
	margin-bottom: 1em;
}

#summary-wrapper .woocommerce-tabs ul.tabs li {
	display: flex;
	flex-direction: column;
	background-color: transparent;
}

#summary-wrapper .woocommerce-tabs ul.tabs li a {
    color: #4d4d4d;
    text-transform: capitalize;
    text-decoration: none;
    font-weight: 700;
	font-size: 1.2em;
	font-family: goudy old style, serif;
	position: relative;
	padding: 4px 0 0;
}

#summary-wrapper .woocommerce-tabs ul.tabs li.active a {
    color: #4d4d4d;
}

.woocommerce-tabs ul.tabs li::after,
.woocommerce-tabs ul.tabs li.active::after {
	content: unset;
}
.woocommerce-tabs ul.tabs li a::before {
    left: -52px;
    top: 0;
    background-color: #6da28f;
    width: 34px;
    height: 34px;
    background-image: url(/images/icons/plus-white.svg);
    background-size: 14px;
    border: solid #6da28f 4px;
    content: '';
    opacity: 1;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -ms-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}

.woocommerce-tabs ul.tabs li.active a::before {
	background-image: url(/images/icons/minus-white.svg);
	content: '';
}

.woocommerce-tabs div.woocommerce-Tabs-panel {
	width: 100%;
}

.woocommerce-tabs div.woocommerce-Tabs-panel p {
	font-family: 'DM Sans', sans-serif;
	font-weight: 400;
}

@media ( max-width: 768px ) {

    .product .wp-post-image {
        height: auto;
    }

    .product .woocommerce-tabs,
     #main .product div.summary,
     .product .wp-post-image {
        width: 100%;
        padding: 0 1em;
        min-width: unset;
    }

    .product .summary > h1 {
        line-height: 1;
    }

}

/* -------------------------------------------------------------------------- */
/* Other customers bought */
/* -------------------------------------------------------------------------- */

body.archive main.woocommerce-page section,
body.single-product main.woocommerce-page section.related.products {
	padding: 0;
	width: 100%;
	max-width: 1600px;
}

body.single-product main.woocommerce-page section.related.products {
	margin-top: 80px;
	border-top: solid 2px rgb( 238, 238, 238 );
}

body.single-product main.woocommerce-page section.related.products h2 {
	font-family: goudy-old-style, serif;
	text-align: center;
	font-size: 2em;
	color: #547f6f;
	margin: 1em 0;
}

/* body.tax-product_cat main.woocommerce-page section ul.products { */
body.search-results main.woocommerce-page section#product-page ul.products,
body.archive main.woocommerce-page section ul.products {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 0;
}

body.single-product main.woocommerce-page section.related.products ul.products {
	display: flex;
	padding: 0;
	justify-content: space-between;
}

body.single-product main.woocommerce-page section.related.products ul.products li.product,
body.search-results main.woocommerce-page section#product-page ul.products li.product,
body.archive main.woocommerce-page section ul.products li.product {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	margin:  4em 0;
	width: 16%;
    padding: 0;
	font-size: unset;
}

body.single-product main.woocommerce-page section.related.products ul.products li.product.purchasable,
body.search-results main.woocommerce-page section#product-page ul.products li.product.purchasable,
body.archive main.woocommerce-page section ul.products li.product.purchasable {
	display: flex;
}

body.single-product main.woocommerce-page section.related.products ul.products li.product,
body.search-results main.woocommerce-page section#product-page ul.products li.product,
body.archive main.woocommerce-page section ul.products li.product {
	margin-left: 20px;
	margin-right: 20px!important;
}

body.search-results main.woocommerce-page section#product-page ul.products li.product > a:first-of-type,
body.archive main.woocommerce-page section ul.products li.product > a:first-of-type,
body.single-product main.woocommerce-page section.related.products ul.products li.product > a:first-of-type {
	width: 100%;
	flex: 1;
}

body.search-results main.woocommerce-page section#product-page ul.products li.product > a:not( :first-of-type ),
body.archive main.woocommerce-page section ul.products li.product > a:not( :first-of-type ),
body.single-product main.woocommerce-page section.related.products ul.products li.product > a:not( :first-of-type ) {
	width: 45%;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 50px;
}

.product-badge {
	display: none;
}

.product-badge.signed {
    height: 45px;
    width: 45px;
    top: 200px;
    left: 5px;
    background: #634d79;
    border-radius: 100px;
    position: absolute;
    content: 'signed copy';
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    box-sizing: content-box;
}

	.product-badge.signed.small {
		height: 38px;
		width: 38px;
		top: 71%;
	}

	.product-badge.signed.results {
		height: 35px;
		width: 35px;
		top: 200px;
		left: 5px;
	}

		.product-badge.signed::after {
			content: 'Signed copy';
			font-size: 1em;
			line-height: 1.25;
			font-family: 'DM Sans', sans-serif;
			text-transform: uppercase;
			font-weight: 600;
			text-align: center;
		}

		.product-badge.signed.small::after{
			font-size: 0.85em;
			line-height: 1.3;
		}

		.product-badge.signed.results::after {
			font-size: 0.8em;
			line-height: 1.25;
		}

.product-badge.pre-order {
	height: 50px;
    width: 50px;
    background: #5674b9;
    border-radius: 100px;
    position: absolute;
    top: 10px;
    left: 10px;
    content: 'signed copy';
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em;
    box-sizing: content-box;
}

	.product-badge.pre-order.small {
		height: 38px;
		width: 38px;
		top: 55%;
	}

	.product-badge.pre-order.results {
		height: 35px;
		width: 35px;
		top: 125px;
		left: 5px;
	}

		.product-badge.pre-order::after {
			content: 'Pre Order';
			font-size: 1em;
			line-height: 1.3;
			font-family: 'DM Sans', sans-serif;
			text-transform: uppercase;
			font-weight: 600;
			text-align: center;
		}

		.product-badge.pre-order.small::after{
			font-size: 0.85em;
			line-height: 1.3;
		}

		.product-badge.pre-order.results::after {
			font-size: 0.8em;
			line-height: 1.25;
		}

body.search-results main.woocommerce-page section#product-page ul li.type-product > a,
body.archive main.woocommerce-page section ul li.type-product > a,
body.single-product main.woocommerce-page section.related.products ul li.type-product > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product > a h2,
body.archive main.woocommerce-page section ul li.type-product > a h2,
body.single-product main.woocommerce-page section.related.products ul li.type-product > a h2 {
	font-family: goudy-old-style, serif;
	font-size: 1.2em;
	color: #547f6f;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product > a .product-subtitle,
body.archive main.woocommerce-page section ul li.type-product > a .product-subtitle,
body.single-product main.woocommerce-page section.related.products ul li.type-product > a .product-subtitle {
	font-size: 0.85em;
	color: #547f6f;
	border: none;
	margin: 0;
	padding: 0;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product > a > p,
body.archive main.woocommerce-page section ul li.type-product > a > p {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	font-family: 'DM Sans', sans-serif;
	flex: 1;
	margin: 0.5em 0;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product > a > p {
	font-size: 0.8em;
}

body.archive main.woocommerce-page section ul li.type-product > a h2 {
	font-size: 1.2em;
	margin: 30px 0 0.5em;
}

body.archive main.woocommerce-page section ul li.type-product > a span.price,
body.single-product main.woocommerce-page section.related.products ul li.type-product > a span.price {
	color: #547f6f;
	font-size: 1em;
	font-family: goudy-old-style, serif;
}

ul li.type-product > a .publish-date {
	margin: 0 0 .5em;
    width: 100%;
    display: ruby;
    font-size: .8em;
    color: #666;
    line-height: 1.5;
}

ul li.type-product > a .publish-date strong {
	display: block;
}


#related-product-buttons-wrapper {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}

#related-product-buttons-wrapper {
	justify-content: center;
	flex-wrap: wrap;
}

#related-product-buttons-wrapper a {
	background-color: #4d7969;
    border: none;
    border-radius: 3px;
	padding: .75em .1em;
	margin: .25em;
    font-size: 1em;
	font-weight: 400;
    width: 45%;
	min-width: 90px;
	max-width: 140px;
	display: inline-block;
	transition: all .5s;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product a#product-more-info,
body.archive main.woocommerce-page section ul li.type-product a#product-more-info,
body.single-product main.woocommerce-page section.related.products ul li.type-product a#product-more-info {
	background-color: #6da28f;
	color: #FFF;
	text-decoration: none;
}

#related-product-buttons-wrapper a.added_to_cart {
	width: 100%;
}

body.search-results main.woocommerce-page section#product-page ul li.type-product a#product-more-info:hover,
body.archive main.woocommerce-page section ul li.type-product a#product-more-info:hover,
body.single-product main.woocommerce-page section.related.products ul li.type-product a#product-more-info:hover,
#related-product-buttons-wrapper a:hover {
	background-color: #4d4d4d;
}

/* related products carousel icons */
section#related-products-carousel-icons {
	width: 100%;
	padding: 4em 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

section#related-products-carousel-icons > div {
	background-size: contain;
    background-image: url(/images/icons/paginate-passive.svg);
    background-repeat: no-repeat;
	background-position: center;
    width: 30px;
    height: 30px;
    display: inline-block;
    margin: 0 5px;
	transition: all 0.5s;
	cursor: pointer;
}

section#related-products-carousel-icons > div.active {
    background-image: url(/images/icons/paginate-active.svg);
}

/* up-sells */
.up-sells{
	margin-top: 80px;
    border-top: solid 2px rgb( 238, 238, 238 );
	padding: 0 0 3em;
}
	.up-sells .products {
		display: flex;
		padding: 0;
		justify-content: space-between;
	}

	#product-page .up-sells > h2 {
		font-family: goudy-old-style, serif;
		text-align: center;
		font-size: 2em;
		color: #547f6f;
		margin: 1em 0;
	}

	#product-page .up-sells li {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		margin: 4em 0;
		width: 25%;
		padding: 0;
		font-size: unset;
	}

	#product-page .up-sells li > a {
		display: grid;
		align-items: center;
		grid-template-rows: 300px 70px 40px 40px;
		text-decoration: none;
	}

	#product-page .up-sells li a img{
		width: unset;
		max-height: 100%;
		margin-bottom: auto;
	}

	#product-page .up-sells li a h2 {
		font-family: goudy-old-style, serif;
		font-size: 1.2em;
		color: #547f6f;
	}

	#product-page .up-sells li a .price {
		color: #547f6f;
		font-size: 1em;
		font-family: goudy-old-style, serif;
	}

	#related-product-buttons-wrapper {
		justify-content: center;
		flex-wrap: wrap;
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
	}

	#related-product-buttons-wrapper #product-more-info {
		background-color: #6da28f;
		color: #FFF;
		text-decoration: none;
	}

/* Categories page */

body.archive .woocommerce-result-count,
body.archive .woocommerce-pagination .page-numbers li .page-numbers {
	color: #4d4d4d;
}

body.archive .woocommerce-pagination .page-numbers li .page-numbers.current {
	background-color: #6da28f;
	color: #fff;
	border-radius: 3px;
}

body.archive main.woocommerce-page {
	padding: 0 4em;
	max-width: 1600px;
	margin: 0 auto;
}

/* Hide secondary header */
#primary.content-area header {
	display: none;
}

#category-page > div.container,
#product-page > div.container {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1em;
}

#product-page > div.container .woocommerce-notices-wrapper {
	width: 100%;
}

div.container > form.woocommerce-ordering {
	color: #4d4d4d;
    order: 2;
    margin: 0;
	position: relative;
	padding-top: 0;
	height: 50px;
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: solid 1px rgb( 238, 238, 238 );
	opacity: 1;
	/* background-image: url(/images/icons/arrow-down-grey.svg); */
    background-position: 92% 43%;
    background-size: 15px;
    background-repeat: no-repeat;
}

div.container > form.woocommerce-ordering::before {
    content: '';
    position: absolute;
    right: 20px;
    top: 15px;
    height: 15px;
    width: 15px;
    background-image: url(/images/icons/arrow-down-grey.svg);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: all .5s;
}

div.container > form.woocommerce-ordering.active::before{
	transform: rotate(180deg);
}

div.container > form.woocommerce-ordering select {
	background-color: transparent;
	cursor: pointer;
	text-transform: uppercase;
	color: #4d4d4d;
    -webkit-appearance: none;
    -moz-appearance: none;
	padding: 0 1em;
	height: 100%;
	margin: 0 2em 0 0;
	border: none;
	font-size: .9em;
}

div.container > div#secondary.widget-area {
	z-index: 1;
    width: unset;
    order: 1;
    margin: 0;
	margin-right: auto;
}

/* Subcategories display on category page */
#subcategories {
    border-top: 2px solid rgb( 238, 238, 238 );
    border-bottom: 2px solid rgb( 238, 238, 238 );
    margin: 2em 0;
}

#subcategories > div {
	display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
	margin: 0 -1em;
}

#subcategories a {
	text-decoration: none;
	margin: 1em;
	width: 200px;
}

#subcategories .space-filler {
	flex: 1;
}

#subcategories .name-and-count {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#subcategories .name-and-count .name {
	white-space: nowrap;
	color: #547f6f;
	font-weight: 600;
	margin-right: 1em;
}

#subcategories .name-and-count .count {
	color: #547f6f;
}

div.container > div#primary.content-area {
	order: 3;
    width: 100%;
    margin: 0;
}

#secondary.widget-area {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	color: #4d4d4d;
}

#secondary.widget-area .widget.woocommerce {
	border-left: 1px solid rgb( 238, 238, 238 );
	padding: 0 1em;
	margin: 0 2em 0 0;
	display: flex;
	flex-direction: column;
    align-items: center;
    position: relative;
	height: 50px;
	cursor: pointer;
	font-size: .9em;
	font-weight: 500;
}

#secondary.widget-area .widget.woocommerce::after {
	content: '';
	position: absolute;
	right: 20px;
	top: 15px;
	height: 15px;
	width: 15px;
	background-image: url( /images/icons/arrow-down-grey.svg );
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	transition: all .5s;
}

#secondary.widget-area .widget.woocommerce.active::after {
	transform: rotate(180deg);
}

#secondary.widget-area .widget.woocommerce .widget-title {
	font-size: 1em;
	text-transform: uppercase;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 100%;
	min-width: 100%;
	padding: 1em 3em 1em 1em;
	margin: 0;
	border-bottom: none;
}

#secondary.widget-area .widget.woocommerce > ul {
	z-index: 1;
	font-size: .8em;
	visibility: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 175px;
	min-width: 100%;
	padding: 0;
	background-color: rgb(244 239 235);
    padding: 2em;
	border-radius: 2px;
	min-height: 40vh;
	overflow-y: scroll;
}

#secondary.widget-area .widget.woocommerce > ul li {
	padding: 0;
	font-size: 1.2em;
}

#secondary.widget-area .widget.woocommerce > ul li::before {
	display: none;
}

#secondary.widget-area .widget.woocommerce > ul li a {
	text-decoration: none;
	color: #4d4d4d;
	font-weight: 400;
}

#secondary.widget-area .widget.woocommerce > ul li a:hover {
	text-decoration: underline;
}

#secondary.widget-area .widget.woocommerce > ul.active {
	visibility: visible;
}

body.single-product main.woocommerce-page section.up-sells.products ul.products li.product a .prod-img,
body.single-product main.woocommerce-page section.related.products ul.products li.product a .prod-img,
body.archive main.woocommerce-page section ul.products li.product a .prod-img {
	height: 300px;
    display: flex;
    align-items: center;
}

body.single-product main.woocommerce-page section.up-sells.products ul.products li.product a .prod-img img,
body.single-product main.woocommerce-page section.related.products ul.products li.product a img,
body.archive main.woocommerce-page section ul.products li.product a img {
	width: unset;
	max-height: 100%;
	margin-bottom: 0;
}

#related-products-buttons-wrapper {
	justify-content: center;
}

body .storefront-sorting {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

	body .storefront-sorting p,
	body .storefront-sorting span {
		font-family: 'DM Sans', sans-serif;
	}

@media ( max-width: 1450px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product:last-of-type {
		display: none;
	}

}

@media ( max-width: 1400px ) and ( min-width: 1101px ),
( max-width: 600px ) {

	/* product image */
	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
		margin-right: 8em;
	}

	/* product add to cart options */
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart {
		flex-wrap: wrap;
	}


	/* product tabs */
	.single-product #summary-wrapper > div.woocommerce-tabs > div {
		width: 100%;
	}

}

@media ( max-width: 1375px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 21%;
	}

}

@media ( max-width: 1300px ) {

	/* product image */
	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
		margin-right: 6em;
	}

}

@media ( max-width: 1200px ) {

	body.single-product #product-page {
		padding: 0 2em;
	}

	/* product image */
	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
		margin-right: 4em;
	}

}

@media ( max-width: 1150px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 28%;
	}

}

@media ( max-width: 1100px ) {

	/* Category products */
	body.single-product div.product{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	/* product image */
	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
		margin-right: 0;
		max-width: 300px;
		min-width: unset;
		width: 100%;
	}

	body.single-product main.woocommerce-page section.related.products {
		margin-top: 4em;
	}

	body.single-product main.woocommerce-page section.related.products ul.products li.product:nth-of-type( 4 ) {
		display: none;
	}

	body.single-product main.woocommerce-page section.related.products ul.products li.product:last-of-type {
		display: none;
	}

}

@media ( max-width: 1000px ) {

	body.archive main.woocommerce-page {
		padding: 0 1em;
	}

}

@media ( max-width: 850px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product:nth-of-type( 3 ) {
		display: none;
	}

	body.single-product main.woocommerce-page section.related.products ul.products li.product:nth-of-type( 4 ) {
		display: none;
	}

	body.single-product main.woocommerce-page section.related.products ul.products li.product:last-of-type {
		display: none;
	}

}

@media ( max-width: 800px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 39%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary{
		width: 100%;
	}

}

@media ( max-width: 700px ) {

	body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attributes {
		flex-direction: column;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary .product_attributes > div {
		width: 100%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper a:first-of-type {
		border-radius: 3px 0 0 3px;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper a:last-of-type {
		border-radius: 0 3px 3px 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .quantity {
		margin: 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .quantity input[type=number].qty {
		height: 35px;
	}

	.up-sells {
		display: none;
	}

}

@media ( max-width: 600px ) {
	
	#related-product-buttons-wrapper a {
		width: 100%;
	}

	#related-products-buttons-wrapper {
		margin: 1em 0 0 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper {
		width: 40%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart button.button {
		width: 100%;
		margin: auto;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #product-total-wrapper {
		width: unset;
	}

}

@media ( max-width: 500px ) {

	#subcategories > div {
		justify-content: center;
	}

	#subcategories a {
		width: 100%;
	}

	body.single-product #product-page {
		padding: 1em;
	}

	/* Category page filter and sort */
	#product-page > div.container,
	#category-page > div.container {
		flex-direction: column;
	}

	#product-page > div.container {
		margin-top: 0;
	}

		div.container > form.woocommerce-ordering {
			order: 1;
			width: 100%;
			max-width: unset;
			border-top: solid 1px rgb( 238, 238, 238 );
			border-left: none;
			height: 60px;
		}

			div.container > form.woocommerce-ordering select {
				border-left: none;
				padding: 1em;
				margin: 0;
			}


		div.container > div#secondary.widget-area {
			flex-direction: column;
			width: 100%;
			order: 2;
		}

			#secondary.widget-area .widget.woocommerce {
				margin: 0;
				max-width: unset;
				border-left: none;
				border-top: 1px solid rgb( 238, 238, 238 );
				padding: 0;
				box-sizing: content-box;
				height: 60px;
			}

				#secondary.widget-area .widget.woocommerce .widget-title {
					padding: 2em 1em;
				}

					div.container > form.woocommerce-ordering::after,
					#secondary.widget-area .widget.woocommerce::after {
						top: 20px;
					}

		body.archive main.woocommerce-page section ul.products li.product {
			margin-bottom: 1em;
		}

		body.search-results main.woocommerce-page section#product-page ul li.type-product > a h2,
		body.archive main.woocommerce-page section ul li.type-product > a h2,
		body.single-product main.woocommerce-page section.related.products ul li.type-product > a h2 {
			font-size: 1em;
		}

		body.search-results main.woocommerce-page section#product-page ul li.type-product > a > p,
		body.archive main.woocommerce-page section ul li.type-product > a > p {
			font-size: .8em;
		}

	body.storefront-full-width-content.single-product div.product .woocommerce-product-gallery {
		min-width: unset;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart #quantity-wrapper,
	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper {
		width: 45%;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper {
		margin-right: 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper p:first-of-type {
		margin: 0 1em .5em 0;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart .product-total-wrapper p {
		margin: 0 0 .5em;
	}

	body.single-product main.woocommerce-page #product-page .summary.entry-summary form.cart button.button {
		margin-top: 1em;
		max-width: 100%;
	}

	.single-product #summary-wrapper > div.woocommerce-tabs {
		flex-direction: column;
	}

	.woocommerce-tabs ul.tabs li:after {
		left: 0;
	}

	.woocommerce-tabs.wc-tabs-wrapper ul.tabs {
		width: 100%;
		margin: 0;
	}

	body.single-product main.woocommerce-page section.related.products ul.products li.product {
		margin: 0;
	}

	body.search-results main.woocommerce-page section#product-page ul li.type-product > a,
	body.archive main.woocommerce-page section ul li.type-product > a,
	body.single-product main.woocommerce-page section.related.products ul li.type-product > a {
		display: grid;
		align-items: center;
		grid-template-rows: 250px 100px 50px 50px;
		text-decoration: none;
	}

	.basket-cta {
		flex-direction: column;
		align-items: flex-start;
	}

	.basket-cta a {
		margin-top: .5em;
	}

	body .woocommerce-message {
		display: flex;
		flex-direction: column-reverse;
	}

	body .woocommerce-message a.button { 
		padding: 0;
		margin: .5em 0 0;
		border: none;
	}

}

@media ( max-width: 400px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 100%;
	}

}
/* Responsive based on height */


@media ( max-height: 500px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 20%;
		padding: 0 1em 1em;
		margin-bottom: 1em;
	}

	body.archive main.woocommerce-page section ul.products li.product a img {
		margin: 0;
	}

	body.search-results main.woocommerce-page section#product-page ul li.type-product > a h2,
	body.archive main.woocommerce-page section ul li.type-product > a h2,
	body.single-product main.woocommerce-page section.related.products ul li.type-product > a h2 {
		font-size: 1em;
	}

	body.search-results main.woocommerce-page section#product-page ul li.type-product > a > p,
	body.archive main.woocommerce-page section ul li.type-product > a > p {
		font-size: .8em;
	}

	#related-product-signed-book {
		height: 30px;
		width: 30px;
	}

	#related-product-signed-book::after {
		font-size: .9em;
		font-weight: 500;
	}

}

/* @media ( max-height: 375px ) { */
@media ( max-width: 815px ) and ( max-height: 500px ) {

	body.single-product main.woocommerce-page section.related.products ul.products li.product,
	body.search-results main.woocommerce-page section#product-page ul.products li.product,
	body.archive main.woocommerce-page section ul.products li.product {
		width: 25%;
		padding: 0 1em 1em;
	}

}

body.single-product main.woocommerce-page #product-page .summary.entry-summary > .stock.out-of-stock  {
	width: 100%;
    line-height: 1;
    font-size: 1.2em;
    margin: 0;
    border-bottom: solid 1px rgba( 51,51,51,0.25);
    padding-bottom: 1em;
	margin-top: 1em;
}