/*
 * This file contains the CSS properties that are scaled for laptop or horizontal tablet sized 
 * viewports (approximate widths between 1301-1500px).
 ****************************************************************************************************/
@media screen and (max-device-width: 1500px) {
	* {
		box-sizing: border-box;
		margin: 0 0 0 0;
		padding: 0 0 0 0;
	}
	
	body {
		cursor: url("../images/beeleft.cur"),pointer;
		overflow-y: scroll;
		overflow-x: hidden;
	}
	
	/*Turn off text decoration for all anchor objects*/
	a {
		text-decoration: none;
	}
	
	button {
		border-radius: 100px 100px 100px 100px;
		background-color: #b99e62;
		border: 1px solid #b0914f;
		transition: 0.4s;
		height: 3vw;
		width: 8vw;
	}
	
	button:hover:not(.disabled) {
		border-bottom: 2.25px solid #8d743f;
		border-top: 1.25px solid #d0bd95;
		border-left: 1.25px solid #d0bd95;
		border-right: 3px solid #8d743f;
		transition: 0.2s;
	}
	
	button:focus {
		outline: none;
		box-shadow: none;
	}
	
	fieldset {
		border: none;
		display: flex;
		flex-direction: column;
		margin: 0 0 1vw 0;
		padding: 0.1vw 0 0.25vw 0.25vw;
	}
	
	legend {
		font-size: 1.1vw;
		margin: 0 0 0.25vw -0.5vw;
	}
	
	textarea {
		font-size: 1.25vw;
		height: 12vw;
		width: 34.5vw;
		padding: 0.10vw 0.25vw 0.10vw 0.25vw;
		scrollbar-width: auto;
		scrollbar-color: #8d743f #b99e62;
	}
	
	select {
		font-size: 1.25vw;
		height: 2vw;
		padding: 0 0 0 0;
	}
	
	input[type="text"],input[type="number"],input[type="tel"],input[type="email"] {
		font-size: 1.25vw;
		height: 2vw;
		padding: 0.10vw 0.25vw 0.10vw 0.25vw;
	}
	
	input[type="checkbox"],input[type="radio"] {
		vertical-align: bottom;
		margin: 0 0.35vw 0 0;
	  	position: relative;
	}
	
	input[type="checkbox"] {
		height: 1.25vw;
		width: 1.25vw;
	  	top: 0;
	}
	
	input[type="radio"] {
		height: 1.1vw;
		width: 1.1vw;
	  	top: -0.05vw;
	}
	
	input[type="text"],input[type="number"],input[type="tel"],input[type="email"],textarea,select {
		background-color: #fef9e7; 
		border-top: 2px solid #8d743f;
		border-left: 2px solid #8d743f;
		border-bottom: 1px solid #d0bd95;
		border-right: 1px solid #d0bd95;
	    border-radius: 4px;
	    box-shadow: none;
	    outline: none;
	    transition: 0.4s;
	}
	
	input[type="text"]:focus,input[type="number"]:focus,input[type="tel"]:focus,input[type="email"]:focus,textarea:focus,select:focus {
		outline: 1px solid #584928;
		transition: 0.2s;
	}
	
	input[type="checkbox"],input[type="radio"] {
		outline: none;
	  	transition: 0.4s;
	}
	
	/*input[type="checkbox"] {
		accent-color: #fef9e7;
	}*/
	
	input[type="radio"] {
		accent-color: #000000;
	}
	
	input[type="checkbox"]:focus,input[type="radio"]:focus {
		outline: 1px solid red;
		transition: 0.2s;
	}
	
	option {
		font-size: 1vw;
	}
	
	dialog {
		border: 2px solid #000000;
		border-top: 1px solid #404040;
		border-right: 2px solid #000000;
		border-bottom: 2px solid #000000;
		border-left: 1px solid #404040;
	}
	
	td {
		vertical-align: bottom;
	}
	
	header {
		height: 10.1vw;
		width: 100%;
		z-index: 9;
		position: fixed;
		top: 0;
		left: 0;
	}
	
	nav {
		border-top: 0.25vw solid #b99e62;
		margin: 0 0 0 0;
		height: 3vw;
		width: 100%;
		z-index: 9;
		position: fixed;
		top: 10.1vw;
		left: 0;
	}
	
	main {
		margin: 13.25vw 0 0 0;
		transition: 0.6s;
		width: 100%;
	}
	
	main.open {
		margin: 13.25vw 0 0 11.25vw;
		transition: 0.3s;
	}
	
	footer {
	    margin: 0 0 0.1vw 6vw;
		width: 100%;
	}
	
	h1,h2,h3,h4,h5,h6 {
		text-align: left;
	}
	
	h1 {
		font-size: 10vw;
		font-weight: normal;
		letter-spacing: 3px;
	}
	
	h2 {
		font-size: 4.5vw;
		font-weight: normal;
		letter-spacing: 2px;
	}
	
	h3 {
		font-size: 3.5vw;
		font-weight: normal;
		letter-spacing: 1.5px;
	}
	
	h4 {
		font-size: 2.5vw;
		font-weight: normal;
		letter-spacing: 1px;
	}
	
	h5 {
		font-size: 2vw;
		font-weight: normal;
		letter-spacing: 0.75px;
	}
	
	h6 {
		font-size: 1.5vw;
		font-weight: normal;
		letter-spacing: 0.5px;
	}
	
	p,span,ul,a {
		font-size: 1vw;
	}

	div.container {
		display: grid;
		grid-template-columns: 1fr;
		position: relative;
		width: 100%;
		height: 100%;
	}
	
	/*Works in conjunction with NAV Styles for sliding menu effect*/
	div#main-content {
		grid-row-start: 1;
	    grid-column-start: 1;
		display: flex;
		flex-direction: column;
		margin: 0 0 0 2vw;
		opacity: 1;
		transition: 0.4s;
		width: 78vw;
		min-height: 72vh;
		height: auto;
	}
	
	/*Works in conjunction with NAV Styles for sliding menu effect*/
	div#main-content.open {
		/*margin: 0 0 0 13.5vw;*/
		opacity: 0.5;
		transition: 0.2s;
	}
	
	input.name {
		width: 17vw;
	}
	
	input.address {
		width: 34.5vw;
	}
	
	input.number {
		width: 9.5vw;
	}
	
	select.state {
		width: 7vw;
	}
	
	select.unselected {
		color: #767676;
	}
	
	p.footer-content {
		font-size: 1.25vw;	
	}
	
	/*
	 * Site Page-Header
	 ****************************************************************************************************/
	div.site-image {
		background-image: url('../images/ccf_logo.png');
		height: 9vw;
		width: 9vw;
		position: absolute;
		top: 0.5vw;
		left: 6.5vw;
	}
	
	div.site-name {
		height: 7vw;
		width: 70%;
		position: absolute;
		top: 1vw;
		left: 17.5vw;
	}
	
	h1.site-name {
		margin: -2vw 0 0 0;
		letter-spacing: 8px;
	}
	
	p.site-name {
		font-size: 1vw;
		margin: -2.2vw 0 0 4.75vw;
		letter-spacing: 28px;
	}
	
	/*
	 * Site Navigation
	 ****************************************************************************************************/
	div.menu-icon {
		position: absolute;
		top: 0.35vw;
		left: 0.5vw;
		margin: 0.35vw 0 0 0;
	}
	
	div.menu-icon div {
		width: 2vw;
		height: 2px;
		background-color: #893d3d;
		margin: 0 0 5.5px 0;
		transition: 0.2s;
	}
	
	div.menu-icon:hover div {
		background-color: #d31717;
		transition: 0.4s;
	}
	
	div.menu-icon.open div.icon-top {
		background-color: #d31717;
		transform: rotate(-45deg) translate(-6px,4.5px);
	}
	
	div.menu-icon.open div.icon-middle {
		background-color: #d31717;
		opacity: 0;
	}
	
	div.menu-icon.open div.icon-bottom {
		background-color: #d31717;
		transform: rotate(45deg) translate(-6px,-4.5px);
	}		
	
	span.menu-icon {
		letter-spacing: 2px;
		margin: 0.55vw 0 0 0;
		position: absolute;
		top: 0.2vw;
		left: 3.1vw;
	}
	
	div#slide-menu {
		position: fixed;
		margin: 0 0 0 -11.25vw;
		transition: margin 0.6s;
		top: 14.3vw;
		left: 0;
	}
	
	div#slide-menu.open {
		margin: 0 0 0 0.25vw;
		transition: margin 0.4s;
	}
	
	ul.slide-menu {
		list-style: none;
		padding: 0 0 0 0;
		margin: 0 0 0 0;
		width: 12vw;
	}
	
	ul.slide-menu li {
		background-color: #fef9e7;
		border: 1px solid #8d743f;
		border-radius: 4px;
		margin: 0 0 3px 0;
		text-align: left;
		width: 100%;
	}
	
	a.slide-menu {
		font-size: 2vw;
		margin: 0.25vw 0.75vw 0.25vw 0.75vw;
	}
	
	/*
	 * Site Filter | Search
	 ****************************************************************************************************/
	div.controller {
		align-self: flex-start;
		grid-row-start: 1;
		grid-column-start: 2;
		margin: 0 0.5vw 0 0;
		opacity: 1;
		transition: 0.4s;
		width: 18.7vw
	}
		
	div.controller.open {
		/*margin: 0.25vw 0.65vw 0 80vw;*/
		opacity: 0.5;
		transition: 0.2s;
	}
	
	a.show-filter {
		display: none;
	}
	
	fieldset.filter {
		padding: 0.1vw 0 0.25vw 0.25vw;
		margin: 0.5vw 0 0 0.5vw;
	}
	
	details.filter fieldset.filter {
		margin: 0 0 0 0.75vw;
	}
	
	label.filter {
		display: inline-block;
		font-size: 1.25vw;
		margin: 0.25vw 0 0 0;
	}
	
	label.filter.select-container {
		display: inline-block;
		font-size: 1.25vw;
		margin: 0.25vw 0 0 0.75vw;
	}
	
	span.filter {
		letter-spacing: 2px;
		margin: 0.6vw 0 0 0;
		position: absolute;
		top: 0.2vw;
		right: 19.5vw;
	}
	
	input[type="text"].filter {
	    float: right;
		width: 18.5vw;
		position: absolute;
		top: 0.35vw;;
		right: 0.6vw;
	}
	
	div.filter-icon {
		display: none;
		/*background-image: url("../images/search.red.png");
		height: 7vw;
		width: 7vw;
		position: absolute;
		top: 14vw;
		right: 9vw;*/
	}
	
	select.filter {
		margin: 0 0 0 0;
		width: 16.5vw;
	}
	
	details.filter input.filter[type="checkbox"] {
		margin: 0 0.5vw 0.1vw 0.5vw;
	}
	
	details.filter {
		margin: 0.5vw 0 0.5vw 0;
		padding: 0 1vw 0 0;
	}
	
	summary.filter {
		font-size: 1.25vw;
		list-style-position: outside;
		margin: 0 0 0 1.25vw;
		padding: 0 0 0 0.25vw;
		transition: 0.4s;
	}
	
	summary.filter.open {
		color: #d31717;
		transition: 0.2s;
	}
	
	div.filter-reset {
		margin: 0.75vw 0 0 0;
		text-align: center;
		width: 100%;
	}
	
	button.filter-reset {
		margin: 0.5vw 0 0 0;
	}
	
	button.filter-reset:hover img.filter-reset {
		content: url('../images/filter.reset.red.png');
	}
	
	span.filter-reset {
		font-weight: bold;
		margin: 0 0 0 0.25vw;
		text-transform: uppercase;
	}
	
	img.filter-reset {
		content: url('../images/filter.reset.barnred.png');
		margin: 0.25vw 0 0 0;
		vertical-align: top;
		width: 0.85vw;
	}
	
	/*
	 * Home Page (default.php)
	 ****************************************************************************************************/
	div.slide-button-container {
		display: inline-block;
		height: 50%;
		margin: 0 0 0.25vw 0;
		width: 3.75vw;
		position: relative;
	}
	
	button[class^="slide-"] {
		position: absolute;
		top: 75%;
		transform: translateY(-50%);
		height: 4.25vw;
		width: 4.25vw;
	}
	
	button.slide-left {
		left: 10%;
	}
	
	button.slide-right {
		right: 10%;
	}

	button.slide-left::before {
		content: "🠈";
	}
	
	button.slide-right::after {
		content: "🠊";
	}
	
	div.product-group {
		flex: 1;
		margin: 0.1vw 0 0 0;
	}
	
	div.product-viewer {
		display: inline-block;
		margin: 0 0 0.25vw 0;
		padding: 0 0.05vw 0 0.05vw;
		overflow-x: visible;
		overflow-y: hidden;
		scrollbar-width: none;
		text-align: left;
		height: auto;
		width: 70.25vw;
		vertical-align: top;
	}
	
	div.scrollable-viewer {
		height: 25.1vw;
		overflow-x: scroll;
		scrollbar-width: none;
		scroll-snap-type: x mandatory;
		scroll-snap-stop: always;
		scroll-snap-align: center;
		white-space: nowrap;
		width: 69.1vw;
	}
	
	div.scrollable-viewer:hover {
		scrollbar-width: auto;
		scrollbar-color: #8d743f #b99e62;
	}
	
	h3.product-group,h5.product-group {
		margin: 0 0 0.25vw 2.75vw;
	}
	
	/*
	 *About Page (about.php)
	 ****************************************************************************************************/
	section.text-content {
		margin: 0.1vw 0 0.25vw 2.75vw;
	}
	
	div.text-content {
		margin: 0 0 0.25vw 1vw;
		padding: 0 0.75vw 0.75vw 0;
		height: auto;
		width: 90%
	}
	
	p.text-content {
		font-size: 1.1vw;
		width: 85%;
	}
	
	img.gallery {
		position: absolute;
		top: 1vw;
		left: 64vw;
		width: 17vw;
		transition: 0.8s;
	}
	
	img.gallery.open {
		left: 64vw;
		transition: 0.4s;
	}
	
	/*
	 * Contact Page (contact.php)
	 ****************************************************************************************************/
	div.contact {
		margin: 2vw 0 0 0.5vw;
	}
	
	/*label.contact {
		display: inline-block;
		font-size: 1vw;
		margin: 0.3vw 0 0 0;
	}*/
	
	button.contact-send {
		position: relative;
		left: 37%;
		top: 0;
	}
	
	button.contact-send:hover img.contact-send {
		content: url('../images/contact.send.red.png');
	}
	
	span.contact-send {
		font-weight: bold;
		margin: 0 0 0 0.25vw;
	}
	
	img.contact-send {
		content: url('../images/contact.send.barnred.png');
		margin: 0.15vw 0 0 0.25vw;
		vertical-align: top;
		width: 0.75vw;
	}
	
	input[type="text"].contact,input[type="email"].contact,input[type="tel"].contact,textarea.contact {	
	    margin: 0 0.25vw 0.35vw 0;
	}
	
	/*
	 * Modal Styles (dialog)
	 ****************************************************************************************************/
	dialog.confirm {
		background-image: url("../images/postcard.png");
		margin: 0 0 0 0;
	 	left: 30.5%;
	 	top: 20%;
	 	height: 21vw;
	 	width: 33.25vw;
	 	z-index: 9;
	}
	
	p.confirm {
		display: inline-block;
		font-size: 1.1vw;
		line-height: 1.2vw;
		position: absolute;
		top: 6vw;
		left: 1.25vw;
		height: 43%;
		width: 45%;
	}
	
	p.addressee {
		display: inline-block;
		font-size: 1.1vw;
		position: absolute;
		top: 8vw;
		left: 17.25vw;
		height: 43%;
		width: 43%;
	}
	
	button.confirm {
		position: absolute;
		top: 88%;
		left: 43%;
		height: 2vw;
		width: 4vw;
	}

	span.confirm.sale-id {
		display: inline-block;
		font-size: 1.1vw;
		padding: 0.35vw 0 0.35vw 5vw;
	}
	
	span.confirm.signature {
		display: inline-block;
		font-size: 2.5vw;
		padding: 0.5vw 0 0 1.25vw;
	}
	
	dialog#cart-confirmation {
		display: flex; 
		margin: 5% auto 0 auto;
		opacity: 0; 
		padding: 0.25vw 0.5vw 0.25vw 0.5vw; 
		z-index: 5;
		position: fixed;
		
	}
	
	p#cart-confirmation-text {
		font-size: 1.1vw;
		max-width: 85vw;
	}

	/*
	 * Product Card
	 * This section is divided into 4 blocks:
	 *   1. Generic styles applicable to all product cards regardless of size
	 *   2. Small Product Cards
	 *   3. Medium Product Cards
	 *   4. Large Product Cards
	 ****************************************************************************************************/
	div.product-card {
		position: relative;
		display: inline-block;
		margin: 0 1vw 0.25vw 0;
	}

	div.product-image {
		transition: background-size 0.8s;
	}
	
	div.product-image:hover:not(div.no-image) {
		background-size: 150%;
		transition: background-size 0.4s;
	}

	div.add-to-cart {
		width: 50%;
		float: right;
	}
	
	div.add-to-cart div {
		margin: 0 0 0.5vw 0;
		text-align: center;
	}
	
	div.add-to-cart div:last-child {
		margin: 0 0 0 0;
	}	

	p.product-brand {
		letter-spacing: 3px;
		text-transform: uppercase;
		width: 100%;
	}
	
	span.sale {
		margin: 0 0 0 0.5vw;
	}
	
	span.unit-of-measure::before {
		content: " /";
	}

	label.order-quantity {
		display: block;
		font-size: 1.1vw;
	}
	
	ul.flagpole {
		display: flex;
		flex-direction: column;
		list-style: none;
	}
	
	ul.flagpole li:first-child div {
		border-top-left-radius: 4px;
	}
	
	li div.flag {
		position: relative;
		height: 0;
		width: 6vw;
		margin: 0 0 0.25vw 0;
		border-style: solid;
		border-width: 0.55vw 1.0vw 0.55vw 1.0vw;
	}
	
	li div.flag span {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 0.6vw;
		font-weight: bold;
		margin: -0.35vw 0 0 -0.75vw;
	}
	
	div.flag.shopping-cart {
		display: inline-block;
		position: absolute;
		bottom: 0;
		left: 0;
		height: 0;
		width: 2.75vw;
		margin: 0 0 0.1vw 0;
		border-style: solid;
		border-width: 0.55vw 1.0vw 0.55vw 1.0vw;
		border-bottom-left-radius: 4px;
		vertical-align: bottom;
	}
	
	div.flag.shopping-cart span {
		position: absolute;
		top: 0;
		left: 0;
		font-size: 0.5vw;
		font-weight: bold;
		margin: -0.25vw 0 0 -0.75vw;
	}
	
	/*Dodger Blue = #1E90FF*/
	div.flag.best-seller {
		border-color: #1E90FF transparent #1E90FF #1E90FF;
	}
	
	/*Medium Sea Green = #3CB371*/
	div.flag.flash-sale {
		border-color: #3CB371 transparent #3CB371 #3CB371;
	}
	
	/*Tomato = #FF6347*/
	div.flag.out-of-stock {
		border-color: #FF6347 transparent #FF6347 #FF6347;
	}
	
	/*Orange = #FFA500*/
	div.flag.limited-stock {
		border-color: #FFA500 transparent #FFA500 #FFA500;
	}


/**
 * Small Product Card
 **************************************************/
 	div.product-group.small {
		flex: 1;
		margin: -1.5vw 0 0 1vw;
		z-index: 1;
	}
	
	div.scrollable-viewer.small {
		height: 12.5vw;
		width: 61.25vw;
	}

	div.slide-button-container.small {
		display: inline-block;
		height: 9vw;
		margin: 0 0 0.25vw 0;
		width: 5vw;
		position: relative;
	}

	div.product-card.small {
	 	margin: 0 1.5vw 0 0;
		padding: 0 0 0 0;
		height: 11vw;
		width: 11vw;
		vertical-align: top;
	}
	
	div.product-image.small {
		height: 100%;
		width: 100%;
		transition: 0.4s;
	}
	
	div.product-name-bar.small {
		background-color: #ffffff;
		border-bottom-left-radius: 3px;
		border-bottom-right-radius: 3px;
		bottom: 0;
		height: 2.5vw;
		margin:  0 1px 1px 1px;
		opacity: 0.5;
		position: absolute;
		width: 98.75%;
	}
	 
	span.product-name.small {
		bottom: 0;
		display: inline-block;
		line-height: 1vw;
	 	font-size: 1.5vw;
	 	height: 2.5vw;
	 	opacity: 1.0;
	 	position: absolute;
	 	text-align: center;
	 	width: 100%;
	 	white-space: normal;
	}
	
	div.add-to-cart.small {
		background-image: url('/images/shopping-cart-full.barnred.png');
		background-size: 90%;
		border-bottom-right-radius: 4px;
		bottom: 0;
		height: 1.5vw;
		position: absolute;
		right: 0.1vw;
		padding: 0 0 1.05vw 0.2vw;
		transition: 0.4s;
		vertical-align: bottom;
		width: 1.5vw;
	}
	
	div.add-to-cart.small:hover {
		background-image: url('/images/shopping-cart-full.red.png');
		color: #fef9e7;
		transition: 0.2s;
	}
	

	/**
	 * Medium Product Card
	 **************************************************/	
	div.product-card.medium {
		height: 23.75vw;
		padding: 0.25vw 0.25vw 0.25vw 0.25vw;
		width: 13vw;
		white-space: normal;
	}

	div.product-card.medium:last-child {
		margin: 0 0 0.25vw 0;
	}
	
	div.product-card.medium:not(div.scrollable-viewer div.product-card.small) {
		margin: 0 1vw 1vw 0;
	}
	
	div.product-image.medium {
		height: 50%;
		width: 100%;
	}
	
	div.product-summary.medium {
		height: 50%;
		width: 100%;
	}
	
	div.product-summary.medium [class^="product-"] {
		text-align: center;
	}
	
	/*H5 on medium display only*/
	h5.product-name {
		height: 3vw;
		line-height: 1.75vw;
		width: 100%;
	}

	p.product-brand.medium {
		font-size: 0.55vw;
		margin: 0.75vw 0 0 0;
	}
	
	p.product-container.medium {
		margin: 0.5vw 0 0 0;
	}

	p.product-price.medium {
		line-height: 0.5vw;
		margin: 0.5vw 0 1vw 0;
	}
	
	span.unit-of-measure.medium {
		font-size: 0.65vw;
		margin: 0 0 0 0.25vw;
	}
											
	a.add-to-cart.medium {
		font-size: 0.85vw;
		margin: 0 0 0 2vw;
		transition: 0.4s;
	}
	
	a.add-to-cart.medium::before {
		content: "➠";
	}
	
	a.add-to-cart.medium:hover:not(.disabled-text) {
		margin: 0 0 0 4.5vw;
		transition: 0.2s;
	}
	
	ul.flagpole.medium {
		position: absolute;
		top: 0;
		left: 0;
	}

	
	/**
	 * Large Product Card
	 **************************************************/
	div.product-card.large {
		border: none;
		height: 100%;
		width: 100%;
	}
	
	/*H3 on large display only*/
	h3.product-name.large {
		/*height: 13vw;
		letter-spacing: 0.1px;
		width: 100%;*/
	}
	
	div.product-image.large {
		display: inline-block;
		height: 20vw;
		width: 20vw;
		vertical-align: top;
	}
	
	div.product-summary.large {
		display: inline-block;
		margin: 0 0 0 1vw;
		width: 46vw;  
	}
	
	div.add-to-cart-container.large {
		display: inline-block;
		margin: 1vw 0.25vw 0 0;
		vertical-align: top;
		width: 7.8vw;
	}
	
	div.add-to-cart.large {
		width: 100%;
	}

	p.product-id {
		font-size: 1vw;
	}
	
	p.product-id.large::before {
		content: "Product# ";
	}

	p.product-brand.large {
		font-size: 1vw;
		margin: 0.25vw 0 0 0;
	}
	
	div.product-description.large {
		display: inline-block;
		margin: 1vw 0.25vw 0 0;
		min-height: 15vw;
		height: auto;
		width: 78.5%;
	}
		
	div.product-description.large p {
		font-size: 1.1vw;
		margin: 0 0 1vw 0;
	}
	
	div.product-description.large p:last-child {
		margin: 1.5vw 0 1.5vw 0;
	}
	
	div.product-description.large ul {
		font-size: 1.1vw;
		list-style: none;
		margin: 0 0 1vw 1vw;
	}

	div.product-description.large ul li::before {
		content: "✭ ";
	}

	/*p.product-container.large {
		font-size: 1.1vw;
	}*/

	p.product-price.large span:not(span.unit-of-measure) {
		font-size: 1.1vw;
	}
			
	span.unit-of-measure.large {
		font-size: .85vw;
		margin: 0 0 0 0.25vw;
	}
	
	button.add-to-cart.large {
		margin: 0 0 0 0;
	}
	 

	/**
	 * Cart & Checkout (cart.php)
	 ****************************************************************************************************/
	div.shopping-cart-icon {
		background-image: url("../images/shopping-cart-empty.barnred.png");
		display: inline-block;
		height: 100%;
		text-align: center;
		width: 2.5vw;
		position: absolute;
		top: 0;
		right: 30vw;
	}
	
	div.shopping-cart-icon:hover {
		background-image: url("../images/shopping-cart-empty.red.png");
	}
	
	div.shopping-cart-icon.full {
		background-image: url("../images/shopping-cart-full.barnred.png");
	}
	
	div.shopping-cart-icon.full:hover {
		background-image: url("../images/shopping-cart-full.red.png");
	}
	
	p.shopping-cart-icon {
		margin: 25% 0 0 24%;
		text-align: center;
		width: 66.667%
	}
	
	div.shopping-cart-image {
		height: 7vw;
		width: 7vw;
	}
	
	p.shopping-cart-id {
		margin: 0.4vw 0 0 0;
		font-size: 1vw;
	}
	
	p.shopping-cart-id::before {
		content: "Product# ";
	}
	
	p.shopping-cart-name {
		line-height: normal;
		margin: -0.4vw 0 0 0;
		font-size: 2.5vw;
	}
	
	span.shopping-cart-price {
		font-size: 1.1vw;
		margin: 0 0.25vw 0.5vw 0;
	}
	
	span.shopping-cart-price::after {
		content: " ×";
	}
	
	span.shopping-cart-sale {
		font-size: 1.25vw;
		margin: 0 0.5vw 0 0;
	}
	
	span.shopping-cart-quantity {
		border: 1px solid #505050;
		border-radius: 2px;
		display: inline-block;
		font-size: 1.25vw;
		margin: 0 0 0 0;
		padding: 0.1vw 0.25vw 0.1vw 0.25vw;
		width: 4vw;
	}
	
	p.shopping-cart-subtotal {
		font-size: 1.25vw;
		margin: 0 0 0.4vw 0;
	}
	
	p.subtotal-value {
		font-size: 1.25vw;
		margin: 0 1vw 0 0;
	}
	
	p.subtotal-name {
		font-size: 1.25vw;
		margin: 0 0 0 0;
	}

	table.shopping-cart {
		border-collapse:collapse; 
  		/*border-spacing: 0.5vw 0.5vw;*/
		table-layout: fixed;
		width: 100%;
	}
	
	tr.shopping-cart {
		border-bottom: 1px solid #505050;
	}
	
	tbody tr.shopping-cart {
		height: 8vw;
	}
	
	tr.shopping-cart td {
		position: relative;
		vertical-align: middle;
	}
	
	tbody tr.shopping-cart td:first-child {
		width: 7vw;
	}
	
	tbody tr.shopping-cart td:nth-child(2) {
		width: 28vw;
	}
	/*Price + Quantity*/
	tbody tr.shopping-cart td:nth-child(3) {
		padding: 1.75vw 0 0 0;
		text-align: center;
		width: 12vw;
	}
	
	tbody tr.shopping-cart td:nth-child(4) {
		width: 6vw;
		padding: 2vw 1vw 0 0;
		text-align: right;
	}
	
	tfoot tr.shopping-cart {
		height: 4vw;
	}
	
	input.shopping-cart-quantity {
		margin: 0 0 0.25vw 0;
		width: 4vw;
	}
		
	button.shopping-cart-remove {
		height: 2vw;
		margin: 0 0 0.25vw 1vw;
		vertical-align: bottom;
		width: 2vw;
	}
	
	button.shopping-cart-remove:before {
		font-size: 1.5vw;
		content: "×";
	}
	
	label.delivery {
		display: inline-block;
		font-size: 1.1vw;
		margin: 0.25vw 0 0.25vw 0;
	}
	
	input[type^="checkbox"].delivery {
		margin: 0 0.75vw 0 0;
		vertical-align: bottom;
	}
	
	input[type^="radio"].delivery {
		margin: 0 0.75vw 0 0;
		vertical-align: bottom;
	}
	
	input.delivery,select.delivery {
		margin: 0 0.5vw 0.35vw 0;
	}
	
	button.checkout {
		margin: 0 0 0 79.75%;
	}
	
	button.delivery {
		margin: 1vw 0 0 79.75%;
	}
	
	input + span,select + span,textarea + span {
		position: relative;
	}

	input + span::before,select + span::before {
		position: absolute;
		right: 0.75vw;
		bottom: 0;
	}
	
	select + span::before {
		position: absolute;
		right: 1.75vw;
		bottom: 0;
	}
	
	textarea + span::before {
		position: absolute;
		right: 0.8vw;
		bottom: 0.8vw;
	}
	
	input:invalid:focus,select:invalid:focus,textarea:invalid:focus {
		border: 1px solid red;
	}
	
	input:invalid + span::before,select:invalid + span::before,textarea:invalid + span::before {
		content: "✖";
		color: red;
	}
	
	input:valid + span::before,select:valid + span::before,textarea:valid + span::before {
		content: "✓";
		color: green;
	}
	
	label.optional {
		font-size: 0.85vw;
	}
	
	div.confirm {
		display: none;
		margin: 0 0 0 1vw;
		opacity: 0;
		padding: 0 0.75vw 0 0;
		height: auto;
		transition: 0.4s;
		width: 90%
	}
	
	div.confirm.show {
		display: block;
		opacity: 1;
		transition: 0.2s;
	}
	
	div.delivery {
		display: none;
		margin: 0 0 0 1vw;
		opacity: 0;
		padding: 0 0.75vw 0 0;
		height: auto;
		transition: 0.4s;
		width: 90%
	}
	
	div.delivery.show {
		display: block;
		opacity: 1;
		transition: 0.2s;
	}
	
	div.delivery > button:nth-of-type(2) {
		margin: 1vw 0 0 24.5%;
	}
	
	div.payment {
		display: none;
		margin: 0 0 0 1vw;
		opacity: 0;
		padding: 0 0.75vw 0 0;
		height: auto;
		transition: 0.4s;
		width: 90%
	}
	
	div.payment.show {
		display: block;
		opacity: 1;
		transition: 0.2s;
	}

	div.payment button:nth-of-type(2) {
		margin: 1vw 0 0 6.75%;
	}
	
	div#payment-form {
		width: 25.5%;
	}
			
	div.payment-status {
		margin: 0 0 1vw 0
	}
	
	div.delivery-method {
		display: flex;
		flex-direction: column;
	}
	
	div.delivery-mothod :nth-child(2) {
		margin: 0.25vw 0 0 0;
	}
	
	fieldset#ship-to-address.show {
		display: flex;
		height: auto;
		opacity: 1;
		transition: 0.4s;
	}
	
	fieldset#ship-to-address {
		display: none;
		height: 0;
		opacity: 0;
		transition: 0.2s;
	}
}
