/*
 * =============================
 * @author: 	Peter Slagter
 * @module: 	mod_webshop
 * @about: 		Main CSS-file for the basic webshop frontend CSS
 * =============================
 */

/*
	Defaults
	--------------------------------------------------
*/
ol.product-list,
ol.product-list ul,
ol.per-page,
ul.webshop-categories {
	margin: 0;
	padding: 0;
	list-style: none;
}

div.article {
	overflow: visible;
}

/*
	Front-end product list
	--------------------------------------------------
*/
div.webshop-category-introduction {
	margin-bottom: 1em;
	overflow: hidden;
	border-bottom: 1px solid #ccc;
}

div.webshop-category-introduction img {
	float: left;
}

div.webshop-category-introduction img {
	margin: 0 10px 1em 0;
}

ol.product-list li {
	position: relative;
	height: 100%;
	clear: both;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #d8d9d9;
}

ol.product-list li.last {
	border-bottom: 0;
}

img.product-image {
	float: left;
}

/* product meta information & actions */
div.meta-information {
	width: 155px;
	float: right;
	margin-right: 30px;
	font-size: 11px;
}

/* Product information */
div.product-information {
	margin: 0 65px 0 90px;
	font-size: 11px;
}

div.product-information h3 {
	color: #00386a;
	letter-spacing: -1px;
}

ul.product-actions {
	position: absolute;
	right: 0;
	top: 0;
}

ol.product-list span.product-price {
	position: absolute;
	left: 338px;
	bottom: 10px;
	width: 75px;
	text-align: right;
	color: #00386A;
	font-weight: bold;
	font-size: 11px;
}

span.product-price span.regular {
	display: block;
	text-decoration: line-through;
}

span.product-price span.action {
	color: red;
}

div.product-information span {
	display: block;
	height: 17px;
}

div.product-information span.product-dimensions {
	float: left;
}

div.product-information span.product-capacity {
	margin-left: 13em;
}

div.product-information dl,
div.product-information span {
	letter-spacing: -1px;
}

div.product-information dt,
div.product-information dd {
	margin: 0;
	padding: 0;
}

div.product-information dt {
	float: left;
}

div.product-information dd {
	margin: 0 0 0 13em;
}

/* Product actions */
ol.product-list ul li {
	padding: 0;
	margin: 0 0 5px 0;
	border: 0;
	height: auto;
	min-height: 14px;
}

ul.product-actions li a {
	display: block;
	height: 14px;
	width: 15px;
	margin-left: 5px;
	overflow: hidden;
	text-indent: -999em;
	background: transparent url(../img/webshop-sprite.png) no-repeat -44px 0;
}

ul.product-actions li a.show-product-details {
	background-position: -44px -19px;
}

/* Favorited */
ul.product-actions li a.product-remove-from-favorites {
	position: absolute;
	width: 30px;
}

/* Add to shoppingcart */
/* Default (no-js) */
ul.product-actions span.add-to-shopping-cart,
ul.product-actions div.add2cart a {
	display: block;
	margin-left: 0;
}

span.add-to-shopping-cart a,
div.add2cart a,
span.add-to-shopping-cart input,
div.add2cart input {
	float: left;
}

span.add-to-shopping-cart input,
div.add2cart input {
	width: 30px;
	margin-right: 5px;
}

ul.product-actions li span.add-to-shopping-cart a,
span.atsc-modified {
	position: relative;
	width: 23px;
	height: 17px;
	background: transparent url(../img/webshop-sprite.png) no-repeat -39px -37px;
	text-indent: -999em;
	cursor: pointer;
}

ol.product-list span.add-to-shopping-cart a img {
	display: block;
	position: absolute;
	right: -15px;
	z-index: 100;
}

span.product-in-shopping-cart {
	position: absolute;
	width: 35px;
}

div#webshop-product-details span.product-in-shopping-cart {
	position: static;
	width: auto;
}

/* With JS */
div.add2cart {
	display: none;
	position: absolute;
	left: -75px;
	top: -10px;
	width: 68px;
	height: 41px;
	padding: 5px 12px 15px 5px;
	color: #00386A;
	font-size: 11px;
	background: transparent url(../img/bg-add2cart.png) no-repeat 0 0;
	z-index: 200;
}

div.add2cart-visible {
	display: block;
}

div.add2cart span {
	display: block;
	margin-bottom: .4em;
	letter-spacing: -1px;
	line-height: 1;
}

ul.product-actions li div.add2cart a {
	width: 26px;
	height: 16px;
	background-position: -39px -73px;
}

div.add2cart input {
	padding: 0;
	font-size: 10px;
	text-align: center;
}

div.add2cart a img {
	display: block;
	padding: 0 10px 0 0;
	background-color: #fff;
}

ul.product-actions li div.add2cart-adding a {
	background: transparent;
}

/* Meta information */
a.product-brochure {
	padding: 1px 0 0 20px;
	background: transparent url(../img/webshop-sprite.png) no-repeat -42px -56px;
}

/*
	Webshop categories
	--------------------------------------------------
*/
ul.webshop-categories {
	margin: 0;
	padding: 0 0 0 60px;
	list-style: none;
}

ul.webshop-categories li {
	position: relative;
	float: left;
	margin: 0 40px 2em 0;
	width: 180px;
	height: 120px;
	background-color: #f2f2f3;
	border: 1px solid #d7d8d8;
}

ul.webshop-categories li:hover {
	background-color: #D9DADB;
}

ul.webshop-categories a {
	position: absolute;
	top: 0;
	left: 0;
	padding-bottom: 5px;
	display: block;
	text-decoration: none;
	color: #444;
	font-size: 18px;
}

ul.webshop-categories h3 {
	margin-top: 75px;
	text-align: center;
}

ul.webshop-categories h3 a {
	position: static;
	height: 45px;
	padding: 0 5px;
	color: #7c7e7f;
	font-size: 12px;
	font-weight: bold;
}

ul.webshop-categories a img {
	display: block;
	margin: 0;
	border: 0;
}

ul.webshop-categories div.webshop-category-introduction {
	position: absolute;
	left: -999em;
}

/*
	Webshop category tree
	--------------------------------------------------
*/
/* First level */
div.webshop-category-tree {
	padding-left: 15px;
}

div.webshop-category-tree ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

div.webshop-category-tree li {
	height: 100%;
	border-bottom: 2px solid #c4c5c6;
}

div.webshop-category-tree li.last {
	border-bottom: 0;
}

div.webshop-category-tree li a {
	display: block;
	padding: 2px 0 2px 10px;
	font-size: 11px;
	background: transparent url(../img/webshop-sprite.png) no-repeat -143px -30px;
	color: #8b8d8e;
	text-decoration: none;
}

div.webshop-category-tree li a:hover {
	color: #00386a;
}

div.webshop-category-tree li.active a {
	color: #00386a;
	background-position: -143px -75px;
}

div.webshop-category-tree li.has-children.active a {
	background-position: -143px 9px;
}

/* Second level */
div.webshop-category-tree ul ul {
	padding: 5px 0;
	margin-bottom: 10px;
	background-color: #f2f2f3;
}

div.webshop-category-tree li li {
	border-bottom: 0;
}

div.webshop-category-tree li.active li a {
	padding: 0 8px;
	color: #868889;
	background-image: none;
}

div.webshop-category-tree li li a:hover ,
div.webshop-category-tree li.active li.active a {
	color: #00386a;
}

div.webshop-category-tree li.active li.active {
	margin: 0 0 0 9px;
}

div.webshop-category-tree li.active li.active a {
	background: transparent url(../img/webshop-sprite.png) no-repeat -143px -77px;
}

div.webshop-category-tree li.active li.has-children.active a {
	background: transparent url(../img/webshop-sprite.png) no-repeat -143px 8px;
}

/* Third level */
div.webshop-category-tree ul ul ul {
	margin: 0 0 5px 0;
	background-color: #fff;
}

div.webshop-category-tree li.active li.has-children.active li a {
	background-image: none;
	color: #868889;
}

div.webshop-category-tree li.active li.active li {
	margin: 0;
}

div.webshop-category-tree li.active li.active li a:hover,
div.webshop-category-tree li.active li.active li.active a {
	color: #00386a;
}

div.webshop-category-tree li.active li.active li.active a {
	background: transparent url(../img/webshop-sprite.png) no-repeat -143px -77px;
}

/* Show&Hide Behavior */
div.webshop-category-tree ul ul,
div.webshop-category-tree li.active ul ul,
div.webshop-category-tree li.active ul ul ul {
	display: none;
}

div.webshop-category-tree li.active ul,
div.webshop-category-tree li.active li.active ul,
div.webshop-category-tree li.active li.active li.active ul {
	display: block;
}

/*
	Webshop product search
	--------------------------------------------------
*/
form#webshop-product-search {
	position: relative;
	height: 100%;
}

form#webshop-product-search fieldset {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
}

form#webshop-product-search div.fieldinput {
	margin: 0;
	padding: 0;
}

form#webshop-product-search label {
	position: absolute;
	left: -999em;
}

form#webshop-product-search input {
	width: 494px;
	padding: 3px 25px 3px 5px;
	border: 1px solid #ccc;
	font-size: 11px;
	background: transparent url(../img/webshop-sprite.png) repeat-x 0 -98px;
}

form#webshop-product-search button {
	position: absolute;
	right: 1px;
	top: 1px;
	display: block;
	width: 25px;
	height: 20px;
	padding: 0;
	text-indent: -999em;
	border: 0;
	background: transparent url(../img/webshop-sprite.png) repeat-x 0 -117px;
}

/*
	Webshop product search results
	--------------------------------------------------
*/
div.webshop-product-search h3 {
	margin: 1em 0;
}

div.webshop-product-search ol h3 {
	margin: 0;
}

/*
	Per page navigation
	--------------------------------------------------
*/
ol.per-page {
	list-style: none;
	margin: 0;
	padding: 0 0 30px 0;
}

ol.per-page li {
	float: left;
}

ol.per-page a {
	padding: 0 10px;
	text-decoration: underline;
}

ol.per-page a.current,
ol.per-page a:hover {
	color: black;
	text-decoration: none;
}

/*
	Webshop breadcrumbs
	--------------------------------------------------
*/
div.webshop-breadcrumbs {
	margin: 0 0 1em 0;
	overflow: hidden;
}

div.webshop-breadcrumbs dt {
	position: absolute;
	left: -999em;
}

div.webshop-breadcrumbs dd {
	float: left;
	margin-right: 5px;
	padding-right: 10px;
	font-size: 11px;
	background: transparent url(../img/webshop-sprite.png) no-repeat right -140px;
}

div.webshop-breadcrumbs dd.last {
	margin-right: 0;
	background-image: none;
}

div.webshop-breadcrumbs a {
	color: #00386A;
	text-decoration: none;
}

/*
	Product information dialog
	--------------------------------------------------
*/
div.product-information-dialog {
	position: absolute;
	padding: 15px;
	background: #fff;
	border: 2px outset #eee;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	z-index: 99;
}

div.product-information-dialog h3 {
	margin-bottom: .2em;
	border-bottom: 1px solid #ccc;
}

div.product-information-dialog p {
	margin-bottom: .25em;
	font-style: italic;
	font-weight: normal;
	font-size: 12px;
}

div.product-information-dialog img {
	display: block;
	margin: 1em 0;
}

div.product-information-dialog div {
	float: left;
}

dl.product-details {
	float: left;
	margin: .5em 0 0 20px;
	padding: 0;
}

dl.product-details dt {
	clear: left;
	float: left;
	margin-right: 4px;
}

dl.product-details dd {
	text-align: left;
	float: left;
}

div.product-information-dialog a.product-close-dialog {
	display: block;
	position: absolute;
	right: 5px;
	top: 5px;
	height: 14px;
	width: 15px;
	text-indent: -999em;
	overflow: hidden;
	background: transparent url(../img/webshop-sprite.png) no-repeat -83px 0;
}

div.product-information-dialog a.product-close-dialog:hover {
	background-position: -83px -20px;
}

div.product-information-dialog span.product-price {
	clear: left;
	display: block;
	padding: 20px 0 0 0;
	font-size: 16px;
	text-align: center;
	color: #00386A;
	font-weight: bold;
}

/*
	Product detail page
	--------------------------------------------------
*/

div#content div.product-top h2 {
	margin-bottom: 0;
}

/* Product top */
div.product-top {
	width: 100%;
	margin-bottom: 1em;
	padding-bottom: 1em;
	overflow: hidden;
	clear: left;
	border-bottom: 1px solid #ccc;
}

/* Product summary, specs and price */
div.product-summary {
	float: right;
	width: 210px;
}

a.product-print {
	display: block;
	margin-bottom: 1em;
	padding-bottom: 1em;
	border-bottom: 1px solid #ccc;
}

div.product-specs {
	margin-bottom: 1em;
	overflow: hidden;
}

div.order-block {
	clear: left;
}

dl.product-specs {
	white-space: nowrap;
}

dl.product-specs dt {
	float: left;
	margin-right: 3px;
	clear: left;
}

dl.product-specs dd {
	float: left;
}

div.order-block span.product-price {
	display: block;
	margin-bottom: .5em;
	color: #00386A;
	font-size: 22px;
	text-align: center;
}

div.order-block span.add-to-shopping-cart {
	display: block;
	padding: 10px;
	margin-top: 1em;
	overflow: hidden;
	border: 1px solid #ccc;
	border-left: 0;
	border-right: 0;
	background: #fffbf1 url(../img/webshop-sprite.png) no-repeat 53px -243px;
}

div.order-block span.add-to-shopping-cart a {
	position: relative;
	width: 140px;
	line-height: 15px;
	text-decoration: none;
	outline: 0;
}

div.order-block span.add-to-shopping-cart input {
	margin: 4px 10px 0 0;
}

div.order-block span.add-to-shopping-cart a img {
	display: block;
	margin: 5px 0 0 -5px;
}

/* Product specifications */
div.product-bottom {
	overflow: hidden;
	clear: both;
}

div.product-bottom dl.product-specs {
	margin: .5em 0 0 0;
}

/* Related products */
div.related-products h3 {
	clear: left;
	margin-top: 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
}

ul.related-product-list {
	margin: 1em 0 0 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}

ul.related-product-list li {
	position: relative;
	padding: 10px;
	overflow: hidden;
	border-bottom: 1px dotted #ccc;
	background-color: #fff;
	vertical-align: bottom; /* IE list-gap fix */
}

ul.related-product-list li.last {
	border: 0;
}

ul.related-product-list li.odd {
	background-color: #fafafa;
}

ul.related-product-list li:hover {
	background-color: #f5faff;
}

ul.related-product-list li a {
	display: block;
	float: left;
}

ul.related-product-list img.product-image {
	display: block;
	float: none;
}

ul.related-product-list h4 {
	margin-left: 100px;
	line-height: 1.3;
	font-size: 16px;
}

ul.related-product-list h4 a {
	text-decoration: none;
}

ul.related-product-list span.product-price {
	position: absolute;
	bottom: 10px;
	right: 10px;
	color: #00386A;
	font-size: 14px;
}

/*
	Hide unnecessary elements
	--------------------------------------------------
*/