/* General styles */
article img {
	border: 1px solid #AFAFAF;
}
table {
	border-collapse: collapse;
}
table tr:nth-of-type(even), table thead tr {
	background-color: #CFCFCF;
}
table tr > td {
	padding: 2px 5px;
	vertical-align: top;
}
form label {
	display: block;
}
form input, form select {
	border-width: 1px;
	border-style: solid;
	border-color: transparent transparent #AFAFAF transparent;
	padding: 1px;
	color: #000000;
	transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-wekbit-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
}
form input:hover, form select:hover, form input:focus, form select:focus {
	border: 1px solid #000000;
	background-color: #AFAFAF;
}
form input.missing, form select.missing  {
	border-color: #FF0000;
}
form input[type=submit] {
	padding: 5px 10px;
	border: 0;
	background-color: #1F1FAF;
	color: #DFDFDF;
}
form input[type=submit]:hover, form input[type=submit]:focus {
	text-shadow: 0 0 1px #DFDFDF, 0 0 1px #DFDFDF;
}
form input:disabled {
	background-color: #AFAFAF;
}
article ul, article ol {
	margin-bottom: 20px;
}
article li {
	margin-left: 20px;
}
dl > dt {
	float: left;
	width: 100px;
}
dl > dd {
	margin-left: 120px;
	width: 100px;
	text-align: right;
}
.hidden {
	opacity: 0;
}

/* Product index */
img.teaser {
	float: right;
	border: 0;
	margin: 0 0 20px 20px;
	width: 256px;
	height: 256px;
}
ul.productindex {
	clear: both;
	overflow: hidden;
}
ul.productindex > li {
	display: block;
	float: left;
	width: 220px;
	margin-top: 20px;
	list-style-type: none;
}
ul.productindex > li:nth-child(4n+1) {
	margin-left: 0;
	clear: left;
}
ul.productindex > li:nth-child(1), ul.productindex > li:nth-child(2),
ul.productindex > li:nth-child(3), ul.productindex > li:nth-child(4) {
	margin-top: 0;
}
ul.productindex > li > a {
	display: block;
	border-width: 1px;
	border-style: solid;
	border-color: transparent;
	padding: 10px;
	transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-wekbit-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
}
ul.productindex > li > a:hover {
	border-color: #AFAFAF;
}
ul.productindex > li > a > img {
	display: block;
	margin: 0 auto 10px auto;
	width: 160px;
	height: 120px;
}
ul.productindex > li > a > span.name {
	display: block;
	font-size: 20px;
	line-height: 20px;
	margin-bottom: 10px;
}
ul.productindex > li > a > span.price {
	color: #000000;
}

/* Slideshows */
@keyframes crossfade-3f-5s {
	 0.000% {opacity: 0; visibility: hidden;}  /* 0s */
	 6.667% {opacity: 1; visibility: visible;} /* 1s */
	33.333% {opacity: 1; visibility: visible;} /* 5s */
	40.000% {opacity: 0; visibility: hidden;}  /* 6s */
}
@-moz-keyframes crossfade-3f-5s {
	 0.000% {opacity: 0; visibility: hidden;}  /* 0s */
	 6.667% {opacity: 1; visibility: visible;} /* 1s */
	33.333% {opacity: 1; visibility: visible;} /* 5s */
	40.000% {opacity: 0; visibility: hidden;}  /* 6s */
}
@-webkit-keyframes crossfade-3f-5s {
	 0.000% {opacity: 0; visibility: hidden;}  /* 0s */
	 6.667% {opacity: 1; visibility: visible;} /* 1s */
	33.333% {opacity: 1; visibility: visible;} /* 5s */
	40.000% {opacity: 0; visibility: hidden;}  /* 6s */
}
.ss-crossfade-3f-5s {
	position: relative;
}
.ss-crossfade-3f-5s > * {
	float: left;
	width: 100%;
	opacity: 0;
	visibility: hidden;
	animation-name: crossfade-3f-5s;
	animation-duration: 15s;
	animation-timing-function: ease;
	animation-iteration-count: infinite;
	-moz-animation-name: crossfade-3f-5s;
	-moz-animation-duration: 15s;
	-moz-animation-timing-function: ease;
	-moz-animation-iteration-count: infinite;
	-webkit-animation-name: crossfade-3f-5s;
	-webkit-animation-duration: 15s;
	-webkit-animation-timing-function: ease;
	-webkit-animation-iteration-count: infinite;
}
.ss-crossfade-3f-5s > *:nth-child(1) {
	margin-left: 0;
	animation-delay: 0s;
	-moz-animation-delay: 0s;
	-webkit-animation-delay: 0s;
}
.ss-crossfade-3f-5s > *:nth-child(2) {
	margin-left: -100%;
	animation-delay: 5s;
	-moz-animation-delay: 5s;
	-webkit-animation-delay: 5s;
}
.ss-crossfade-3f-5s > *:nth-child(3) {
	margin-left: -100%;
	animation-delay: 10s;
	-moz-animation-delay: 10s;
	-webkit-animation-delay: 10s;
}

/* Product page - gallery */
div#gallery {
	float: left;
	margin-bottom: 20px;
}
div#gallery > img#gallerymain {
	display: block;
	width: 560px;
	height: 420px;
	margin-bottom: 10px;
	transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-wekbit-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
}
div#gallery > div.gallerythumbs {
	text-align: center;
	/* Trick to collapse whitespace between inline elements: */
	font-size: 0;
}
div#gallery > div.gallerythumbs > img.gallerythumb {
	width: 80px;
	height: 60px;
	margin: 0 5px;
	cursor: pointer;
}

/* Product page - order form */
div.ordering {
	margin-left: 580px;
}
div.ordering > form > label {
	margin-bottom: 10px;
}
div.ordering > form > label > span {
	float: left;
	width: 100px;
}
div.ordering > form > label > input, div.ordering > form > label > select {
	margin-left: 20px;
}
div.ordering > form > p#price {
	margin-left: 120px;
	margin-bottom: 10px;
	font-weight: bold;
}
div.ordering > form > label > input#qty {
	width: 2em;
}
div.ordering > form > input {
	margin-left: 120px;
	margin-bottom: 20px;
}

/* Product page - product details */
div.details {
	clear: left;
	overflow: hidden;
}
div.details > div.desc {
	float: left;
	width: 460px;
}
div.details > div.desc > *:last-child {
	margin-bottom: 0;
}
div.details > div.specs {
	margin-left: 480px;
}
div.details > div.specs > table tr > td:first-child {
	width: 170px;
}
div.details > div.specs > table tr > td:last-child {
	width: 290px;
}
div.tabs {
	clear: left;
	position: relative;
	padding: 0;
}
div.tabs > input {
	display: none;
}
div.tabs > label {
	display: block;
	float: left;
	margin: 1px 1px 0 1px;
	padding: 10px 20px;
	cursor: pointer;
	font-weight: bold;
}
div.tabs > input:checked + label {
	background-color: #FFFFFF;
	margin: 0;
	padding: 10px 20px 11px 20px;
	border-width: 1px 1px 0 1px;
	border-style: solid;
	border-color: #AFAFAF;
	position: relative;
	z-index: 1;
}
div.tabs > div {
	display: none;
	background-color: #FFFFFF;
	clear: left;
	border: 1px solid #AFAFAF;
	position: relative;
	top: -1px;
	padding: 20px;
}
div.tabs > input#tab-tour:checked ~ div#tab-page-tour,
div.tabs > input#tab-specs:checked ~ div#tab-page-specs {
	display: block;
}
div.tabs > div#tab-page-tour > * {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	clear: both;
}
div.tabs > div#tab-page-tour img, div.tabs > div#tab-page-tour div.imgs {
	width: 800px;
	height: 600px;
	border: 0;
}
div.tabs > div#tab-page-tour div.imgs {
	margin-bottom: 20px;
}
div.tabs > div#tab-page-tour p.fineprint {
	font-size: 10px;
	text-align: left;
	color: #9F9F9F;
	margin-bottom: 0;
}
div.tabs > div#tab-page-specs > table tr:nth-of-type(even),
div.tabs > div#tab-page-specs > table thead tr {
	background-color: #DFDFDF;
}
div.tabs > div#tab-page-specs > table tr > td:first-child {
	width: 170px;
}
div.tabs > div#tab-page-specs > table {
	width: 100%;
}

/* Checkout page */
form#orderform {
	overflow: hidden;
	position: relative;
}
form#orderform > fieldset {
	width: 460px;
	margin-bottom: 16px;
}
form#orderform > fieldset > legend {
	font-weight: bold;
	margin-bottom: 10px;
}
form#orderform > fieldset#errors {
	float: right;
	transition: all 250ms ease-in-out 0s;
	-moz-transition: all 250ms ease-in-out 0s;
	-wekbit-transition: all 250ms ease-in-out 0s;
	-o-transition: all 250ms ease-in-out 0s;
}
form#orderform > dl.product {
	width: 460px;
	margin-bottom: 20px;
	clear: none;
}
form#orderform > dl.product > dd {
	width: 340px;
	text-align: left;
}
form#orderform > fieldset.bill {
	clear: both;
	float: left;
}
form#orderform > fieldset.ship {
	margin-left: 480px;
}
form#orderform > fieldset > label {
	display: block;
	clear: left;
}
form#orderform > fieldset > label > span {
	float: left;
	width: 160px;
}
form#orderform > fieldset > label > input,
form#orderform > fieldset > label > select {
	margin-left: 20px;
	margin-bottom: 4px;
	line-height: 100%;
}
form#orderform > fieldset > label > input {
	width: 16em;
}
form#orderform > fieldset > label > input#cc-cvv {
	width: 4em;
}
form#orderform > fieldset > label > input#cc-postal,
form#orderform > fieldset > label > input#ship-postal {
	width: 10em;
}
form#orderform > fieldset > fieldset {
	display: block;
	clear: left;
}
form#orderform > fieldset > fieldset > legend {
	float: left;
	width: 160px;
}
form#orderform > fieldset > fieldset > label {
	display: inline;
}
form#orderform > fieldset > fieldset > label > span {
	position: absolute;
	top: -9000px;
	left: 0;
}
form#orderform > fieldset > fieldset > label > input,
form#orderform > fieldset > fieldset > label > select {
	margin-left: 20px;
	margin-bottom: 4px;
	line-height: 100%;
}
form#orderform > fieldset > fieldset > label > select#cc-ex-year {
	margin-left: 10px;
}
form#orderform > dl {
	clear: both;
}
form#orderform > dl > dt {
	float: left;
	width: 100px;
}
form#orderform > dl > dd {
	margin-left: 120px;
	width: 100px;
	text-align: right;
}
form#orderform > input[type=submit] {
	position: absolute;
	right: 0;
	bottom: 0;
}

/* Confirmation */
.confirm-bill {
	width: 460px;
	float: left;
}
.confirm-ship {
	width: 460px;
	margin-left: 480px;
}
.confirm-products {
	clear: both;
}

/* Inventory */
form input.qty {
	width: 3em;
}
form > table {
	margin: 20px 0;
}
