html, body {
	height: 100%;
}
body, header, nav, h1, p, div, span {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
body, button, input, select {
	/*font: 1rem 'Helvetica Neue', 'Segoe UI', sans-serif;*/
	font: 1rem Georgia, serif;
}
#Header {
	background: #efefef;
	border-bottom: 1px solid silver;
	margin-bottom: 1rem;
}
#Header > a {
	display: inline-block;
}
nav {
	background: #000;
	bottom: 0;
	left: -20rem;
	position: fixed;
	top: 0;
	transition: left .25s;
	width: 20rem;
	z-index: 2;
}
nav.vs2s-active {
	left: 0;
}
nav.vs2s-active #NavClose {
	display: block;
}
nav a {
	color: white;
	display: block;
	padding: 1rem .5rem;
	text-decoration: none;
}
nav a:hover {
	background: #333;
}
#AddedToCart {
  background: black;
  background: rgba(0,0,0,.85);
  color: white;
  left: 0;
  opacity: 0;
  padding: 1rem;
  position: fixed;
  right: 0;
  top: -11rem;
  transition: top .8s, opacity 1.4s;
  z-index: 3;
}
#AddedToCart a {
    background: #49930c;
    border-radius: .4rem;
    color: white;
    padding: .5rem;
    text-decoration: none;
}
#AddedToCart > span {
  display: block;
  margin: 2rem;
  text-align: center;
}
#AddedToCart.vs2s-active {
	opacity: 1;
	top: 20%;
}
#AddedToCart i.fa.fa-lock {
  margin-right: .5rem;
}
#CheckoutButton {
	color: #444;
	font-size: 1.2rem;
	padding: 1rem;
	position: absolute;
	right: 0;
}
#MainMenu {
	border-bottom: 1px solid #333;
	display: block;
}
#MainSection {
	padding: 0 .5rem;
}
#MobileMenuButton {
	background: #e2e2e2;
	background: linear-gradient(to bottom, rgb(220,220,220), rgb(200,200,200));
	color: black;
	font-size: 1.2rem;
	padding: 1rem 1.2rem;
	text-decoration: none;
}
#MobileMenuButton:hover {
	opacity: .8;
}
#MoreMenu {
	display: block;
}
#NavClose {
	bottom: 0;
	display: none;
	left: 20rem;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1;
}
#SiteName {
	color: #444;
	font-size: 1.2rem;
	padding: 1rem;
	text-decoration: none;
}
footer {
	color: rgb(200,200,200);
	font-size: .8rem;
	margin: 4rem 2rem;
	text-align: center;
}
#VineSpringLink a {
	color: rgb(200,200,200);
}

/*vertical baseline*/
h1, p, .vs2-productList-link, .vs2-productList-teaser, .vs2-productList-subs,
.vs2-productList-item, .vs2-productList-details, .vs2-productDetail-description, .vs2-productDetail-container {
	margin-bottom: 1rem;
}

/*links, headers, etc*/
a { 
	color: blue;
	outline: none;
	text-decoration: none;
}

/*forms*/
button {
  background: #49930c;
  border: none;
  border-radius: .5rem;
  color: white;
  padding: .5rem;
}
fieldset {
  border: 1px solid silver;
  padding: 1rem .5rem;
}
label {
  color: #a0a0a0;
}
legend {
  color: #444;
  font-weight: bold;
}
input {
	border: 1px solid silver !important;
	height: 2rem;
	padding: .5rem;
}
select {
	border: 1px solid silver !important;
	padding: .5rem;
}
input[type=checkbox], input[type=radio] {
	height: auto;
}

/*product list*/
.vs2-productList-addToCart button {
	padding: .5rem;
}
.vs2-productList-image {
	margin: 0 auto;
}
.vs2-productList-item {
	border-bottom: 1px solid #e2e2e2;
	float: none !important;
	padding: 0 !important;
	text-align: center;
}
.vs2-productList-item > div {
	float: none !important;
}
.vs2-productList-link {
	display: inline-block;
	font-size: 1.2rem;
}
.vs2-productList-quantity-input, .vs2-productList-quantity-dropdown {
	padding: .2rem;
	text-align: center;
  	width: 3rem;
}
.vs2-productList-teaser {
	text-align: center;
}
.vs2-productList-sub > span {
	margin: 0 1rem;
	text-align: center;
	width: 33.33%;
}
#vs2-cart-confirmation {
  background: black;
  color: white;
  left: 0;
  opacity: .85;
  padding: 1rem;
  position: fixed;
  right: 0;
  text-align: center;
  top: 0;
}

/*product detail*/
.vs2-productDetail-container {
  overflow: auto !important;
  text-align: center;
}
.vs2-productDetail-image {
  float: none !important;
}
.vs2-productDetail-details {
	float: left;
	width: 100%;
}
.vs2-saveCancel button {
	margin-right: .5rem;
}

/*cart*/
a.vs2-cart-edit {
	color: #444;
	float: right;
	font-size: 1rem;
	margin-top: .25rem;
	text-decoration: none;
}
.vs2-cart-header h2 {
	border-bottom: 1px solid silver;
}
.vs2-cart-section .vs2-cart-header span { 
    opacity: .4; 
}
.vs2-cart-section.vs2-active .vs2-cart-header span { 
    opacity: 1; 
}
#vs2-cart-items .vs2x-m4 {
	border-bottom: 1px solid silver;
	margin-bottom: 1rem;
}
@media only screen and (min-width: 48em) {
	#vs2-cart-items .vs2x-m4 {
		border-bottom: none;
	}
}
#vs2-cart-items span {
  	display: inline-block;
}
#vs2-cart-items .vs2x-row span {
	display: inline-block;
	margin-bottom: .5rem;
}
#vs2-cart-items .vs2x-m8 {
	padding-bottom: 0;
}
#vs2-cart-items .vs2x-m4:last-child {
  border: 0;
}
.vs2-cart-itemBasePrice {
	color: silver;
}
.vs2-cart-itemPriceDiscounted {
	color: red;
}
.vs2-productList-soldOut {
	display: table;
	margin: 0 auto;
}
.vs2-productList-soldOut > span {
	display: table-cell;
	padding: 0 1rem 0 0;
}
.vs2-productList-soldOut > span:last-child {
	color: red;
}
.vs2-productList-notAvailable > span {
	color: #777;
	font-style: italic;
}

/*Registration, hide fieldset*/
#Registration fieldset {
	border: none;
	padding: 0;
	margin: 2rem 0;
}
#Registration legend {
	display: none;
}

/*allocations*/
.vs2-account-allocations {
	text-align: center;
}
.vs2-account-allocations > div.vs2x-row > div {
	display: block;
	float: none;
}
div.vs2-allocations-image {
	width: 100% !important;
}
div.vs2-allocations-details {
	width: 100% !important;
}
div.vs2-allocations-sub {
	display: table;
	margin: 1rem auto;
}
div.vs2-allocations-sub > span {
	display: table-cell;
	padding: 1rem;
}

@media only screen and (min-width : 768px) {
	.vs2-productDetail-container {
		display: table;
		margin: 0 auto;
	}
	.vs2-productDetail-container > div {
		display: table-cell;
		text-align: left;
		vertical-align: top;
	}
	.vs2-productDetail-image {
		float: none !important;
		padding-right: 2rem !important;
		text-align: center !important;
	}
	.vs2-productDetail-details {
		padding-top: 2rem !important;
		max-width: 40rem;
	}

	/*allocations*/
	.vs2-account-allocations {
		text-align: left;
	}
	.vs2-account-allocations > div.vs2x-row > div {
		float: left;
	}
	div.vs2-account-allocations > div.vs2x-row > div.vs2-allocations-image {
		width: 25% !important;
	}
	div.vs2-account-allocations > div.vs2x-row > div.vs2-allocations-details {
		width: 75% !important;
	}
	div.vs2-allocations-sub {
		margin: 1rem 0;
	}
	div.vs2-allocations-sub > span {
		padding: 1rem 1rem 1rem 0;
	}

	/*club signup*/
	#ClubSignup > form {
		margin: auto;
	}
	#ClubSignupHeader {
		max-width: 40rem;
		margin: 0 auto 2rem auto;
	}
}

/* at least 1024 */
@media only screen and (min-width : 1024px) {
	body {
	  padding-top: 4.8rem;
	}
	#Header {
	  left: 0;
	  margin: 0;
	  position: fixed;
	  right: 0;
	  top: 0;
	  z-index: 1000;
	}
	#MainSection {
		padding: 2rem .5rem;
	}
	#CheckoutButton, #MobileMenuButton {
		display: none !important;
	}
	nav {
		background: none;
		bottom: auto;
		display: inline-block;
		left: auto;
		position: absolute;
		right: 0;
		top: auto;
		width: auto;
	}
	nav a {
		color: #444;
		display: inline-block;
		font-size: 1rem;
		padding: 1.25rem .5rem;
		text-decoration: none;
	}
	nav a:hover {
		background: #e2e2e2;
		background: linear-gradient(to bottom, rgb(220,220,220), rgb(200,200,200));
	}
	#AddedToCart {
		left: 30%;
		right: 30%;
	}
	#MainMenu, #MoreMenu {
		border-bottom: none;
		display: inline;
	}
	#SiteName {
		font-size: 1.4rem;
		padding: 1rem;
	}
	div#Cart, div#Account, div#Registration {
	  margin: 0 auto;
	  width: 48em;
	}

	.vs2-productList-container {
		margin: 2rem auto;
		max-width: 61.4rem;
	}
	.vs2-productList-item {
		border: 1px solid #efefef;
		display: inline-block;
		margin: .25rem;
		text-align: left;
		height: 18rem;
		width: 30rem;
	}
	.vs2-productList-image {
		display: inline;
		text-align: center;
		width: 7rem;
	}
	.vs2-productList-item > div {
		display: table-cell;
		padding: 1rem;
		vertical-align: top;
	}
	.vs2-productList-sub > span {
		margin: 0 1rem 0 0;
	}
	.vs2-productList-details {
		text-align: left;
		width: 20rem;
	}
	.vs2-productList-teaser {
		text-align: left;
	}
	.vs2-productList-image img {
		height: 150px;
	}
	.vs2-productList-soldOut {
		margin: 0;
	}
	
	/*account area*/
	#vs2-account-nav {
		display: table;
		margin: 1rem -.5rem 2rem -.5rem;
	}
	#vs2-account-nav > div {
		display: table-cell;
	}
	#vs2-account-nav > div > a {
		padding: .5rem;
	}
	#vs2-account-nav > div > a:hover {
		background: rgb(245,245,245)
	}


	/*nav*/
	#vs2-accountLinks {
		float: right;
		margin-left: 4.5rem;
	}
	#vs2-accountLinks-user {
		position: absolute;
		right: 0;
		top: 2.8rem;
	}
	#vs2-accountLinks-user > a {
		color: #999;
		font-size: .8rem;
	}
	#vs2-accountLinks-user > a:hover {
		background: none;
	}
	#vs2-accountLinks-cart {
		position: absolute;
		right: 0;
	}

	#Header {
		background: white;
	}
	a#SiteName {
		background-position: 15px center;
		background-repeat: no-repeat;
		width: 20rem;
	}
	a#SiteName span {
		opacity: 0;
	}
}