woocommerce/assets/css/woocommerce.scss

2332 lines
34 KiB
SCSS
Raw Normal View History

2014-11-18 12:52:00 +00:00
/**
* woocommerce.scss
* Governs the general look and feel of WooCommerce sections of stores using themes that do not
* integrate with WooCommerce specifically.
*/
/**
* Imports
*/
2019-02-18 11:41:05 +00:00
@import "mixins";
@import "variables";
@import "animation";
@import "fonts";
2013-04-05 11:51:34 +00:00
/**
* Global styles
*/
p.demo_store,
.woocommerce-store-notice {
position: absolute;
2012-11-15 17:30:38 +00:00
top: 0;
left: 0;
right: 0;
margin: 0;
width: 100%;
font-size: 1em;
2014-11-13 16:26:50 +00:00
padding: 1em 0;
2012-11-15 17:30:38 +00:00
text-align: center;
2014-11-13 16:26:50 +00:00
background-color: $primary;
2014-09-22 17:35:48 +00:00
color: $primarytext;
2013-01-12 13:02:00 +00:00
z-index: 99998;
box-shadow: 0 1px 1em rgba(0, 0, 0, 0.2);
display: none;
2015-08-24 15:15:16 +00:00
a {
color: $primarytext;
text-decoration: underline;
2015-08-24 15:15:16 +00:00
}
2012-11-15 17:30:38 +00:00
}
2012-12-06 17:29:18 +00:00
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
2019-02-18 11:41:05 +00:00
height: 1px;
overflow: hidden;
position: absolute !important;
width: 1px;
word-wrap: normal !important;
}
.admin-bar p.demo_store {
top: 32px;
}
/**
* Utility classes
*/
2014-10-17 19:39:33 +00:00
.clear {
clear: both;
}
/**
* Main WooCommerce styles
*/
2014-11-13 11:43:26 +00:00
.woocommerce {
2019-02-18 11:41:05 +00:00
2014-11-13 18:28:15 +00:00
.blockUI.blockOverlay {
position: relative;
2019-02-18 11:41:05 +00:00
2014-11-13 18:28:15 +00:00
@include loader();
}
.loader {
2019-02-18 11:41:05 +00:00
2014-11-13 18:28:15 +00:00
@include loader();
}
2014-11-14 15:42:00 +00:00
a.remove {
display: block;
font-size: 1.5em;
height: 1em;
width: 1em;
text-align: center;
line-height: 1;
border-radius: 100%;
color: red !important; // Required for default theme compatibility
2014-11-14 15:42:00 +00:00
text-decoration: none;
font-weight: 700;
2015-01-26 11:06:31 +00:00
border: 0;
2014-11-14 15:42:00 +00:00
&:hover {
color: #fff !important; // Required for default theme compatibility
2014-11-14 15:42:00 +00:00
background: red;
}
}
small.note {
display: block;
2014-09-22 17:35:48 +00:00
color: $subtext;
font-size: 0.857em;
margin-top: 10px;
}
.woocommerce-breadcrumb {
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
margin: 0 0 1em;
padding: 0;
font-size: 0.92em;
2014-09-22 17:35:48 +00:00
color: $subtext;
a {
2014-09-22 17:35:48 +00:00
color: $subtext;
}
}
.quantity .qty {
width: 3.631em;
text-align: center;
}
/**
* Product Page
*/
div.product {
margin-bottom: 0;
position: relative;
.product_title {
clear: none;
margin-top: 0;
padding: 0;
2011-08-09 15:16:18 +00:00
}
span.price,
p.price {
2014-09-22 17:35:48 +00:00
color: $highlight;
font-size: 1.25em;
ins {
background: inherit;
font-weight: 700;
2017-10-31 12:22:18 +00:00
display: inline-block;
}
del {
opacity: 0.5;
2017-10-31 12:22:18 +00:00
display: inline-block;
}
}
p.stock {
font-size: 0.92em;
2011-08-09 15:16:18 +00:00
}
.stock {
2014-09-22 17:35:48 +00:00
color: $highlight;
}
.out-of-stock {
color: red;
}
.woocommerce-product-rating {
margin-bottom: 1.618em;
}
div.images {
margin-bottom: 2em;
img {
display: block;
width: 100%;
height: auto;
2014-11-13 13:53:50 +00:00
box-shadow: none;
2011-08-09 15:16:18 +00:00
}
div.thumbnails {
padding-top: 1em;
2011-08-09 15:16:18 +00:00
}
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
&.woocommerce-product-gallery {
position: relative;
}
.woocommerce-product-gallery__wrapper {
2019-02-18 11:41:05 +00:00
transition: all cubic-bezier(0.795, -0.035, 0, 1) 0.5s;
margin: 0;
padding: 0;
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
}
.woocommerce-product-gallery__wrapper .zoomImg {
background-color: #fff;
2018-05-08 13:48:25 +00:00
opacity: 0;
}
2018-06-27 17:13:39 +00:00
.woocommerce-product-gallery__image--placeholder {
2019-02-18 11:41:05 +00:00
border: 1px solid #f2f2f2;
2018-06-27 17:13:39 +00:00
}
2017-01-27 15:34:50 +00:00
.woocommerce-product-gallery__image:nth-child(n+2) {
width: 25%;
display: inline-block;
}
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
.woocommerce-product-gallery__trigger {
position: absolute;
2019-02-18 11:41:05 +00:00
top: 0.5em;
right: 0.5em;
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
font-size: 2em;
z-index: 9;
width: 36px;
height: 36px;
background: #fff;
text-indent: -9999px;
border-radius: 100%;
box-sizing: content-box;
2019-02-18 11:41:05 +00:00
&::before {
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
content: "";
display: block;
width: 10px;
height: 10px;
border: 2px solid #000;
border-radius: 100%;
position: absolute;
top: 9px;
left: 9px;
box-sizing: content-box;
}
2019-02-18 11:41:05 +00:00
&::after {
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
content: "";
display: block;
width: 2px;
height: 8px;
background: #000;
border-radius: 6px;
position: absolute;
top: 19px;
left: 22px;
transform: rotate(-45deg);
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
box-sizing: content-box;
}
}
.flex-control-thumbs {
overflow: hidden;
zoom: 1;
margin: 0;
padding: 0;
li {
width: 25%;
float: left;
margin: 0;
list-style: none;
img {
cursor: pointer;
2019-02-18 11:41:05 +00:00
opacity: 0.5;
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
margin: 0;
&.flex-active,
&:hover {
opacity: 1;
}
}
}
}
2011-08-09 15:16:18 +00:00
}
.woocommerce-product-gallery--columns-3 {
2019-02-18 11:41:05 +00:00
.flex-control-thumbs li:nth-child(3n+1) {
clear: left;
}
}
.woocommerce-product-gallery--columns-4 {
2019-02-18 11:41:05 +00:00
.flex-control-thumbs li:nth-child(4n+1) {
clear: left;
}
}
.woocommerce-product-gallery--columns-5 {
2019-02-18 11:41:05 +00:00
.flex-control-thumbs li:nth-child(5n+1) {
clear: left;
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
}
2011-08-09 15:16:18 +00:00
}
div.summary {
margin-bottom: 2em;
}
div.social {
text-align: right;
margin: 0 0 1em;
2011-08-09 15:16:18 +00:00
span {
margin: 0 0 0 2px;
span {
margin: 0;
}
.stButton .chicklets {
padding-left: 16px;
width: 0;
}
2011-08-09 15:16:18 +00:00
}
iframe {
float: left;
margin-top: 3px;
2011-08-09 15:16:18 +00:00
}
}
2013-01-03 11:40:10 +00:00
.woocommerce-tabs {
2019-02-18 11:41:05 +00:00
ul.tabs {
list-style: none;
padding: 0 0 0 1em;
margin: 0 0 1.618em;
overflow: hidden;
position: relative;
li {
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 10%);
2014-11-13 13:59:55 +00:00
background-color: $secondary;
display: inline-block;
position: relative;
z-index: 0;
2014-10-17 19:18:11 +00:00
border-radius: 4px 4px 0 0;
margin: 0 -5px;
padding: 0 1em;
a {
display: inline-block;
padding: 0.5em 0;
2014-11-13 14:16:32 +00:00
font-weight: 700;
2014-09-22 17:35:48 +00:00
color: $secondarytext;
text-decoration: none;
&:hover {
text-decoration: none;
2019-02-18 11:41:05 +00:00
color: lighten($secondarytext, 10%);
}
}
&.active {
2014-09-22 17:35:48 +00:00
background: $contentbg;
z-index: 2;
2014-09-22 17:35:48 +00:00
border-bottom-color: $contentbg;
a {
color: inherit;
text-shadow: inherit;
}
&::before {
2014-09-22 17:35:48 +00:00
box-shadow: 2px 2px 0 $contentbg;
}
&::after {
2014-09-22 17:35:48 +00:00
box-shadow: -2px 2px 0 $contentbg;
}
}
&::before,
&::after {
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 10%);
position: absolute;
bottom: -1px;
width: 5px;
height: 5px;
2019-02-18 11:41:05 +00:00
content: " ";
2018-01-19 16:16:56 +00:00
box-sizing: border-box;
}
&::before {
2018-01-15 15:36:51 +00:00
left: -5px;
border-bottom-right-radius: 4px;
border-width: 0 1px 1px 0;
2014-11-13 13:59:55 +00:00
box-shadow: 2px 2px 0 $secondary;
}
&::after {
2018-01-15 15:36:51 +00:00
right: -5px;
border-bottom-left-radius: 4px;
border-width: 0 0 1px 1px;
2014-11-13 13:59:55 +00:00
box-shadow: -2px 2px 0 $secondary;
}
}
&::before {
position: absolute;
2019-02-18 11:41:05 +00:00
content: " ";
width: 100%;
bottom: 0;
left: 0;
2019-02-18 11:41:05 +00:00
border-bottom: 1px solid darken($secondary, 10%);
z-index: 1;
}
}
.panel {
margin: 0 0 2em;
padding: 0;
}
}
p.cart {
margin-bottom: 2em;
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
2011-08-09 15:16:18 +00:00
}
form.cart {
margin-bottom: 2em;
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
div.quantity {
float: left;
margin: 0 4px 0 0;
}
table {
border-width: 0 0 1px;
td {
padding-left: 0;
}
div.quantity {
float: none;
margin: 0;
}
small.stock {
display: block;
float: none;
}
}
.variations {
margin-bottom: 1em;
border: 0;
2015-10-29 16:51:05 +00:00
width: 100%;
td,
th {
border: 0;
2015-10-29 16:51:05 +00:00
vertical-align: top;
line-height: 2em;
}
label {
2014-11-13 14:16:32 +00:00
font-weight: 700;
}
select {
2015-10-29 16:51:05 +00:00
max-width: 100%;
min-width: 75%;
display: inline-block;
margin-right: 1em;
}
td.label {
padding-right: 1em;
}
}
.woocommerce-variation-description p {
margin-bottom: 1em;
}
.reset_variations {
visibility: hidden;
2015-10-29 16:51:05 +00:00
font-size: 0.83em;
}
.wc-no-matching-variations {
display: none;
}
.button {
vertical-align: middle;
float: left;
}
.group_table {
2019-02-18 11:41:05 +00:00
td.woocommerce-grouped-product-list-item__label {
padding-right: 1em;
padding-left: 1em;
}
td {
vertical-align: top;
padding-bottom: 0.5em;
2014-11-13 11:47:54 +00:00
border: 0;
}
td:first-child {
width: 4em;
text-align: center;
}
.wc-grouped-product-add-to-cart-checkbox {
display: inline-block;
width: auto;
margin: 0 auto;
2019-02-18 11:41:05 +00:00
transform: scale(1.5, 1.5);
}
}
}
2011-08-09 15:16:18 +00:00
}
span.onsale {
2014-11-13 13:52:34 +00:00
min-height: 3.236em;
min-width: 3.236em;
padding: 0.202em;
2014-11-13 13:52:34 +00:00
font-size: 1em;
2014-11-13 14:16:32 +00:00
font-weight: 700;
position: absolute;
text-align: center;
2014-11-14 10:36:19 +00:00
line-height: 3.236;
top: -0.5em;
left: -0.5em;
margin: 0;
2014-11-13 13:52:34 +00:00
border-radius: 100%;
background-color: $highlight;
2014-09-22 17:35:48 +00:00
color: $highlightext;
font-size: 0.857em;
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
z-index: 9;
}
2011-08-09 15:16:18 +00:00
/**
* Product loops
*/
.products ul,
ul.products {
margin: 0 0 1em;
padding: 0;
list-style: none outside;
clear: both;
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
li {
list-style: none outside;
}
2012-01-06 14:02:34 +00:00
}
ul.products li.product {
2019-02-18 11:41:05 +00:00
.onsale {
top: 0;
right: 0;
left: auto;
margin: -0.5em -0.5em 0 0;
}
h3,
.woocommerce-loop-product__title,
.woocommerce-loop-category__title {
padding: 0.5em 0;
margin: 0;
font-size: 1em;
}
a {
text-decoration: none;
}
a img {
width: 100%;
height: auto;
display: block;
margin: 0 0 1em;
box-shadow: none;
}
strong {
display: block;
}
2018-06-27 17:13:39 +00:00
.woocommerce-placeholder {
2019-02-18 11:41:05 +00:00
border: 1px solid #f2f2f2;
2018-06-27 17:13:39 +00:00
}
.star-rating {
font-size: 0.857em;
}
2014-11-13 13:47:38 +00:00
.button {
margin-top: 1em;
}
2014-11-13 13:48:47 +00:00
.price {
color: $highlight;
display: block;
font-weight: normal;
margin-bottom: 0.5em;
font-size: 0.857em;
del {
color: inherit;
opacity: 0.5;
2017-10-31 12:22:18 +00:00
display: inline-block;
}
ins {
background: none;
font-weight: 700;
2017-10-31 12:22:18 +00:00
display: inline-block;
}
.from {
font-size: 0.67em;
margin: -2px 0 0 0;
text-transform: uppercase;
color: rgba(desaturate($highlight, 75%), 0.5);
2011-08-09 15:16:18 +00:00
}
}
}
2013-01-03 11:40:10 +00:00
.woocommerce-result-count {
margin: 0 0 1em;
}
2013-01-03 11:40:10 +00:00
.woocommerce-ordering {
margin: 0 0 1em;
select {
vertical-align: top;
}
}
nav.woocommerce-pagination {
text-align: center;
ul {
display: inline-block;
white-space: nowrap;
padding: 0;
clear: both;
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 10%);
border-right: 0;
margin: 1px;
li {
2019-02-18 11:41:05 +00:00
border-right: 1px solid darken($secondary, 10%);
padding: 0;
margin: 0;
float: left;
display: inline;
overflow: hidden;
a,
span {
margin: 0;
text-decoration: none;
padding: 0;
2014-11-14 10:36:19 +00:00
line-height: 1;
font-size: 1em;
font-weight: normal;
padding: 0.5em;
min-width: 1em;
display: block;
}
span.current,
a:hover,
a:focus {
2014-09-22 17:35:48 +00:00
background: $secondary;
2019-02-18 11:41:05 +00:00
color: darken($secondary, 40%);
}
}
}
}
/**
* Buttons
*/
a.button,
button.button,
input.button,
#respond input#submit {
font-size: 100%;
margin: 0;
2014-11-14 10:36:19 +00:00
line-height: 1;
cursor: pointer;
position: relative;
text-decoration: none;
overflow: visible;
padding: 0.618em 1em;
font-weight: 700;
border-radius: 3px;
left: auto;
2014-09-22 17:35:48 +00:00
color: $secondarytext;
background-color: $secondary;
border: 0;
2012-12-10 13:11:05 +00:00
display: inline-block;
background-image: none;
box-shadow: none;
2014-11-13 14:02:12 +00:00
text-shadow: none;
&.loading {
2014-11-13 13:42:10 +00:00
opacity: 0.25;
2014-11-13 17:42:09 +00:00
padding-right: 2.618em;
&::after {
2019-02-18 11:41:05 +00:00
font-family: "WooCommerce";
content: "\e01c";
2014-11-14 09:47:45 +00:00
vertical-align: top;
font-weight: 400;
position: absolute;
top: 0.618em;
2014-11-13 17:42:09 +00:00
right: 1em;
animation: spin 2s linear infinite;
}
2011-09-13 14:58:06 +00:00
}
&.added::after {
2019-02-18 11:41:05 +00:00
font-family: "WooCommerce";
content: "\e017";
margin-left: 0.53em;
vertical-align: bottom;
2013-02-13 15:56:47 +00:00
}
&:hover {
2019-05-21 20:59:52 +00:00
background-color: darken($secondary, 5%);
text-decoration: none;
background-image: none;
color: $secondarytext;
}
&.alt {
background-color: $primary;
2014-09-22 17:35:48 +00:00
color: $primarytext;
-webkit-font-smoothing: antialiased;
&:hover {
2019-05-21 20:59:52 +00:00
background-color: darken($primary, 5%);
color: $primarytext;
}
2014-11-18 12:20:59 +00:00
&.disabled,
&:disabled,
&:disabled[disabled],
&.disabled:hover,
&:disabled:hover,
&:disabled[disabled]:hover {
background-color: $primary;
color: $primarytext;
}
2012-01-11 19:07:19 +00:00
}
2013-09-04 06:50:22 +00:00
&:disabled,
2014-11-18 12:20:59 +00:00
&.disabled,
&:disabled[disabled] {
color: inherit;
2013-09-04 06:50:22 +00:00
cursor: not-allowed;
2014-11-18 12:20:59 +00:00
opacity: 0.5;
padding: 0.618em 1em;
2014-11-18 12:20:59 +00:00
&:hover {
color: inherit;
background-color: $secondary;
2013-09-20 11:08:56 +00:00
}
2013-09-04 06:50:22 +00:00
}
2012-01-11 19:07:19 +00:00
}
2011-08-09 15:16:18 +00:00
.cart .button,
.cart input.button {
float: none;
}
2012-12-10 13:11:05 +00:00
a.added_to_cart {
padding-top: 0.5em;
2012-12-10 13:11:05 +00:00
display: inline-block;
}
/**
* Reviews
*/
#reviews {
2019-02-18 11:41:05 +00:00
h2 small {
float: right;
2014-09-22 17:35:48 +00:00
color: $subtext;
font-size: 15px;
margin: 10px 0 0;
a {
text-decoration: none;
2014-09-22 17:35:48 +00:00
color: $subtext;
}
2011-08-09 15:16:18 +00:00
}
h3 {
margin: 0;
2011-08-09 15:16:18 +00:00
}
#respond {
2011-08-27 11:59:12 +00:00
margin: 0;
border: 0;
padding: 0;
}
#comment {
height: 75px;
}
#comments {
2019-02-18 11:41:05 +00:00
.add_review {
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
}
h2 {
clear: none;
}
ol.commentlist {
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
margin: 0;
width: 100%;
background: none;
2013-01-10 13:52:42 +00:00
list-style: none;
li {
padding: 0;
margin: 0 0 20px;
border: 0;
position: relative;
background: 0;
border: 0;
.meta {
2014-09-22 17:35:48 +00:00
color: $subtext;
font-size: 0.75em;
2011-08-09 15:16:18 +00:00
}
img.avatar {
float: left;
position: absolute;
top: 0;
left: 0;
padding: 3px;
width: 32px;
height: auto;
2014-09-22 17:35:48 +00:00
background: $secondary;
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 3%);
margin: 0;
2014-11-13 14:00:47 +00:00
box-shadow: none;
}
.comment-text {
margin: 0 0 0 50px;
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 3%);
2014-10-17 19:18:11 +00:00
border-radius: 4px;
padding: 1em 1em 0;
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
p {
margin: 0 0 1em;
}
p.meta {
font-size: 0.83em;
}
2011-08-09 15:16:18 +00:00
}
}
ul.children {
list-style: none outside;
margin: 20px 0 0 50px;
.star-rating {
display: none;
}
}
#respond {
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 3%);
2014-10-17 19:18:11 +00:00
border-radius: 4px;
padding: 1em 1em 0;
margin: 20px 0 0 50px;
}
2011-08-09 15:16:18 +00:00
}
.commentlist > li::before {
2019-02-18 11:41:05 +00:00
content: "";
}
}
2011-08-09 15:16:18 +00:00
}
/**
* Star ratings
*/
.star-rating {
float: right;
2013-01-14 10:51:06 +00:00
overflow: hidden;
position: relative;
height: 1em;
2014-11-14 10:36:19 +00:00
line-height: 1;
2013-01-14 10:51:06 +00:00
font-size: 1em;
width: 5.4em;
2019-02-18 11:41:05 +00:00
font-family: "star";
&::before {
2019-02-18 11:41:05 +00:00
content: "\73\73\73\73\73";
color: darken($secondary, 10%);
2013-01-14 10:51:06 +00:00
float: left;
top: 0;
left: 0;
position: absolute;
}
span {
2013-01-14 10:51:06 +00:00
overflow: hidden;
float: left;
top: 0;
left: 0;
position: absolute;
padding-top: 1.5em;
}
span::before {
2019-02-18 11:41:05 +00:00
content: "\53\53\53\53\53";
2013-01-14 10:51:06 +00:00
top: 0;
position: absolute;
left: 0;
2011-08-09 15:16:18 +00:00
}
2011-09-05 09:04:17 +00:00
}
.woocommerce-product-rating {
2019-02-18 11:41:05 +00:00
@include clearfix();
2014-11-14 10:36:19 +00:00
line-height: 2;
display: block;
.star-rating {
margin: 0.5em 4px 0 0;
float: left;
}
}
.products .star-rating {
display: block;
margin: 0 0 0.5em;
float: none;
2013-01-12 10:53:24 +00:00
}
.hreview-aggregate .star-rating {
margin: 10px 0 0;
2011-09-05 09:04:17 +00:00
}
2011-08-09 15:16:18 +00:00
#review_form #respond {
2019-02-18 11:41:05 +00:00
@include clearfix();
position: static;
margin: 0;
width: auto;
padding: 0;
background: transparent none;
border: 0;
p {
margin: 0 0 10px;
}
.form-submit input {
left: auto;
}
textarea {
box-sizing: border-box;
width: 100%;
}
2011-08-09 15:16:18 +00:00
}
p.stars {
2019-02-18 11:41:05 +00:00
a {
2013-04-17 10:19:52 +00:00
position: relative;
height: 1em;
width: 1em;
text-indent: -999em;
display: inline-block;
text-decoration: none;
&::before {
display: block;
position: absolute;
top: 0;
left: 0;
width: 1em;
height: 1em;
line-height: 1;
2019-02-18 11:41:05 +00:00
font-family: "WooCommerce";
content: "\e021";
text-indent: 0;
}
&:hover ~ a::before {
2019-02-18 11:41:05 +00:00
content: "\e021";
}
}
&:hover a::before {
2019-02-18 11:41:05 +00:00
content: "\e020";
}
&.selected {
2019-02-18 11:41:05 +00:00
a.active {
2019-02-18 11:41:05 +00:00
&::before {
2019-02-18 11:41:05 +00:00
content: "\e020";
}
~ a::before {
2019-02-18 11:41:05 +00:00
content: "\e021";
}
2013-04-17 10:19:52 +00:00
}
2019-02-18 11:41:05 +00:00
a:not(.active)::before {
content: "\e020";
2013-04-17 10:19:52 +00:00
}
}
}
/**
* Tables
*/
table.shop_attributes {
border: 0;
border-top: 1px dotted rgba(0, 0, 0, 0.1);
margin-bottom: 1.618em;
width: 100%;
th {
width: 150px;
2014-11-13 14:16:32 +00:00
font-weight: 700;
padding: 8px;
border-top: 0;
border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
margin: 0;
2014-11-14 10:36:19 +00:00
line-height: 1.5;
}
td {
font-style: italic;
padding: 0;
border-top: 0;
border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
margin: 0;
2014-11-14 10:36:19 +00:00
line-height: 1.5;
p {
margin: 0;
padding: 8px 0;
}
}
WIP - Product CRUD (#12065) * Created function to get the catalog visibility options * First methods for WP_Product crud * Product set methods * Fixed several erros while setting data * First methods for WP_Product crud * Product set methods * Fixed several erros while setting data * Hardcode the get_type per product class * Initial look through getters and setters and abstract data * Missing var * Add related product functions and deprecate those in class. * No need to exclude ID * Fixed coding standards and improved the docblocks * Get cached terms from wc_get_related_terms() * Fixed wrong variable in wc_get_related_terms * Use count() instead of sizeof() * Sanitize ids later * Remove unneeded comments * wc_get_product_term_ids instead of related wording and use in other places. get_the_terms is used here and also handles caching, something wp_get_post_terms does not. * Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it. * Bump template version * Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function * Made abstract function useful * External Product CRUD * _virtual meta should be 'no', not taxable, in product unit test helper * Grouped product class * Tests * Move children to meta and update test * Use get_upsell_ids * Spacing in query * Moving and refactoring methods * Availability html * Tidy/add todos * Rename method * Put back review functions (still todo) * missing $this * get_price_including_tax/excluding_tax functions * wc_get_price_to_display * Price handling * [Product CRUD] Variable (#12146) * [Product CRUD] Variable Products * Handle PR feedback. * [Product CRUD] Grouped Handling (#12151) * Handle grouped product saving * Update routine * [Product CRUD] Product crud terms (#12149) * Category and tag id handling * Replace template functions * Remove todo * Handle default name in save function * Product crud admin save routine (#12174) * Initial props * Work on admin saving * Set/get attributes * Atom was moaning about this before but no longer. * Update get_shipping_class * WC_Product_Attribute * Use getter in admin panel * Fix attribute saving * Spacing * Fix comment * wc_implode_text_attributes helper function * [Product CRUD] Product crud admin use getters (#12196) * Initial props * Work on admin saving * Set/get attributes * Atom was moaning about this before but no longer. * Update get_shipping_class * WC_Product_Attribute * Use getter in admin panel * Fix attribute saving * Move settings into new files * Refactor panels and use getters * Use getters for variation panel * Revert save variation changes for now * Add todos * Fix downloads * REST API CRUD Updates * Additional API updates/fixes. Added some todos * Fix final failing tests and implementing setters/getters and attributes functionality. * Fix comparison for is_on_sale and remove download_type from WC_Product. * Add a wc_get_products wrapper. * Remove the download type input from the product data metabox for downloadable products. (#12221) * [Product CRUD] Variations - setters, getters and admin. (#12228) * Started on variation changes * Stock functions * Variation class * Bulk change ->id to get_id() to fix variation form display * Missing status * Fix add to cart * Start on stored data save * save variation * Save_variations * Variation edit panel * Save variations code works. * Remove stored data code and fix save * Improve legacy class * wc_bool_to_string * prepare_set_attributes * Use wc_get_products * More feedback fixes * Feedback fixes * Implement CRUD in the legacy REST API * Handle PR feedback * [Product CRUD] Getter setter proxy methods (#12236) * Started on variation changes * Stock functions * Variation class * Bulk change ->id to get_id() to fix variation form display * Missing status * Fix add to cart * Start on stored data save * save variation * Save_variations * Variation edit panel * Save variations code works. * Remove stored data code and fix save * Improve legacy class * wc_bool_to_string * prepare_set_attributes * Use wc_get_products * More feedback fixes * get_prop implementation in abstract and data classes * Implement set_prop * Change handling * Array key exists * set_object_read * Use get_the_terms() instead of wp_get_post_terms() wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not use the object cache, and generates a database query every time it is used. get_the_terms() however can use data from the object cache if present. * Allow WP_Query to preload post data, and meta in wc_get_products() Allow WP_Query to bulk query for post data and meta if more than just IDs are requested from wc_get_products(). Reduces query count significantly. * [Product CRUD] Variable, variation, notices, and stock handling (#12277) * No longer needed * Remove old todos * Use getters in admin list * Related and upsells update for CRUD * Fix notice in gallery * Variable fixes and todos * Context * Price sync * Revert variation attributes change * Return parent data in view context * Defer term counting * wc_find_matching_product_variation * Stock manage tweaks * Stock fixes * Correct id * correct id * Better sync * Data logic setter fix * feedback * First methods for WP_Product crud * Product set methods * Fixed several erros while setting data * Hardcode the get_type per product class * Initial look through getters and setters and abstract data * Missing var * Fixed coding standards and improved the docblocks * Get cached terms from wc_get_related_terms() * Fixed wrong variable in wc_get_related_terms * Use count() instead of sizeof() * Add related product functions and deprecate those in class. * No need to exclude ID * Sanitize ids later * Clean up the abstract product class a bit, deprecate two functions we have renamed, make update & create work properly, and add some tests for it. * Remove unneeded comments * wc_get_product_term_ids instead of related wording and use in other places. get_the_terms is used here and also handles caching, something wp_get_post_terms does not. * Handle PR feedback: Remove duplicate regular_price update, allow changing of post status for products, remove deprecation for get_title since we might still offer it as a function * External Product CRUD * _virtual meta should be 'no', not taxable, in product unit test helper * Bump template version * Made abstract function useful * Grouped product class * Tests * Move children to meta and update test * Use get_upsell_ids * Spacing in query * Moving and refactoring methods * Availability html * Tidy/add todos * Rename method * Put back review functions (still todo) * missing $this * get_price_including_tax/excluding_tax functions * wc_get_price_to_display * Price handling * [Product CRUD] Variable (#12146) * [Product CRUD] Variable Products * Handle PR feedback. * [Product CRUD] Grouped Handling (#12151) * Handle grouped product saving * Update routine * [Product CRUD] Product crud terms (#12149) * Category and tag id handling * Replace template functions * Remove todo * Handle default name in save function * Product crud admin save routine (#12174) * Initial props * Work on admin saving * Set/get attributes * Atom was moaning about this before but no longer. * Update get_shipping_class * WC_Product_Attribute * Use getter in admin panel * Fix attribute saving * Spacing * Fix comment * wc_implode_text_attributes helper function * [Product CRUD] Product crud admin use getters (#12196) * Initial props * Work on admin saving * Set/get attributes * Atom was moaning about this before but no longer. * Update get_shipping_class * WC_Product_Attribute * Use getter in admin panel * Fix attribute saving * Move settings into new files * Refactor panels and use getters * Use getters for variation panel * Revert save variation changes for now * Add todos * Fix downloads * REST API CRUD Updates * Additional API updates/fixes. Added some todos * Fix final failing tests and implementing setters/getters and attributes functionality. * Fix comparison for is_on_sale and remove download_type from WC_Product. * Add a wc_get_products wrapper. * Remove the download type input from the product data metabox for downloadable products. (#12221) * [Product CRUD] Variations - setters, getters and admin. (#12228) * Started on variation changes * Stock functions * Variation class * Bulk change ->id to get_id() to fix variation form display * Missing status * Fix add to cart * Start on stored data save * save variation * Save_variations * Variation edit panel * Save variations code works. * Remove stored data code and fix save * Improve legacy class * wc_bool_to_string * prepare_set_attributes * Use wc_get_products * More feedback fixes * Feedback fixes * Implement CRUD in the legacy REST API * Handle PR feedback * [Product CRUD] Getter setter proxy methods (#12236) * Started on variation changes * Stock functions * Variation class * Bulk change ->id to get_id() to fix variation form display * Missing status * Fix add to cart * Start on stored data save * save variation * Save_variations * Variation edit panel * Save variations code works. * Remove stored data code and fix save * Improve legacy class * wc_bool_to_string * prepare_set_attributes * Use wc_get_products * More feedback fixes * get_prop implementation in abstract and data classes * Implement set_prop * Change handling * Array key exists * set_object_read * Use get_the_terms() instead of wp_get_post_terms() wp_get_post_terms() is a wrapper around wp_get_object_terms() which does not use the object cache, and generates a database query every time it is used. get_the_terms() however can use data from the object cache if present. * [Product CRUD] Variable, variation, notices, and stock handling (#12277) * No longer needed * Remove old todos * Use getters in admin list * Related and upsells update for CRUD * Fix notice in gallery * Variable fixes and todos * Context * Price sync * Revert variation attributes change * Return parent data in view context * Defer term counting * wc_find_matching_product_variation * Stock manage tweaks * Stock fixes * Correct id * correct id * Better sync * Data logic setter fix * feedback * Prevent notices * Handle image_id from parent * Fix error * Remove _wc_save_product_price * Remove todo * Fixed wrong variation URLs * Fixed undefined $image_id in WC_Product_Variation::get_image_id() * Allow wc_rest_prepare_date_response() handle timestamps * Updated get methods on REST API for variations * Use variations CRUD to save variations metadata * [Product CRUD] Abstract todos (#12305) * Get dimensions and weights, with soft deprecation * Product attributes * Ratings * Fix read method * Downloads * Feedback * Revert "[Product CRUD] Abstract todos (#12305)" This reverts commit 9a6136fcf88fec16f97457b7c8a4388f7587bfa2. * Remove deprecated get_variation_id() * New default attributes method * [Product CRUD] Product Datastore (#12317) * Fix up tests in the product/* folder. * Handle data store updates for grouped, variable, external, simple, and general data store updates for products. * Variations & variable changes. * Update -functions.php calls to use data store. * Add an interface for the public product data store methods. * Finished product factory tests * Correctly delete in the api, fix up some comments, and implement an interface for the public variable methods. * Fix up delete in all versions of the api * Handle feedback * Match protected decloration to parent * Product crud abstract todos (#12316) * Get dimensions and weights, with soft deprecation * Product attributes * Ratings * Fix read method * Downloads * Feedback * Fix up store * Fixed method returning in write context * Fix error in variation admin * Check for parent value - fixes tax class * Remove old/complete todos * Allow set tax class as "parent" * Removed duplicated sync * Fixed wrong variation URLs * Fixed undefined $image_id in WC_Product_Variation::get_image_id() * Allow wc_rest_prepare_date_response() handle timestamps * Updated get methods on REST API for variations * Use variations CRUD to save variations metadata * Remove deprecated get_variation_id() * New default attributes method * Fixed method returning in write context * Allow set tax class as "parent" * Removed duplicated sync * Fixed coding standards * TODO is not accurate. * Should pass WC_Product instancies to WC_Comments methods (#12327) * Use new method in abstract order class to prevent headers sent issue in tests * Fixed variable description in REST API * Updated how create initial product variation * Fixed a few fatal errors and warnings in Products CRUD (#12329) * Fixed a few fatal errors and warnings in Products CRUD * Fixed sync functions * Add variations CRUD to legacy API (#12331) * Apply crud to variable products in legacy API v1 * New REST API do not need fallback for default attributes * Apply variations CRUD to legacy API v2 * Legacy v2 - save default attributes * Variations in legacy API v2 do not have descriptions * Fixed legacy API v2 variations params * Applied variations CRUD to legacy API v3 * Sync before save in legacy apis * Punc * Removed API todos * Removed test * Products endpoint tweaks (#12354) * Var type already normalized on CRUD * Let Product CRUD handle with validation, sanitization and conditional checks * Set downloads using WC_Product_Download * Stop try catch exceptions more than one time * Handle WC_Data_Exception in legacy API * Complete remove products when fails on creating * On creating I mean! * Already have a method to complete delete products * Fixed standards using WP CodeSniffer * get_the_terms() returns false when empty * get_manage_stock returns boolean @claudiosanches * Merge conflict * Variations API endpoint fixes * Product CRUD improvements (#12359) * args is not used any more - remove todo * Added test for attributes * wc_get_price_excluding_tax usage * parent usage * Fix rating counts * Test fixes * Cleanup after tests * Make sure status transition code runs even during API calls, not just in admin. * Default visibility * Fix attribute setting in API * Use get name instead of get title * variation id usage * Improved cross sell templates * variation_data * Grouped product sync * Notices * Sync is not needed in API * Delete * Rename interfaces * Update counts in data store
2016-11-16 12:38:24 +00:00
tr:nth-child(even) td,
tr:nth-child(even) th {
background: rgba(0, 0, 0, 0.025);
}
}
table.shop_table {
border: 1px solid rgba(0, 0, 0, 0.1);
margin: 0 -1px 24px 0;
text-align: left;
width: 100%;
border-collapse: separate;
2014-10-17 19:18:11 +00:00
border-radius: 5px;
th {
2014-11-13 14:16:32 +00:00
font-weight: 700;
padding: 9px 12px;
2018-06-01 20:27:56 +00:00
line-height: 1.5em;
}
td {
border-top: 1px solid rgba(0, 0, 0, 0.1);
2018-06-01 20:27:56 +00:00
padding: 9px 12px;
vertical-align: middle;
2018-06-01 20:27:56 +00:00
line-height: 1.5em;
small {
font-weight: normal;
}
del {
font-weight: normal;
}
}
tbody:first-child tr:first-child {
2019-02-18 11:41:05 +00:00
th,
td {
border-top: 0;
2014-10-16 16:00:56 +00:00
}
}
2014-10-16 16:00:56 +00:00
tfoot td,
tfoot th,
tbody th {
2014-11-13 14:16:32 +00:00
font-weight: 700;
border-top: 1px solid rgba(0, 0, 0, 0.1);
}
}
table.my_account_orders {
font-size: 0.85em;
th,
td {
padding: 4px 8px;
vertical-align: middle;
}
.button {
white-space: nowrap;
}
}
2016-09-12 22:00:31 +00:00
table.woocommerce-MyAccount-downloads {
2019-02-18 11:41:05 +00:00
2016-09-12 22:00:31 +00:00
td,
th {
vertical-align: top;
text-align: center;
&:first-child {
text-align: left;
}
2019-02-18 11:41:05 +00:00
2016-09-12 22:00:31 +00:00
&:last-child {
text-align: left;
}
2019-02-18 11:41:05 +00:00
.woocommerce-MyAccount-downloads-file::before {
2019-02-18 11:41:05 +00:00
content: "\2193";
display: inline-block;
2016-09-12 22:00:31 +00:00
}
}
}
td.product-name {
2019-02-18 11:41:05 +00:00
dl.variation,
.wc-item-meta {
list-style: none outside;
2013-11-19 10:30:53 +00:00
2019-02-18 11:41:05 +00:00
dt,
.wc-item-meta-label {
2013-11-15 16:38:21 +00:00
float: left;
clear: both;
2019-02-18 11:41:05 +00:00
margin-right: 0.25em;
display: inline-block;
list-style: none outside;
}
dd {
margin: 0;
}
p,
&:last-child {
margin-bottom: 0;
}
}
p.backorder_notification {
font-size: 0.83em;
}
}
td.product-quantity {
min-width: 80px;
}
/**
* Cart sidebar
*/
ul.cart_list,
ul.product_list_widget {
list-style: none outside;
padding: 0;
2011-08-27 11:59:12 +00:00
margin: 0;
li {
padding: 4px 0;
margin: 0;
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
list-style: none;
a {
display: block;
2014-11-13 14:16:32 +00:00
font-weight: 700;
}
img {
float: right;
margin-left: 4px;
width: 32px;
height: auto;
2014-11-13 16:11:30 +00:00
box-shadow: none;
2012-01-12 15:25:13 +00:00
}
dl {
margin: 0;
padding-left: 1em;
border-left: 2px solid rgba(0, 0, 0, 0.1);
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
dt,
dd {
2013-11-15 16:38:21 +00:00
display: inline-block;
float: left;
margin-bottom: 1em;
2013-06-20 10:20:49 +00:00
}
dt {
2014-11-13 14:16:32 +00:00
font-weight: 700;
padding: 0 0 0.25em;
2013-06-20 10:20:49 +00:00
margin: 0 4px 0 0;
clear: left;
}
dd {
padding: 0 0 0.25em;
2013-11-15 16:38:21 +00:00
p:last-child {
margin-bottom: 0;
2013-11-15 16:38:21 +00:00
}
}
}
.star-rating {
float: none;
2012-01-12 15:25:13 +00:00
}
2012-01-12 16:41:44 +00:00
}
2011-08-09 15:16:18 +00:00
}
&.widget_shopping_cart,
.widget_shopping_cart {
2019-02-18 11:41:05 +00:00
.total {
2014-09-22 17:35:48 +00:00
border-top: 3px double $secondary;
padding: 4px 0 0;
strong {
min-width: 40px;
display: inline-block;
}
}
.cart_list li {
padding-left: 2em;
position: relative;
padding-top: 0;
2014-11-14 15:42:00 +00:00
a.remove {
position: absolute;
top: 0;
left: 0;
2014-11-14 15:42:00 +00:00
}
}
.buttons {
2019-02-18 11:41:05 +00:00
2014-09-22 17:35:48 +00:00
@include clearfix();
2019-02-18 11:41:05 +00:00
a {
margin-right: 5px;
margin-bottom: 5px;
}
2011-08-09 15:16:18 +00:00
}
}
/**
* Forms
*/
form .form-row {
padding: 3px;
margin: 0 0 6px;
[placeholder]:focus::-webkit-input-placeholder {
transition: opacity 0.5s 0.5s ease;
opacity: 0;
}
label {
line-height: 2;
}
label.hidden {
visibility: hidden;
}
label.inline {
display: inline;
}
.woocommerce-input-wrapper {
2019-02-18 11:41:05 +00:00
.description {
background: #1e85be;
color: #fff;
border-radius: 3px;
padding: 1em;
2019-02-18 11:41:05 +00:00
margin: 0.5em 0 0;
clear: both;
display: none;
position: relative;
a {
color: #fff;
text-decoration: underline;
border: 0;
box-shadow: none;
}
2019-02-18 11:41:05 +00:00
&::before {
left: 50%;
top: 0%;
margin-top: -4px;
2019-02-18 11:41:05 +00:00
transform: translateX(-50%) rotate(180deg);
content: "";
position: absolute;
border-width: 4px 6px 0 6px;
border-style: solid;
border-color: #1e85be transparent transparent transparent;
z-index: 100;
display: block;
}
}
}
select {
cursor: pointer;
margin: 0;
}
.required {
color: red;
font-weight: 700;
border: 0 !important;
text-decoration: none;
visibility: hidden; // Only show optional by default.
}
.optional {
visibility: visible;
2019-02-18 11:41:05 +00:00
}
.input-checkbox {
display: inline;
margin: -2px 8px 0 0;
text-align: center;
vertical-align: middle;
}
input.input-text,
textarea {
box-sizing: border-box;
width: 100%;
margin: 0;
outline: 0;
line-height: normal;
}
textarea {
height: 4em;
line-height: 1.5;
display: block;
box-shadow: none;
}
.select2-container {
width: 100%;
line-height: 2em;
}
2015-01-12 16:16:10 +00:00
&.woocommerce-invalid {
2019-02-18 11:41:05 +00:00
label {
color: $red;
2014-11-14 10:50:44 +00:00
}
2019-02-18 11:41:05 +00:00
.select2-container,
input.input-text,
select {
border-color: $red;
2012-12-10 14:50:49 +00:00
}
}
&.woocommerce-validated {
2019-02-18 11:41:05 +00:00
.select2-container,
input.input-text,
select {
border-color: darken($green, 5%);
2012-12-10 14:50:49 +00:00
}
}
::-webkit-input-placeholder {
line-height: normal;
}
:-moz-placeholder {
line-height: normal;
}
:-ms-input-placeholder {
line-height: normal;
}
2011-08-09 15:16:18 +00:00
}
form.login,
form.checkout_coupon,
form.register {
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 10%);
padding: 20px;
margin: 2em 0;
text-align: left;
2014-10-17 19:18:11 +00:00
border-radius: 5px;
}
ul#shipping_method {
2012-05-13 20:02:07 +00:00
list-style: none outside;
margin: 0;
padding: 0;
li {
2019-02-18 11:41:05 +00:00
margin: 0 0 0.5em;
2018-06-01 20:27:56 +00:00
line-height: 1.5em;
list-style: none outside;
2019-02-18 11:41:05 +00:00
input {
2018-06-01 20:27:56 +00:00
margin: 3px 0.4375em 0 0;
vertical-align: top;
}
2019-02-18 11:41:05 +00:00
label {
display: inline;
}
}
.amount {
2014-11-13 14:16:32 +00:00
font-weight: 700;
}
2012-05-13 20:02:07 +00:00
}
p.woocommerce-shipping-contents {
margin: 0;
}
2012-05-13 20:02:07 +00:00
/**
* Order page
*/
ul.order_details {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
@include clearfix();
margin: 0 0 3em;
2014-11-13 11:43:26 +00:00
list-style: none;
2014-11-13 11:43:26 +00:00
li {
float: left;
margin-right: 2em;
text-transform: uppercase;
font-size: 0.715em;
2014-11-14 10:36:19 +00:00
line-height: 1;
2019-02-18 11:41:05 +00:00
border-right: 1px dashed darken($secondary, 10%);
2014-11-13 11:43:26 +00:00
padding-right: 2em;
2015-03-09 14:37:14 +00:00
margin-left: 0;
padding-left: 0;
2016-04-14 06:12:55 +00:00
list-style-type: none;
2014-11-13 11:43:26 +00:00
strong {
display: block;
font-size: 1.4em;
text-transform: none;
2014-11-14 10:36:19 +00:00
line-height: 1.5;
}
2014-11-13 11:43:26 +00:00
&:last-of-type {
border: none;
}
2013-03-28 23:13:23 +00:00
}
}
2011-08-09 15:16:18 +00:00
.wc-bacs-bank-details-account-name {
font-weight: bold;
}
2017-07-11 12:45:35 +00:00
.woocommerce-order-downloads,
2017-07-11 13:52:30 +00:00
.woocommerce-customer-details,
.woocommerce-order-details {
2017-07-11 12:45:35 +00:00
margin-bottom: 2em;
*:last-child {
margin-bottom: 0;
}
}
2019-02-18 11:41:05 +00:00
2017-07-11 12:45:35 +00:00
.woocommerce-customer-details {
2019-02-18 11:41:05 +00:00
2017-07-11 12:45:35 +00:00
address {
font-style: normal;
margin-bottom: 0;
border: 1px solid rgba(0, 0, 0, 0.1);
border-bottom-width: 2px;
border-right-width: 2px;
text-align: left;
width: 100%;
border-radius: 5px;
padding: 6px 12px;
}
2019-02-18 11:41:05 +00:00
2017-07-11 12:45:35 +00:00
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
margin-bottom: 0;
padding-left: 1.5em;
}
2019-02-18 11:41:05 +00:00
2017-07-11 12:45:35 +00:00
.woocommerce-customer-details--phone::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e037" );
2017-07-11 12:45:35 +00:00
margin-left: -1.5em;
line-height: 1.75;
position: absolute;
}
2019-02-18 11:41:05 +00:00
2017-07-11 12:45:35 +00:00
.woocommerce-customer-details--email::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e02d" );
2017-07-11 12:45:35 +00:00
margin-left: -1.5em;
line-height: 1.75;
position: absolute;
}
}
/**
* Layered nav widget
*/
2017-07-10 13:36:47 +00:00
.woocommerce-widget-layered-nav-list {
margin: 0;
padding: 0;
border: 0;
list-style: none outside;
2017-07-10 13:36:47 +00:00
.woocommerce-widget-layered-nav-list__item {
2019-02-18 11:41:05 +00:00
@include clearfix();
padding: 0 0 1px;
list-style: none;
a,
span {
padding: 1px 0;
2014-11-13 11:43:26 +00:00
}
}
2019-02-18 11:41:05 +00:00
2017-07-10 13:36:47 +00:00
.woocommerce-widget-layered-nav-list__item--chosen a::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e013" );
color: $red;
2011-08-09 15:16:18 +00:00
}
2014-11-13 11:43:26 +00:00
}
2019-02-18 11:41:05 +00:00
2017-07-10 13:36:47 +00:00
.woocommerce-widget-layered-nav-dropdown__submit {
margin-top: 1em;
}
.widget_layered_nav_filters ul {
margin: 0;
padding: 0;
border: 0;
list-style: none outside;
overflow: hidden;
zoom: 1;
li {
float: left;
2017-12-14 16:37:51 +00:00
padding: 0 1em 1px 1px;
list-style: none;
a {
text-decoration: none;
&::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e013" );
color: $red;
2017-12-14 16:37:51 +00:00
vertical-align: inherit;
2019-02-18 11:41:05 +00:00
margin-right: 0.5em;
}
}
2011-08-09 15:16:18 +00:00
}
}
2012-01-13 12:34:44 +00:00
/**
* Price filter widget
*/
.widget_price_filter {
2019-02-18 11:41:05 +00:00
.price_slider {
margin-bottom: 1em;
2012-01-13 12:34:44 +00:00
}
.price_slider_amount {
text-align: right;
2014-11-14 10:36:19 +00:00
line-height: 2.4;
font-size: 0.8751em;
.button {
font-size: 1.15em;
float: left;
}
2012-01-13 12:34:44 +00:00
}
.ui-slider {
position: relative;
text-align: left;
margin-left: 0.5em;
margin-right: 0.5em;
}
.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
2014-11-13 16:22:13 +00:00
width: 1em;
height: 1em;
background-color: $primary;
2014-10-17 19:18:11 +00:00
border-radius: 1em;
2014-11-13 16:22:13 +00:00
cursor: ew-resize;
outline: none;
top: -0.3em;
2019-02-18 11:41:05 +00:00
2017-04-26 10:52:43 +00:00
/* rtl:ignore */
margin-left: -0.5em;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: 0.7em;
display: block;
border: 0;
2014-10-17 19:18:11 +00:00
border-radius: 1em;
2014-11-13 11:14:57 +00:00
background-color: $primary;
}
.price_slider_wrapper .ui-widget-content {
2014-10-17 19:18:11 +00:00
border-radius: 1em;
2019-05-21 20:59:52 +00:00
background-color: darken($primary, 30%);
2014-11-13 16:22:13 +00:00
border: 0;
}
.ui-slider-horizontal {
height: 0.5em;
}
.ui-slider-horizontal .ui-slider-range {
top: 0;
height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
left: -1px;
2012-01-13 12:34:44 +00:00
}
.ui-slider-horizontal .ui-slider-range-max {
right: -1px;
}
2012-01-13 12:34:44 +00:00
}
2015-11-13 09:48:41 +00:00
/**
* Rating Filter Widget
*/
.widget_rating_filter ul {
margin: 0;
padding: 0;
border: 0;
list-style: none outside;
2015-11-13 09:48:41 +00:00
li {
2019-02-18 11:41:05 +00:00
@include clearfix();
padding: 0 0 1px;
list-style: none;
2015-11-13 09:48:41 +00:00
a {
padding: 1px 0;
text-decoration: none;
2015-11-13 09:48:41 +00:00
}
.star-rating {
float: none;
display: inline-block;
2015-11-13 09:48:41 +00:00
}
}
li.chosen a::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e013" );
color: $red;
}
2015-11-13 09:48:41 +00:00
}
2019-01-31 16:28:54 +00:00
.woocommerce-form-login {
2019-02-18 11:41:05 +00:00
2019-01-31 16:28:54 +00:00
.woocommerce-form-login__submit {
float: left;
margin-right: 1em;
}
2019-02-18 11:41:05 +00:00
2019-01-31 16:28:54 +00:00
.woocommerce-form-login__rememberme {
display: inline-block;
}
}
}
2014-11-13 11:43:26 +00:00
2018-03-07 11:44:41 +00:00
.woocommerce-no-js {
2019-02-18 11:41:05 +00:00
form.woocommerce-form-login,
form.woocommerce-form-coupon {
display: block !important;
}
2019-02-18 11:41:05 +00:00
.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle,
.showcoupon {
display: none !important;
}
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
padding: 1em 2em 1em 3.5em;
margin: 0 0 2em;
position: relative;
background-color: lighten($secondary, 5%);
color: $secondarytext;
border-top: 3px solid $primary;
list-style: none outside;
2019-02-18 11:41:05 +00:00
@include clearfix();
width: auto;
word-wrap: break-word;
&::before {
2019-02-18 11:41:05 +00:00
font-family: "WooCommerce";
content: "\e028";
display: inline-block;
position: absolute;
top: 1em;
left: 1.5em;
}
.button {
float: right;
}
li {
list-style: none outside !important; // Required for default theme compatibility
padding-left: 0 !important; // Required for default theme compatibility
margin-left: 0 !important; // Required for default theme compatibility
}
}
Add/product galleries (#11665) * register prettyPhoto but don't enqueue. #10721 * Remove lightbox option. #10721 Also registers the prettyPhoto styles instead of enqueueing * Stip all prettyPhoto related stuff from the templates and tidy up some logic. #10721 * Add flexslider assets #10721 * styling and re-adds `woocommerce_single_product_image_thumbnail_html`. #10721. * Add zoom functionality. #10721 * Move js to single-product.js. #10721 * styling of the gallery thumbnails when using the `product_page` shortcode. #10721 * Only enable the zoom if the image is large enough. #10721 * Use a 4 column layout by default. #10721 * Make the carousel options filterable. #10721 * rtl styles for gallery. #10721 * Don't zoom on handheld devices. #10721 * markup tweaks in prep for photoswipe * disable zoom for now * Add and enqueue photoswipe assets * add the photoswipe template * initialise photoswipe - it's alive! * tidy up js. add title. add separate trigger. #10721 * Move photoswipe functions to single-product.js. #10721 * reactivate the zoom! #10721 * style the photoswipe trigger. #10721 * disable flexslider animation loop. #10721 * js tidy up. #10721 * Fix jshint * Abstract the product gallery scripts * Minify * Fixed conflict with the admin bar * Photoswipe conflict with admin bar * Index. #10721 * photoswipe button styles. #10721 * Styling. #10721 * No animation on zoom * Image width on mobile * No shadows please. #10721 Looking at you, Twenty Twelve. * code tidy and add class to placeholder figure. #10721 * simplify rtl query * photoswipe button styles * Comma should not be here * zoom icon #10721 * gallery thumb styles. #10721 * trigger icon. #10721 * Image margins. #10721 * icon hover states. #10721 * Variation handling * Fix zoom and heights * Resize after timeout
2016-10-13 14:25:42 +00:00
/**
* Right to left styles
*/
2019-02-18 11:41:05 +00:00
.rtl.woocommerce .price_label,
.rtl.woocommerce .price_label span {
/* rtl:ignore */
direction: ltr;
unicode-bidi: embed;
}
.woocommerce-message {
border-top-color: #8fae1b;
&::before {
2019-02-18 11:41:05 +00:00
content: "\e015";
color: #8fae1b;
}
}
.woocommerce-info {
border-top-color: #1e85be;
&::before {
color: #1e85be;
}
}
.woocommerce-error {
border-top-color: #b81c23;
&::before {
2019-02-18 11:41:05 +00:00
content: "\e016";
color: #b81c23;
}
}
/**
* Account page
*/
2014-11-13 11:43:26 +00:00
.woocommerce-account {
2019-02-18 11:41:05 +00:00
2016-01-15 20:34:37 +00:00
.woocommerce {
2019-02-18 11:41:05 +00:00
2016-01-15 20:34:37 +00:00
@include clearfix();
}
.addresses .title {
2019-02-18 11:41:05 +00:00
@include clearfix();
2014-11-13 11:43:26 +00:00
h3 {
float: left;
}
2014-11-13 11:43:26 +00:00
.edit {
float: right;
2014-11-13 11:43:26 +00:00
}
}
2013-04-05 15:17:39 +00:00
ol.commentlist.notes li.note {
2019-02-18 11:41:05 +00:00
p.meta {
font-weight: 700;
margin-bottom: 0;
}
2014-11-13 11:43:26 +00:00
.description p:last-child {
margin-bottom: 0;
2014-11-13 11:43:26 +00:00
}
}
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
ul.digital-downloads {
margin-left: 0;
padding-left: 0;
li {
list-style: none;
margin-left: 0;
padding-left: 0;
&::before {
2019-02-18 11:41:05 +00:00
@include iconbefore( "\e00a" );
2014-11-13 11:43:26 +00:00
}
.count {
float: right;
}
}
}
}
2014-11-13 11:43:26 +00:00
/**
* Cart/checkout page
*/
.woocommerce-cart,
.woocommerce-checkout,
#add_payment_method {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
table.cart {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
.product-thumbnail {
min-width: 32px;
}
img {
width: 32px;
2014-11-14 10:36:52 +00:00
box-shadow: none;
2014-11-13 11:43:26 +00:00
}
th,
td {
vertical-align: middle;
}
td.actions .coupon .input-text {
float: left;
box-sizing: border-box;
2019-02-18 11:41:05 +00:00
border: 1px solid darken($secondary, 10%);
padding: 6px 6px 5px;
margin: 0 4px 0 0;
outline: 0;
2014-11-13 11:43:26 +00:00
}
input {
margin: 0;
vertical-align: middle;
}
}
.wc-proceed-to-checkout {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
@include clearfix;
padding: 1em 0;
a.checkout-button {
display: block;
text-align: center;
margin-bottom: 1em;
font-size: 1.25em;
padding: 1em;
2014-11-13 11:43:26 +00:00
}
}
.cart-collaterals {
2019-02-18 11:41:05 +00:00
2018-06-01 20:27:56 +00:00
.shipping-calculator-button {
float: none;
2019-02-18 11:41:05 +00:00
margin-top: 0.5em;
2018-06-01 20:27:56 +00:00
display: inline-block;
}
2014-11-13 11:43:26 +00:00
2018-06-01 20:27:56 +00:00
.shipping-calculator-button::after {
2019-02-18 11:41:05 +00:00
@include iconafter( "\e019" );
2018-06-01 20:27:56 +00:00
}
.shipping-calculator-form {
margin: 1em 0 0 0;
2014-11-13 11:43:26 +00:00
}
.cart_totals {
2019-02-18 11:41:05 +00:00
p small {
color: $subtext;
font-size: 0.83em;
2014-11-13 11:43:26 +00:00
}
table {
border-collapse: separate;
margin: 0 0 6px;
padding: 0;
tr:first-child {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
th,
td {
border-top: 0;
}
}
th {
2018-06-01 20:27:56 +00:00
width: 35%;
}
2014-11-13 11:43:26 +00:00
td,
th {
vertical-align: top;
border-left: 0;
border-right: 0;
line-height: 1.5em;
2014-11-13 11:43:26 +00:00
}
small {
color: $subtext;
}
select {
width: 100%;
}
}
.discount td {
color: $highlight;
}
tr td,
tr th {
border-top: 1px solid $secondary;
}
2019-02-18 11:41:05 +00:00
2018-06-01 20:27:56 +00:00
.woocommerce-shipping-destination {
margin-bottom: 0;
}
2014-11-13 11:43:26 +00:00
}
.cross-sells ul.products li.product {
margin-top: 0;
2014-11-13 11:43:26 +00:00
}
}
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
.checkout {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
.col-2 {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
h3#ship-to-different-address {
float: left;
clear: none;
}
.notes {
clear: left;
}
.form-row-first {
clear: left;
}
}
.create-account small {
font-size: 11px;
color: $subtext;
font-weight: normal;
}
div.shipping-address {
padding: 0;
clear: left;
width: 100%;
}
.shipping_address {
clear: both;
}
}
#payment {
background: $secondary;
border-radius: 5px;
ul.payment_methods {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
@include clearfix();
text-align: left;
padding: 1em;
2019-02-18 11:41:05 +00:00
border-bottom: 1px solid darken($secondary, 10%);
2014-11-13 11:43:26 +00:00
margin: 0;
list-style: none outside;
li {
2014-11-14 10:36:19 +00:00
line-height: 2;
2014-11-13 11:43:26 +00:00
text-align: left;
margin: 0;
font-weight: normal;
input {
margin: 0 1em 0 0;
}
img {
vertical-align: middle;
margin: -2px 0 0 0.5em;
2014-11-13 11:43:26 +00:00
padding: 0;
position: relative;
box-shadow: none;
}
img + img {
margin-left: 2px;
}
}
li:not(.woocommerce-notice) {
2019-02-18 11:41:05 +00:00
@include clearfix;
}
2014-11-13 11:43:26 +00:00
}
div.form-row {
padding: 1em;
}
div.payment_box {
position: relative;
box-sizing: border-box;
width: 100%;
padding: 1em;
margin: 1em 0;
2014-11-13 11:43:26 +00:00
font-size: 0.92em;
border-radius: 2px;
2014-11-14 10:36:19 +00:00
line-height: 1.5;
2019-02-18 11:41:05 +00:00
background-color: darken($secondary, 5%);
2014-11-13 11:43:26 +00:00
color: $secondarytext;
2019-02-18 11:41:05 +00:00
input.input-text,
textarea {
border-color: darken($secondary, 15%);
border-top-color: darken($secondary, 20%);
2014-11-13 11:43:26 +00:00
}
::-webkit-input-placeholder {
2019-02-18 11:41:05 +00:00
color: darken($secondary, 20%);
2014-11-13 11:43:26 +00:00
}
:-moz-placeholder {
2019-02-18 11:41:05 +00:00
color: darken($secondary, 20%);
2014-11-13 11:43:26 +00:00
}
:-ms-input-placeholder {
2019-02-18 11:41:05 +00:00
color: darken($secondary, 20%);
2014-11-13 11:43:26 +00:00
}
.woocommerce-SavedPaymentMethods {
list-style: none outside;
margin: 0;
2019-02-18 11:41:05 +00:00
.woocommerce-SavedPaymentMethods-token,
.woocommerce-SavedPaymentMethods-new {
margin: 0 0 0.5em;
2019-02-18 11:41:05 +00:00
label {
cursor: pointer;
}
}
2019-02-18 11:41:05 +00:00
.woocommerce-SavedPaymentMethods-tokenInput {
vertical-align: middle;
margin: -3px 1em 0 0;
position: relative;
}
}
.wc-credit-card-form {
border: 0;
padding: 0;
margin: 1em 0 0;
}
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
.wc-credit-card-form-card-number,
.wc-credit-card-form-card-expiry,
.wc-credit-card-form-card-cvc {
font-size: 1.5em;
padding: 8px;
background-repeat: no-repeat;
background-position: right 0.618em center;
background-size: 32px 20px;
2014-11-13 11:43:26 +00:00
&.visa {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/visa.svg");
2014-11-13 11:43:26 +00:00
}
&.mastercard {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/mastercard.svg");
2014-11-13 11:43:26 +00:00
}
&.laser {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/laser.svg");
2014-11-13 11:43:26 +00:00
}
&.dinersclub {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/diners.svg");
2014-11-13 11:43:26 +00:00
}
&.maestro {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/maestro.svg");
2014-11-13 11:43:26 +00:00
}
&.jcb {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/jcb.svg");
2014-11-13 11:43:26 +00:00
}
&.amex {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/amex.svg");
2014-11-13 11:43:26 +00:00
}
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
&.discover {
2019-02-18 11:41:05 +00:00
background-image: url("../images/icons/credit-cards/discover.svg");
2014-11-13 11:43:26 +00:00
}
}
span.help {
font-size: 0.857em;
2014-11-13 11:43:26 +00:00
color: $subtext;
font-weight: normal;
}
.form-row {
margin: 0 0 1em;
}
p:last-child {
margin-bottom: 0;
}
&::before {
2019-02-18 11:41:05 +00:00
content: "";
2014-11-13 11:43:26 +00:00
display: block;
2019-02-18 11:41:05 +00:00
border: 1em solid darken($secondary, 5%); /* arrow size / color */
2014-11-13 11:43:26 +00:00
border-right-color: transparent;
border-left-color: transparent;
border-top-color: transparent;
position: absolute;
top: -0.75em;
2014-11-13 11:43:26 +00:00
left: 0;
margin: -1em 0 0 2em;
}
}
.payment_method_paypal {
2019-02-18 11:41:05 +00:00
2014-11-13 11:43:26 +00:00
.about_paypal {
float: right;
line-height: 52px;
font-size: 0.83em;
}
img {
max-height: 52px;
vertical-align: middle;
}
}
}
}
2013-04-05 15:17:39 +00:00
.woocommerce-terms-and-conditions {
2019-02-18 11:41:05 +00:00
border: 1px solid rgba(0, 0, 0, 0.2);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
background: rgba(0, 0, 0, 0.05);
}
2018-02-28 15:42:08 +00:00
.woocommerce-invalid {
2019-02-18 11:41:05 +00:00
2018-02-28 15:42:08 +00:00
#terms {
outline: 2px solid red;
outline-offset: 2px;
}
}
/**
2016-01-15 20:34:37 +00:00
* Password strength meter
*/
.woocommerce-password-strength {
text-align: center;
font-weight: 600;
padding: 3px 0.5em;
2016-01-28 15:52:39 +00:00
font-size: 1em;
&.strong {
background-color: #c1e1b9;
border-color: #83c373;
}
&.short {
background-color: #f1adad;
border-color: #e35b5b;
}
&.bad {
background-color: #fbc5a9;
border-color: #f78b53;
}
&.good {
background-color: #ffe399;
border-color: #ffc733;
}
}
.woocommerce-password-hint {
margin: 0.5em 0 0;
display: block;
}
/**
* Twenty Eleven specific styles
*/
#content.twentyeleven .woocommerce-pagination a {
font-size: 1em;
line-height: 1;
2014-11-13 14:06:47 +00:00
}
/**
* Twenty Thirteen specific styles
*/
.single-product .twentythirteen {
2019-02-18 11:41:05 +00:00
.entry-summary,
#reply-title,
#respond #commentform {
padding: 0;
}
2014-02-17 12:49:19 +00:00
p.stars {
clear: both;
2013-04-05 15:17:39 +00:00
}
}
.twentythirteen .woocommerce-breadcrumb {
padding-top: 40px;
2014-04-30 10:07:51 +00:00
}
/**
* Twenty Fourteen specific styles
*/
.twentyfourteen ul.products li.product {
margin-top: 0 !important;
2014-01-22 10:44:53 +00:00
}
2015-11-23 11:55:50 +00:00
/**
* Twenty Sixteen specific styles
*/
2019-02-18 11:41:05 +00:00
body:not(.search-results) .twentysixteen .entry-summary {
color: inherit;
font-size: inherit;
line-height: inherit;
2015-11-23 11:55:50 +00:00
}
.twentysixteen .price ins {
background: inherit;
color: inherit;
2015-11-23 11:55:50 +00:00
}