

/* -------------------------------------- */
/* Product filter */
/* -------------------------------------- */


/* container */
#productfiltercontainer.filteroptions.loading { opacity: 0.5; }

/* filter form toggle #filter_toggle */
#top #filter_toggle { margin-bottom: 0; }
#filter_toggle a.pftoggle { display: none; }
@media screen and (max-width: 840px) {
	#filter_toggle a.pftoggle { display: block; }
}
@media screen and (max-width: 840px) {
	#filter_toggle > .inside > .content { display: none; }
	.wrapfields #filter_toggle > .inside > .content { display: block; }
	.wrapfields #filter_toggle a.pftogglet { display: none; }
}


/* filter div#form_prf form#prf */
.filteroptions #prf .InputfieldSubmit { display: none; }

#top #prf label .pftg:hover { background-color: #ab1869; color: #fff; background-color: #f095bf; color: #000; }

#top #prf ul.Inputfields { overflow: hidden; }
#top #prf ul.Inputfields > li {  }
#top #prf ul.Inputfields > li { padding-left: 0; padding-bottom: 12px; }
#top #prf ul.Inputfields > li > label { margin-left: 0; width: 100%; padding-right: 0;  float: none; }

#prf ul.Inputfields input[type="text"] { width: 100%; }

#prf .select2-container { min-width: 100%; }

#prf ul.InputfieldRadiosStacked { margin-top: 12px; max-height: 500px; overflow: auto; }
#prf ul.InputfieldCheckboxesStacked { margin-top: 12px; max-height: 500px; overflow: auto; }

@media screen and (max-width: 840px) {
	#prf .InputfieldContent ul[class*="Stacked"] li { display: inline-block; margin: 0 20px 0 0; }
	#top div#form_prf { margin-bottom: 0; }
}
@media screen and (max-width: 640px) {
	#prf .InputfieldContent ul[class*="Stacked"] li { margin: 0 0 0 0; }
}
@media screen and (max-width: 640px) {
	#top #prf ul.Inputfields li { width: 100%; }
	#top #prf ul.Inputfields li:nth-child(3n+2) { padding-right: 0; }
	#top #prf ul.Inputfields li:nth-child(3n+0) { padding-right: 0; padding-left: 0; }
	#top #prf ul.Inputfields li:nth-child(3n+1) { padding-left: 0; }
}

#prf ul.Inputfields li.InputfieldFieldset { padding-bottom: 0; }
#prf ul.Inputfields li.InputfieldFieldset > label { display: none; }


/* filterbuttons */
#filterbuttons { margin-bottom: 0px; }
#filterbuttons button { margin: 0 12px 12px 0; }
#filterbuttons button span:after { content: '✗'; display: inline-block; margin: 0 0 0 6px; }



/* items count, pager, paging */
#filteritemscount { margin-bottom: 24px; }

/* result list */
#productfilterlist { }
#productfilterlist > .inside > div:nth-child(4n+1) { clear: both; }
#productfilterlist > .inside > div { width: calc(25% - 24px);  }
@media screen and (max-width: 1040px) {
	#productfilterlist > .inside > div:nth-child(4n+1) { clear: none; }
	#productfilterlist > .inside > div:nth-child(3n+1) { clear: both; }
	#productfilterlist > .inside > div { width: calc(33.3% - 24px);  }
}
@media screen and (max-width: 840px) {
	
}
@media screen and (max-width: 640px) {
	#productfilterlist > .inside > div:nth-child(3n+1) { clear: none; }
	#productfilterlist > .inside > div:nth-child(2n+1) { clear: both; }
	#productfilterlist > .inside > div { width: calc(50% - 24px);  }
}
@media screen and (max-width: 440px) {
	#productfilterlist > .inside > div { width: calc(100% - 24px);  }
}

/* prf lightbox lbox */

#productfiltercontainer.wrapfields #prflbox {  display: none; }
#lb_lb #lb_sw #prflbox { display: block;  }
#lb_lb #prflboxform  { display: block; height: 80vh; overflow: hidden;  }
#lb_lb #criteria  { position: absolute; width: 100%; height: calc(100% - 50px); overflow-y: auto; margin: 0; box-sizing: border-box;  }
#lb_lb #wrap_save_prflbox { position: absolute; bottom: 0; left: 0; width: 100%; height: 50px; margin: 0; padding: 0; background: rgba(0,0,0,0.5); }

/* -------------------------------------- */
/* authors */
/* -------------------------------------- */
.form_authornamefilter form ul.Inputfields > li { padding-left: 0; padding-bottom: 12px; float: left; }
.form_authornamefilter form ul.Inputfields > li > label { margin-left: 0; float: none;  }
#main .form_authornamefilter form ul.Inputfields > li.InputfieldSubmit { padding-top: 27px; }

@media screen and (max-width: 440px) {
	.form_authornamefilter .Inputfield_flt_like_title label { padding-bottom: 0; }
	.form_authornamefilter .Inputfield_flt_like_title input { width: 100px; }
}


/* -------------------------------------- */
/* Misc CEs */
/* -------------------------------------- */



/* -------------------------------------- */
/* shop */
/* -------------------------------------- */


/* cart icon */
#o_cart.filled span { position: relative; display: block; z-index: 2; }
#o_cart.filled span.filled { position: absolute; top: 5px; left: 7px; width: 13px; height: 8px; background: #ab1869; z-index: 1; }

/* shopmessages */
#shopmessages { padding: 24px; border: 1px solid #333; background: #f6f6f6; }
#shopmessages.warnings { background: #feeeee; }
#shopmessages.errors { background: #fecccc; }

/* cart */
table.cart { width: 100%; }
table.cart .image { width: 100px; margin: 0 0 12px 12px; float: right; }
table.cart .single { text-align: right; }
table.cart .sum { text-align: right; }
table.cart .title a { display: inline; }
table.cart tfoot { border-top: 1px solid #555555; }
table.cart tfoot tr.total td { font-weight: bold; }
table.cart td, table.cart th { padding: 8px; }
table.cart td:last-child, table.cart th:last-child { padding: 8px; }
/*
table.cart tbody tr:nth-child(even) { background: #eee; }
table.cart tbody tr:hover { background: #f8f8f8; }
table.cart tfoot tr:hover { background: #f8f8f8; }

table.cart tbody tr:nth-child(odd) { background: #f8f8f8; }
table.cart tbody tr:nth-child(even) { background: #eee; }
table.cart tbody tr:hover { background: #e8e8e8; }
table.cart tfoot tr:hover { background: #e8e8e8; }
*/

table.cart thead th { background: #333; color: #fff; }
table.cart .amount { min-width: 110px; }
table.cart .producttitle { font-weight: bold; }
table.cart .itemlabel { font-weight: bold; }
table.cart .preorder { font-weight: bold; color: #ab1869; }

table.cart .amount { width: 105px; }
table.cart .title {  }
table.cart .single { width: 105px; }
table.cart .sum { width: 105px; }

#main table.cart form { background: none; padding: 0 4px 0 0; display: inline-block; }
#main table.cart input { width: 32px; margin-right: 4px; vertical-align: top; }
#main table.cart button { padding: 4px 8px; vertical-align: top; }
#main table.cart a.button { padding: 4px 8px; vertical-align: top; }
#main table.cart form { display: inline-block; }

@media screen and (max-width: 840px) {
	table.cart .image { width: 50px; }
	.myorder table.cart .image { width: 100%; }
	.myorder table.cart .producttitle { display: block; clear: both; }
}

#top table.cart.mobilize tbody tr { border-top: 1px solid #444; }
#top table.cart.mobilize tfoot tr { border-top: 1px solid #444; }
#top table.cart.mobilize tfoot tr:last-child { border-bottom: 1px solid #444; }

#top table.cart.mobilize tbody tr td:before { text-align: left; }
#top table.cart.mobilize tfoot tr td:before { display: none; }
#top table.cart.mobilize tfoot tr td { padding-left: 0; }
#top table.cart.mobilize tfoot tr td.cs3 { width: 60%; float: left; clear: none; }
#top table.cart.mobilize tfoot tr td.sum { width: 40%; float: right; clear: none; }

#shopping_cart .button.submit { float: right; display: block; }
#shopping_cart > .inside:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; }



/* my orders */
table.myorders { width: 100%; }
table.myorders .total { text-align: right; }
table.myorders td, table.myorders th { padding: 8px; }
div.myorder .row { margin-bottom: 12px; }
div.myorder .label { font-weight: bold; padding-bottom: 4px; }
div.myorder > .row { margin-bottom: 24px; padding-left: 150px; clear: both; }
div.myorder > .row > .label { font-weight: bold; padding-bottom: 4px; margin-left: -150px; float: left; width: 140px; }
@media screen and (max-width: 640px) {
	div.myorder > .row { padding-left: 0; }
	div.myorder > .row > .label { margin-left: 0; float: none; padding: 8px 12px 8px 12px; background: #f0f0f0; width: 100%; }
	div.myorder > .row > .value { padding: 8px 12px 24px 12px; }
	div.myorder > .row > .value:after { display: block; clear: both; content: ""; font-size: 0; line-height: 0; }
}


/* product details */
.product > .inside { }
.product .cover { width: 300px; float: right; margin: 0 0 24px 24px; text-align: right; }
.product .typeprice { margin-bottom: 24px; }
.product .typeprice span { display: block; }
.product .typeprice .price { font-size: 180%; line-height: 200%; font-weight: 900; }
.product .typeprice .tax { font-size: 90%; }
.product .typeprice .plus { font-size: 90%; }
.product .attributes .row { clear: both; padding-left: 132px; }
.product .attributes .label { width: 120px; margin-left: -132px; float: left; font-weight: bold; }
.product .otherformats { margin-top: 24px; }


.ce_main.product div.authors { margin-bottom: 24px; }
.ce_main.product div.headline { margin-bottom: 24px; font-weight: bold; }

.product div.fave { margin: 24px 0 0 0; }
.product .ce_orderinfo { }
.product .ce_similar { }
.product .row.extracts { margin-top: 24px; }

.cols .product .summary { display: none; }
@media screen and (max-width: 640px) {
	.product .cover { width: 100%; float: none; margin: 0 0 24px 0; }
}


@media screen and (max-width: 840px) {
	.product .attributes .row { clear: both; padding-left: 0; }
	.product .attributes div { padding-left: 24px; box-sizing: border-box; }
	.product .attributes .label { width: 100%; margin-left: 0; padding-left: 0; }
}
@media screen and (max-width: 640px) {
	.product .attributes .row { clear: both; padding-left: 132px; }
	.product .attributes div { padding-left: 0;  }
	.product .attributes .label { width: 120px; margin-left: -132px;}
}
@media screen and (max-width: 440px) {
	.product .attributes .row { clear: both; padding-left: 0; }
	.product .attributes div { padding-left: 24px; box-sizing: border-box; }
	.product .attributes .label { width: 100%; margin-left: 0; padding-left: 0; }
}
@media screen and (max-width: 640px) {
	
}


table.shippingcosts .costs { text-align: right; }
table.shippingcosts.mobilize td.costs:before { text-align: left; }

@media screen and (max-width: 840px) {

}

@media screen and (max-width: 640px) {

}




/* az */
ul.az { list-style: none; margin: 0; padding: 0; overflow: hidden; text-align: center; }
.az li { display: inline-block; margin: 0 1px 12px 1px;  }
.az li a { display: block; width: 40px; height: 40px; padding: 8px 0 0px 0; box-sizing: border-box; text-align: center; 
background: #f0f0f0; color: #000; 
border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; 
}
.az li a:hover { background: #5d7587; color: #fff; }
.az li.active a { background: #5d7587; color: #fff; }


