/**
 * shopp.css
 * Generic layout & styles for Shopp pages
 *
 * @author Jonathan Davis
 * @package shopp
 * 
 * Included in this stylesheet, in this order, are:
 *
 * 1. Generic shop styles (whucat you'd normally expect to find here)
 * 2. A copy of /plugins/shopp/core/ui/styles/catalog.css, which is
 * disabled for this site (see the theme's functions.php). This allows
 * us to easily disable/override/modify these default styles without a
 * mess of override selectors.
 * 3. Monster-specific orverrides/addititons.
 **/

/* Generic Shopp Styles */

#shopp .submit { 
  /*text-align: right;*/
}
#shopp form { text-align: left; }
#shopp form.product ul.options { list-style: none; }
#shopp form ul { line-height: 1; }
#shopp form label { 
  /*font-size: 14px;*/
  /*font-weight: bold;*/
  /*padding-bottom: 3px;*/
}
#shopp form ul li span label,
#shopp form div label { 
  /*font-size: 11px; */
  /*font-weight: normal; */
  /*padding-bottom: 8px; */
}

/**
 * Catalog/Category
 **/

.categories ul li a.current { font-weight: bold; }
#shopp .category { position: relative; }
#shopp .views { display: inline; position: absolute; right: 0; top: 0; }
#shopp .views button { border: 1px solid transparent; background: none; cursor: pointer; padding: 2px; margin-bottom: -3px; }
#shopp .views button.hover { background-color: #ebebeb; border: 1px solid #777; }
#shopp .views li { display: inline; }
#shopp .orderby { float: right; }

#shopp .category .subcategories { padding: 10px 0; margin-bottom: 10px; }
#shopp .category .subcategories ul { padding: 10px 0 0 20px; margin-bottom: 10px; }
#shopp .category .subcategories li { display: inline-block; margin-right: 20px; vertical-align: top; }

#shopp .slideshow,
#shopp .carousel { margin: 20px 0; overflow: hidden; }

/* Each product in a category has a containing frame */
#shopp ul.products li.product div.frame { padding: 10px; }

#shopp ul.products li .name,
#shopp ul.products li .summary,
#shopp ul.products li .savings,
#shopp ul.products li .price { margin-top: 0; margin-bottom: 0; }
#shopp ul.products li .details { float: none; }

/* Hide the product summary in the grid view */
#shopp ul.products li .summary { display: none; }
#shopp ul.products li .listview { display: none; }

#shopp ul.products img { display: block; }

#shopp .price { font-weight: bold; line-height: 1.5; margin: 0; }
#shopp .original { text-decoration: line-through; }
#shopp .sale, #shopp .freeshipping { padding: 5px; background: #60bb46; color: #fff; font-weight: bold; text-transform: uppercase; text-align: center; }
#shopp .sale + form, #shopp .freeshipping + form { margin-top: 20px; }
/* Faceted menu cancel filter link styles */
.filters a.cancel:before { content: "["; }
.filters a.cancel { font-weight: bold; }
.filters a.cancel:after { content: "]"; }
.filters a.cancel:hover { text-decoration: none; }

/* Product List View */
#shopp.list ul.products li { float: none; width: 100%; overflow: hidden; padding-bottom: 10px;}
#shopp.list ul.products li.product {  border-bottom: 1px solid #ddd; }
#shopp.list ul.products li div.frame { width: 100%; text-align: left; }
#shopp.list ul.products li img { float: left; margin-right: 10px; }
#shopp.list ul.products li .details { float: left; width: 65%; }
#shopp.list ul.products li .listview { display: block; }

#shopp ul.breadcrumb { margin: 10px 0; }
#shopp ul.breadcrumb li { background: none; padding: 0; display: inline; margin-left: 0; text-indent: 0; }

#shopp ul.categories { float: left; margin-right: 20px; }

/* Category Pagination */
#shopp ul.paging { /* placeholder for your styles - inherited defaults: clear: none; display: inline-block; */ }
#shopp ul.paging li { /* placeholder for your styles - inherited defaults: display: inline-block; margin-left: 5px; */ }
#shopp ul.paging li a { /* page links default styling */ }
#shopp ul.paging li a:hover { /* page links hover styling */ }
#shopp ul.paging li.active { /* currrent page style */ }
#shopp ul.paging li.disabled { /* style for disabled previous/next links */ }
#shopp ul.paging li.previous a,
#shopp ul.paging li.next a { /* previous/next link style */ }

/**
 * Product Pages
 **/
#shopp .column { float: left; }
#shopp .column.first { width: 65%; }
#shopp .column.second { float: right; width: 35%; }

#shopp .original { text-decoration: line-through; }
#shopp form.product ul,
#shopp form.product ul li,
#shopp form.product ul li label { clear: none; }
#shopp form.product ul { width: auto; }
#shopp ul.variations label { display: block; }
#shopp dl { overflow: hidden; }
#shopp dt { clear:left; float:left; text-align: right; width:50%; margin-right: 1em; }
#shopp dd { clear:right; width:50%; padding-left: 50%; }

/*#shopp .gallery { margin: 5px 10px 5px 0; }*/
#shopp .gallery { margin: 0; }
#shopp .gallery ul.previews li.thumbnails ul { margin: 10px 0 10px 0; }
#shopp .gallery ul.previews li.thumbnails li { margin: 0 5px 0 0; }

/**
 * Category List Widget
 **/
ul.shopp_categories { /* category list container */ }
ul.shopp_categories li { /* category listing containers */ }
ul.shopp_categories li a { /* category link default styles */ }
ul.shopp_categories li a:hover { /* category link hover styles */ }
ul.shopp_categories li span { /* categpry product count styles */ }
ul.shopp_categories li.current { /* currently viewed category container */ }
ul.shopp_categories li.current a { /* currently viewed category link style */ }
ul.shopp_categories li.current a:hover { /* currently viewed category link hover style */ }
ul.shopp_categories li ul.children { /* sub-category list container */ }
ul.shopp_categories li ul.children li { /* sub-category listing container */ }
ul.shopp_categories li ul.active { /* active sub-category container */ }

/* Collapsed sub-category menus example
ul.shopp_categories li ul.children { display: none; }
ul.shopp_categories li ul.active { display: block; }
*/

/**
 * Side Products Widget
 **/
.sideproduct { margin-top: 20px; }
.sideproduct h3 { margin-top: 0; }

/**
 * Shopping Cart
 **/
#shopp #cart { width: 100%; }
#shopp #cart table { margin: 0 0 15px 0; width: 100%; }
#shopp #cart th { text-align: left; font-weight: bold; }
#shopp #cart th, #shopp #cart td { padding: 5px 5px; }
#shopp #cart .item { width: 50%; }
#shopp #cart .money,
#shopp #cart .totals th,
#shopp #cart .buttons td { text-align: right; white-space: nowrap; }
#shopp #cart .totals.total th,
#shopp #cart .totals.total td { font-size: 130%; }
#shopp #cart .remove { font-size: 9px; }

#shopp #cart address { font-style: normal; }
#shopp #cart big { display: block; margin: 0 0 10px 0; }
#shopp #cart big a.right { float: right; }

/**
 * Shopping Cart Widget
 **/
#shopp-cart.widget p.status { margin-bottom: 10px; }

#shopp ul.account li { display: inline-block; width: 200px; padding-top: 18px; }

/**
 * Checkout
 **/
#shopp #shipping-methods { padding-left: 30px; }
#shopp #shipping-methods li { margin-top: 5px; }
#shopp #shipping-methods input { margin-left: -16px; }

#shopp .shopp-errors { color: #990000; }
#shopp input.error { background: #ffdddd; }
#shopp label.error { color: #990000; font-weight: bold; }

.clickwrap-terms { overflow: auto; height: 200px; border: 1px solid #333; padding: 0.5em; margin-bottom: 1em; }

/**
 * Order Receipt
 **/
#shopp #receipt { position: relative; margin: 20px 0; }
#shopp #receipt address { font-style: normal; }
#shopp #receipt fieldset { 
  /*padding: 10px;
  border: 1px solid #dadada;
  margin: 20px 0 30px;*/
  margin: 20px 0;
  border: none;
  padding: 0;
}
#shopp #receipt fieldset legend { display: block; }
#shopp #receipt table { overflow: hidden; }
#shopp #receipt table.transaction th { text-align: left; }
#shopp #receipt .labels { width: 100%; }
#shopp #receipt table.labels td { vertical-align: top; }

#shopp #receipt .order { width: 100%; overflow: hidden; border: none; }
#shopp #receipt td { border: none; }
#shopp #receipt th { font-weight: bold; text-align: left; border: none; }
#shopp #receipt th,
#shopp #receipt td { 
  padding: 5px 0;
}
#shopp #receipt .order .item { width: 50%; }
#shopp #receipt .order td.qty { text-align: center; }
#shopp #receipt .order .money,
#shopp #receipt .order .total,
#shopp #receipt .order .buttons td { text-align: right; }
#shopp #receipt .order .totals.total th,
#shopp #receipt .order .totals.total td { font-size: 130%; }

/**
 * Copy of /plugins/shopp/core/ui/styles/catalog.css
 *
 * I disabled that file (see the theme's functions.php), because it does lots of nasty
 * shit like overwriting ul styles. Below are all the styles, with the redundant stuff
 * commented out or edited.
 *
 * Potentially this will break future Shopp updates - something to be aware of.
 */

/**
 * catalog.css
 *
 * The catalog CSS file provides core styling used to initialize foundational
 * elements of the Shopp catalog layout.
 *
 * DO NOT EDIT! Setup custom theme tempaltes and edit shopp.css to override
 * styles here as necessary.
 *
 **/

#shopp div.description,
#shopp .products,
#shopp .products ul,
#shopp .products li.row,
#shopp .category,
#shopp #cart,
#shopp #cart table { overflow: hidden; }
/*#shopp #cart table td { border: 1px solid #ccc; }*/


#shopp { position: relative; }
/*
#shopp ul { list-style: none; text-indent: 0; text-align: left; padding: 0; margin: 0; }
#shopp li { background: none !important; padding: 0; margin: 0; }
#shopp li:before,
#shopp-cart:before,
#shopp-cart ul li:before,
#shopp-cart #shopp-cart-ajax ul li:before,
#shopp ul.breadcrumb li:before { content: ""; }
#shopp div.hidden,
#shopp select.hidden { display: none; }
*/

#shopp .frame { border: none; }

#shopp .products, #shopp .products ul { width: 100%; margin: 0; padding: 0;}
#shopp .products ul li { display: block; float: left; border: none; }
#shopp .products li.row { display: block; width: 100%; }
#shopp .products .frame { text-align: center; overflow: hidden; }
#shopp .products .frame img { display: inline; }

#shopp ul.paging { clear: none; display: inline; }
#shopp ul.paging li { display: inline; margin-left: 5px;}

/* Shopp Forms */
#shopp #checkout,
#shopp #checkout > ul,
#shopp #checkout > ul ul,
#shopp #checkout > ul li { margin: 0; padding: 0; }
#shopp form ul { width: 100%; overflow: hidden; line-height: 1; }
#shopp form ul li { text-indent: 0; clear: both; display: block; /*padding: 4px 0;*/ margin: 0; }
#shopp form label { 
  /*clear: both; */
  /*display: block;*/
}
#shopp form ul li label.inline { display: inline; clear: none; }
#shopp form ul li:before { content: ""; }
#shopp form ul li div.inline { width: auto; clear: both; }
#shopp form ul li div.inline input { width: auto;  }
#shopp form ul li div.inline label { clear: none; display: inline; }
#shopp form ul li input,
#shopp form ul li select { 
  /*margin: 0 0 5px 0;*/
}
#shopp form ul li div input,
#shopp form ul li div select { 
  /*width: 100%; */
  -moz-box-sizing: border-box; 
  -webkit-box-sizing: border-box; 
  box-sizing: border-box; 
}
#shopp form ul li div.left { display: inline; width: 47%; float: left; margin: 0; clear: left; }
#shopp form ul li div.right { display: inline; width: 47%; float: right; margin: 0; clear: right; }
#shopp form ul li.half { display: inline; width: 49%; float: left; clear: none; }
#shopp form ul li.half.right { display: inline; float: right; }
#shopp form ul li span { float: left; padding: 0 5px 0 0; display: inline-block; text-align: left; }

.scrollable { overflow: auto; }
.clickwrap-terms { height: 200px; border: 1px solid #dfdfdf; padding: 0.5em; margin-bottom: 1em; }

.js-on .hide-if-js { display: none; }

/* Workaround for IE to hide the cart's 'default button' but keep it active */
#hidden-update { position: absolute; left: -999em; }

/** Shopp Catalog Tag Cloud **/
#shopp .tagcloud,
.shopp.tagcloud { padding: 0; width: 100%; }
#shopp .tagcloud li,
.shopp.tagcloud li { display: inline; margin-right: 10px; line-height: 1.2; padding: 0; background-image: none; }
.shopp.tagcloud li.level-1 { font-size: 30px; }
.shopp.tagcloud li.level-2 { font-size: 24px; }
.shopp.tagcloud li.level-3 { font-size: 20px; }
.shopp.tagcloud li.level-4 { font-size: 18px; }
.shopp.tagcloud li.level-5 { font-size: 14px; }
.shopp.tagcloud li.level-6 { font-size: 12px; }
.shopp.tagcloud li.level-7 { font-size: 11px; }

/** Categories **/
#shopp .category { position: relative; }
.content #shopp .views li,
#shopp .views li { display: inline; margin: 0; padding: 0; }

#shopp .views .grid { width: 15px; height: 15px; background: url('../../../core/ui/icons/grid.png') no-repeat 50% 50%; }
#shopp .views .list { width: 15px; height: 15px; background: url('../../../core/ui/icons/list.png') no-repeat 50% 50%; }

#shopp .category ul { margin: 0; padding: 0; }
#shopp.catalog .category .products li,
#shopp.category .category .products li,
#shopp.catalog .carousel .frame li { margin: 0; padding: 0; }

#shopp.catalog .listview form { margin: 0; padding: 0; }


/** Product Page Gallery **/
#shopp form.product label { clear: none; display: inline; }

#shopp .gallery { /*float: left;*/ display: block; }
#shopp .gallery ul { display: block; margin: 0; padding: 0 !important; position: relative; list-style: none !important; text-indent: 0; width: auto; height: 430px;}
#shopp .gallery ul li:before { content: ""; }
#shopp .gallery li a { margin: 0; padding: 0; float: none; }
#shopp .gallery .previews { position: relative;  margin: 0 !important; overflow: hidden; }
/*#shopp .gallery .previews li { position: absolute; visibility: hidden; top: 0; left: 0; margin: 0; display: block; text-align: center; min-width: 100%; }*/
#shopp .gallery .previews li {
  width: 100%;
  float: left;
  margin-right: -100%;
  position: relative;
  display: list-item;
  visibility: hidden;
}
#shopp .gallery .previews li.fill { position: relative; }
#shopp .gallery .previews li.fill img { margin: 0; padding: 0; }
#shopp .gallery .previews li.active { visibility: visible; }
/*#shopp .gallery .thumbnails { margin-top: 10px; overflow: hidden; text-align: justify; text-align-last: justify; display: block; }*/
#shopp .gallery .thumbnails { 
  margin-top: 5px;
  overflow: hidden;
  height: 70px;
  /*text-align: justify;*/
  /*text-align-last: justify;*/
  /*display: block;*/
  width: auto !important;
}
#shopp .gallery .thumbnails:after { content:"."; display:inline-block; width:100%; height:0; visibility:hidden; }
#shopp .gallery .thumbnails ul { padding: 0; }
#shopp .gallery .thumbnails li { position: relative; display: inline; visibility: visible; height: auto; top: auto; left: auto; }
#shopp .gallery .thumbnails li.first { margin-left: 0; }
#shopp .gallery .thumbnails li img { cursor: pointer; display: inline; }

/** Category Slideshow **/
#shopp .slideshow { position: relative; margin: 0; clear: both; width: 100%; overflow: auto; }
#shopp .slideshow li { position: absolute; top: 0; left: 0; margin: 0; display: block; text-align: center; visibility: hidden; }
#shopp .slideshow li.clear { position: relative; clear: both; visibility: visible; }
#shopp .slideshow li.clear:after { clear: both; }

/** Category Carousel **/
#shopp .carousel { position: relative; margin: 0; clear: both; width: 100%; }
#shopp .carousel .frame { position: relative; margin: 0 20px; overflow: hidden; }
#shopp .carousel ul { position: relative; width: 999em; }
#shopp.catalog .carousel li { display: inline-block; vertical-align: middle;}
#shopp .carousel button { position: absolute; bottom: 50%; cursor: pointer; border: none; width: 14px; height: 14px; background-image: url('../../../core/ui/icons/carousel.png'); background-repeat: no-repeat; background-color: transparent; }
#shopp .carousel button.left { left: 0; }
#shopp .carousel button.right { right: 0; background-position: -16px 0; }
#shopp .carousel button.left:hover { background-position: 0 -16px; }
#shopp .carousel button.right:hover { background-position: -16px -16px; }

/** Twenty-Ten Fixes **/
/*
#shopp h1,#shopp h2,#shopp h3,#shopp h4,#shopp h5,#shopp h6 { clear: none; }
#shopp form table, #shopp form table td { border: none; }
*/

/**
 * Monster Pictures additional Shopp cart/checkout styles
 *
 * Some selectors are added for this site, and not part of the default Shopp
 * theme.
 **/
#shopp .gallery {
  list-style-type: none;
}
#shopp .gallery li {
  margin-left: 0;
}
#shopp .l-main input[type=text] {
  display: inline;
  width: auto;
}
#shopp th {
  text-transform: uppercase;
}
#shopp td {
  vertical-align: top;
}
#shopp .subtotal-head,
#shopp .subtotal-value,
#shopp .product-row,
#shopp .table-headings {
  border-bottom: 1px solid #D0D0D0;
}
#shopp .total th,
#shopp .total td  {
  border-top: 1px solid #D0D0D0;
  border-bottom: 1px solid #D0D0D0;
}
#shopp select {
  margin-right: 5px;
}
#shopp .form-horizontal h4,
.billing-shipping-addresses h4 {
  clear: both;
  margin: 30px 0 20px 0;
  border-bottom: 1px solid #D0D0D0;
  padding-bottom: 10px;
}
#shopp .form-horizontal h4.no-top {
  margin-top: 0;
}
#shopp h4.your-order-head {
  clear: both;
  margin: 30px 0 22px 0;
  border-bottom: 1px solid #D0D0D0;
  padding-bottom: 10px;
}
#shopp .form-horizontal label {
  clear: both;
  text-align: left;
  width: 150px;
}
#shopp .inline label {
 width: auto;
 font-size: 11px;
 font-weight: normal;
 padding-top: 0;
}
#shopp .form-horizontal select {
  margin: 0 0 9px 0;
}
#shopp .form-horizontal input[type=text] {
  width: 285px;
}
/* product detail */
#shopp form.product label {
  text-transform: uppercase;
  padding-right: 10px;
}
#shopp form.product label:after {
  content: ':';
}
/* cart and summary */
#shopp .cart input[type=text] {
  margin-bottom: 0;
}
#shopp .cart input[type=submit] {
  -webkit-appearance: default-button;
}
#shopp #shipping-methods {
  margin: 0;
  padding-left: 0;
}
#shopp #shipping-methods li {
  padding-left: 30px;
  overflow: hidden;
}
#shopp #shipping-methods label {
  width: auto;
}
#shopp .update-button {
  margin-top: 10px;
}
/* checkout */
#shopp #billing-postcode {
  width: 100px;
}
#shopp .same-shipping-address label {
  float: none;
  width: auto;
  display: inline;
  font-size: 11px;
  font-weight: normal;  
}
#shipping-methods label {
  font-size: 11px;
  font-weight: normal;
  display: inline;
}
/* form submit btns */
#shopp input.right,
#shopp .checkout-button {
  float: right;
  margin-left: 0;
}
#shopp .submit {
  margin: 1em 0;
  overflow: auto;
}
/* receipt */
.transaction h5 {
  display: inline;
}
#shopp #receipt table.transaction th,
#shopp #receipt table.transaction td {
  padding: 0;
}
#shopp #receipt table.transaction th {
  padding-right: 10px;
}
#shopp #receipt .labels {
  margin-bottom: 10px;
}
#shopp #receipt .labels td {
  width: 50%;
  margin-left: 20px;
}
#shopp #receipt .labels .billing {
  margin-right: 20px;
}
#shopp #receipt fieldset legend {
  font-size: 18px;
  text-transform: uppercase;
  font-weight: bold;
  margin: 30px 0 22px 0;
  border-bottom: 1px solid #D0D0D0;
  padding-bottom: 10px;
  width: 100%;
}
.shopp-errors {
  background: #ffdddd;
  padding: 20px;
}
.shopp-errors h3 {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
  color: #900;
}

/* Responsive: phone landscape orientation
// ---------------------------------------- */
@media (max-width: 568px) {

  #shopp #cart .totals.total th { font-size: 100%; }
  #shopp #cart .totals.total td { font-size: 100%; }
  #shopp .form-horizontal label { display: block; width: 100%; }
  #shopp #billing-address-fields h4.no-top { margin-top: 30px; }
  .billing-shipping-addresses .l-content.secondary > :first-child { margin-top: 30px; }
  #shopp .product-row a { display: block; }
  #shopp #cart .money, #shopp #cart .totals th, #shopp #cart .buttons td { white-space: normal; }

}
