/* ~~ Element/tag selectors ~~ */
body {
	margin: 0;
	padding: 0;
}

ul, ol, dl { 
/* Due to variations between browsers, it's best practices to zero padding and margin on lists.
   For consistency, you can either specify the amounts you want here, or on the list items 
   (LI, DT, DD) they contain. Remember that what you do here will cascade to the .nav list 
   unless you write a more specific selector. */
	padding: 0;
	margin: 0;
}

h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* removing the top margin gets around an issue where margins can escape from their containing div. The remaining bottom margin will hold it away from any elements that follow. */
	padding-right: 15px;
	padding-left: 15px; /* adding the padding to the sides of the elements within the divs, instead of the divs themselves, gets rid of any box model math. A nested div with side padding can also be used as an alternate method. */
}

h2 {
	margin-bottom: 10px;
}

h3, h4 {
	margin-bottom: 0px;
}

/* ~~this fixed width container surrounds the other divs~~ */
.container {
	width: 100%;
	overflow-x: hidden;
	position: absolute;
}

@media (min-width: 960px) {
	.container {
		position: relative;
		width: 960px;
		margin: 0 auto;
	}
}

/* styling for the slideshow inside the banner */
#slideshow {
	width: 100%;
}

#slideshow img {
    top:0;
    left:0;
	width: 100%;
	height: auto;
    z-index:8;
	opacity:0.0;
}

#slideshow img.ss {
	position:absolute;
}

#slideshow img.active {
    z-index:10;
    opacity:1.0;
}

#slideshow img.last-active {
    z-index:9;
}

/* styling to display the logo and page title */
.banner {
	width: 100%;
	position: relative;
	margin-top: -18%;
}

#logobox {
	position: relative;
	width: 18.75%;
	left: 1%;
/*	top: 0px; */
	z-index: 11;
}

#bbox {
	margin: 2.75%;
	padding: 5.5%;
	display: inline-block;
}

#logo {
	width: 100%;
	height: auto;
}

@media (min-width: 960px) {
	#logo {
		width: 150px;
		height: 224px;
	}
}

#slogan {
	z-index: 11;
	opacity: 1.0;
	position: absolute;
	bottom: 35%;
	left: 22%;
	width: 62.5%;
}

#slogan img {
	width: 100%;
}

#title {
	position: absolute;
	left: 22%;
	bottom: 0;
}

#title h1 {
	padding: 0px;
	margin-bottom: -2vw;
}

#menubox {
	max-width: 30px;
	position: absolute;
	right: 10px;
	bottom: 3%;
}

#menubutton {
	width: 100%;
	height: auto;
}

#cartbox {
	max-width: 30px;
	position: absolute;
	right: 45px;
	bottom: 3%;
}

/* need to make sure neither cart link is displayed on page load */
#cartbox, #yourcart {
	display: none;
}

@media (min-width: 800px) {
	#menubox {
		display: none;
	}
}

/* ~~ These are the columns for the layout. ~~ */
.sidebar1 {
	display: none;
	width: 180px;
	margin-right: 10px;
	margin-left: auto;
	padding-bottom: 10px;
}

@media (min-width: 800px) {
	.sidebar1 {
		margin-left: 0;
		margin-right: auto;
	}
}
	
/* styling for the menu items */
ul.menu { 
	padding-left: 20px;
}

ul.submenu { 
	padding-left: 20px;
}

.social {
	display: none;
	padding: 20px 20px 0px 20px;
}

.branding {
	display: none;
	padding: 10px;
}

@media (min-width: 800px) {
	.sidebar1 {
		display: block;
		float: left;
		width: 22%;
		max-width: 180px;
	}

	.social, .branding {
		display: block;
	}
}

.content {
	padding: 10px 0;
	width: 100%;
	left: 0px;
	position: relative;
	top: 0px;
}

@media (min-width: 800px) {
	.content {
		position: static;
		float: left;
		width: 78%;
	}
}

/* ~~ This grouped selector gives the lists in the .content area space ~~ */
.content ul, .content ol { 
	padding: 0 15px 15px 40px; /* this padding mirrors the right padding in the headings and paragraph rule above. Padding was placed on the bottom for space between other elements on the lists and on the left to create the indention. These may be adjusted as you wish. */
}

/* images within content - floated left or right */
.content .imgleft {
	float: left;
	padding: 0px 15px;
}

.content .imgright {
	float: right;
	padding: 0px 15px;
}

.content .imgcenter {
	display: block;
	margin: 0 auto;
	padding-left: 15px;
}

.blogdate {
	margin-top: -10px;
}

.newsdate {
	margin-top: -10px;
}

/* wines table */
.winetable {
	width: 100%;
}

.winetable td {
	vertical-align: top;
}

.winetable td p, .winetable td h4 {
	padding-left: 0px;
}

.plink {
	float: right;
}

.plink #addtocart {
	margin-left: 10px;
	margin-top: -10px;
}

.plink .ui-button-text {
	padding: .2em .6em;
}

.plink .ui-spinner {
	margin-top: -10px;
}

#wineprice {
	margin-right: 10px;
}

/* bottle price only displays when printing */
.bprice {
	display: none;
}

/* reference to left menu in wines.php */
#leftmenu {
	display: none;
}

@media (min-width: 800px) {
	#leftmenu {
		display: inline;
	}
}

/* remove unsightly underlines from phone number links */
a.phone {
	text-decoration: none;
}

/* ~~ The footer ~~ */
#copyright {
	display: none;
	font-size: 80%;
}

.footer {
	padding: 10px 0;
/*	position: relative;/* this gives IE6 hasLayout to properly clear
	left: 0px; */
	clear: both; /* this clear property forces the .container to understand where the columns end and contain them */
}

/* ~~ miscellaneous float/clear classes ~~ */
.fltrt {  /* this class can be used to float an element right in your page. The floated element must precede the element it should be next to on the page. */
	float: right;
	margin-left: 8px;
}

.fltlft { /* this class can be used to float an element left in your page. The floated element must precede the element it should be next to on the page. */
	float: left;
	margin-right: 8px;
}

.clearfloat { /* this class can be placed on a <br /> or empty div as the final element following the last floated div (within the #container) if the #footer is removed or taken out of the #container */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}
