From db773414a8bb3ad88c74f0d37fd60c255f438dd4 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:14:06 +0100 Subject: [PATCH 001/162] Improve docblock comments in WC_Email_Customer_Completed_Order class * Added comments to `get_subject`, `get_heading` and `get_content_html` * Added missing param tag to `trigger` --- .../emails/class-wc-email-customer-completed-order.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/includes/emails/class-wc-email-customer-completed-order.php b/includes/emails/class-wc-email-customer-completed-order.php index 0119a357afe..2cc54f6806a 100644 --- a/includes/emails/class-wc-email-customer-completed-order.php +++ b/includes/emails/class-wc-email-customer-completed-order.php @@ -48,6 +48,8 @@ class WC_Email_Customer_Completed_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id */ function trigger( $order_id ) { @@ -70,7 +72,7 @@ class WC_Email_Customer_Completed_Order extends WC_Email { } /** - * get_subject function. + * Get email subject. * * @access public * @return string @@ -84,7 +86,7 @@ class WC_Email_Customer_Completed_Order extends WC_Email { } /** - * get_heading function. + * Get email heading. * * @access public * @return string @@ -98,7 +100,7 @@ class WC_Email_Customer_Completed_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string From 2ba75c59a14fa8230d9e1b98785fdd7d6d541051 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:16:21 +0100 Subject: [PATCH 002/162] Improve docblock comments in WC_Email_Cancelled_Order class * Added comments `get_content_html` * Added missing param tag to `trigger` --- includes/emails/class-wc-email-cancelled-order.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/emails/class-wc-email-cancelled-order.php b/includes/emails/class-wc-email-cancelled-order.php index 2109735a2d3..ccf31c04908 100644 --- a/includes/emails/class-wc-email-cancelled-order.php +++ b/includes/emails/class-wc-email-cancelled-order.php @@ -44,6 +44,8 @@ class WC_Email_Cancelled_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id */ public function trigger( $order_id ) { if ( $order_id ) { @@ -62,7 +64,7 @@ class WC_Email_Cancelled_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string From 726fcbb932c31ae83a02e24d3d672118ff360e36 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:23:17 +0100 Subject: [PATCH 003/162] Improve docblock comments in WC_Email_Customer_Invoice class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. * Added comments to `get_subject`, `get_heading`, `get_content_html` and `get_content_plain` * Added missing param tag to `trigger` --- .../class-wc-email-customer-invoice.php | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/includes/emails/class-wc-email-customer-invoice.php b/includes/emails/class-wc-email-customer-invoice.php index 84f18ddbe28..87e483ca1f6 100644 --- a/includes/emails/class-wc-email-customer-invoice.php +++ b/includes/emails/class-wc-email-customer-invoice.php @@ -19,7 +19,18 @@ if ( ! class_exists( 'WC_Email_Customer_Invoice' ) ) : */ class WC_Email_Customer_Invoice extends WC_Email { + /** + * Strings to find in subjects/headings. + * + * @var array + */ public $find; + + /** + * Strings to replace in subjects/headings. + * + * @var array + */ public $replace; /** @@ -51,6 +62,8 @@ class WC_Email_Customer_Invoice extends WC_Email { /** * Trigger. + * + * @param int|WC_Order $order */ function trigger( $order ) { @@ -77,7 +90,7 @@ class WC_Email_Customer_Invoice extends WC_Email { } /** - * get_subject function. + * Get email subject. * * @access public * @return string @@ -91,7 +104,7 @@ class WC_Email_Customer_Invoice extends WC_Email { } /** - * get_heading function. + * Get email heading. * * @access public * @return string @@ -105,7 +118,7 @@ class WC_Email_Customer_Invoice extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -121,7 +134,7 @@ class WC_Email_Customer_Invoice extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From 9f1376185f105b38ff1e0f30b283578fec557026 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:27:27 +0100 Subject: [PATCH 004/162] Improve docblock comments in WC_Email_Customer_New_Account MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. * Added comments to `get_content_plain` and `get_content_html` * Added missing param tags to `trigger` --- .../class-wc-email-customer-new-account.php | 31 +++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/includes/emails/class-wc-email-customer-new-account.php b/includes/emails/class-wc-email-customer-new-account.php index 355a73fe511..87322f61832 100644 --- a/includes/emails/class-wc-email-customer-new-account.php +++ b/includes/emails/class-wc-email-customer-new-account.php @@ -19,9 +19,32 @@ if ( ! class_exists( 'WC_Email_Customer_New_Account' ) ) : */ class WC_Email_Customer_New_Account extends WC_Email { + /** + * User login name. + * + * @var string + */ public $user_login; + + /** + * User email. + * + * @var string + */ public $user_email; + + /** + * User password. + * + * @var string + */ public $user_pass; + + /** + * Is the password generated? + * + * @var bool + */ public $password_generated; /** @@ -46,6 +69,10 @@ class WC_Email_Customer_New_Account extends WC_Email { /** * Trigger. + * + * @param int $user_id + * @param string $user_pass + * @param bool $password_generated */ function trigger( $user_id, $user_pass = '', $password_generated = false ) { @@ -67,7 +94,7 @@ class WC_Email_Customer_New_Account extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -86,7 +113,7 @@ class WC_Email_Customer_New_Account extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From 19b049b28b45c9ee7b3f5d4f97747497ea5b1bb2 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:28:45 +0100 Subject: [PATCH 005/162] Improve docblock comments in WC_Email_Customer_Note class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. * Added comments to `get_content_plain` and `get_content_html` * Added missing param tag to `trigger` --- includes/emails/class-wc-email-customer-note.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/includes/emails/class-wc-email-customer-note.php b/includes/emails/class-wc-email-customer-note.php index a2a67d961f6..5f1282ec641 100644 --- a/includes/emails/class-wc-email-customer-note.php +++ b/includes/emails/class-wc-email-customer-note.php @@ -19,6 +19,11 @@ if ( ! class_exists( 'WC_Email_Customer_Note' ) ) : */ class WC_Email_Customer_Note extends WC_Email { + /** + * Customer note. + * + * @var string + */ public $customer_note; /** @@ -46,6 +51,8 @@ class WC_Email_Customer_Note extends WC_Email { /** * Trigger. + * + * @param array $args */ function trigger( $args ) { @@ -82,7 +89,7 @@ class WC_Email_Customer_Note extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -99,7 +106,7 @@ class WC_Email_Customer_Note extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From e4ec2171e2f9932760dfea4a9aa0d06d4ac2abd3 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:29:45 +0100 Subject: [PATCH 006/162] Improve docblock comments in WC_Email_Customer_Processing_Order class * Added comments to `get_content_plain` and `get_content_html` * Added missing param tag to `trigger` --- .../emails/class-wc-email-customer-processing-order.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/includes/emails/class-wc-email-customer-processing-order.php b/includes/emails/class-wc-email-customer-processing-order.php index ab9226395e3..d91175576da 100644 --- a/includes/emails/class-wc-email-customer-processing-order.php +++ b/includes/emails/class-wc-email-customer-processing-order.php @@ -42,6 +42,8 @@ class WC_Email_Customer_Processing_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id */ function trigger( $order_id ) { @@ -64,7 +66,7 @@ class WC_Email_Customer_Processing_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -80,7 +82,7 @@ class WC_Email_Customer_Processing_Order extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From 5d22c324fae5ebfcce655ab9b13d444f3048355d Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:33:49 +0100 Subject: [PATCH 007/162] Improve docblock comments in WC_Email_Customer_Refunded_Order class * Added comments to `set_email_strings`, `trigger_full`, `trigger_partial`, `get_subject`, `get_heading` and `get_content_html` * Added missing param tag to `trigger` --- ...class-wc-email-customer-refunded-order.php | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/includes/emails/class-wc-email-customer-refunded-order.php b/includes/emails/class-wc-email-customer-refunded-order.php index 1b243ffa76e..923a5f62bd3 100644 --- a/includes/emails/class-wc-email-customer-refunded-order.php +++ b/includes/emails/class-wc-email-customer-refunded-order.php @@ -19,7 +19,18 @@ if ( ! class_exists( 'WC_Email_Customer_Refunded_Order' ) ) : */ class WC_Email_Customer_Refunded_Order extends WC_Email { + /** + * Refund order. + * + * @var WC_Order + */ public $refund; + + /** + * Is the order partial refunded? + * + * @var bool + */ public $partial_refund; /** @@ -37,6 +48,11 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { parent::__construct(); } + /** + * Set email strings. + * + * @param bool $partial_refund + */ public function set_email_strings( $partial_refund = false ) { $this->subject_partial = $this->get_option( 'subject_partial', __( 'Your {site_title} order from {order_date} has been partially refunded', 'woocommerce' ) ); $this->subject_full = $this->get_option( 'subject_full', __( 'Your {site_title} order from {order_date} has been refunded', 'woocommerce' ) ); @@ -66,6 +82,9 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { /** * Full refund notification. + * + * @param int $order_id + * @param int $refund_id */ public function trigger_full( $order_id, $refund_id = null ) { $this->trigger( $order_id, false, $refund_id ); @@ -73,6 +92,9 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { /** * Partial refund notification. + * + * @param int $order_id + * @param int $refund_id */ public function trigger_partial( $order_id, $refund_id = null ) { $this->trigger( $order_id, true, $refund_id ); @@ -80,6 +102,10 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id + * @param bool $partial_refund + * @param int $refund_id */ public function trigger( $order_id, $partial_refund = false, $refund_id = null ) { $this->partial_refund = $partial_refund; @@ -110,7 +136,7 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { } /** - * get_subject function. + * Get email subject. * * @access public * @return string @@ -120,7 +146,7 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { } /** - * get_heading function. + * Get email heading. * * @access public * @return string @@ -130,7 +156,7 @@ class WC_Email_Customer_Refunded_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string From c60f327e5ff17d91e3067d6db2033b15e6ec0861 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:36:44 +0100 Subject: [PATCH 008/162] Improve docblock comments in WC_Email_Customer_Reset_Password class * Added better comments to properties. * Added comments to `get_content_plain` and `get_content_html` * Added missing param tag to `trigger` --- ...class-wc-email-customer-reset-password.php | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/includes/emails/class-wc-email-customer-reset-password.php b/includes/emails/class-wc-email-customer-reset-password.php index 5e0b08da331..10ea9646fcc 100644 --- a/includes/emails/class-wc-email-customer-reset-password.php +++ b/includes/emails/class-wc-email-customer-reset-password.php @@ -19,13 +19,25 @@ if ( ! class_exists( 'WC_Email_Customer_Reset_Password' ) ) : */ class WC_Email_Customer_Reset_Password extends WC_Email { - /** @var string */ + /** + * User login name. + * + * @var string + */ public $user_login; - /** @var string */ + /** + * User email. + * + * @var string + */ public $user_email; - /** @var string */ + /** + * Reset key. + * + * @var string + */ public $reset_key; /** @@ -53,6 +65,9 @@ class WC_Email_Customer_Reset_Password extends WC_Email { /** * Trigger. + * + * @param string $user_login + * @param string $reset_key */ function trigger( $user_login = '', $reset_key = '' ) { if ( $user_login && $reset_key ) { @@ -73,7 +88,7 @@ class WC_Email_Customer_Reset_Password extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -91,7 +106,7 @@ class WC_Email_Customer_Reset_Password extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From 6a73721611410d008cd74c57521798b5c07ce227 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:37:34 +0100 Subject: [PATCH 009/162] Improve docblock comments in WC_Email_Failed_Order class * Added comments to `get_content_html` * Added missing param tag to `trigger` --- includes/emails/class-wc-email-failed-order.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/emails/class-wc-email-failed-order.php b/includes/emails/class-wc-email-failed-order.php index 598e1458f0e..b8f385066c7 100644 --- a/includes/emails/class-wc-email-failed-order.php +++ b/includes/emails/class-wc-email-failed-order.php @@ -44,6 +44,8 @@ class WC_Email_Failed_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id */ public function trigger( $order_id ) { if ( $order_id ) { @@ -62,7 +64,7 @@ class WC_Email_Failed_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string From 12c4e48256d036ca015320c98a6d07ad070acae5 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:38:19 +0100 Subject: [PATCH 010/162] Improve docblock comments in WC_Email_New_Order class * Added comments to `get_content_plain` and `get_content_html` * Added missing param tag to `trigger` --- includes/emails/class-wc-email-new-order.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/includes/emails/class-wc-email-new-order.php b/includes/emails/class-wc-email-new-order.php index 88c663c4613..32324e14aa4 100644 --- a/includes/emails/class-wc-email-new-order.php +++ b/includes/emails/class-wc-email-new-order.php @@ -48,6 +48,8 @@ class WC_Email_New_Order extends WC_Email { /** * Trigger. + * + * @param int $order_id */ public function trigger( $order_id ) { if ( $order_id ) { @@ -66,7 +68,7 @@ class WC_Email_New_Order extends WC_Email { } /** - * get_content_html function. + * Get content html. * * @access public * @return string @@ -82,7 +84,7 @@ class WC_Email_New_Order extends WC_Email { } /** - * get_content_plain function. + * Get content plain. * * @access public * @return string From e06d8a2a2f7fa3d7a276856569244bb7f13338d5 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 19:42:18 +0100 Subject: [PATCH 011/162] Improve docblock comments in WC_Email class * Added comments to `handle_multipart`, `format_string`, `get_subject`, `get_heading`, `get_headers`, `get_attachments`, `get_content_type`, `get_blogname` and `get_content` --- includes/emails/class-wc-email.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/includes/emails/class-wc-email.php b/includes/emails/class-wc-email.php index 5709fc21131..a5e84e958d5 100644 --- a/includes/emails/class-wc-email.php +++ b/includes/emails/class-wc-email.php @@ -220,7 +220,7 @@ class WC_Email extends WC_Settings_API { } /** - * handle_multipart function. + * Handle multipart mail. * * @param PHPMailer $mailer * @return PHPMailer @@ -234,7 +234,7 @@ class WC_Email extends WC_Settings_API { } /** - * format_string function. + * Format email string. * * @param mixed $string * @return string @@ -244,7 +244,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_subject function. + * Get email subject. * * @return string */ @@ -253,7 +253,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_heading function. + * Get email heading. * * @return string */ @@ -273,7 +273,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_headers function. + * Get email headers. * * @return string */ @@ -282,7 +282,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_attachments function. + * Get email attachments. * * @return string|array */ @@ -300,7 +300,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_content_type function. + * Get email content type. * * @return string */ @@ -368,7 +368,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_blogname function. + * Get WordPress blog name. * * @return string */ @@ -377,7 +377,7 @@ class WC_Email extends WC_Settings_API { } /** - * get_content function. + * Get email content. * * @return string */ From 60b27d41689ae2b4f9b3726f2dee50b8112fa76a Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 20:02:31 +0100 Subject: [PATCH 012/162] Improve docblock comments in WC_Gateway_BACS * Added comment to `generate_account_details_html` * Added missing param tags to `thankyou_page` and `bank_details` * Removed new line after docblock before `get_country_locale` --- includes/gateways/bacs/class-wc-gateway-bacs.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/includes/gateways/bacs/class-wc-gateway-bacs.php b/includes/gateways/bacs/class-wc-gateway-bacs.php index bb22b0615b4..869a921056a 100644 --- a/includes/gateways/bacs/class-wc-gateway-bacs.php +++ b/includes/gateways/bacs/class-wc-gateway-bacs.php @@ -105,7 +105,9 @@ class WC_Gateway_BACS extends WC_Payment_Gateway { } /** - * generate_account_details_html function. + * Generate account details html. + * + * @return string */ public function generate_account_details_html() { @@ -224,6 +226,8 @@ class WC_Gateway_BACS extends WC_Payment_Gateway { /** * Output for the order received page. + * + * @param int $order_id */ public function thankyou_page( $order_id ) { @@ -254,6 +258,8 @@ class WC_Gateway_BACS extends WC_Payment_Gateway { /** * Get bank details and place into a list format. + * + * @param int $order_id */ private function bank_details( $order_id = '' ) { @@ -350,7 +356,6 @@ class WC_Gateway_BACS extends WC_Payment_Gateway { * * @return array */ - public function get_country_locale() { if ( ! $this->locale ) { From 9ae4f4e7ab446de24ea8072060c2ab9318f761f3 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 20:19:12 +0100 Subject: [PATCH 013/162] Improve docblock comments in WC_Gateway_Paypal classes * Added comments to `get_icon` method * Added missing param tags to various methods. * Renamed integer to int * Renamed boolean to bool --- .../gateways/paypal/class-wc-gateway-paypal.php | 6 +++--- .../class-wc-gateway-paypal-ipn-handler.php | 15 +++++++++++++++ .../class-wc-gateway-paypal-pdt-handler.php | 3 +++ .../includes/class-wc-gateway-paypal-refund.php | 2 +- .../includes/class-wc-gateway-paypal-request.php | 6 +++--- 5 files changed, 25 insertions(+), 7 deletions(-) diff --git a/includes/gateways/paypal/class-wc-gateway-paypal.php b/includes/gateways/paypal/class-wc-gateway-paypal.php index 7d0ce897776..69ddefc05fc 100644 --- a/includes/gateways/paypal/class-wc-gateway-paypal.php +++ b/includes/gateways/paypal/class-wc-gateway-paypal.php @@ -20,7 +20,7 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Gateway_Paypal extends WC_Payment_Gateway { - /** @var boolean Whether or not logging is enabled */ + /** @var bool Whether or not logging is enabled */ public static $log_enabled = false; /** @var WC_Logger Logger instance */ @@ -84,7 +84,7 @@ class WC_Gateway_Paypal extends WC_Payment_Gateway { } /** - * get_icon function. + * Get gateway icon. * @return string */ public function get_icon() { @@ -257,7 +257,7 @@ class WC_Gateway_Paypal extends WC_Payment_Gateway { * @param int $order_id * @param float $amount * @param string $reason - * @return boolean True or false based on success, or a WP_Error object + * @return bool True or false based on success, or a WP_Error object */ public function process_refund( $order_id, $amount = null, $reason = '' ) { $order = wc_get_order( $order_id ); diff --git a/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php b/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php index e8977fb7212..16273ac82d7 100644 --- a/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php +++ b/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php @@ -16,6 +16,9 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Constructor. + * + * @param bool $sandbox + * @param string $receiver_email */ public function __construct( $sandbox = false, $receiver_email = '' ) { add_action( 'woocommerce_api_wc_gateway_paypal', array( $this, 'check_response' ) ); @@ -135,6 +138,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Check payment amount from IPN matches the order. * @param WC_Order $order + * @param int $amount */ protected function validate_amount( $order, $amount ) { if ( number_format( $order->get_total(), 2, '.', '' ) != number_format( $amount, 2, '.', '' ) ) { @@ -150,6 +154,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { * Check receiver email from PayPal. If the receiver email in the IPN is different than what is stored in. * WooCommerce -> Settings -> Checkout -> PayPal, it will log an error about it. * @param WC_Order $order + * @param string $receiver_email */ protected function validate_receiver_email( $order, $receiver_email ) { if ( strcasecmp( trim( $receiver_email ), trim( $this->receiver_email ) ) != 0 ) { @@ -164,6 +169,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a completed payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_completed( $order, $posted ) { if ( $order->has_status( 'completed' ) ) { @@ -193,6 +199,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a pending payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_pending( $order, $posted ) { $this->payment_status_completed( $order, $posted ); @@ -201,6 +208,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a failed payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_failed( $order, $posted ) { $order->update_status( 'failed', sprintf( __( 'Payment %s via IPN.', 'woocommerce' ), wc_clean( $posted['payment_status'] ) ) ); @@ -209,6 +217,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a denied payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_denied( $order, $posted ) { $this->payment_status_failed( $order, $posted ); @@ -217,6 +226,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle an expired payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_expired( $order, $posted ) { $this->payment_status_failed( $order, $posted ); @@ -225,6 +235,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a voided payment. * @param WC_Order $order + * @param array $posted */ protected function payment_status_voided( $order, $posted ) { $this->payment_status_failed( $order, $posted ); @@ -233,6 +244,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a refunded order. * @param WC_Order $order + * @param array $posted */ protected function payment_status_refunded( $order, $posted ) { // Only handle full refunds, not partial. @@ -251,6 +263,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a reveral. * @param WC_Order $order + * @param array $posted */ protected function payment_status_reversed( $order, $posted ) { $order->update_status( 'on-hold', sprintf( __( 'Payment %s via IPN.', 'woocommerce' ), wc_clean( $posted['payment_status'] ) ) ); @@ -264,6 +277,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Handle a cancelled reveral. * @param WC_Order $order + * @param array $posted */ protected function payment_status_canceled_reversal( $order, $posted ) { $this->send_ipn_email_notification( @@ -275,6 +289,7 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { /** * Save important data from the IPN to the order. * @param WC_Order $order + * @param array $posted */ protected function save_paypal_meta_data( $order, $posted ) { if ( ! empty( $posted['payer_email'] ) ) { diff --git a/includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php b/includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php index d0e9abfb69a..c4bdca6e6a5 100644 --- a/includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php +++ b/includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php @@ -16,6 +16,9 @@ class WC_Gateway_Paypal_PDT_Handler extends WC_Gateway_Paypal_Response { /** * Constructor. + * + * @param bool $sandbox + * @param string $identity_token */ public function __construct( $sandbox = false, $identity_token = '' ) { add_action( 'woocommerce_thankyou_paypal', array( $this, 'check_response' ) ); diff --git a/includes/gateways/paypal/includes/class-wc-gateway-paypal-refund.php b/includes/gateways/paypal/includes/class-wc-gateway-paypal-refund.php index 3e4a0e4e89f..0e80ab97ca6 100644 --- a/includes/gateways/paypal/includes/class-wc-gateway-paypal-refund.php +++ b/includes/gateways/paypal/includes/class-wc-gateway-paypal-refund.php @@ -49,7 +49,7 @@ class WC_Gateway_Paypal_Refund { * @param WC_Order $order * @param float $amount * @param string $reason - * @param boolean $sandbox + * @param bool $sandbox * @return array|wp_error The parsed response from paypal, or a WP_Error object */ public static function refund_order( $order, $amount = null, $reason = '', $sandbox = false ) { diff --git a/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php b/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php index 6340fdf4eb3..5ef4dcebebe 100644 --- a/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php +++ b/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php @@ -39,7 +39,7 @@ class WC_Gateway_Paypal_Request { /** * Get the PayPal request URL for an order. * @param WC_Order $order - * @param boolean $sandbox + * @param bool $sandbox * @return string */ public function get_request_url( $order, $sandbox = false ) { @@ -276,8 +276,8 @@ class WC_Gateway_Paypal_Request { /** * Add PayPal Line Item. * @param string $item_name - * @param integer $quantity - * @param integer $amount + * @param int $quantity + * @param int $amount * @param string $item_number * @return bool successfully added or not */ From 2bee73f0315fb70e1d596dbb6b1f662006cc5d8a Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Tue, 5 Jan 2016 20:27:24 +0100 Subject: [PATCH 014/162] Improve docblock comments in Simplify Commerce classes * Added comment to `get_icon` method * Added missing return tag to `is_available` method * Fix return type typo `wp_error => WP_Error` * Renamed integer to int --- .../class-wc-addons-gateway-simplify-commerce.php | 4 ++-- .../class-wc-gateway-simplify-commerce.php | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/includes/gateways/simplify-commerce/class-wc-addons-gateway-simplify-commerce.php b/includes/gateways/simplify-commerce/class-wc-addons-gateway-simplify-commerce.php index 5c7e8f64ddb..f1ca3583f6d 100644 --- a/includes/gateways/simplify-commerce/class-wc-addons-gateway-simplify-commerce.php +++ b/includes/gateways/simplify-commerce/class-wc-addons-gateway-simplify-commerce.php @@ -276,7 +276,7 @@ class WC_Addons_Gateway_Simplify_Commerce extends WC_Gateway_Simplify_Commerce { * process_subscription_payment function. * * @param WC_order $order - * @param integer $amount (default: 0) + * @param int $amount (default: 0) * @uses Simplify_BadRequestException * @return bool|WP_Error */ @@ -420,7 +420,7 @@ class WC_Addons_Gateway_Simplify_Commerce extends WC_Gateway_Simplify_Commerce { * Process a pre-order payment when the pre-order is released. * * @param WC_Order $order - * @return wp_error|null + * @return WP_Error|null */ public function process_pre_order_release_payment( $order ) { diff --git a/includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php b/includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php index 8f1c18db81e..a3adada79b6 100644 --- a/includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php +++ b/includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php @@ -158,6 +158,8 @@ class WC_Gateway_Simplify_Commerce extends WC_Payment_Gateway { /** * Check if this gateway is enabled. + * + * @return bool */ public function is_available() { if ( 'yes' !== $this->enabled ) { @@ -277,8 +279,6 @@ class WC_Gateway_Simplify_Commerce extends WC_Payment_Gateway { } /** - * payment_scripts function. - * * Outputs scripts used for simplify payment. */ public function payment_scripts() { @@ -377,7 +377,7 @@ class WC_Gateway_Simplify_Commerce extends WC_Payment_Gateway { /** * Process the payment. * - * @param integer $order_id + * @param int $order_id */ public function process_payment( $order_id ) { $cart_token = isset( $_POST['simplify_token'] ) ? wc_clean( $_POST['simplify_token'] ) : ''; @@ -535,7 +535,7 @@ class WC_Gateway_Simplify_Commerce extends WC_Payment_Gateway { } /** - * get_icon function. + * Get gateway icon. * * @access public * @return string From 316be3574770920fbe375d255ec1d521f31d250c Mon Sep 17 00:00:00 2001 From: Shiva Poudel Date: Wed, 6 Jan 2016 17:35:49 +0545 Subject: [PATCH 015/162] Add styles for password input field in wc options panel --- assets/css/admin.scss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assets/css/admin.scss b/assets/css/admin.scss index d1d86850377..d154e0f71a0 100644 --- a/assets/css/admin.scss +++ b/assets/css/admin.scss @@ -2943,7 +2943,8 @@ img.help_tip { input[type="text"], input[type="email"], - input[type="number"] { + input[type="number"], + input[type="password"] { width: 50%; float: left; } @@ -2960,6 +2961,7 @@ img.help_tip { input[type="text"].short, input[type="email"].short, input[type="number"].short, + input[type="password"].short, .short { width: 50%; } From 1093d2f64c48c9c6cda1eda6c4ae92e0d8c44c1d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Jan 2016 11:52:16 +0000 Subject: [PATCH 016/162] Check passed in variables are set #9983 --- templates/loop/add-to-cart.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/loop/add-to-cart.php b/templates/loop/add-to-cart.php index f0407b61458..66cc2ff94d5 100644 --- a/templates/loop/add-to-cart.php +++ b/templates/loop/add-to-cart.php @@ -24,10 +24,10 @@ global $product; echo apply_filters( 'woocommerce_loop_add_to_cart_link', sprintf( '%s', esc_url( $product->add_to_cart_url() ), - esc_attr( $quantity ), + esc_attr( isset( $quantity ) ? $quantity : 1 ), esc_attr( $product->id ), esc_attr( $product->get_sku() ), - esc_attr( $class ), + esc_attr( isset( $class ) ? $class : 'button' ), esc_html( $product->add_to_cart_text() ) ), $product ); From 0b6fdf5fe83d1dbc85ccd13b7d5f197a38cbbf74 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Jan 2016 12:20:06 +0000 Subject: [PATCH 017/162] Use data-placeholder for selects since placeholder is not to W3C spec Closes #9986 --- assets/js/frontend/country-select.js | 5 ++--- assets/js/frontend/country-select.min.js | 2 +- includes/wc-template-functions.php | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/assets/js/frontend/country-select.js b/assets/js/frontend/country-select.js index 503f02845f0..0055e2c76c4 100644 --- a/assets/js/frontend/country-select.js +++ b/assets/js/frontend/country-select.js @@ -62,7 +62,6 @@ jQuery( function( $ ) { var wc_country_select_select2 = function() { $( 'select.country_select:visible, select.state_select:visible' ).each( function() { var select2_args = $.extend({ - placeholder: $( this ).attr( 'placeholder' ), placeholderOption: 'first', width: '100%' }, getEnhancedSelectFormatString() ); @@ -91,7 +90,7 @@ jQuery( function( $ ) { input_name = $statebox.attr( 'name' ), input_id = $statebox.attr( 'id' ), value = $statebox.val(), - placeholder = $statebox.attr( 'placeholder' ); + placeholder = $statebox.attr( 'placeholder' ) || $statebox.attr( 'data-placeholder' ) || ''; if ( states[ country ] ) { if ( $.isEmptyObject( states[ country ] ) ) { @@ -116,7 +115,7 @@ jQuery( function( $ ) { if ( $statebox.is( 'input' ) ) { // Change for select - $statebox.replaceWith( '' ); + $statebox.replaceWith( '' ); $statebox = $wrapper.find( '#billing_state, #shipping_state, #calc_shipping_state' ); } diff --git a/assets/js/frontend/country-select.min.js b/assets/js/frontend/country-select.min.js index 6b50aee6ceb..b5f9f6b18fe 100644 --- a/assets/js/frontend/country-select.min.js +++ b/assets/js/frontend/country-select.min.js @@ -1 +1 @@ -jQuery(function(a){function b(){var a={formatMatches:function(a){return 1===a?wc_country_select_params.i18n_matches_1:wc_country_select_params.i18n_matches_n.replace("%qty%",a)},formatNoMatches:function(){return wc_country_select_params.i18n_no_matches},formatAjaxError:function(){return wc_country_select_params.i18n_ajax_error},formatInputTooShort:function(a,b){var c=b-a.length;return 1===c?wc_country_select_params.i18n_input_too_short_1:wc_country_select_params.i18n_input_too_short_n.replace("%qty%",c)},formatInputTooLong:function(a,b){var c=a.length-b;return 1===c?wc_country_select_params.i18n_input_too_long_1:wc_country_select_params.i18n_input_too_long_n.replace("%qty%",c)},formatSelectionTooBig:function(a){return 1===a?wc_country_select_params.i18n_selection_too_long_1:wc_country_select_params.i18n_selection_too_long_n.replace("%qty%",a)},formatLoadMore:function(){return wc_country_select_params.i18n_load_more},formatSearching:function(){return wc_country_select_params.i18n_searching}};return a}if("undefined"==typeof wc_country_select_params)return!1;if(a().select2){var c=function(){a("select.country_select:visible, select.state_select:visible").each(function(){var c=a.extend({placeholder:a(this).attr("placeholder"),placeholderOption:"first",width:"100%"},b());a(this).select2(c)})};c(),a(document.body).bind("country_to_state_changed",function(){c()})}var d=wc_country_select_params.countries.replace(/"/g,'"'),e=a.parseJSON(d);a(document.body).on("change","select.country_to_state, input.country_to_state",function(){var b=a(this).val(),c=a(this).closest(".form-row").parent(),d=c.find("#billing_state, #shipping_state, #calc_shipping_state"),f=d.parent(),g=d.attr("name"),h=d.attr("id"),i=d.val(),j=d.attr("placeholder");if(e[b])if(a.isEmptyObject(e[b]))d.parent().hide().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c]);else{var k="",l=e[b];for(var m in l)l.hasOwnProperty(m)&&(k=k+'");d.parent().show(),d.is("input")&&(d.replaceWith(''),d=c.find("#billing_state, #shipping_state, #calc_shipping_state")),d.html('"+k),d.val(i).change(),a(document.body).trigger("country_to_state_changed",[b,c])}else d.is("select")?(f.show().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c])):d.is(".hidden")&&(f.show().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c]));a(document.body).trigger("country_to_state_changing",[b,c])}),a(function(){a(":input.country_to_state").change()})}); \ No newline at end of file +jQuery(function(a){function b(){var a={formatMatches:function(a){return 1===a?wc_country_select_params.i18n_matches_1:wc_country_select_params.i18n_matches_n.replace("%qty%",a)},formatNoMatches:function(){return wc_country_select_params.i18n_no_matches},formatAjaxError:function(){return wc_country_select_params.i18n_ajax_error},formatInputTooShort:function(a,b){var c=b-a.length;return 1===c?wc_country_select_params.i18n_input_too_short_1:wc_country_select_params.i18n_input_too_short_n.replace("%qty%",c)},formatInputTooLong:function(a,b){var c=a.length-b;return 1===c?wc_country_select_params.i18n_input_too_long_1:wc_country_select_params.i18n_input_too_long_n.replace("%qty%",c)},formatSelectionTooBig:function(a){return 1===a?wc_country_select_params.i18n_selection_too_long_1:wc_country_select_params.i18n_selection_too_long_n.replace("%qty%",a)},formatLoadMore:function(){return wc_country_select_params.i18n_load_more},formatSearching:function(){return wc_country_select_params.i18n_searching}};return a}if("undefined"==typeof wc_country_select_params)return!1;if(a().select2){var c=function(){a("select.country_select:visible, select.state_select:visible").each(function(){var c=a.extend({placeholderOption:"first",width:"100%"},b());a(this).select2(c)})};c(),a(document.body).bind("country_to_state_changed",function(){c()})}var d=wc_country_select_params.countries.replace(/"/g,'"'),e=a.parseJSON(d);a(document.body).on("change","select.country_to_state, input.country_to_state",function(){var b=a(this).val(),c=a(this).closest(".form-row").parent(),d=c.find("#billing_state, #shipping_state, #calc_shipping_state"),f=d.parent(),g=d.attr("name"),h=d.attr("id"),i=d.val(),j=d.attr("placeholder")||d.attr("data-placeholder")||"";if(e[b])if(a.isEmptyObject(e[b]))d.parent().hide().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c]);else{var k="",l=e[b];for(var m in l)l.hasOwnProperty(m)&&(k=k+'");d.parent().show(),d.is("input")&&(d.replaceWith(''),d=c.find("#billing_state, #shipping_state, #calc_shipping_state")),d.html('"+k),d.val(i).change(),a(document.body).trigger("country_to_state_changed",[b,c])}else d.is("select")?(f.show().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c])):d.is(".hidden")&&(f.show().find(".select2-container").remove(),d.replaceWith(''),a(document.body).trigger("country_to_state_changed",[b,c]));a(document.body).trigger("country_to_state_changing",[b,c])}),a(function(){a(":input.country_to_state").change()})}); \ No newline at end of file diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index c83fbd3c823..a2d42016918 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -1754,7 +1754,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { . ''; foreach ( $countries as $ckey => $cvalue ) { - $field .= ''; + $field .= ''; } $field .= ''; @@ -1779,7 +1779,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { } elseif ( is_array( $states ) ) { - $field .= ' '; foreach ( $states as $ckey => $cvalue ) { @@ -1832,7 +1832,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { $options .= ''; } - $field .= ' ' . $options . ' '; } From ea84096b69a713ef7ea7cdcc13ee20c9c2efb435 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Jan 2016 12:22:01 +0000 Subject: [PATCH 018/162] Remove inconsistent usage of placeholders State field has no placeholder, yet some fields had a duplicate of the label. This removes those placeholders so all fields remain consistent. cc @claudiosmweb @jameskoster Also removes commented out code. --- includes/class-wc-countries.php | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/includes/class-wc-countries.php b/includes/class-wc-countries.php index bebd06ae97f..8d7b0ecc113 100644 --- a/includes/class-wc-countries.php +++ b/includes/class-wc-countries.php @@ -522,7 +522,6 @@ class WC_Countries { ), 'city' => array( 'label' => __( 'Town / City', 'woocommerce' ), - 'placeholder' => __( 'Town / City', 'woocommerce' ), 'required' => true, 'class' => array( 'form-row-wide', 'address-field' ) ), @@ -535,7 +534,6 @@ class WC_Countries { ), 'postcode' => array( 'label' => __( 'Postcode / ZIP', 'woocommerce' ), - 'placeholder' => __( 'Postcode / ZIP', 'woocommerce' ), 'required' => true, 'class' => array( 'form-row-last', 'address-field' ), 'clear' => true, @@ -591,15 +589,12 @@ class WC_Countries { 'AU' => array( 'city' => array( 'label' => __( 'Suburb', 'woocommerce' ), - 'placeholder' => __( 'Suburb', 'woocommerce' ), ), 'postcode' => array( 'label' => __( 'Postcode', 'woocommerce' ), - 'placeholder' => __( 'Postcode', 'woocommerce' ), ), 'state' => array( 'label' => __( 'State', 'woocommerce' ), - //'placeholder' => __( 'State', 'woocommerce' ), ) ), 'AX' => array( @@ -614,7 +609,6 @@ class WC_Countries { ), 'state' => array( 'label' => __( 'District', 'woocommerce' ), - //'placeholder' => __( 'District', 'woocommerce' ), ) ), 'BE' => array( @@ -622,7 +616,6 @@ class WC_Countries { 'state' => array( 'required' => false, 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ), ), 'BI' => array( @@ -645,14 +638,12 @@ class WC_Countries { 'CA' => array( 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'CH' => array( 'postcode_before_city' => true, 'state' => array( 'label' => __( 'Canton', 'woocommerce' ), - //'placeholder' => __( 'Canton', 'woocommerce' ), 'required' => false ) ), @@ -665,13 +656,11 @@ class WC_Countries { ), 'state' => array( 'label' => __( 'Region', 'woocommerce' ), - //'placeholder' => __( 'Region', 'woocommerce' ) ) ), 'CN' => array( 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'CO' => array( @@ -720,23 +709,19 @@ class WC_Countries { ), 'city' => array( 'label' => __( 'Town / District', 'woocommerce' ), - 'placeholder' => __( 'Town / District', 'woocommerce' ) ), 'state' => array( 'label' => __( 'Region', 'woocommerce' ), - //'placeholder' => __( 'Region', 'woocommerce' ), ) ), 'HU' => array( 'state' => array( 'label' => __( 'County', 'woocommerce' ), - //'placeholder' => __( 'County', 'woocommerce' ), ) ), 'ID' => array( 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'IS' => array( @@ -756,7 +741,6 @@ class WC_Countries { 'state' => array( 'required' => true, 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'JP' => array( @@ -774,7 +758,6 @@ class WC_Countries { 'state' => array( 'required' => false, 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'NZ' => array( @@ -791,7 +774,6 @@ class WC_Countries { 'NP' => array( 'state' => array( 'label' => __( 'State / Zone', 'woocommerce' ), - //'placeholder' => __( 'State / Zone', 'woocommerce' ), ), 'postcode' => array( 'required' => false @@ -834,14 +816,12 @@ class WC_Countries { 'postcode_before_city' => true, 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'LI' => array( 'postcode_before_city' => true, 'state' => array( 'label' => __( 'Municipality', 'woocommerce' ), - //'placeholder' => __( 'Municipality', 'woocommerce' ), 'required' => false ) ), @@ -860,27 +840,22 @@ class WC_Countries { 'postcode_before_city' => true, 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'US' => array( 'postcode' => array( 'label' => __( 'ZIP', 'woocommerce' ), - 'placeholder' => __( 'ZIP', 'woocommerce' ), ), 'state' => array( 'label' => __( 'State', 'woocommerce' ), - //'placeholder' => __( 'State', 'woocommerce' ), ) ), 'GB' => array( 'postcode' => array( 'label' => __( 'Postcode', 'woocommerce' ), - 'placeholder' => __( 'Postcode', 'woocommerce' ), ), 'state' => array( 'label' => __( 'County', 'woocommerce' ), - //'placeholder' => __( 'County', 'woocommerce' ), 'required' => false ) ), @@ -907,7 +882,6 @@ class WC_Countries { 'ZA' => array( 'state' => array( 'label' => __( 'Province', 'woocommerce' ), - //'placeholder' => __( 'Province', 'woocommerce' ), ) ), 'ZW' => array( From 9a0233bb042eaa8c942ecbb6a93b27a276d51cb7 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Jan 2016 12:35:03 +0000 Subject: [PATCH 019/162] Min #9988 --- assets/css/admin.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/css/admin.css b/assets/css/admin.css index dc3a041e4fa..939ddd6428c 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -1 +1 @@ -@charset "UTF-8";.chosen-container,.select2-container .select2-choice,.select2-results .select2-result-label{-webkit-user-select:none;-moz-user-select:none}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.woocommerce-checkout .form-row .chosen-container{width:100%!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-single{height:28px;line-height:29px}.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background:url(../images/chosen-sprite.png) 0 3px no-repeat!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 4px!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-search input{line-height:13px;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.woocommerce-checkout .form-row .chosen-container .chosen-drop{width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background-image:url(../images/chosen-sprite@2x.png)!important;background-position:0 5px!important;background-repeat:no-repeat!important;background-size:52px 37px!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 5px!important}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:26px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:26px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../images/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(../images/chosen-sprite.png) 100% -20px no-repeat #fff;background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(../images/chosen-sprite.png) -30px -20px no-repeat #fff;background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(../images/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.select2-container{margin:0;position:relative;display:block!important;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #ccc;white-space:nowrap;color:#444;text-decoration:none;border-radius:3px;background-clip:padding-box;-webkit-touch-callout:none;-ms-user-select:none;user-select:none;background-color:#fff;font-weight:400}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#ccc;border-radius:0 0 4px 4px}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:5px;font-size:1px;text-decoration:none;border:0;background:url(../images/select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;top:100%;background:#fff;color:#000;border:1px solid #ccc;border-top:0;border-radius:0 0 3px 3px}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #ccc;border-bottom:0;border-radius:3px 3px 0 0}.select2-drop-active{border:1px solid #666;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #666}.select2-drop-auto-width{border-top:1px solid #ccc;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-radius:0 3px 3px 0;background-clip:padding-box}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-radius:3px 0 0 3px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;position:relative}.select2-container .select2-choice .select2-arrow b:after{position:absolute;display:block;content:"";top:50%;left:50%;border:4px solid transparent;border-top-color:#666;margin-left:-7px;margin-top:-2px}.select2-search{display:inline-block;width:100%;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap;padding-bottom:4px}.select2-search input{width:100%;height:auto!important;padding:4px 20px 4px 5px!important;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none;background:url(../images/select2.png) 100% -22px no-repeat #fff}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:url(../images/select2.png) -37px -22px no-repeat #fff}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-dropdown-open .select2-choice .select2-arrow b:after{border-top-color:transparent;border-bottom-color:#666;margin-top:-6px}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #666;border-top-color:transparent}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:4px;margin:0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;background:#fafafa}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;margin:3px 0}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:5px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#f1f1f1;color:#000;border-radius:3px}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-ajax-error,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #ccc;cursor:text;overflow:hidden;background-color:#fff;min-height:26px}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{margin:1px 0;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:5px 8px 5px 24px;margin:3px 0 3px 5px;position:relative;line-height:15px;color:#333;cursor:default;border-radius:2px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:5px 24px 5px 8px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:7px;top:6px;font-size:1px;outline:0;background:url(../images/select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:7px}.select2-container-multi .select2-search-choice-close{left:7px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:7px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input{background-image:url(../images/select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important;background-position:100% -21px!important}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}.blockUI.blockOverlay:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.button.wc-reload:after,.woocommerce-help-tip:after{top:0;left:0;-webkit-font-smoothing:antialiased;text-align:center}.wc_addons_wrap .products{overflow:hidden}.wc_addons_wrap .products li{float:left;margin:0 1em 1em 0!important;padding:0;vertical-align:top;width:300px}.wc_addons_wrap .products li a{text-decoration:none;color:inherit;border:1px solid #ddd;display:block;min-height:220px;overflow:hidden;background:#f5f5f5;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1)}.wc_addons_wrap .products li a img{max-width:258px;max-height:24px;padding:17px 20px;display:block;margin:0;background:#fff;border-right:260px solid #fff}.wc_addons_wrap .products li a .price,.wc_addons_wrap .products li a img.extension-thumb+h3{display:none}.wc_addons_wrap .products li a h3{margin:0!important;padding:20px!important;background:#fff}.wc_addons_wrap .products li a p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wc_addons_wrap .products li a:focus,.wc_addons_wrap .products li a:hover{background-color:#fff}.wc_addons_wrap .storefront{background:url(../images/storefront-bg.jpg) bottom right #f6f6f6;border:1px solid #ddd;padding:20px;overflow:hidden;zoom:1}.wc_addons_wrap .storefront img{width:278px;height:auto;float:left;margin:0 20px 0 0;box-shadow:0 1px 6px rgba(0,0,0,.1)}.wc_addons_wrap .storefront p{max-width:750px}.woocommerce-message{position:relative;border-left-color:#cc99c2!important;overflow:hidden}.woocommerce-message a.button-primary,.woocommerce-message button.button-primary{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none!important;text-shadow:0 -1px 1px #8a4f7f,1px 0 1px #8a4f7f,0 1px 1px #8a4f7f,-1px 0 1px #8a4f7f}.woocommerce-message a.button-primary:hover,.woocommerce-message button.button-primary:hover{background:#c480b7;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)}.woocommerce-message a.button-primary:active,.woocommerce-message button.button-primary:active{background:#aa559a;border-color:#873A79;-webkit-box-shadow:inset 0 2px 0 #873A79;box-shadow:inset 0 2px 0 #873A79}.woocommerce-message a.button-primary:focus,.woocommerce-message button.button-primary:focus{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a;box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a}.woocommerce-message a.docs,.woocommerce-message a.skip{opacity:.5;text-decoration:none!important}.woocommerce-message .twitter-share-button{margin-top:-3px;margin-left:3px;vertical-align:middle}#variable_product_options #message,#variable_product_options .notice{margin:10px}.clear{clear:both}#woocommerce-fields-bulk.inline-edit-col label,#woocommerce-fields.inline-edit-col{clear:left}.wrap.woocommerce div.error,.wrap.woocommerce div.updated{margin-top:10px}mark.amount{background:0 0;color:inherit}.postbox,.woocommerce{input:invalid;input-border:1px solid #cc010b;input-background:#ffebe8}.simplify-commerce-banner{overflow:hidden}.simplify-commerce-banner img{float:right;padding:15px 0;margin-left:1em;width:200px}.woocommerce-help-tip{color:#666;display:inline-block;font-size:13px;font-style:normal;height:16px;line-height:16px;position:relative;vertical-align:middle;width:16px}.woocommerce-help-tip:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";cursor:help}table.wc_status_table{margin-bottom:1em}table.wc_status_table tr:nth-child(2n) td,table.wc_status_table tr:nth-child(2n) th{background:#fcfcfc}table.wc_status_table th{font-weight:700;padding:9px}table.wc_status_table td:first-child{width:33%}table.wc_status_table td.help{width:1em}table.wc_status_table td{padding:9px;font-size:1.1em}table.wc_status_table td mark{background:0 0}table.wc_status_table td mark.yes{color:#7ad03a}table.wc_status_table td mark.no{color:#999}table.wc_status_table td mark.error{color:#a00}table.wc_status_table td ul{margin:0}table.wc_status_table .help_tip{cursor:help}#debug-report{display:none;margin:10px 0;padding:0;position:relative}#debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}#log-viewer-select{padding:10px 0 8px;line-height:180%}#log-viewer textarea{width:100%;resize:vertical}.inline-edit-product.quick-edit-row .inline-edit-col-center,.inline-edit-product.quick-edit-row .inline-edit-col-right{float:right!important}#woocommerce-fields.inline-edit-col label.featured,#woocommerce-fields.inline-edit-col label.manage_stock{margin-left:10px}#woocommerce-fields.inline-edit-col .dimensions div{display:block;margin:.2em 0}#woocommerce-fields.inline-edit-col .dimensions div span.title{display:block;float:left;width:5em}#woocommerce-fields.inline-edit-col .dimensions div span.input-text-wrap{display:block;margin-left:5em}#woocommerce-fields.inline-edit-col .text{box-sizing:border-box;width:99%;float:left;margin:1px 1% 1px 1px}#woocommerce-fields.inline-edit-col .height,#woocommerce-fields.inline-edit-col .length,#woocommerce-fields.inline-edit-col .width{width:32.33%}#woocommerce-fields.inline-edit-col .height{margin-right:0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group label{clear:none;width:49%;margin:.2em 0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group.dimensions label{width:75%;max-width:75%}#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .regular_price,#woocommerce-fields-bulk.inline-edit-col .sale_price,#woocommerce-fields-bulk.inline-edit-col .stock,#woocommerce-fields-bulk.inline-edit-col .weight{box-sizing:border-box;width:100%;margin-left:4.4em}#woocommerce-fields-bulk.inline-edit-col .height,#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .width{box-sizing:border-box;width:25%}.column-coupon_code{line-height:2.25em}.column-coupon_code,ul.wc_coupon_list{margin:0;overflow:hidden;zoom:1;clear:both}ul.wc_coupon_list li{margin:0}ul.wc_coupon_list li.code{display:inline-block}ul.wc_coupon_list li.code:after{content:", "}ul.wc_coupon_list li.code:last-of-type:after{display:none}ul.wc_coupon_list li.code .tips{cursor:pointer}ul.wc_coupon_list_block{margin:0;padding-bottom:2px}ul.wc_coupon_list_block li{border-top:1px solid #fff;border-bottom:1px solid #ccc;line-height:2.5em;margin:0;padding:.5em 0}ul.wc_coupon_list_block li:first-child{border-top:0;padding-top:0}ul.wc_coupon_list_block li:last-child{border-bottom:0;padding-bottom:0}.button.wc-reload{text-indent:-9999px;position:relative;padding:0;-webkit-border-radius:100%;border-radius:100%;height:24px;width:24px!important;display:inline-block}.button.wc-reload:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";line-height:22px}#order_data h2,#order_data p.order_number{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.tablenav .actions{overflow:visible}.tablenav .select2-container{float:left;max-width:200px;font-size:14px;vertical-align:middle;margin:1px 6px 1px 1px}#woocommerce-order-data .handlediv,#woocommerce-order-data .hndle{display:none}#woocommerce-order-data .inside{display:block!important}#order_data{padding:23px 24px 12px}#order_data h2{margin:0;font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}#order_data h4{color:#333;margin:1.33em 0 0}#order_data p{color:#777}#order_data p.order_number{margin:0;line-height:1.6em;font-size:16px}#order_data .order_data_column_container{clear:both}#order_data .order_data_column{width:32%;padding:0 2% 0 0;float:left}#order_data .order_data_column:last-child{padding-right:0}#order_data .order_data_column p{padding:0!important}#order_data .order_data_column .address strong{display:block}#order_data .order_data_column .form-field{float:left;width:48%;padding:0;margin:9px 0 0}#order_data .order_data_column .form-field label{display:block;padding:0 0 3px}#order_data .order_data_column .form-field input,#order_data .order_data_column .form-field select,#order_data .order_data_column .form-field textarea{width:100%}#order_data .order_data_column .form-field .select2-container{width:100%!important}#order_data .order_data_column .form-field .date-picker{width:50%}#order_data .order_data_column .form-field .hour,#order_data .order_data_column .form-field .minute{width:2.5em}#order_data .order_data_column .form-field small{display:block;margin:5px 0 0;color:#999}#order_data .order_data_column .form-field.last{float:right}#order_data .order_data_column .form-field-wide{width:100%;clear:both}#order_data .order_data_column .form-field-wide .wc-customer-search,#order_data .order_data_column .form-field-wide .wc-enhanced-select,#order_data .order_data_column .form-field-wide input,#order_data .order_data_column .form-field-wide select,#order_data .order_data_column .form-field-wide textarea{width:100%}#order_data .order_data_column p.none_set{color:#999}#order_data .order_data_column ._billing_address_1_field,#order_data .order_data_column ._billing_city_field,#order_data .order_data_column ._billing_country_field,#order_data .order_data_column ._billing_email_field,#order_data .order_data_column ._billing_first_name_field,#order_data .order_data_column ._shipping_address_1_field,#order_data .order_data_column ._shipping_city_field,#order_data .order_data_column ._shipping_country_field,#order_data .order_data_column ._shipping_first_name_field{float:left}#order_data .order_data_column ._billing_address_2_field,#order_data .order_data_column ._billing_last_name_field,#order_data .order_data_column ._billing_phone_field,#order_data .order_data_column ._billing_postcode_field,#order_data .order_data_column ._billing_state_field,#order_data .order_data_column ._shipping_address_2_field,#order_data .order_data_column ._shipping_last_name_field,#order_data .order_data_column ._shipping_postcode_field,#order_data .order_data_column ._shipping_state_field,#order_data .order_data_column .wc-customer-user label a,#order_data .order_data_column .wc-order-status label a{float:right}#order_data .order_data_column ._billing_company_field,#order_data .order_data_column ._shipping_company_field,#order_data .order_data_column ._transaction_id_field{clear:both;width:100%}#order_data .order_data_column ._billing_email_field{clear:left}#order_data .order_data_column div.edit_address{display:none;zoom:1;padding-right:1px}#order_data .order_data_column .billing-same-as-shipping,#order_data .order_data_column .load_customer_billing,#order_data .order_data_column .load_customer_shipping,#order_data .order_data_column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}#order_data .order_data_column .billing-same-as-shipping:focus,#order_data .order_data_column .billing-same-as-shipping:hover,#order_data .order_data_column .load_customer_billing:focus,#order_data .order_data_column .load_customer_billing:hover,#order_data .order_data_column .load_customer_shipping:focus,#order_data .order_data_column .load_customer_shipping:hover,#order_data .order_data_column a.edit_address:focus,#order_data .order_data_column a.edit_address:hover{color:#000}#order_data .order_data_column .billing-same-as-shipping:after,#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after,#order_data .order_data_column a.edit_address:after{font-family:WooCommerce;position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;-webkit-font-smoothing:antialiased}#order_data .order_data_column .billing-same-as-shipping:after{content:"\e008"}#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after{content:"\e03a"}#order_data .order_data_column a.edit_address:after{content:"\e603"}.order_actions{margin:0;overflow:hidden;zoom:1}.order_actions li{border-top:1px solid #fff;border-bottom:1px solid #ddd;padding:6px 0;margin:0;line-height:1.6em;float:left;width:50%;text-align:center}.order_actions li a{float:none;text-align:center;text-decoration:underline}.order_actions li.wide{width:auto;float:none;clear:both;padding:6px;text-align:left;overflow:hidden}.order_actions li #delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left}.order_actions li .save_order{float:right}.order_actions li#actions{overflow:hidden}.order_actions li#actions .button{width:24px;box-sizing:border-box;float:right}.order_actions li#actions select{width:225px;box-sizing:border-box;float:left}#woocommerce-order-items .inside{margin:0;padding:0;background:#fefefe}#woocommerce-order-items .wc-order-data-row{border-bottom:1px solid #DFDFDF;padding:12px;background:#f8f8f8;line-height:2em;text-align:right}#woocommerce-order-items .wc-order-data-row:after,#woocommerce-order-items .wc-order-data-row:before{content:" ";display:table}#woocommerce-order-items .wc-order-data-row:after{clear:both}#woocommerce-order-items .wc-order-data-row p{margin:0;line-height:2em}#woocommerce-order-items .wc-order-data-row .wc-used-coupons{text-align:left}#woocommerce-order-items .wc-order-data-row .wc-used-coupons .tips{display:inline-block}#woocommerce-order-items .wc-order-bulk-actions{background:#fefefe;vertical-align:top;border-top:0}#woocommerce-order-items .wc-order-bulk-actions select{vertical-align:top}#woocommerce-order-items .wc-order-bulk-actions p.bulk-actions{float:left}#woocommerce-order-items .wc-order-add-item{background:#fff;vertical-align:top;border-top:none}#woocommerce-order-items .wc-order-add-item .add_item_id,#woocommerce-order-items .wc-order-add-item .select2-container{vertical-align:top}#woocommerce-order-items .wc-order-add-item .add_item_id .search-field input,#woocommerce-order-items .wc-order-add-item .select2-container .search-field input{min-width:100px}#woocommerce-order-items .wc-order-add-item .select2-container{width:400px!important;text-align:left}#woocommerce-order-items .wc-order-add-item .calculate-action,#woocommerce-order-items .wc-order-add-item .cancel-action,#woocommerce-order-items .wc-order-add-item .save-action{float:left;margin-right:2px}#woocommerce-order-items .wc-used-coupons{float:left;width:50%}#woocommerce-order-items .wc-order-totals{float:right;width:50%;margin:0;padding:0}#woocommerce-order-items .wc-order-totals .amount{font-weight:700}#woocommerce-order-items .wc-order-totals .label{vertical-align:top}#woocommerce-order-items .wc-order-totals .total{font-size:1em!important;width:10em;margin:0 0 0 .5em;box-sizing:border-box}#woocommerce-order-items .wc-order-totals .total input[type=text]{width:96%;float:right}#woocommerce-order-items .wc-order-totals .refunded-total{color:#a00}#woocommerce-order-items .refund-actions{margin-top:5px;padding-top:12px;border-top:1px solid #DFDFDF}#woocommerce-order-items .refund-actions .button{float:right;margin-left:4px}#woocommerce-order-items .refund-actions .cancel-action{float:left;margin-left:0}#woocommerce-order-items .add_meta{margin-left:0!important}#woocommerce-order-items h3 small{color:#999}#woocommerce-order-items .amount{white-space:nowrap}#woocommerce-order-items .add-items .description{margin-right:10px}.woocommerce_order_items_wrapper{margin:0;overflow:auto}.woocommerce_order_items_wrapper table.woocommerce_order_items{width:100%;background:#fff}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th{background:#f8f8f8;padding:8px;font-size:11px;text-align:left;color:#555;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th.sortable{cursor:pointer}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th,.woocommerce_order_items_wrapper table.woocommerce_order_items td{padding:8px;text-align:left;line-height:26px;vertical-align:top;border-bottom:1px dotted #ececec}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th select,.woocommerce_order_items_wrapper table.woocommerce_order_items td select{width:50%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th input,.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td input,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{font-size:14px;padding:4px;color:#555}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:first-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:last-child td{border-bottom:1px solid #dfdfdf}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:first-child td{border-top:8px solid #f8f8f8}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody#order_line_items tr:first-child td{border-top:none}.woocommerce_order_items_wrapper table.woocommerce_order_items td.check-column{padding:8px 8px 8px 12px;width:1%}.woocommerce_order_items_wrapper table.woocommerce_order_items .item{min-width:200px}.woocommerce_order_items_wrapper table.woocommerce_order_items .center,.woocommerce_order_items_wrapper table.woocommerce_order_items .variation-id{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class{text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label{white-space:nowrap;color:#999;font-size:.833em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label input{display:inline}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class input{width:70px;vertical-align:middle;text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class select{width:85px;height:26px;vertical-align:middle;font-size:1em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input{display:block;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);margin:1px;width:70px}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input{width:100%;box-sizing:border-box;border:0;box-shadow:none;margin:0;color:#555;background:0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input:last-child{color:#bbb;border-top:1px dashed #ddd}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .view{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class del{color:#ccc}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input{text-align:center;width:50px}.woocommerce_order_items_wrapper table.woocommerce_order_items span.subtotal{opacity:.5}.woocommerce_order_items_wrapper table.woocommerce_order_items td.tax_class,.woocommerce_order_items_wrapper table.woocommerce_order_items th.tax_class{text-align:left}.woocommerce_order_items_wrapper table.woocommerce_order_items .calculated{border-color:#ae8ca2;border-style:dotted}.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{margin:.5em 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th{border:0;padding:0 4px .5em 0;line-height:1.5em;width:20%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td{padding:0 4px .5em 0;border:0;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input{width:100%;margin:0;position:relative;border-bottom:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea{width:100%;height:4em;margin:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input:focus+textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input:focus+textarea{border-top-color:#999}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p{margin:0 0 .5em;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p:last-child{margin:0}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb{text-align:left;width:27px}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before,.wc-order-items-editable .edit-order-item:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb a{display:block}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb img{padding:1px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:21px;height:21px}.woocommerce_order_items_wrapper table.woocommerce_order_items .refund_by,ul.order_notes li p.meta .exact-date{border-bottom:1px dotted #999}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{padding:8px 16px 8px 8px}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:12px;visibility:hidden;float:right;margin:2px -16px 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";color:#fff;background-color:#000;-webkit-border-radius:100%;border-radius:100%;border:1px solid #000;box-shadow:0 1px 2px rgba(0,0,0,.2)}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:hover:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:hover:before{border-color:#a00;background-color:#a00}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax:hover .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax:hover .delete-order-tax{visibility:visible}.woocommerce_order_items_wrapper table.woocommerce_order_items small.refunded{display:block;color:#a00;white-space:nowrap}.wc-order-items-editable .edit-order-item{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0 .5em 0 0}.wc-order-items-editable .edit-order-item:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e603";color:#999}.wc-order-items-editable .edit-order-item:hover:before{color:#555}.wc-order-items-editable .delete-order-item,.wc-order-items-editable .delete_refund{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e013";color:#999}.wc-order-items-editable .delete-order-item:hover:before,.wc-order-items-editable .delete_refund:hover:before{color:#a00}.wc-order-items-editable .wc-order-edit-line-item-actions{width:2.5em;text-align:right}.wc-order-items-editable .wc-order-totals .wc-order-edit-line-item-actions{width:1.5em}.wc-order-items-editable .wc-order-totals .edit-order-item{margin:0}#woocommerce-order-downloads .buttons{float:left;padding:0;margin:0;vertical-align:top}#woocommerce-order-downloads .buttons .add_item_id,#woocommerce-order-downloads .buttons .select2-container{width:400px!important;margin-right:9px;vertical-align:top;float:left}#woocommerce-order-downloads .buttons button{margin:2px 0 0}#woocommerce-order-downloads h3 small{color:#999}#poststuff #woocommerce-order-actions .inside{margin:0;padding:0}#poststuff #woocommerce-order-actions .inside ul.order_actions li{padding:6px 10px;box-sizing:border-box}#poststuff #woocommerce-order-actions .inside ul.order_actions li:last-child{border-bottom:0}#poststuff #woocommerce-order-notes .inside{margin:0;padding:0}#poststuff #woocommerce-order-notes .inside ul.order_notes li{padding:0 10px}#woocommerce_customers p.search-box{margin:6px 0 4px;float:left}#woocommerce_customers .tablenav{float:right;clear:none}.widefat.customers td{vertical-align:middle;padding:4px 7px}.widefat .column-order_title{width:15%}.widefat .column-order_title time{display:block;color:#999;margin:3px 0}.widefat .column-orders,.widefat .column-paying,.widefat .column-spent{text-align:center;width:8%}.widefat .column-last_order{width:11%}.widefat .column-order_actions,.widefat .column-user_actions,.widefat .column-wc_actions{width:110px}.widefat .column-order_actions a.button,.widefat .column-user_actions a.button,.widefat .column-wc_actions a.button{float:left;margin:0 4px 2px 0;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-order_actions a.button img,.widefat .column-user_actions a.button img,.widefat .column-wc_actions a.button img{display:block;width:12px;height:auto}.widefat small.meta{display:block;color:#999;font-size:inherit;margin:3px 0}.widefat .column-order_date,.widefat .column-order_total{width:9%}.widefat .column-order_status{width:45px;text-align:center}.widefat .column-order_status mark{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;background:0 0;font-size:1.4em;margin:0 auto}.widefat .column-order_status mark.cancelled:after,.widefat .column-order_status mark.completed:after,.widefat .column-order_status mark.failed:after,.widefat .column-order_status mark.on-hold:after,.widefat .column-order_status mark.pending:after,.widefat .column-order_status mark.processing:after,.widefat .column-order_status mark.refunded:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.column-customer_message .note-on:after,.column-order_notes .note-on:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;line-height:16px;font-family:WooCommerce}.widefat .column-order_status mark.pending:after{content:"\e012";color:#ffba00}.widefat .column-order_status mark.completed:after{content:"\e015";color:#2ea2cc}.widefat .column-order_status mark.on-hold:after{content:"\e033";color:#999}.widefat .column-order_status mark.failed:after{content:"\e016";color:#d0c21f}.widefat .column-order_status mark.cancelled:after{content:"\e013";color:#a00}.widefat .column-order_status mark.processing:after{content:"\e011";color:#73a724}.widefat .column-order_status mark.refunded:after{content:"\e014";color:#999}.widefat td.column-order_status{padding-top:9px}.column-customer_message .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-customer_message .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.column-order_notes .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-order_notes .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.attributes-table .attribute-actions .configure-terms:after,.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after,.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;line-height:1.85;margin:0;text-align:center;font-weight:400}.order_actions .complete,.order_actions .processing,.order_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.order_actions .processing:after{content:"\e00f"}.order_actions .complete:after{content:"\e017"}.order_actions .view:after{content:"\e010"}.user_actions .edit,.user_actions .link,.user_actions .refresh,.user_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.user_actions .edit:after{content:"\e603"}.user_actions .link:after{content:"\e00d"}.user_actions .view:after{content:"\e010"}.user_actions .refresh:after{content:"\e031"}.attributes-table td,.attributes-table th{width:15%;vertical-align:top}.attributes-table .attribute-terms{width:32%}.attributes-table .attribute-actions{width:2em}.attributes-table .attribute-actions .configure-terms{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.attributes-table .attribute-actions .configure-terms:after{text-indent:0;position:absolute;width:100%;height:100%;content:"";font-family:Dashicons}ul.order_notes{padding:2px 0 0}ul.order_notes li .note_content{padding:10px;background:#efefef;position:relative}ul.order_notes li .note_content p{margin:0;padding:0;word-wrap:break-word}ul.order_notes li p.meta{padding:10px;color:#999;margin:0;font-size:11px}ul.order_notes li a.delete_note{color:#a00}table.wp-list-table .row-actions,table.wp-list-table span.na{color:#999}ul.order_notes li .note_content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-width:10px 10px 0 0;border-style:solid;border-color:#efefef transparent}ul.order_notes li.customer-note .note_content{background:#d7cad2}ul.order_notes li.customer-note .note_content:after{border-color:#d7cad2 transparent}.add_note{border-top:1px solid #ddd;padding:10px 10px 0}.add_note h4{margin-top:5px!important}.add_note #add_order_note{width:100%;height:50px}table.wp-list-table .column-thumb{width:52px;text-align:center;white-space:nowrap}table.wp-list-table .column-name{width:22%}table.wp-list-table .column-product_cat,table.wp-list-table .column-product_tag{width:11%!important}table.wp-list-table .column-featured,table.wp-list-table .column-product_type{width:48px;text-align:left!important}table.wp-list-table .column-customer_message,table.wp-list-table .column-order_notes{width:48px;text-align:center}table.wp-list-table .column-customer_message img,table.wp-list-table .column-order_notes img{margin:0 auto;padding-top:0!important}table.wp-list-table .manage-column.column-featured img,table.wp-list-table .manage-column.column-product_type img{padding-left:2px}table.wp-list-table .column-price .woocommerce-price-suffix{display:none}table.wp-list-table img{margin:1px 2px}table.wp-list-table td.column-thumb img{margin:0;width:auto;height:auto;max-width:40px;max-height:40px;vertical-align:middle}table.wp-list-table .column-is_in_stock{text-align:left!important}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after,table.wp-list-table span.product-type:before,table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{text-align:center;line-height:1;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0}table.wp-list-table span.wc-featured,table.wp-list-table span.wc-image,table.wp-list-table span.wc-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.wc-featured{margin:0;cursor:pointer}table.wp-list-table span.wc-featured:before{content:"\e020"}table.wp-list-table span.wc-featured.not-featured:before{content:"\e021"}table.wp-list-table td.column-featured span.wc-featured{font-size:1.2em}table.wp-list-table span.wc-type{margin:0}table.wp-list-table span.wc-type:before{content:"\e01d"}table.wp-list-table span.product-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.2em}table.wp-list-table span.product-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.product-type.grouped:before{content:"\e002"}table.wp-list-table span.product-type.external:before{content:"\e034"}table.wp-list-table span.product-type.variable:before{content:"\e003"}table.wp-list-table span.product-type.downloadable:before{content:"\e001"}table.wp-list-table span.product-type.virtual:before{content:"\e000"}table.wp-list-table mark.instock{font-weight:700;color:#7ad03a;background:0 0;line-height:1}table.wp-list-table mark.outofstock{font-weight:700;color:#a44;background:0 0;line-height:1}table.wp-list-table .notes_head,table.wp-list-table .order-notes_head,table.wp-list-table .status_head{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%}table.wc_emails .wc-email-settings-table-name,table.wc_emails td.name,table.wc_gateways .wc-email-settings-table-name,table.wc_gateways td.name,table.wc_shipping .wc-email-settings-table-name,table.wc_shipping td.name{font-weight:700}table.wp-list-table .order-notes_head:after{content:"\e028"}table.wp-list-table .notes_head:after{content:"\e026"}table.wp-list-table .status_head:after{content:"\e011"}table.wp-list-table .column-order_items{width:12%}table.wp-list-table .column-order_items table.order_items{width:100%;margin:3px 0 0;padding:0;display:none}table.wp-list-table .column-order_items table.order_items td{border:0;margin:0;padding:0 0 3px}table.wp-list-table .column-order_items table.order_items td.qty{color:#999;padding-right:6px;text-align:left}mark.notice{background:#fff;color:#a00;margin:0 0 0 10px}a.export_rates,a.import_rates{float:right;margin-left:9px;margin-top:-2px;margin-bottom:0}#rates-search{float:right}#rates-search input.wc-tax-rates-search-field{padding:4px 8px;font-size:1.2em}table.wc_input_table,table.wc_tax_rates{width:100%}table.wc_input_table span.tips,table.wc_tax_rates span.tips{color:#2ea2cc}table.wc_input_table td,table.wc_tax_rates td{padding:0;border-right:1px solid #DFDFDF;border-bottom:1px solid #DFDFDF;border-top:0;background:#fff}table.wc_input_table td input[type=text],table.wc_input_table td input[type=number],table.wc_tax_rates td input[type=text],table.wc_tax_rates td input[type=number]{width:100%;padding:5px 7px;margin:0;border:0;background:0 0}table.wc_input_table td.apply_to_shipping,table.wc_input_table td.compound,table.wc_tax_rates td.apply_to_shipping,table.wc_tax_rates td.compound{padding:5px 7px;vertical-align:middle}table.wc_input_table td.apply_to_shipping input,table.wc_input_table td.compound input,table.wc_tax_rates td.apply_to_shipping input,table.wc_tax_rates td.compound input{width:auto;padding:0}table.wc_input_table td:last-child,table.wc_tax_rates td:last-child{border-right:0}table.wc_input_table tr.current td,table.wc_tax_rates tr.current td{background-color:#fefbcc}table.wc_input_table .cost,table.wc_input_table .cost input,table.wc_input_table .item_cost,table.wc_input_table .item_cost input,table.wc_tax_rates .cost,table.wc_tax_rates .cost input,table.wc_tax_rates .item_cost,table.wc_tax_rates .item_cost input{text-align:right}table.wc_input_table th.sort,table.wc_tax_rates th.sort{width:17px;padding:0 4px}table.wc_input_table td.sort,table.wc_tax_rates td.sort{padding:0 4px}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort{cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before{color:#333}table.wc_input_table .button,table.wc_tax_rates .button{float:left;margin-right:5px}table.wc_input_table .export,table.wc_input_table .import,table.wc_tax_rates .export,table.wc_tax_rates .import{float:right;margin-right:0;margin-left:5px}table.wc_input_table span.tips,table.wc_tax_rates span.tips{padding:0 3px}table.wc_input_table .pagination,table.wc_tax_rates .pagination{float:right}table.wc_input_table .pagination .button,table.wc_tax_rates .pagination .button{margin-left:5px;margin-right:0}table.wc_input_table .pagination .current,table.wc_tax_rates .pagination .current{background:#bbb;text-shadow:none}table.wc_input_table tfoot th,table.wc_tax_rates tfoot th{padding-left:20px;padding-right:20px}table.wc_input_table tr:last-child td,table.wc_tax_rates tr:last-child td{border-bottom:0}table.wc_emails,table.wc_gateways,table.wc_shipping{position:relative}table.wc_emails td,table.wc_gateways td,table.wc_shipping td{vertical-align:middle;padding:7px;line-height:2em}table.wc_emails tr:nth-child(odd) td,table.wc_gateways tr:nth-child(odd) td,table.wc_shipping tr:nth-child(odd) td{background:#f9f9f9}table.wc_emails th,table.wc_gateways th,table.wc_shipping th{padding:9px 7px!important;vertical-align:middle}table.wc_emails .settings,table.wc_gateways .settings,table.wc_shipping .settings{text-align:right}table.wc_emails .default,table.wc_emails .radio,table.wc_emails .status,table.wc_gateways .default,table.wc_gateways .radio,table.wc_gateways .status,table.wc_shipping .default,table.wc_shipping .radio,table.wc_shipping .status{text-align:center}table.wc_emails .default .tips,table.wc_emails .radio .tips,table.wc_emails .status .tips,table.wc_gateways .default .tips,table.wc_gateways .radio .tips,table.wc_gateways .status .tips,table.wc_shipping .default .tips,table.wc_shipping .radio .tips,table.wc_shipping .status .tips{margin:0 auto}table.wc_emails .default input,table.wc_emails .radio input,table.wc_emails .status input,table.wc_gateways .default input,table.wc_gateways .radio input,table.wc_gateways .status input,table.wc_shipping .default input,table.wc_shipping .radio input,table.wc_shipping .status input{margin:0}table.wc_emails th.sort,table.wc_gateways th.sort,table.wc_shipping th.sort{width:28px;padding:0}table.wc_emails td.sort,table.wc_gateways td.sort,table.wc_shipping td.sort{padding:0 7px;cursor:move;text-align:center;vertical-align:middle}table.wc_emails td.sort:before,table.wc_gateways td.sort:before,table.wc_shipping td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#ccc;display:block;width:17px;float:left;height:100%}table.wc_emails .wc-email-settings-table-name span,table.wc_gateways .wc-email-settings-table-name span,table.wc_shipping .wc-email-settings-table-name span{font-weight:400;color:#999;margin:0 0 0 4px!important}table.wc_emails .wc-email-settings-table-status,table.wc_gateways .wc-email-settings-table-status,table.wc_shipping .wc-email-settings-table-status{text-align:center;width:1em}table.wc_emails .wc-email-settings-table-status .tips,table.wc_gateways .wc-email-settings-table-status .tips,table.wc_shipping .wc-email-settings-table-status .tips{margin:0 auto}table.wc_emails .wc-email-settings-table-actions a,table.wc_gateways .wc-email-settings-table-actions a,table.wc_shipping .wc-email-settings-table-actions a{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}table.wc_emails .wc-email-settings-table-actions a:after,table.wc_gateways .wc-email-settings-table-actions a:after,table.wc_shipping .wc-email-settings-table-actions a:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-family:Dashicons;line-height:1.85}img.help_tip{margin:0 0 0 9px;vertical-align:middle}.postbox img.help_tip{margin-top:0}.postbox .woocommerce-help-tip{margin:0 0 0 9px}.status-enabled,.status-manual{font-size:1.4em;display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.status-enabled:before,.status-manual:before{line-height:1;margin:0;position:absolute;width:100%;height:100%;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-indent:0;top:0;left:0;text-align:center}.status-manual:before{content:"";color:#999}.status-enabled:before{content:"";color:#a46497}.woocommerce .woo-nav-tab-wrapper{margin-bottom:16px!important}.woocommerce .subsubsub{margin:-8px 0 0}.woocommerce #template div{margin:0}.woocommerce #template div p .button{float:right;margin-left:10px;margin-top:-4px}.woocommerce #template div .editor textarea{margin-bottom:8px}.woocommerce textarea[disabled=disabled]{background:#DFDFDF!important}.woocommerce table.form-table{margin:0;position:relative}.woocommerce table.form-table .forminp-radio ul{margin:0}.woocommerce table.form-table .forminp-radio ul li{line-height:1.4em}.woocommerce table.form-table textarea.input-text{height:100%;min-width:150px;display:block}.woocommerce table.form-table input.regular-input{width:25em}.woocommerce table.form-table textarea.wide-input{width:100%}.woocommerce table.form-table .woocommerce-help-tip,.woocommerce table.form-table img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}.woocommerce table.form-table span.help_tip{cursor:help;color:#2ea2cc}.woocommerce table.form-table th{position:relative;padding-right:24px}.woocommerce table.form-table .select2-container{display:block;max-width:350px;vertical-align:top;margin-bottom:3px}.woocommerce table.form-table table.widefat th{padding-right:inherit}.woocommerce table.form-table th .woocommerce-help-tip,.woocommerce table.form-table th img.help_tip{margin:0 -24px 0 0;float:right}.woocommerce table.form-table .wp-list-table .woocommerce-help-tip{float:none}.woocommerce table.form-table fieldset{margin-top:4px}.woocommerce table.form-table fieldset .woocommerce-help-tip,.woocommerce table.form-table fieldset img.help_tip{margin:-3px 0 0 5px}.woocommerce table.form-table fieldset p.description{margin-bottom:8px}.woocommerce table.form-table fieldset:first-child{margin-top:0}.woocommerce table.form-table .iris-picker{z-index:100;display:none;position:absolute;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.woocommerce table.form-table .iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:none!important}.woocommerce table.form-table .iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.woocommerce table.form-table .colorpickpreview{padding:3px 3px 3px 20px;border:1px solid #ddd;border-right:0}.woocommerce table.form-table .colorpick{border-left:0}.woocommerce table.form-table .image_width_settings{vertical-align:middle}.woocommerce table.form-table .image_width_settings label{margin-left:10px}.woocommerce table.form-table .wc_emails_wrapper{padding:0 15px 10px 0}.woocommerce #tabs-wrap table a.remove{margin-left:4px}.woocommerce #tabs-wrap table p{margin:0 0 4px!important;overflow:hidden;zoom:1}.woocommerce #tabs-wrap table p a.add{float:left}#wp-excerpt-editor-container{background:#fff}#product_variation-parent #parent_id{width:100%}#postimagediv img{border:1px solid #d5d5d5;max-width:100%}#woocommerce-product-images .inside{margin:0;padding:0}#woocommerce-product-images .inside .add_product_images{padding:0 12px 12px}#woocommerce-product-images .inside #product_images_container{padding:0 0 0 9px}#woocommerce-product-images .inside #product_images_container ul{margin:0;padding:0}#woocommerce-product-images .inside #product_images_container ul:after,#woocommerce-product-images .inside #product_images_container ul:before{content:" ";display:table}#woocommerce-product-images .inside #product_images_container ul:after{clear:both}#woocommerce-product-images .inside #product_images_container ul li.add,#woocommerce-product-images .inside #product_images_container ul li.image,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{width:80px;float:left;cursor:move;border:1px solid #d5d5d5;margin:9px 9px 0 0;background:#f7f7f7;border-radius:2px;position:relative;box-sizing:border-box}#woocommerce-product-images .inside #product_images_container ul li.add img,#woocommerce-product-images .inside #product_images_container ul li.image img,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder img{width:100%;height:auto;display:block}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{border:3px dashed #ddd;position:relative}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-size:2.618em;line-height:72px;color:#ddd}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before,#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{line-height:1;color:#fff;background-color:#000;font-family:WooCommerce;font-weight:400;font-variant:normal;-webkit-font-smoothing:antialiased;text-align:center;left:0;speak:none;text-transform:none}#woocommerce-product-images .inside #product_images_container ul ul.actions{position:absolute;top:-8px;right:-8px;padding:2px;display:none}#woocommerce-product-images .inside #product_images_container ul ul.actions li{float:right;margin:0 0 0 2px}#woocommerce-product-images .inside #product_images_container ul ul.actions li a{width:1em;margin:0;height:0;display:block;overflow:hidden}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.tips{cursor:pointer}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:""}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:"";border-radius:100%;box-shadow:0 1px 2px rgba(0,0,0,.2)}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:hover before{background-color:#a00}#woocommerce-product-images .inside #product_images_container ul li:hover ul.actions{display:block}#woocommerce-product-data .hndle{padding:10px}#woocommerce-product-data .hndle span{display:block;vertical-align:middle;line-height:24px}#woocommerce-product-data .hndle span span{display:inline;line-height:inherit;vertical-align:baseline}#woocommerce-product-data .hndle label{padding-right:1em;font-size:12px;vertical-align:baseline}#woocommerce-product-data .hndle label:first-child{margin-right:1em;border-right:1px solid #dfdfdf}#woocommerce-product-data .hndle input,#woocommerce-product-data .hndle select{margin:-3px 0 0 .5em;vertical-align:middle}#woocommerce-product-data>.handlediv{margin-top:4px}#woocommerce-product-data .wrap{margin:0}#woocommerce-coupon-description{padding:3px 8px;font-size:1.7em;line-height:1.42em;height:auto;width:100%;outline:0;margin:10px 0;display:block}#woocommerce-coupon-description::-webkit-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description::-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-ms-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap{background:#fff}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{float:left;width:80%}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-product-data .woocommerce_options_panel .wc-radios{display:block;float:left;margin:0}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-product-data .woocommerce_options_panel .wc-radios li{display:block;padding:0 0 10px}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li input,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-product-data .woocommerce_options_panel .wc-radios li input{width:auto}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap,.woocommerce .panel-wrap{overflow:hidden}#woocommerce-coupon-data ul.wc-tabs,#woocommerce-product-data ul.wc-tabs,.woocommerce ul.wc-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#woocommerce-coupon-data ul.wc-tabs:after,#woocommerce-product-data ul.wc-tabs:after,.woocommerce ul.wc-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li,#woocommerce-product-data ul.wc-tabs li,.woocommerce ul.wc-tabs li{margin:0;padding:0;display:block;position:relative}#woocommerce-coupon-data ul.wc-tabs li a,#woocommerce-product-data ul.wc-tabs li a,.woocommerce ul.wc-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li a:before,#woocommerce-product-data ul.wc-tabs li a:before,.woocommerce ul.wc-tabs li a:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}#woocommerce-coupon-data ul.wc-tabs li.general_options a:before,#woocommerce-product-data ul.wc-tabs li.general_options a:before,.woocommerce ul.wc-tabs li.general_options a:before{content:"\e006"}#woocommerce-coupon-data ul.wc-tabs li.inventory_options a:before,#woocommerce-product-data ul.wc-tabs li.inventory_options a:before,.woocommerce ul.wc-tabs li.inventory_options a:before{content:"\e02c"}#woocommerce-coupon-data ul.wc-tabs li.shipping_options a:before,#woocommerce-product-data ul.wc-tabs li.shipping_options a:before,.woocommerce ul.wc-tabs li.shipping_options a:before{content:"\e01a"}#woocommerce-coupon-data ul.wc-tabs li.linked_product_options a:before,#woocommerce-product-data ul.wc-tabs li.linked_product_options a:before,.woocommerce ul.wc-tabs li.linked_product_options a:before{content:"\e00d"}#woocommerce-coupon-data ul.wc-tabs li.attribute_options a:before,#woocommerce-product-data ul.wc-tabs li.attribute_options a:before,.woocommerce ul.wc-tabs li.attribute_options a:before{content:"\e02b"}#woocommerce-coupon-data ul.wc-tabs li.advanced_options a:before,#woocommerce-product-data ul.wc-tabs li.advanced_options a:before,.woocommerce ul.wc-tabs li.advanced_options a:before{content:"\f111";font-family:Dashicons}#woocommerce-coupon-data ul.wc-tabs li.variation_options a:before,#woocommerce-product-data ul.wc-tabs li.variation_options a:before,.woocommerce ul.wc-tabs li.variation_options a:before{content:"\e003"}#woocommerce-coupon-data ul.wc-tabs li.usage_restriction_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_restriction_options a:before,.woocommerce ul.wc-tabs li.usage_restriction_options a:before{content:"\e602"}#woocommerce-coupon-data ul.wc-tabs li.usage_limit_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_limit_options a:before,.woocommerce ul.wc-tabs li.usage_limit_options a:before{content:"\e601"}#woocommerce-coupon-data ul.wc-tabs li.general_coupon_data a:before,#woocommerce-product-data ul.wc-tabs li.general_coupon_data a:before,.woocommerce ul.wc-tabs li.general_coupon_data a:before{content:"\e600"}#woocommerce-coupon-data ul.wc-tabs li.active a,#woocommerce-product-data ul.wc-tabs li.active a,.woocommerce ul.wc-tabs li.active a{color:#555;position:relative;background-color:#eee}.woocommerce_page_wc-settings .shippingrows th.check-column{padding-top:20px}.woocommerce_page_wc-settings .shippingrows tfoot th{padding-left:10px}.woocommerce_page_wc-settings .shippingrows .add.button:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce_page_wc-settings h3.wc-settings-sub-title{font-size:1.2em}#woocommerce-coupon-data .inside,#woocommerce-order-data .inside,#woocommerce-order-downloads .inside,#woocommerce-product-data .inside,#woocommerce-product-type-options .inside{margin:0;padding:0}.panel,.woocommerce_options_panel{padding:9px;color:#555}.panel,.woocommerce_page_settings .woocommerce_options_panel{padding:0}#woocommerce-product-specs .inside,#woocommerce-product-type-options .panel{margin:0;padding:9px}#woocommerce-product-type-options .panel p,.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p{margin:0 0 9px;font-size:12px;padding:5px 9px;line-height:24px}#woocommerce-product-type-options .panel p:after,.woocommerce_options_panel fieldset.form-field:after,.woocommerce_options_panel p:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce_options_panel .checkbox,.woocommerce_variable_attributes .checkbox{width:auto;margin:3px 0;vertical-align:middle}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{width:100%;padding:0!important}.woocommerce_options_panel .downloadable_files table th,.woocommerce_variations .downloadable_files table th{padding:7px 0 7px 7px!important}.woocommerce_options_panel .downloadable_files table td,.woocommerce_variations .downloadable_files table td{vertical-align:middle!important;padding:4px 0 4px 7px!important;position:relative}.woocommerce_options_panel .downloadable_files table td:last-child,.woocommerce_variations .downloadable_files table td:last-child{padding-right:7px!important}.woocommerce_options_panel .downloadable_files table td input.input_text,.woocommerce_variations .downloadable_files table td input.input_text{width:100%;float:none;margin:1px 0;min-width:0}.woocommerce_options_panel .downloadable_files table td .upload_file_button,.woocommerce_variations .downloadable_files table td .upload_file_button{float:right;width:auto;cursor:pointer}.woocommerce_options_panel .downloadable_files table td .delete,.woocommerce_variations .downloadable_files table td .delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.woocommerce_options_panel .downloadable_files table td .delete:before,.woocommerce_variations .downloadable_files table td .delete:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";content:"\e013";color:#999}.woocommerce_options_panel .downloadable_files table td .delete:hover:before,.woocommerce_variations .downloadable_files table td .delete:hover:before{color:#a00}.woocommerce_options_panel .downloadable_files table th.sort,.woocommerce_variations .downloadable_files table th.sort{width:17px;padding:0}.woocommerce_options_panel .downloadable_files table td.sort,.woocommerce_variations .downloadable_files table td.sort{padding:0 8px;cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}.woocommerce_options_panel .downloadable_files table td.sort:before,.woocommerce_variations .downloadable_files table td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.woocommerce_options_panel .downloadable_files table td.sort:hover:before,.woocommerce_variations .downloadable_files table td.sort:hover:before{color:#333}.woocommerce_variation h3 .sort{cursor:move;text-align:center;float:right;height:26px;width:17px;visibility:hidden;vertical-align:middle;margin-right:.5em;color:#a0a5aa}.woocommerce_variation h3 .sort:before{content:"\e032";font-family:WooCommerce;text-align:center;cursor:move;display:block;width:17px;line-height:28px}.woocommerce_variation h3 .sort:hover{color:#777}.woocommerce_variation h3:hover .sort,.woocommerce_variation.ui-sortable-helper .sort{visibility:visible}.woocommerce_options_panel{min-height:175px;box-sizing:border-box}.woocommerce_options_panel .downloadable_files{padding:0 9px 0 162px;position:relative;margin:9px 0}.woocommerce_options_panel .downloadable_files label{position:absolute;left:0;margin:0 0 0 12px;line-height:24px}.woocommerce_options_panel p{margin:9px 0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px 5px 162px!important}.woocommerce_options_panel .sale_price_dates_fields .short:first-of-type{margin-bottom:1em}.woocommerce_options_panel .sale_price_dates_fields .short:nth-of-type(2){clear:left}.woocommerce_options_panel label,.woocommerce_options_panel legend{float:left;width:150px;padding:0;margin:0 0 0 -150px}.woocommerce_options_panel label .req,.woocommerce_options_panel legend .req{font-weight:700;font-style:normal;color:#a00}.woocommerce_options_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.woocommerce_options_panel .description-block{margin-left:0;display:block}.woocommerce_options_panel input,.woocommerce_options_panel select,.woocommerce_options_panel textarea{margin:0}.woocommerce_options_panel textarea{height:3.5em;line-height:1.5em;vertical-align:top}.woocommerce_options_panel input[type=text],.woocommerce_options_panel input[type=number],.woocommerce_options_panel input[type=email]{width:50%;float:left}.woocommerce_options_panel input.button{width:auto;margin-left:8px}.woocommerce_options_panel select{float:left}.woocommerce_options_panel .short,.woocommerce_options_panel input[type=text].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=email].short{width:50%}.woocommerce_options_panel .sized{width:auto!important;margin-right:6px}.woocommerce_options_panel .options_group{border-top:1px solid #fff;border-bottom:1px solid #eee}.woocommerce_options_panel .options_group:first-child{border-top:0}.woocommerce_options_panel .options_group:last-child{border-bottom:0}.woocommerce_options_panel .options_group fieldset{margin:9px 0;font-size:12px;padding:5px 9px;line-height:24px}.woocommerce_options_panel .options_group fieldset label{width:auto;float:none}.woocommerce_options_panel .options_group fieldset ul{float:left;width:50%;margin:0;padding:0}.woocommerce_options_panel .options_group fieldset ul li{margin:0;width:auto}.woocommerce_options_panel .options_group fieldset ul li input{width:auto;float:none;margin-right:4px}.woocommerce_options_panel .options_group fieldset ul.wc-radios label{margin-left:0}.woocommerce_options_panel .dimensions_field .wrap{display:block;width:50%}.woocommerce_options_panel .dimensions_field .wrap input{width:30.75%;margin-right:3.8%}.woocommerce_options_panel .dimensions_field .wrap .last{margin-right:0}.woocommerce_options_panel.padded{padding:1em}#woocommerce-product-data input.dp-applied,.woocommerce_options_panel .select2-container{float:left}#grouped_product_options,#simple_product_options,#virtual_product_options{padding:12px;font-style:italic;color:#666}.wc-metaboxes-wrapper .toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #eee;padding:9px 12px!important}.wc-metaboxes-wrapper .toolbar:first-child{border-top:0}.wc-metaboxes-wrapper .toolbar:last-child{border-bottom:0}.wc-metaboxes-wrapper .toolbar .add_variation{float:right;margin-left:5px}.wc-metaboxes-wrapper .toolbar .cancel-variation-changes,.wc-metaboxes-wrapper .toolbar .save-variation-changes{float:left;margin-right:5px}.wc-metaboxes-wrapper p.toolbar{overflow:hidden;zoom:1}.wc-metaboxes-wrapper .expand-close{margin-right:2px;color:#777;font-size:12px;font-style:italic}.wc-metaboxes-wrapper .expand-close a{background:0 0;padding:0;font-size:12px;text-decoration:none}.wc-metaboxes-wrapper#product_attributes .expand-close{float:right;line-height:28px}.wc-metaboxes-wrapper .fr,.wc-metaboxes-wrapper button.add_variable_attribute{float:right;margin:0 0 0 6px}.wc-metaboxes-wrapper .wc-metaboxes{border-bottom:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin-bottom:9px;border-width:1px;border-style:dashed}.wc-metaboxes-wrapper .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.wc-metaboxes-wrapper .wc-metabox select{font-weight:400}.wc-metaboxes-wrapper .wc-metabox:last-of-type{border-bottom:0}.wc-metaboxes-wrapper .wc-metabox .handlediv{width:27px}.wc-metaboxes-wrapper .wc-metabox .handlediv:before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wc-metaboxes-wrapper .wc-metabox.closed{border-radius:3px}.wc-metaboxes-wrapper .wc-metabox.closed .handlediv:before{content:"\f140"!important}.wc-metaboxes-wrapper .wc-metabox.closed h3{border:0}.wc-metaboxes-wrapper .wc-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}.wc-metaboxes-wrapper .wc-metabox h3 a.delete,.wc-metaboxes-wrapper .wc-metabox h3 button{float:right}.wc-metaboxes-wrapper .wc-metabox h3 a.delete{color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative;visibility:hidden}.wc-metaboxes-wrapper .wc-metabox h3 strong{line-height:26px;font-weight:700}.wc-metaboxes-wrapper .wc-metabox h3 select{font-family:sans-serif;max-width:20%;margin:.25em .25em .25em 0}.wc-metaboxes-wrapper .wc-metabox h3 .handlediv{background-position:6px 5px!important;visibility:hidden;height:26px}.wc-metaboxes-wrapper .wc-metabox h3.fixed{cursor:pointer!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .handlediv,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .sort,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 a.delete{margin-top:.25em}.wc-metaboxes-wrapper .wc-metabox h3:hover .handlediv,.wc-metaboxes-wrapper .wc-metabox h3:hover a.delete,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper .handlediv,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper a.delete{visibility:visible}.wc-metaboxes-wrapper .wc-metabox table{width:100%;position:relative;background-color:#fdfdfd;padding:1em;border-top:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox table td{text-align:left;padding:0 6px 1em 0;vertical-align:top;border:0}.wc-metaboxes-wrapper .wc-metabox table td label{text-align:left;display:block;line-height:21px}.wc-metaboxes-wrapper .wc-metabox table td input{float:left;min-width:200px}.wc-metaboxes-wrapper .wc-metabox table td input,.wc-metaboxes-wrapper .wc-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}.wc-metaboxes-wrapper .wc-metabox table td .select2-container,.wc-metaboxes-wrapper .wc-metabox table td select{width:100%!important}.wc-metaboxes-wrapper .wc-metabox table td input.short{width:200px}.wc-metaboxes-wrapper .wc-metabox table td input.checkbox{width:16px;min-width:inherit;vertical-align:text-bottom;display:inline-block;float:none}.wc-metaboxes-wrapper .wc-metabox table td.attribute_name{width:200px}.wc-metaboxes-wrapper .wc-metabox table .minus,.wc-metaboxes-wrapper .wc-metabox table .plus{margin-top:6px}.wc-metaboxes-wrapper .wc-metabox table .fl{float:left}.wc-metaboxes-wrapper .wc-metabox table .fr{float:right}.variations-pagenav{float:right;line-height:24px}.variations-pagenav .displaying-num{color:#777;font-size:12px;font-style:italic}.variations-pagenav a{padding:0 10px 3px;background:rgba(0,0,0,.05);font-size:16px;font-weight:400;text-decoration:none}.variations-pagenav a.disabled,.variations-pagenav a.disabled:active,.variations-pagenav a.disabled:focus,.variations-pagenav a.disabled:hover{color:#A0A5AA;background:rgba(0,0,0,.05)}.variations-defaults{float:left}.variations-defaults select{margin:.25em .25em .25em 0}.woocommerce_variable_attributes{background-color:#fdfdfd;border-top:1px solid #eee}.woocommerce_variable_attributes .data{padding:1em 2em}.woocommerce_variable_attributes .data:after,.woocommerce_variable_attributes .data:before{content:" ";display:table}.woocommerce_variable_attributes .data:after{clear:both}.woocommerce_variable_attributes .upload_image_button{display:block;width:48px;height:48px;float:left;margin-right:20px;position:relative;cursor:pointer}.woocommerce_variable_attributes .upload_image_button img{width:100%;height:auto;display:none}.woocommerce_variable_attributes .upload_image_button:before{content:"\f128";font-family:Dashicons;position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:48px;font-size:48px;font-weight:400;-webkit-font-smoothing:antialiased}.woocommerce_variable_attributes .upload_image_button.remove img{display:block}.woocommerce_variable_attributes .upload_image_button.remove:before{content:"\f335";display:none}.woocommerce_variable_attributes .upload_image_button.remove:hover:before{display:block}.woocommerce_variable_attributes .options{border:1px solid #eee;border-width:1px 0;padding:.25em 0}.woocommerce_variable_attributes .options label{display:inline-block;padding:4px 1em 2px 0}.woocommerce_variable_attributes .options input[type=checkbox]{margin-top:5px;margin-right:3px}.form-row label{display:block}.form-row input[type=number],.form-row input[type=text],.form-row select{width:100%}.form-row.dimensions_field input{width:25%;float:left;margin-right:1%}.form-row.dimensions_field input:last-of-type{margin-right:0}.form-row-first,.form-row-last{width:48%;float:right}.form-row-first{clear:both;float:left}.form-row-full{clear:both}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:9999999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.wc_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wc_error_tip:after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}img.ui-datepicker-trigger{vertical-align:middle;margin-top:-1px;cursor:pointer}.wc-metabox-content img.ui-datepicker-trigger,.woocommerce_options_panel img.ui-datepicker-trigger{float:left;margin-right:8px;margin-top:4px;margin-left:4px}#ui-datepicker-div{display:none}.woocommerce-reports-wide.woocommerce-reports-wrap,.woocommerce-reports-wrap.woocommerce-reports-wrap{margin-left:300px;padding-top:18px}.woocommerce-reports-wide.halved,.woocommerce-reports-wrap.halved{margin:0;overflow:hidden;zoom:1}.woocommerce-reports-wide .widefat td,.woocommerce-reports-wrap .widefat td{vertical-align:top;padding:7px}.woocommerce-reports-wide .widefat td .description,.woocommerce-reports-wrap .widefat td .description{margin:4px 0 0}.woocommerce-reports-wide .postbox:after,.woocommerce-reports-wrap .postbox:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox h3,.woocommerce-reports-wrap .postbox h3{cursor:default!important}.woocommerce-reports-wide .postbox .inside,.woocommerce-reports-wrap .postbox .inside{padding:10px;margin:0!important}.woocommerce-reports-wide .postbox h3.stats_range,.woocommerce-reports-wrap .postbox h3.stats_range{border-bottom-color:#dfdfdf;margin:0;padding:0!important}.woocommerce-reports-wide .postbox h3.stats_range .export_csv,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv{float:right;line-height:26px;border-left:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range .export_csv:before,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;content:"";text-decoration:none;margin-right:4px}.woocommerce-reports-wide .postbox h3.stats_range ul,.woocommerce-reports-wrap .postbox h3.stats_range ul{list-style:none;margin:0;padding:0;zoom:1;background:#f5f5f5}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wide .postbox h3.stats_range ul:before,.woocommerce-reports-wrap .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:before{content:" ";display:table}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:after{clear:both}.woocommerce-reports-wide .postbox h3.stats_range ul li,.woocommerce-reports-wrap .postbox h3.stats_range ul li{float:left;margin:0;padding:0;line-height:26px}.woocommerce-reports-wide .postbox h3.stats_range ul li a,.woocommerce-reports-wrap .postbox h3.stats_range ul li a{border-right:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range ul li.active,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active{background:#fff;-webkit-box-shadow:0 4px 0 0 #fff;box-shadow:0 4px 0 0 #fff}.woocommerce-reports-wide .postbox h3.stats_range ul li.active a,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active a{color:#777}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom{padding:9px 10px;vertical-align:middle}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form{display:inline;margin:0}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form input.range_datepicker{padding:0;margin:0 10px 0 0;background:0 0;border:0;color:#777;text-align:center;-webkit-box-shadow:none;box-shadow:none}.woocommerce-reports-wide .postbox .chart-with-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar{padding:12px 12px 12px 249px;margin:0!important}.woocommerce-reports-wide .postbox .chart-with-sidebar .chart-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar .chart-sidebar{width:225px;margin-left:-237px;float:left}.woocommerce-reports-wide .postbox .chart-widgets,.woocommerce-reports-wrap .postbox .chart-widgets{margin:0;padding:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget{margin:0 0 1em;background:#fafafa;border:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4{background:#fff;border:1px solid #dfdfdf;border-left-width:0;border-right-width:0;padding:10px;margin:0;color:#2ea2cc;border-top-width:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr.active td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr.active td{background:#f5f5f5}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4.section_title:hover,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4.section_title:hover{color:#a00}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title{cursor:pointer}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span{display:block}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none;float:right;font-size:.9em;line-height:1.618}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open{color:#333}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open span:after{display:none}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section{border-bottom:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section .select2-container,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section .select2-container{width:100%!important}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section:last-of-type,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section:last-of-type{border-radius:0 0 3px 3px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td{padding:7px 10px;vertical-align:top;border-top:1px solid #e5e5e5;line-height:1.4em}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.sparkline,form.report_filters div,form.report_filters input,form.report_filters label,form.report_filters p{vertical-align:middle}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr:first-child td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr:first-child td{border-top:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name{max-width:175px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name a,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name a{word-wrap:break-word}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table .wc_sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table .wc_sparkline{width:32px;height:1em;display:block;float:right}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p{margin:0;padding:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p .submit{margin-top:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget #product_ids,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget #product_ids{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_none,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_none{float:right;color:#999;margin-left:4px;margin-top:10px}.woocommerce-reports-wide .postbox .chart-legend,.woocommerce-reports-wrap .postbox .chart-legend{list-style:none;margin:0 0 1em;padding:0;border:1px solid #dfdfdf;border-right-width:0;border-bottom-width:0;background:#fff}.woocommerce-reports-wide .postbox .chart-legend li,.woocommerce-reports-wrap .postbox .chart-legend li{border-right:5px solid #aaa;color:#aaa;padding:1em;display:block;margin:0;-webkit-transition:all ease .5s;box-shadow:inset 0 -1px 0 0 #dfdfdf}.woocommerce-reports-wide .postbox .chart-legend li strong,.woocommerce-reports-wrap .postbox .chart-legend li strong{font-size:1.618em;line-height:1.2em;color:#464646;font-weight:400;display:block;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif}.woocommerce-reports-wide .postbox .chart-legend li strong del,.woocommerce-reports-wrap .postbox .chart-legend li strong del{color:#e74c3c;font-weight:400}.woocommerce-reports-wide .postbox .chart-legend li:hover,.woocommerce-reports-wrap .postbox .chart-legend li:hover{box-shadow:inset 0 -1px 0 0 #dfdfdf,inset 300px 0 0 rgba(156,93,144,.1);border-right:5px solid #9c5d90!important;padding-left:1.5em;color:#9c5d90}.woocommerce-reports-wide .postbox .pie-chart-legend,.woocommerce-reports-wrap .postbox .pie-chart-legend{margin:12px 0 0;overflow:hidden}.woocommerce-reports-wide .postbox .pie-chart-legend li,.woocommerce-reports-wrap .postbox .pie-chart-legend li{float:left;margin:0;padding:6px 0 0;border-top:4px solid #999;text-align:center;box-sizing:border-box;width:50%}.woocommerce-reports-wide .postbox .stat,.woocommerce-reports-wrap .postbox .stat{font-size:1.5em!important;font-weight:700;text-align:center}.woocommerce-reports-wide .postbox .chart-placeholder,.woocommerce-reports-wrap .postbox .chart-placeholder{width:100%;height:650px;overflow:hidden;position:relative}.woocommerce-reports-wide .postbox .chart-prompt,.woocommerce-reports-wrap .postbox .chart-prompt{line-height:650px;margin:0;color:#999;font-size:1.2em;font-style:italic;text-align:center}.woocommerce-reports-wide .postbox .chart-container,.woocommerce-reports-wrap .postbox .chart-container{background:#fff;padding:12px;position:relative;border:1px solid #dfdfdf;border-radius:3px}.woocommerce-reports-wide .postbox .main .chart-legend,.woocommerce-reports-wrap .postbox .main .chart-legend{margin-top:12px}.woocommerce-reports-wide .postbox .main .chart-legend li,.woocommerce-reports-wrap .postbox .main .chart-legend li{border-right:0;margin:0 8px 0 0;float:left;border-top:4px solid #aaa}.woocommerce-reports-wide .woocommerce-reports-main,.woocommerce-reports-wrap .woocommerce-reports-main{float:left;min-width:100%}.woocommerce-reports-wide .woocommerce-reports-main table td,.woocommerce-reports-wrap .woocommerce-reports-main table td{padding:9px}.woocommerce-reports-wide .woocommerce-reports-sidebar,.woocommerce-reports-wrap .woocommerce-reports-sidebar{display:inline;width:281px;margin-left:-300px;clear:both;float:left}.woocommerce-reports-wide .woocommerce-reports-left,.woocommerce-reports-wrap .woocommerce-reports-left{width:49.5%;float:left}.woocommerce-reports-wide .woocommerce-reports-right,.woocommerce-reports-wrap .woocommerce-reports-right{width:49.5%;float:right}.woocommerce-reports-wide .column-wc_actions a.edit,.woocommerce-reports-wide .column-wc_actions a.view,.woocommerce-reports-wrap .column-wc_actions a.edit,.woocommerce-reports-wrap .column-wc_actions a.view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after{content:"\e01c"}.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{content:"\e010"}.woocommerce-wide-reports-wrap{padding-bottom:11px}.woocommerce-wide-reports-wrap .widefat .export-data{float:right}.woocommerce-wide-reports-wrap .widefat td,.woocommerce-wide-reports-wrap .widefat th{vertical-align:middle;padding:7px}.chart-tooltip{position:absolute;display:none;line-height:1}table.bar_chart{width:100%}table.bar_chart thead th{text-align:left;color:#ccc;padding:6px 0}table.bar_chart tbody th{padding:6px 0;width:25%;text-align:left!important;font-weight:400!important;border-bottom:1px solid #fee}table.bar_chart tbody td{text-align:right;line-height:24px;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td span{color:#8a4b75;display:block}table.bar_chart tbody td span.alt{color:#47a03e;margin-top:6px}table.bar_chart tbody td.bars{position:relative;text-align:left;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td.bars a,table.bar_chart tbody td.bars span{text-decoration:none;clear:both;background:#8a4b75;float:left;display:block;line-height:24px;height:24px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}table.bar_chart tbody td.bars span.alt{clear:both;background:#47a03e}table.bar_chart tbody td.bars span.alt span{margin:0;color:#c5dec2!important;text-shadow:0 1px 0 #47a03e;background:0 0}@media only screen and (max-width:1280px){#order_data .order_data_column{width:48%}#order_data .order_data_column:first-child{width:100%}.woocommerce_options_panel .description{display:block;clear:both;margin-left:0}.woocommerce_options_panel .dimensions_field .wrap,.woocommerce_options_panel .short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=text].short{width:80%}.woocommerce_options_panel .downloadable_files,.woocommerce_variations .downloadable_files{padding:0;clear:both}.woocommerce_options_panel .downloadable_files label,.woocommerce_variations .downloadable_files label{position:static}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{margin:0 12px 24px;width:94%}.woocommerce_options_panel .downloadable_files table .sort,.woocommerce_variations .downloadable_files table .sort{visibility:hidden}.woocommerce_options_panel .woocommerce_variable_attributes .downloadable_files table,.woocommerce_variations .woocommerce_variable_attributes .downloadable_files table{margin:0 0 1em;width:100%}}@media only screen and (max-width:900px){#woocommerce-coupon-data ul.coupon_data_tabs,#woocommerce-product-data .wc-tabs-back,#woocommerce-product-data ul.product_data_tabs{width:10%}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{width:90%}#woocommerce-coupon-data ul.coupon_data_tabs li a,#woocommerce-product-data ul.product_data_tabs li a{position:relative;text-indent:-999px;padding:10px}#woocommerce-coupon-data ul.coupon_data_tabs li a:before,#woocommerce-product-data ul.product_data_tabs li a:before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}}@media only screen and (max-width:782px){#wp-excerpt-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}#wp-excerpt-editor-tools{padding-top:20px;padding-right:15px;overflow:hidden;margin-bottom:-1px}.post-type-product .wp-list-table .is-expanded td:not(.hidden),.post-type-shop_order .wp-list-table .is-expanded td:not(.hidden){overflow:visible}#woocommerce-product-data .checkbox{width:25px}.variations-pagenav{float:none;text-align:center;font-size:18px}.variations-pagenav .displaying-num{font-size:16px}.variations-pagenav a{padding:8px 20px 11px;font-size:18px}.variations-pagenav select{padding:0 20px}.variations-defaults{float:none;text-align:center;margin-top:10px}.post-type-product .wp-list-table .column-thumb{display:none;text-align:left;padding-bottom:0}.post-type-product .wp-list-table .column-thumb:before{display:none!important}.post-type-product .wp-list-table .column-thumb img{max-width:32px}.post-type-product .wp-list-table .toggle-row{top:-28px}.post-type-shop_order .wp-list-table .column-order_status{display:none;text-align:left;padding-bottom:0}.post-type-shop_order .wp-list-table .column-order_status mark{margin:0}.post-type-shop_order .wp-list-table .column-order_status:before{display:none!important}.post-type-shop_order .wp-list-table .column-customer_message,.post-type-shop_order .wp-list-table .column-order_notes{text-align:inherit}.post-type-shop_order .wp-list-table .column-order_notes .note-on{font-size:1.3em;margin:0}.post-type-shop_order .wp-list-table .toggle-row{top:-15px}}@media only screen and (max-width:500px){.woocommerce_options_panel label,.woocommerce_options_panel legend{float:none;width:auto;display:block;margin:0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px!important}}.wc-backbone-modal *{box-sizing:border-box}.wc-backbone-modal .wc-backbone-modal-content{position:fixed;top:50%;left:50%;width:500px;background:#fff;z-index:100000}.wc-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.wc-backbone-modal-main{padding-bottom:51px}.wc-backbone-modal-main article,.wc-backbone-modal-main header{display:block;position:relative}.wc-backbone-modal-main .wc-backbone-modal-header{height:50px;background:#fcfcfc;padding:0 50px 0 16px;border-bottom:1px solid #ddd}.wc-backbone-modal-main .wc-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:50px}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:50px;width:50px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:before{font:400 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus,.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus{outline:0}.wc-backbone-modal-main article{padding:10px 16px}.wc-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.wc-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:10px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.wc-backbone-modal-main footer .inner{float:right;line-height:23px}.wc-backbone-modal-main footer .inner .button{margin-bottom:0}.select2-drop{z-index:999999!important}.select2-container-multi .select2-choices .select2-search-field input{font-family:inherit;font-size:inherit;font-weight:inherit;padding:3px 5px}.select2-container{line-height:1.85em;font-size:14px} \ No newline at end of file +@charset "UTF-8";.chosen-container,.select2-container .select2-choice,.select2-results .select2-result-label{-webkit-user-select:none;-moz-user-select:none}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.woocommerce-checkout .form-row .chosen-container{width:100%!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-single{height:28px;line-height:29px}.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background:url(../images/chosen-sprite.png) 0 3px no-repeat!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 4px!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-search input{line-height:13px;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.woocommerce-checkout .form-row .chosen-container .chosen-drop{width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background-image:url(../images/chosen-sprite@2x.png)!important;background-position:0 5px!important;background-repeat:no-repeat!important;background-size:52px 37px!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 5px!important}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:26px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:26px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../images/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(../images/chosen-sprite.png) 100% -20px no-repeat #fff;background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(../images/chosen-sprite.png) -30px -20px no-repeat #fff;background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(../images/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.select2-container{margin:0;position:relative;display:block!important;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #ccc;white-space:nowrap;color:#444;text-decoration:none;border-radius:3px;background-clip:padding-box;-webkit-touch-callout:none;-ms-user-select:none;user-select:none;background-color:#fff;font-weight:400}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#ccc;border-radius:0 0 4px 4px}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:5px;font-size:1px;text-decoration:none;border:0;background:url(../images/select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;top:100%;background:#fff;color:#000;border:1px solid #ccc;border-top:0;border-radius:0 0 3px 3px}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #ccc;border-bottom:0;border-radius:3px 3px 0 0}.select2-drop-active{border:1px solid #666;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #666}.select2-drop-auto-width{border-top:1px solid #ccc;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-radius:0 3px 3px 0;background-clip:padding-box}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-radius:3px 0 0 3px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;position:relative}.select2-container .select2-choice .select2-arrow b:after{position:absolute;display:block;content:"";top:50%;left:50%;border:4px solid transparent;border-top-color:#666;margin-left:-7px;margin-top:-2px}.select2-search{display:inline-block;width:100%;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap;padding-bottom:4px}.select2-search input{width:100%;height:auto!important;padding:4px 20px 4px 5px!important;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none;background:url(../images/select2.png) 100% -22px no-repeat #fff}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:url(../images/select2.png) -37px -22px no-repeat #fff}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-dropdown-open .select2-choice .select2-arrow b:after{border-top-color:transparent;border-bottom-color:#666;margin-top:-6px}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #666;border-top-color:transparent}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:4px;margin:0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;background:#fafafa}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;margin:3px 0}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:5px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#f1f1f1;color:#000;border-radius:3px}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-ajax-error,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #ccc;cursor:text;overflow:hidden;background-color:#fff;min-height:26px}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{margin:1px 0;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:5px 8px 5px 24px;margin:3px 0 3px 5px;position:relative;line-height:15px;color:#333;cursor:default;border-radius:2px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:5px 24px 5px 8px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:7px;top:6px;font-size:1px;outline:0;background:url(../images/select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:7px}.select2-container-multi .select2-search-choice-close{left:7px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:7px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input{background-image:url(../images/select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important;background-position:100% -21px!important}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}.blockUI.blockOverlay:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.button.wc-reload:after,.woocommerce-help-tip:after{top:0;left:0;-webkit-font-smoothing:antialiased;text-align:center}.wc_addons_wrap .products{overflow:hidden}.wc_addons_wrap .products li{float:left;margin:0 1em 1em 0!important;padding:0;vertical-align:top;width:300px}.wc_addons_wrap .products li a{text-decoration:none;color:inherit;border:1px solid #ddd;display:block;min-height:220px;overflow:hidden;background:#f5f5f5;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1)}.wc_addons_wrap .products li a img{max-width:258px;max-height:24px;padding:17px 20px;display:block;margin:0;background:#fff;border-right:260px solid #fff}.wc_addons_wrap .products li a .price,.wc_addons_wrap .products li a img.extension-thumb+h3{display:none}.wc_addons_wrap .products li a h3{margin:0!important;padding:20px!important;background:#fff}.wc_addons_wrap .products li a p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wc_addons_wrap .products li a:focus,.wc_addons_wrap .products li a:hover{background-color:#fff}.wc_addons_wrap .storefront{background:url(../images/storefront-bg.jpg) bottom right #f6f6f6;border:1px solid #ddd;padding:20px;overflow:hidden;zoom:1}.wc_addons_wrap .storefront img{width:278px;height:auto;float:left;margin:0 20px 0 0;box-shadow:0 1px 6px rgba(0,0,0,.1)}.wc_addons_wrap .storefront p{max-width:750px}.woocommerce-message{position:relative;border-left-color:#cc99c2!important;overflow:hidden}.woocommerce-message a.button-primary,.woocommerce-message button.button-primary{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none!important;text-shadow:0 -1px 1px #8a4f7f,1px 0 1px #8a4f7f,0 1px 1px #8a4f7f,-1px 0 1px #8a4f7f}.woocommerce-message a.button-primary:hover,.woocommerce-message button.button-primary:hover{background:#c480b7;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)}.woocommerce-message a.button-primary:active,.woocommerce-message button.button-primary:active{background:#aa559a;border-color:#873A79;-webkit-box-shadow:inset 0 2px 0 #873A79;box-shadow:inset 0 2px 0 #873A79}.woocommerce-message a.button-primary:focus,.woocommerce-message button.button-primary:focus{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a;box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a}.woocommerce-message a.docs,.woocommerce-message a.skip{opacity:.5;text-decoration:none!important}.woocommerce-message .twitter-share-button{margin-top:-3px;margin-left:3px;vertical-align:middle}#variable_product_options #message,#variable_product_options .notice{margin:10px}.clear{clear:both}#woocommerce-fields-bulk.inline-edit-col label,#woocommerce-fields.inline-edit-col{clear:left}.wrap.woocommerce div.error,.wrap.woocommerce div.updated{margin-top:10px}mark.amount{background:0 0;color:inherit}.postbox,.woocommerce{input:invalid;input-border:1px solid #cc010b;input-background:#ffebe8}.simplify-commerce-banner{overflow:hidden}.simplify-commerce-banner img{float:right;padding:15px 0;margin-left:1em;width:200px}.woocommerce-help-tip{color:#666;display:inline-block;font-size:13px;font-style:normal;height:16px;line-height:16px;position:relative;vertical-align:middle;width:16px}.woocommerce-help-tip:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";cursor:help}table.wc_status_table{margin-bottom:1em}table.wc_status_table tr:nth-child(2n) td,table.wc_status_table tr:nth-child(2n) th{background:#fcfcfc}table.wc_status_table th{font-weight:700;padding:9px}table.wc_status_table td:first-child{width:33%}table.wc_status_table td.help{width:1em}table.wc_status_table td{padding:9px;font-size:1.1em}table.wc_status_table td mark{background:0 0}table.wc_status_table td mark.yes{color:#7ad03a}table.wc_status_table td mark.no{color:#999}table.wc_status_table td mark.error{color:#a00}table.wc_status_table td ul{margin:0}table.wc_status_table .help_tip{cursor:help}#debug-report{display:none;margin:10px 0;padding:0;position:relative}#debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}#log-viewer-select{padding:10px 0 8px;line-height:180%}#log-viewer textarea{width:100%;resize:vertical}.inline-edit-product.quick-edit-row .inline-edit-col-center,.inline-edit-product.quick-edit-row .inline-edit-col-right{float:right!important}#woocommerce-fields.inline-edit-col label.featured,#woocommerce-fields.inline-edit-col label.manage_stock{margin-left:10px}#woocommerce-fields.inline-edit-col .dimensions div{display:block;margin:.2em 0}#woocommerce-fields.inline-edit-col .dimensions div span.title{display:block;float:left;width:5em}#woocommerce-fields.inline-edit-col .dimensions div span.input-text-wrap{display:block;margin-left:5em}#woocommerce-fields.inline-edit-col .text{box-sizing:border-box;width:99%;float:left;margin:1px 1% 1px 1px}#woocommerce-fields.inline-edit-col .height,#woocommerce-fields.inline-edit-col .length,#woocommerce-fields.inline-edit-col .width{width:32.33%}#woocommerce-fields.inline-edit-col .height{margin-right:0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group label{clear:none;width:49%;margin:.2em 0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group.dimensions label{width:75%;max-width:75%}#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .regular_price,#woocommerce-fields-bulk.inline-edit-col .sale_price,#woocommerce-fields-bulk.inline-edit-col .stock,#woocommerce-fields-bulk.inline-edit-col .weight{box-sizing:border-box;width:100%;margin-left:4.4em}#woocommerce-fields-bulk.inline-edit-col .height,#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .width{box-sizing:border-box;width:25%}.column-coupon_code{line-height:2.25em}.column-coupon_code,ul.wc_coupon_list{margin:0;overflow:hidden;zoom:1;clear:both}ul.wc_coupon_list li{margin:0}ul.wc_coupon_list li.code{display:inline-block}ul.wc_coupon_list li.code:after{content:", "}ul.wc_coupon_list li.code:last-of-type:after{display:none}ul.wc_coupon_list li.code .tips{cursor:pointer}ul.wc_coupon_list_block{margin:0;padding-bottom:2px}ul.wc_coupon_list_block li{border-top:1px solid #fff;border-bottom:1px solid #ccc;line-height:2.5em;margin:0;padding:.5em 0}ul.wc_coupon_list_block li:first-child{border-top:0;padding-top:0}ul.wc_coupon_list_block li:last-child{border-bottom:0;padding-bottom:0}.button.wc-reload{text-indent:-9999px;position:relative;padding:0;-webkit-border-radius:100%;border-radius:100%;height:24px;width:24px!important;display:inline-block}.button.wc-reload:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";line-height:22px}#order_data h2,#order_data p.order_number{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.tablenav .actions{overflow:visible}.tablenav .select2-container{float:left;max-width:200px;font-size:14px;vertical-align:middle;margin:1px 6px 1px 1px}#woocommerce-order-data .handlediv,#woocommerce-order-data .hndle{display:none}#woocommerce-order-data .inside{display:block!important}#order_data{padding:23px 24px 12px}#order_data h2{margin:0;font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}#order_data h4{color:#333;margin:1.33em 0 0}#order_data p{color:#777}#order_data p.order_number{margin:0;line-height:1.6em;font-size:16px}#order_data .order_data_column_container{clear:both}#order_data .order_data_column{width:32%;padding:0 2% 0 0;float:left}#order_data .order_data_column:last-child{padding-right:0}#order_data .order_data_column p{padding:0!important}#order_data .order_data_column .address strong{display:block}#order_data .order_data_column .form-field{float:left;width:48%;padding:0;margin:9px 0 0}#order_data .order_data_column .form-field label{display:block;padding:0 0 3px}#order_data .order_data_column .form-field input,#order_data .order_data_column .form-field select,#order_data .order_data_column .form-field textarea{width:100%}#order_data .order_data_column .form-field .select2-container{width:100%!important}#order_data .order_data_column .form-field .date-picker{width:50%}#order_data .order_data_column .form-field .hour,#order_data .order_data_column .form-field .minute{width:2.5em}#order_data .order_data_column .form-field small{display:block;margin:5px 0 0;color:#999}#order_data .order_data_column .form-field.last{float:right}#order_data .order_data_column .form-field-wide{width:100%;clear:both}#order_data .order_data_column .form-field-wide .wc-customer-search,#order_data .order_data_column .form-field-wide .wc-enhanced-select,#order_data .order_data_column .form-field-wide input,#order_data .order_data_column .form-field-wide select,#order_data .order_data_column .form-field-wide textarea{width:100%}#order_data .order_data_column p.none_set{color:#999}#order_data .order_data_column ._billing_address_1_field,#order_data .order_data_column ._billing_city_field,#order_data .order_data_column ._billing_country_field,#order_data .order_data_column ._billing_email_field,#order_data .order_data_column ._billing_first_name_field,#order_data .order_data_column ._shipping_address_1_field,#order_data .order_data_column ._shipping_city_field,#order_data .order_data_column ._shipping_country_field,#order_data .order_data_column ._shipping_first_name_field{float:left}#order_data .order_data_column ._billing_address_2_field,#order_data .order_data_column ._billing_last_name_field,#order_data .order_data_column ._billing_phone_field,#order_data .order_data_column ._billing_postcode_field,#order_data .order_data_column ._billing_state_field,#order_data .order_data_column ._shipping_address_2_field,#order_data .order_data_column ._shipping_last_name_field,#order_data .order_data_column ._shipping_postcode_field,#order_data .order_data_column ._shipping_state_field,#order_data .order_data_column .wc-customer-user label a,#order_data .order_data_column .wc-order-status label a{float:right}#order_data .order_data_column ._billing_company_field,#order_data .order_data_column ._shipping_company_field,#order_data .order_data_column ._transaction_id_field{clear:both;width:100%}#order_data .order_data_column ._billing_email_field{clear:left}#order_data .order_data_column div.edit_address{display:none;zoom:1;padding-right:1px}#order_data .order_data_column .billing-same-as-shipping,#order_data .order_data_column .load_customer_billing,#order_data .order_data_column .load_customer_shipping,#order_data .order_data_column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}#order_data .order_data_column .billing-same-as-shipping:focus,#order_data .order_data_column .billing-same-as-shipping:hover,#order_data .order_data_column .load_customer_billing:focus,#order_data .order_data_column .load_customer_billing:hover,#order_data .order_data_column .load_customer_shipping:focus,#order_data .order_data_column .load_customer_shipping:hover,#order_data .order_data_column a.edit_address:focus,#order_data .order_data_column a.edit_address:hover{color:#000}#order_data .order_data_column .billing-same-as-shipping:after,#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after,#order_data .order_data_column a.edit_address:after{font-family:WooCommerce;position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;-webkit-font-smoothing:antialiased}#order_data .order_data_column .billing-same-as-shipping:after{content:"\e008"}#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after{content:"\e03a"}#order_data .order_data_column a.edit_address:after{content:"\e603"}.order_actions{margin:0;overflow:hidden;zoom:1}.order_actions li{border-top:1px solid #fff;border-bottom:1px solid #ddd;padding:6px 0;margin:0;line-height:1.6em;float:left;width:50%;text-align:center}.order_actions li a{float:none;text-align:center;text-decoration:underline}.order_actions li.wide{width:auto;float:none;clear:both;padding:6px;text-align:left;overflow:hidden}.order_actions li #delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left}.order_actions li .save_order{float:right}.order_actions li#actions{overflow:hidden}.order_actions li#actions .button{width:24px;box-sizing:border-box;float:right}.order_actions li#actions select{width:225px;box-sizing:border-box;float:left}#woocommerce-order-items .inside{margin:0;padding:0;background:#fefefe}#woocommerce-order-items .wc-order-data-row{border-bottom:1px solid #DFDFDF;padding:12px;background:#f8f8f8;line-height:2em;text-align:right}#woocommerce-order-items .wc-order-data-row:after,#woocommerce-order-items .wc-order-data-row:before{content:" ";display:table}#woocommerce-order-items .wc-order-data-row:after{clear:both}#woocommerce-order-items .wc-order-data-row p{margin:0;line-height:2em}#woocommerce-order-items .wc-order-data-row .wc-used-coupons{text-align:left}#woocommerce-order-items .wc-order-data-row .wc-used-coupons .tips{display:inline-block}#woocommerce-order-items .wc-order-bulk-actions{background:#fefefe;vertical-align:top;border-top:0}#woocommerce-order-items .wc-order-bulk-actions select{vertical-align:top}#woocommerce-order-items .wc-order-bulk-actions p.bulk-actions{float:left}#woocommerce-order-items .wc-order-add-item{background:#fff;vertical-align:top;border-top:none}#woocommerce-order-items .wc-order-add-item .add_item_id,#woocommerce-order-items .wc-order-add-item .select2-container{vertical-align:top}#woocommerce-order-items .wc-order-add-item .add_item_id .search-field input,#woocommerce-order-items .wc-order-add-item .select2-container .search-field input{min-width:100px}#woocommerce-order-items .wc-order-add-item .select2-container{width:400px!important;text-align:left}#woocommerce-order-items .wc-order-add-item .calculate-action,#woocommerce-order-items .wc-order-add-item .cancel-action,#woocommerce-order-items .wc-order-add-item .save-action{float:left;margin-right:2px}#woocommerce-order-items .wc-used-coupons{float:left;width:50%}#woocommerce-order-items .wc-order-totals{float:right;width:50%;margin:0;padding:0}#woocommerce-order-items .wc-order-totals .amount{font-weight:700}#woocommerce-order-items .wc-order-totals .label{vertical-align:top}#woocommerce-order-items .wc-order-totals .total{font-size:1em!important;width:10em;margin:0 0 0 .5em;box-sizing:border-box}#woocommerce-order-items .wc-order-totals .total input[type=text]{width:96%;float:right}#woocommerce-order-items .wc-order-totals .refunded-total{color:#a00}#woocommerce-order-items .refund-actions{margin-top:5px;padding-top:12px;border-top:1px solid #DFDFDF}#woocommerce-order-items .refund-actions .button{float:right;margin-left:4px}#woocommerce-order-items .refund-actions .cancel-action{float:left;margin-left:0}#woocommerce-order-items .add_meta{margin-left:0!important}#woocommerce-order-items h3 small{color:#999}#woocommerce-order-items .amount{white-space:nowrap}#woocommerce-order-items .add-items .description{margin-right:10px}.woocommerce_order_items_wrapper{margin:0;overflow:auto}.woocommerce_order_items_wrapper table.woocommerce_order_items{width:100%;background:#fff}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th{background:#f8f8f8;padding:8px;font-size:11px;text-align:left;color:#555;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th.sortable{cursor:pointer}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th,.woocommerce_order_items_wrapper table.woocommerce_order_items td{padding:8px;text-align:left;line-height:26px;vertical-align:top;border-bottom:1px dotted #ececec}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th select,.woocommerce_order_items_wrapper table.woocommerce_order_items td select{width:50%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th input,.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td input,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{font-size:14px;padding:4px;color:#555}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:first-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:last-child td{border-bottom:1px solid #dfdfdf}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:first-child td{border-top:8px solid #f8f8f8}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody#order_line_items tr:first-child td{border-top:none}.woocommerce_order_items_wrapper table.woocommerce_order_items td.check-column{padding:8px 8px 8px 12px;width:1%}.woocommerce_order_items_wrapper table.woocommerce_order_items .item{min-width:200px}.woocommerce_order_items_wrapper table.woocommerce_order_items .center,.woocommerce_order_items_wrapper table.woocommerce_order_items .variation-id{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class{text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label{white-space:nowrap;color:#999;font-size:.833em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label input{display:inline}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class input{width:70px;vertical-align:middle;text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class select{width:85px;height:26px;vertical-align:middle;font-size:1em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input{display:block;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);margin:1px;width:70px}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input{width:100%;box-sizing:border-box;border:0;box-shadow:none;margin:0;color:#555;background:0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input:last-child{color:#bbb;border-top:1px dashed #ddd}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .view{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class del{color:#ccc}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input{text-align:center;width:50px}.woocommerce_order_items_wrapper table.woocommerce_order_items span.subtotal{opacity:.5}.woocommerce_order_items_wrapper table.woocommerce_order_items td.tax_class,.woocommerce_order_items_wrapper table.woocommerce_order_items th.tax_class{text-align:left}.woocommerce_order_items_wrapper table.woocommerce_order_items .calculated{border-color:#ae8ca2;border-style:dotted}.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{margin:.5em 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th{border:0;padding:0 4px .5em 0;line-height:1.5em;width:20%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td{padding:0 4px .5em 0;border:0;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input{width:100%;margin:0;position:relative;border-bottom:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea{width:100%;height:4em;margin:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input:focus+textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input:focus+textarea{border-top-color:#999}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p{margin:0 0 .5em;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p:last-child{margin:0}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb{text-align:left;width:27px}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before,.wc-order-items-editable .edit-order-item:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb a{display:block}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb img{padding:1px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:21px;height:21px}.woocommerce_order_items_wrapper table.woocommerce_order_items .refund_by,ul.order_notes li p.meta .exact-date{border-bottom:1px dotted #999}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{padding:8px 16px 8px 8px}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:12px;visibility:hidden;float:right;margin:2px -16px 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";color:#fff;background-color:#000;-webkit-border-radius:100%;border-radius:100%;border:1px solid #000;box-shadow:0 1px 2px rgba(0,0,0,.2)}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:hover:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:hover:before{border-color:#a00;background-color:#a00}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax:hover .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax:hover .delete-order-tax{visibility:visible}.woocommerce_order_items_wrapper table.woocommerce_order_items small.refunded{display:block;color:#a00;white-space:nowrap}.wc-order-items-editable .edit-order-item{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0 .5em 0 0}.wc-order-items-editable .edit-order-item:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e603";color:#999}.wc-order-items-editable .edit-order-item:hover:before{color:#555}.wc-order-items-editable .delete-order-item,.wc-order-items-editable .delete_refund{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e013";color:#999}.wc-order-items-editable .delete-order-item:hover:before,.wc-order-items-editable .delete_refund:hover:before{color:#a00}.wc-order-items-editable .wc-order-edit-line-item-actions{width:2.5em;text-align:right}.wc-order-items-editable .wc-order-totals .wc-order-edit-line-item-actions{width:1.5em}.wc-order-items-editable .wc-order-totals .edit-order-item{margin:0}#woocommerce-order-downloads .buttons{float:left;padding:0;margin:0;vertical-align:top}#woocommerce-order-downloads .buttons .add_item_id,#woocommerce-order-downloads .buttons .select2-container{width:400px!important;margin-right:9px;vertical-align:top;float:left}#woocommerce-order-downloads .buttons button{margin:2px 0 0}#woocommerce-order-downloads h3 small{color:#999}#poststuff #woocommerce-order-actions .inside{margin:0;padding:0}#poststuff #woocommerce-order-actions .inside ul.order_actions li{padding:6px 10px;box-sizing:border-box}#poststuff #woocommerce-order-actions .inside ul.order_actions li:last-child{border-bottom:0}#poststuff #woocommerce-order-notes .inside{margin:0;padding:0}#poststuff #woocommerce-order-notes .inside ul.order_notes li{padding:0 10px}#woocommerce_customers p.search-box{margin:6px 0 4px;float:left}#woocommerce_customers .tablenav{float:right;clear:none}.widefat.customers td{vertical-align:middle;padding:4px 7px}.widefat .column-order_title{width:15%}.widefat .column-order_title time{display:block;color:#999;margin:3px 0}.widefat .column-orders,.widefat .column-paying,.widefat .column-spent{text-align:center;width:8%}.widefat .column-last_order{width:11%}.widefat .column-order_actions,.widefat .column-user_actions,.widefat .column-wc_actions{width:110px}.widefat .column-order_actions a.button,.widefat .column-user_actions a.button,.widefat .column-wc_actions a.button{float:left;margin:0 4px 2px 0;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-order_actions a.button img,.widefat .column-user_actions a.button img,.widefat .column-wc_actions a.button img{display:block;width:12px;height:auto}.widefat small.meta{display:block;color:#999;font-size:inherit;margin:3px 0}.widefat .column-order_date,.widefat .column-order_total{width:9%}.widefat .column-order_status{width:45px;text-align:center}.widefat .column-order_status mark{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;background:0 0;font-size:1.4em;margin:0 auto}.widefat .column-order_status mark.cancelled:after,.widefat .column-order_status mark.completed:after,.widefat .column-order_status mark.failed:after,.widefat .column-order_status mark.on-hold:after,.widefat .column-order_status mark.pending:after,.widefat .column-order_status mark.processing:after,.widefat .column-order_status mark.refunded:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.column-customer_message .note-on:after,.column-order_notes .note-on:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;line-height:16px;font-family:WooCommerce}.widefat .column-order_status mark.pending:after{content:"\e012";color:#ffba00}.widefat .column-order_status mark.completed:after{content:"\e015";color:#2ea2cc}.widefat .column-order_status mark.on-hold:after{content:"\e033";color:#999}.widefat .column-order_status mark.failed:after{content:"\e016";color:#d0c21f}.widefat .column-order_status mark.cancelled:after{content:"\e013";color:#a00}.widefat .column-order_status mark.processing:after{content:"\e011";color:#73a724}.widefat .column-order_status mark.refunded:after{content:"\e014";color:#999}.widefat td.column-order_status{padding-top:9px}.column-customer_message .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-customer_message .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.column-order_notes .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-order_notes .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.attributes-table .attribute-actions .configure-terms:after,.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after,.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;line-height:1.85;margin:0;text-align:center;font-weight:400}.order_actions .complete,.order_actions .processing,.order_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.order_actions .processing:after{content:"\e00f"}.order_actions .complete:after{content:"\e017"}.order_actions .view:after{content:"\e010"}.user_actions .edit,.user_actions .link,.user_actions .refresh,.user_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.user_actions .edit:after{content:"\e603"}.user_actions .link:after{content:"\e00d"}.user_actions .view:after{content:"\e010"}.user_actions .refresh:after{content:"\e031"}.attributes-table td,.attributes-table th{width:15%;vertical-align:top}.attributes-table .attribute-terms{width:32%}.attributes-table .attribute-actions{width:2em}.attributes-table .attribute-actions .configure-terms{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.attributes-table .attribute-actions .configure-terms:after{text-indent:0;position:absolute;width:100%;height:100%;content:"";font-family:Dashicons}ul.order_notes{padding:2px 0 0}ul.order_notes li .note_content{padding:10px;background:#efefef;position:relative}ul.order_notes li .note_content p{margin:0;padding:0;word-wrap:break-word}ul.order_notes li p.meta{padding:10px;color:#999;margin:0;font-size:11px}ul.order_notes li a.delete_note{color:#a00}table.wp-list-table .row-actions,table.wp-list-table span.na{color:#999}ul.order_notes li .note_content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-width:10px 10px 0 0;border-style:solid;border-color:#efefef transparent}ul.order_notes li.customer-note .note_content{background:#d7cad2}ul.order_notes li.customer-note .note_content:after{border-color:#d7cad2 transparent}.add_note{border-top:1px solid #ddd;padding:10px 10px 0}.add_note h4{margin-top:5px!important}.add_note #add_order_note{width:100%;height:50px}table.wp-list-table .column-thumb{width:52px;text-align:center;white-space:nowrap}table.wp-list-table .column-name{width:22%}table.wp-list-table .column-product_cat,table.wp-list-table .column-product_tag{width:11%!important}table.wp-list-table .column-featured,table.wp-list-table .column-product_type{width:48px;text-align:left!important}table.wp-list-table .column-customer_message,table.wp-list-table .column-order_notes{width:48px;text-align:center}table.wp-list-table .column-customer_message img,table.wp-list-table .column-order_notes img{margin:0 auto;padding-top:0!important}table.wp-list-table .manage-column.column-featured img,table.wp-list-table .manage-column.column-product_type img{padding-left:2px}table.wp-list-table .column-price .woocommerce-price-suffix{display:none}table.wp-list-table img{margin:1px 2px}table.wp-list-table td.column-thumb img{margin:0;width:auto;height:auto;max-width:40px;max-height:40px;vertical-align:middle}table.wp-list-table .column-is_in_stock{text-align:left!important}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after,table.wp-list-table span.product-type:before,table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{text-align:center;line-height:1;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0}table.wp-list-table span.wc-featured,table.wp-list-table span.wc-image,table.wp-list-table span.wc-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.wc-featured{margin:0;cursor:pointer}table.wp-list-table span.wc-featured:before{content:"\e020"}table.wp-list-table span.wc-featured.not-featured:before{content:"\e021"}table.wp-list-table td.column-featured span.wc-featured{font-size:1.2em}table.wp-list-table span.wc-type{margin:0}table.wp-list-table span.wc-type:before{content:"\e01d"}table.wp-list-table span.product-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.2em}table.wp-list-table span.product-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.product-type.grouped:before{content:"\e002"}table.wp-list-table span.product-type.external:before{content:"\e034"}table.wp-list-table span.product-type.variable:before{content:"\e003"}table.wp-list-table span.product-type.downloadable:before{content:"\e001"}table.wp-list-table span.product-type.virtual:before{content:"\e000"}table.wp-list-table mark.instock{font-weight:700;color:#7ad03a;background:0 0;line-height:1}table.wp-list-table mark.outofstock{font-weight:700;color:#a44;background:0 0;line-height:1}table.wp-list-table .notes_head,table.wp-list-table .order-notes_head,table.wp-list-table .status_head{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%}table.wc_emails .wc-email-settings-table-name,table.wc_emails td.name,table.wc_gateways .wc-email-settings-table-name,table.wc_gateways td.name,table.wc_shipping .wc-email-settings-table-name,table.wc_shipping td.name{font-weight:700}table.wp-list-table .order-notes_head:after{content:"\e028"}table.wp-list-table .notes_head:after{content:"\e026"}table.wp-list-table .status_head:after{content:"\e011"}table.wp-list-table .column-order_items{width:12%}table.wp-list-table .column-order_items table.order_items{width:100%;margin:3px 0 0;padding:0;display:none}table.wp-list-table .column-order_items table.order_items td{border:0;margin:0;padding:0 0 3px}table.wp-list-table .column-order_items table.order_items td.qty{color:#999;padding-right:6px;text-align:left}mark.notice{background:#fff;color:#a00;margin:0 0 0 10px}a.export_rates,a.import_rates{float:right;margin-left:9px;margin-top:-2px;margin-bottom:0}#rates-search{float:right}#rates-search input.wc-tax-rates-search-field{padding:4px 8px;font-size:1.2em}table.wc_input_table,table.wc_tax_rates{width:100%}table.wc_input_table span.tips,table.wc_tax_rates span.tips{color:#2ea2cc}table.wc_input_table td,table.wc_tax_rates td{padding:0;border-right:1px solid #DFDFDF;border-bottom:1px solid #DFDFDF;border-top:0;background:#fff}table.wc_input_table td input[type=text],table.wc_input_table td input[type=number],table.wc_tax_rates td input[type=text],table.wc_tax_rates td input[type=number]{width:100%;padding:5px 7px;margin:0;border:0;background:0 0}table.wc_input_table td.apply_to_shipping,table.wc_input_table td.compound,table.wc_tax_rates td.apply_to_shipping,table.wc_tax_rates td.compound{padding:5px 7px;vertical-align:middle}table.wc_input_table td.apply_to_shipping input,table.wc_input_table td.compound input,table.wc_tax_rates td.apply_to_shipping input,table.wc_tax_rates td.compound input{width:auto;padding:0}table.wc_input_table td:last-child,table.wc_tax_rates td:last-child{border-right:0}table.wc_input_table tr.current td,table.wc_tax_rates tr.current td{background-color:#fefbcc}table.wc_input_table .cost,table.wc_input_table .cost input,table.wc_input_table .item_cost,table.wc_input_table .item_cost input,table.wc_tax_rates .cost,table.wc_tax_rates .cost input,table.wc_tax_rates .item_cost,table.wc_tax_rates .item_cost input{text-align:right}table.wc_input_table th.sort,table.wc_tax_rates th.sort{width:17px;padding:0 4px}table.wc_input_table td.sort,table.wc_tax_rates td.sort{padding:0 4px}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort{cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before{color:#333}table.wc_input_table .button,table.wc_tax_rates .button{float:left;margin-right:5px}table.wc_input_table .export,table.wc_input_table .import,table.wc_tax_rates .export,table.wc_tax_rates .import{float:right;margin-right:0;margin-left:5px}table.wc_input_table span.tips,table.wc_tax_rates span.tips{padding:0 3px}table.wc_input_table .pagination,table.wc_tax_rates .pagination{float:right}table.wc_input_table .pagination .button,table.wc_tax_rates .pagination .button{margin-left:5px;margin-right:0}table.wc_input_table .pagination .current,table.wc_tax_rates .pagination .current{background:#bbb;text-shadow:none}table.wc_input_table tfoot th,table.wc_tax_rates tfoot th{padding-left:20px;padding-right:20px}table.wc_input_table tr:last-child td,table.wc_tax_rates tr:last-child td{border-bottom:0}table.wc_emails,table.wc_gateways,table.wc_shipping{position:relative}table.wc_emails td,table.wc_gateways td,table.wc_shipping td{vertical-align:middle;padding:7px;line-height:2em}table.wc_emails tr:nth-child(odd) td,table.wc_gateways tr:nth-child(odd) td,table.wc_shipping tr:nth-child(odd) td{background:#f9f9f9}table.wc_emails th,table.wc_gateways th,table.wc_shipping th{padding:9px 7px!important;vertical-align:middle}table.wc_emails .settings,table.wc_gateways .settings,table.wc_shipping .settings{text-align:right}table.wc_emails .default,table.wc_emails .radio,table.wc_emails .status,table.wc_gateways .default,table.wc_gateways .radio,table.wc_gateways .status,table.wc_shipping .default,table.wc_shipping .radio,table.wc_shipping .status{text-align:center}table.wc_emails .default .tips,table.wc_emails .radio .tips,table.wc_emails .status .tips,table.wc_gateways .default .tips,table.wc_gateways .radio .tips,table.wc_gateways .status .tips,table.wc_shipping .default .tips,table.wc_shipping .radio .tips,table.wc_shipping .status .tips{margin:0 auto}table.wc_emails .default input,table.wc_emails .radio input,table.wc_emails .status input,table.wc_gateways .default input,table.wc_gateways .radio input,table.wc_gateways .status input,table.wc_shipping .default input,table.wc_shipping .radio input,table.wc_shipping .status input{margin:0}table.wc_emails th.sort,table.wc_gateways th.sort,table.wc_shipping th.sort{width:28px;padding:0}table.wc_emails td.sort,table.wc_gateways td.sort,table.wc_shipping td.sort{padding:0 7px;cursor:move;text-align:center;vertical-align:middle}table.wc_emails td.sort:before,table.wc_gateways td.sort:before,table.wc_shipping td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#ccc;display:block;width:17px;float:left;height:100%}table.wc_emails .wc-email-settings-table-name span,table.wc_gateways .wc-email-settings-table-name span,table.wc_shipping .wc-email-settings-table-name span{font-weight:400;color:#999;margin:0 0 0 4px!important}table.wc_emails .wc-email-settings-table-status,table.wc_gateways .wc-email-settings-table-status,table.wc_shipping .wc-email-settings-table-status{text-align:center;width:1em}table.wc_emails .wc-email-settings-table-status .tips,table.wc_gateways .wc-email-settings-table-status .tips,table.wc_shipping .wc-email-settings-table-status .tips{margin:0 auto}table.wc_emails .wc-email-settings-table-actions a,table.wc_gateways .wc-email-settings-table-actions a,table.wc_shipping .wc-email-settings-table-actions a{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}table.wc_emails .wc-email-settings-table-actions a:after,table.wc_gateways .wc-email-settings-table-actions a:after,table.wc_shipping .wc-email-settings-table-actions a:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-family:Dashicons;line-height:1.85}img.help_tip{margin:0 0 0 9px;vertical-align:middle}.postbox img.help_tip{margin-top:0}.postbox .woocommerce-help-tip{margin:0 0 0 9px}.status-enabled,.status-manual{font-size:1.4em;display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.status-enabled:before,.status-manual:before{line-height:1;margin:0;position:absolute;width:100%;height:100%;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-indent:0;top:0;left:0;text-align:center}.status-manual:before{content:"";color:#999}.status-enabled:before{content:"";color:#a46497}.woocommerce .woo-nav-tab-wrapper{margin-bottom:16px!important}.woocommerce .subsubsub{margin:-8px 0 0}.woocommerce #template div{margin:0}.woocommerce #template div p .button{float:right;margin-left:10px;margin-top:-4px}.woocommerce #template div .editor textarea{margin-bottom:8px}.woocommerce textarea[disabled=disabled]{background:#DFDFDF!important}.woocommerce table.form-table{margin:0;position:relative}.woocommerce table.form-table .forminp-radio ul{margin:0}.woocommerce table.form-table .forminp-radio ul li{line-height:1.4em}.woocommerce table.form-table textarea.input-text{height:100%;min-width:150px;display:block}.woocommerce table.form-table input.regular-input{width:25em}.woocommerce table.form-table textarea.wide-input{width:100%}.woocommerce table.form-table .woocommerce-help-tip,.woocommerce table.form-table img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}.woocommerce table.form-table span.help_tip{cursor:help;color:#2ea2cc}.woocommerce table.form-table th{position:relative;padding-right:24px}.woocommerce table.form-table .select2-container{display:block;max-width:350px;vertical-align:top;margin-bottom:3px}.woocommerce table.form-table table.widefat th{padding-right:inherit}.woocommerce table.form-table th .woocommerce-help-tip,.woocommerce table.form-table th img.help_tip{margin:0 -24px 0 0;float:right}.woocommerce table.form-table .wp-list-table .woocommerce-help-tip{float:none}.woocommerce table.form-table fieldset{margin-top:4px}.woocommerce table.form-table fieldset .woocommerce-help-tip,.woocommerce table.form-table fieldset img.help_tip{margin:-3px 0 0 5px}.woocommerce table.form-table fieldset p.description{margin-bottom:8px}.woocommerce table.form-table fieldset:first-child{margin-top:0}.woocommerce table.form-table .iris-picker{z-index:100;display:none;position:absolute;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.woocommerce table.form-table .iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:none!important}.woocommerce table.form-table .iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.woocommerce table.form-table .colorpickpreview{padding:3px 3px 3px 20px;border:1px solid #ddd;border-right:0}.woocommerce table.form-table .colorpick{border-left:0}.woocommerce table.form-table .image_width_settings{vertical-align:middle}.woocommerce table.form-table .image_width_settings label{margin-left:10px}.woocommerce table.form-table .wc_emails_wrapper{padding:0 15px 10px 0}.woocommerce #tabs-wrap table a.remove{margin-left:4px}.woocommerce #tabs-wrap table p{margin:0 0 4px!important;overflow:hidden;zoom:1}.woocommerce #tabs-wrap table p a.add{float:left}#wp-excerpt-editor-container{background:#fff}#product_variation-parent #parent_id{width:100%}#postimagediv img{border:1px solid #d5d5d5;max-width:100%}#woocommerce-product-images .inside{margin:0;padding:0}#woocommerce-product-images .inside .add_product_images{padding:0 12px 12px}#woocommerce-product-images .inside #product_images_container{padding:0 0 0 9px}#woocommerce-product-images .inside #product_images_container ul{margin:0;padding:0}#woocommerce-product-images .inside #product_images_container ul:after,#woocommerce-product-images .inside #product_images_container ul:before{content:" ";display:table}#woocommerce-product-images .inside #product_images_container ul:after{clear:both}#woocommerce-product-images .inside #product_images_container ul li.add,#woocommerce-product-images .inside #product_images_container ul li.image,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{width:80px;float:left;cursor:move;border:1px solid #d5d5d5;margin:9px 9px 0 0;background:#f7f7f7;border-radius:2px;position:relative;box-sizing:border-box}#woocommerce-product-images .inside #product_images_container ul li.add img,#woocommerce-product-images .inside #product_images_container ul li.image img,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder img{width:100%;height:auto;display:block}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{border:3px dashed #ddd;position:relative}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-size:2.618em;line-height:72px;color:#ddd}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before,#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{line-height:1;color:#fff;background-color:#000;font-family:WooCommerce;font-weight:400;font-variant:normal;-webkit-font-smoothing:antialiased;text-align:center;left:0;speak:none;text-transform:none}#woocommerce-product-images .inside #product_images_container ul ul.actions{position:absolute;top:-8px;right:-8px;padding:2px;display:none}#woocommerce-product-images .inside #product_images_container ul ul.actions li{float:right;margin:0 0 0 2px}#woocommerce-product-images .inside #product_images_container ul ul.actions li a{width:1em;margin:0;height:0;display:block;overflow:hidden}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.tips{cursor:pointer}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:""}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:"";border-radius:100%;box-shadow:0 1px 2px rgba(0,0,0,.2)}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:hover before{background-color:#a00}#woocommerce-product-images .inside #product_images_container ul li:hover ul.actions{display:block}#woocommerce-product-data .hndle{padding:10px}#woocommerce-product-data .hndle span{display:block;vertical-align:middle;line-height:24px}#woocommerce-product-data .hndle span span{display:inline;line-height:inherit;vertical-align:baseline}#woocommerce-product-data .hndle label{padding-right:1em;font-size:12px;vertical-align:baseline}#woocommerce-product-data .hndle label:first-child{margin-right:1em;border-right:1px solid #dfdfdf}#woocommerce-product-data .hndle input,#woocommerce-product-data .hndle select{margin:-3px 0 0 .5em;vertical-align:middle}#woocommerce-product-data>.handlediv{margin-top:4px}#woocommerce-product-data .wrap{margin:0}#woocommerce-coupon-description{padding:3px 8px;font-size:1.7em;line-height:1.42em;height:auto;width:100%;outline:0;margin:10px 0;display:block}#woocommerce-coupon-description::-webkit-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description::-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-ms-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap{background:#fff}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{float:left;width:80%}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-product-data .woocommerce_options_panel .wc-radios{display:block;float:left;margin:0}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-product-data .woocommerce_options_panel .wc-radios li{display:block;padding:0 0 10px}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li input,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-product-data .woocommerce_options_panel .wc-radios li input{width:auto}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap,.woocommerce .panel-wrap{overflow:hidden}#woocommerce-coupon-data ul.wc-tabs,#woocommerce-product-data ul.wc-tabs,.woocommerce ul.wc-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#woocommerce-coupon-data ul.wc-tabs:after,#woocommerce-product-data ul.wc-tabs:after,.woocommerce ul.wc-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li,#woocommerce-product-data ul.wc-tabs li,.woocommerce ul.wc-tabs li{margin:0;padding:0;display:block;position:relative}#woocommerce-coupon-data ul.wc-tabs li a,#woocommerce-product-data ul.wc-tabs li a,.woocommerce ul.wc-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li a:before,#woocommerce-product-data ul.wc-tabs li a:before,.woocommerce ul.wc-tabs li a:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}#woocommerce-coupon-data ul.wc-tabs li.general_options a:before,#woocommerce-product-data ul.wc-tabs li.general_options a:before,.woocommerce ul.wc-tabs li.general_options a:before{content:"\e006"}#woocommerce-coupon-data ul.wc-tabs li.inventory_options a:before,#woocommerce-product-data ul.wc-tabs li.inventory_options a:before,.woocommerce ul.wc-tabs li.inventory_options a:before{content:"\e02c"}#woocommerce-coupon-data ul.wc-tabs li.shipping_options a:before,#woocommerce-product-data ul.wc-tabs li.shipping_options a:before,.woocommerce ul.wc-tabs li.shipping_options a:before{content:"\e01a"}#woocommerce-coupon-data ul.wc-tabs li.linked_product_options a:before,#woocommerce-product-data ul.wc-tabs li.linked_product_options a:before,.woocommerce ul.wc-tabs li.linked_product_options a:before{content:"\e00d"}#woocommerce-coupon-data ul.wc-tabs li.attribute_options a:before,#woocommerce-product-data ul.wc-tabs li.attribute_options a:before,.woocommerce ul.wc-tabs li.attribute_options a:before{content:"\e02b"}#woocommerce-coupon-data ul.wc-tabs li.advanced_options a:before,#woocommerce-product-data ul.wc-tabs li.advanced_options a:before,.woocommerce ul.wc-tabs li.advanced_options a:before{content:"\f111";font-family:Dashicons}#woocommerce-coupon-data ul.wc-tabs li.variation_options a:before,#woocommerce-product-data ul.wc-tabs li.variation_options a:before,.woocommerce ul.wc-tabs li.variation_options a:before{content:"\e003"}#woocommerce-coupon-data ul.wc-tabs li.usage_restriction_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_restriction_options a:before,.woocommerce ul.wc-tabs li.usage_restriction_options a:before{content:"\e602"}#woocommerce-coupon-data ul.wc-tabs li.usage_limit_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_limit_options a:before,.woocommerce ul.wc-tabs li.usage_limit_options a:before{content:"\e601"}#woocommerce-coupon-data ul.wc-tabs li.general_coupon_data a:before,#woocommerce-product-data ul.wc-tabs li.general_coupon_data a:before,.woocommerce ul.wc-tabs li.general_coupon_data a:before{content:"\e600"}#woocommerce-coupon-data ul.wc-tabs li.active a,#woocommerce-product-data ul.wc-tabs li.active a,.woocommerce ul.wc-tabs li.active a{color:#555;position:relative;background-color:#eee}.woocommerce_page_wc-settings .shippingrows th.check-column{padding-top:20px}.woocommerce_page_wc-settings .shippingrows tfoot th{padding-left:10px}.woocommerce_page_wc-settings .shippingrows .add.button:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce_page_wc-settings h3.wc-settings-sub-title{font-size:1.2em}#woocommerce-coupon-data .inside,#woocommerce-order-data .inside,#woocommerce-order-downloads .inside,#woocommerce-product-data .inside,#woocommerce-product-type-options .inside{margin:0;padding:0}.panel,.woocommerce_options_panel{padding:9px;color:#555}.panel,.woocommerce_page_settings .woocommerce_options_panel{padding:0}#woocommerce-product-specs .inside,#woocommerce-product-type-options .panel{margin:0;padding:9px}#woocommerce-product-type-options .panel p,.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p{margin:0 0 9px;font-size:12px;padding:5px 9px;line-height:24px}#woocommerce-product-type-options .panel p:after,.woocommerce_options_panel fieldset.form-field:after,.woocommerce_options_panel p:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce_options_panel .checkbox,.woocommerce_variable_attributes .checkbox{width:auto;margin:3px 0;vertical-align:middle}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{width:100%;padding:0!important}.woocommerce_options_panel .downloadable_files table th,.woocommerce_variations .downloadable_files table th{padding:7px 0 7px 7px!important}.woocommerce_options_panel .downloadable_files table td,.woocommerce_variations .downloadable_files table td{vertical-align:middle!important;padding:4px 0 4px 7px!important;position:relative}.woocommerce_options_panel .downloadable_files table td:last-child,.woocommerce_variations .downloadable_files table td:last-child{padding-right:7px!important}.woocommerce_options_panel .downloadable_files table td input.input_text,.woocommerce_variations .downloadable_files table td input.input_text{width:100%;float:none;margin:1px 0;min-width:0}.woocommerce_options_panel .downloadable_files table td .upload_file_button,.woocommerce_variations .downloadable_files table td .upload_file_button{float:right;width:auto;cursor:pointer}.woocommerce_options_panel .downloadable_files table td .delete,.woocommerce_variations .downloadable_files table td .delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.woocommerce_options_panel .downloadable_files table td .delete:before,.woocommerce_variations .downloadable_files table td .delete:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";content:"\e013";color:#999}.woocommerce_options_panel .downloadable_files table td .delete:hover:before,.woocommerce_variations .downloadable_files table td .delete:hover:before{color:#a00}.woocommerce_options_panel .downloadable_files table th.sort,.woocommerce_variations .downloadable_files table th.sort{width:17px;padding:0}.woocommerce_options_panel .downloadable_files table td.sort,.woocommerce_variations .downloadable_files table td.sort{padding:0 8px;cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}.woocommerce_options_panel .downloadable_files table td.sort:before,.woocommerce_variations .downloadable_files table td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.woocommerce_options_panel .downloadable_files table td.sort:hover:before,.woocommerce_variations .downloadable_files table td.sort:hover:before{color:#333}.woocommerce_variation h3 .sort{cursor:move;text-align:center;float:right;height:26px;width:17px;visibility:hidden;vertical-align:middle;margin-right:.5em;color:#a0a5aa}.woocommerce_variation h3 .sort:before{content:"\e032";font-family:WooCommerce;text-align:center;cursor:move;display:block;width:17px;line-height:28px}.woocommerce_variation h3 .sort:hover{color:#777}.woocommerce_variation h3:hover .sort,.woocommerce_variation.ui-sortable-helper .sort{visibility:visible}.woocommerce_options_panel{min-height:175px;box-sizing:border-box}.woocommerce_options_panel .downloadable_files{padding:0 9px 0 162px;position:relative;margin:9px 0}.woocommerce_options_panel .downloadable_files label{position:absolute;left:0;margin:0 0 0 12px;line-height:24px}.woocommerce_options_panel p{margin:9px 0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px 5px 162px!important}.woocommerce_options_panel .sale_price_dates_fields .short:first-of-type{margin-bottom:1em}.woocommerce_options_panel .sale_price_dates_fields .short:nth-of-type(2){clear:left}.woocommerce_options_panel label,.woocommerce_options_panel legend{float:left;width:150px;padding:0;margin:0 0 0 -150px}.woocommerce_options_panel label .req,.woocommerce_options_panel legend .req{font-weight:700;font-style:normal;color:#a00}.woocommerce_options_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.woocommerce_options_panel .description-block{margin-left:0;display:block}.woocommerce_options_panel input,.woocommerce_options_panel select,.woocommerce_options_panel textarea{margin:0}.woocommerce_options_panel textarea{height:3.5em;line-height:1.5em;vertical-align:top}.woocommerce_options_panel input[type=text],.woocommerce_options_panel input[type=number],.woocommerce_options_panel input[type=email],.woocommerce_options_panel input[type=password]{width:50%;float:left}.woocommerce_options_panel input.button{width:auto;margin-left:8px}.woocommerce_options_panel select{float:left}.woocommerce_options_panel .short,.woocommerce_options_panel input[type=text].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=password].short{width:50%}.woocommerce_options_panel .sized{width:auto!important;margin-right:6px}.woocommerce_options_panel .options_group{border-top:1px solid #fff;border-bottom:1px solid #eee}.woocommerce_options_panel .options_group:first-child{border-top:0}.woocommerce_options_panel .options_group:last-child{border-bottom:0}.woocommerce_options_panel .options_group fieldset{margin:9px 0;font-size:12px;padding:5px 9px;line-height:24px}.woocommerce_options_panel .options_group fieldset label{width:auto;float:none}.woocommerce_options_panel .options_group fieldset ul{float:left;width:50%;margin:0;padding:0}.woocommerce_options_panel .options_group fieldset ul li{margin:0;width:auto}.woocommerce_options_panel .options_group fieldset ul li input{width:auto;float:none;margin-right:4px}.woocommerce_options_panel .options_group fieldset ul.wc-radios label{margin-left:0}.woocommerce_options_panel .dimensions_field .wrap{display:block;width:50%}.woocommerce_options_panel .dimensions_field .wrap input{width:30.75%;margin-right:3.8%}.woocommerce_options_panel .dimensions_field .wrap .last{margin-right:0}.woocommerce_options_panel.padded{padding:1em}#woocommerce-product-data input.dp-applied,.woocommerce_options_panel .select2-container{float:left}#grouped_product_options,#simple_product_options,#virtual_product_options{padding:12px;font-style:italic;color:#666}.wc-metaboxes-wrapper .toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #eee;padding:9px 12px!important}.wc-metaboxes-wrapper .toolbar:first-child{border-top:0}.wc-metaboxes-wrapper .toolbar:last-child{border-bottom:0}.wc-metaboxes-wrapper .toolbar .add_variation{float:right;margin-left:5px}.wc-metaboxes-wrapper .toolbar .cancel-variation-changes,.wc-metaboxes-wrapper .toolbar .save-variation-changes{float:left;margin-right:5px}.wc-metaboxes-wrapper p.toolbar{overflow:hidden;zoom:1}.wc-metaboxes-wrapper .expand-close{margin-right:2px;color:#777;font-size:12px;font-style:italic}.wc-metaboxes-wrapper .expand-close a{background:0 0;padding:0;font-size:12px;text-decoration:none}.wc-metaboxes-wrapper#product_attributes .expand-close{float:right;line-height:28px}.wc-metaboxes-wrapper .fr,.wc-metaboxes-wrapper button.add_variable_attribute{float:right;margin:0 0 0 6px}.wc-metaboxes-wrapper .wc-metaboxes{border-bottom:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin-bottom:9px;border-width:1px;border-style:dashed}.wc-metaboxes-wrapper .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.wc-metaboxes-wrapper .wc-metabox select{font-weight:400}.wc-metaboxes-wrapper .wc-metabox:last-of-type{border-bottom:0}.wc-metaboxes-wrapper .wc-metabox .handlediv{width:27px}.wc-metaboxes-wrapper .wc-metabox .handlediv:before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wc-metaboxes-wrapper .wc-metabox.closed{border-radius:3px}.wc-metaboxes-wrapper .wc-metabox.closed .handlediv:before{content:"\f140"!important}.wc-metaboxes-wrapper .wc-metabox.closed h3{border:0}.wc-metaboxes-wrapper .wc-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}.wc-metaboxes-wrapper .wc-metabox h3 a.delete,.wc-metaboxes-wrapper .wc-metabox h3 button{float:right}.wc-metaboxes-wrapper .wc-metabox h3 a.delete{color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative;visibility:hidden}.wc-metaboxes-wrapper .wc-metabox h3 strong{line-height:26px;font-weight:700}.wc-metaboxes-wrapper .wc-metabox h3 select{font-family:sans-serif;max-width:20%;margin:.25em .25em .25em 0}.wc-metaboxes-wrapper .wc-metabox h3 .handlediv{background-position:6px 5px!important;visibility:hidden;height:26px}.wc-metaboxes-wrapper .wc-metabox h3.fixed{cursor:pointer!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .handlediv,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .sort,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 a.delete{margin-top:.25em}.wc-metaboxes-wrapper .wc-metabox h3:hover .handlediv,.wc-metaboxes-wrapper .wc-metabox h3:hover a.delete,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper .handlediv,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper a.delete{visibility:visible}.wc-metaboxes-wrapper .wc-metabox table{width:100%;position:relative;background-color:#fdfdfd;padding:1em;border-top:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox table td{text-align:left;padding:0 6px 1em 0;vertical-align:top;border:0}.wc-metaboxes-wrapper .wc-metabox table td label{text-align:left;display:block;line-height:21px}.wc-metaboxes-wrapper .wc-metabox table td input{float:left;min-width:200px}.wc-metaboxes-wrapper .wc-metabox table td input,.wc-metaboxes-wrapper .wc-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}.wc-metaboxes-wrapper .wc-metabox table td .select2-container,.wc-metaboxes-wrapper .wc-metabox table td select{width:100%!important}.wc-metaboxes-wrapper .wc-metabox table td input.short{width:200px}.wc-metaboxes-wrapper .wc-metabox table td input.checkbox{width:16px;min-width:inherit;vertical-align:text-bottom;display:inline-block;float:none}.wc-metaboxes-wrapper .wc-metabox table td.attribute_name{width:200px}.wc-metaboxes-wrapper .wc-metabox table .minus,.wc-metaboxes-wrapper .wc-metabox table .plus{margin-top:6px}.wc-metaboxes-wrapper .wc-metabox table .fl{float:left}.wc-metaboxes-wrapper .wc-metabox table .fr{float:right}.variations-pagenav{float:right;line-height:24px}.variations-pagenav .displaying-num{color:#777;font-size:12px;font-style:italic}.variations-pagenav a{padding:0 10px 3px;background:rgba(0,0,0,.05);font-size:16px;font-weight:400;text-decoration:none}.variations-pagenav a.disabled,.variations-pagenav a.disabled:active,.variations-pagenav a.disabled:focus,.variations-pagenav a.disabled:hover{color:#A0A5AA;background:rgba(0,0,0,.05)}.variations-defaults{float:left}.variations-defaults select{margin:.25em .25em .25em 0}.woocommerce_variable_attributes{background-color:#fdfdfd;border-top:1px solid #eee}.woocommerce_variable_attributes .data{padding:1em 2em}.woocommerce_variable_attributes .data:after,.woocommerce_variable_attributes .data:before{content:" ";display:table}.woocommerce_variable_attributes .data:after{clear:both}.woocommerce_variable_attributes .upload_image_button{display:block;width:48px;height:48px;float:left;margin-right:20px;position:relative;cursor:pointer}.woocommerce_variable_attributes .upload_image_button img{width:100%;height:auto;display:none}.woocommerce_variable_attributes .upload_image_button:before{content:"\f128";font-family:Dashicons;position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:48px;font-size:48px;font-weight:400;-webkit-font-smoothing:antialiased}.woocommerce_variable_attributes .upload_image_button.remove img{display:block}.woocommerce_variable_attributes .upload_image_button.remove:before{content:"\f335";display:none}.woocommerce_variable_attributes .upload_image_button.remove:hover:before{display:block}.woocommerce_variable_attributes .options{border:1px solid #eee;border-width:1px 0;padding:.25em 0}.woocommerce_variable_attributes .options label{display:inline-block;padding:4px 1em 2px 0}.woocommerce_variable_attributes .options input[type=checkbox]{margin-top:5px;margin-right:3px}.form-row label{display:block}.form-row input[type=number],.form-row input[type=text],.form-row select{width:100%}.form-row.dimensions_field input{width:25%;float:left;margin-right:1%}.form-row.dimensions_field input:last-of-type{margin-right:0}.form-row-first,.form-row-last{width:48%;float:right}.form-row-first{clear:both;float:left}.form-row-full{clear:both}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:9999999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.wc_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wc_error_tip:after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}img.ui-datepicker-trigger{vertical-align:middle;margin-top:-1px;cursor:pointer}.wc-metabox-content img.ui-datepicker-trigger,.woocommerce_options_panel img.ui-datepicker-trigger{float:left;margin-right:8px;margin-top:4px;margin-left:4px}#ui-datepicker-div{display:none}.woocommerce-reports-wide.woocommerce-reports-wrap,.woocommerce-reports-wrap.woocommerce-reports-wrap{margin-left:300px;padding-top:18px}.woocommerce-reports-wide.halved,.woocommerce-reports-wrap.halved{margin:0;overflow:hidden;zoom:1}.woocommerce-reports-wide .widefat td,.woocommerce-reports-wrap .widefat td{vertical-align:top;padding:7px}.woocommerce-reports-wide .widefat td .description,.woocommerce-reports-wrap .widefat td .description{margin:4px 0 0}.woocommerce-reports-wide .postbox:after,.woocommerce-reports-wrap .postbox:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox h3,.woocommerce-reports-wrap .postbox h3{cursor:default!important}.woocommerce-reports-wide .postbox .inside,.woocommerce-reports-wrap .postbox .inside{padding:10px;margin:0!important}.woocommerce-reports-wide .postbox h3.stats_range,.woocommerce-reports-wrap .postbox h3.stats_range{border-bottom-color:#dfdfdf;margin:0;padding:0!important}.woocommerce-reports-wide .postbox h3.stats_range .export_csv,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv{float:right;line-height:26px;border-left:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range .export_csv:before,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;content:"";text-decoration:none;margin-right:4px}.woocommerce-reports-wide .postbox h3.stats_range ul,.woocommerce-reports-wrap .postbox h3.stats_range ul{list-style:none;margin:0;padding:0;zoom:1;background:#f5f5f5}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wide .postbox h3.stats_range ul:before,.woocommerce-reports-wrap .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:before{content:" ";display:table}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:after{clear:both}.woocommerce-reports-wide .postbox h3.stats_range ul li,.woocommerce-reports-wrap .postbox h3.stats_range ul li{float:left;margin:0;padding:0;line-height:26px}.woocommerce-reports-wide .postbox h3.stats_range ul li a,.woocommerce-reports-wrap .postbox h3.stats_range ul li a{border-right:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range ul li.active,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active{background:#fff;-webkit-box-shadow:0 4px 0 0 #fff;box-shadow:0 4px 0 0 #fff}.woocommerce-reports-wide .postbox h3.stats_range ul li.active a,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active a{color:#777}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom{padding:9px 10px;vertical-align:middle}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form{display:inline;margin:0}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form input.range_datepicker{padding:0;margin:0 10px 0 0;background:0 0;border:0;color:#777;text-align:center;-webkit-box-shadow:none;box-shadow:none}.woocommerce-reports-wide .postbox .chart-with-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar{padding:12px 12px 12px 249px;margin:0!important}.woocommerce-reports-wide .postbox .chart-with-sidebar .chart-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar .chart-sidebar{width:225px;margin-left:-237px;float:left}.woocommerce-reports-wide .postbox .chart-widgets,.woocommerce-reports-wrap .postbox .chart-widgets{margin:0;padding:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget{margin:0 0 1em;background:#fafafa;border:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4{background:#fff;border:1px solid #dfdfdf;border-left-width:0;border-right-width:0;padding:10px;margin:0;color:#2ea2cc;border-top-width:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr.active td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr.active td{background:#f5f5f5}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4.section_title:hover,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4.section_title:hover{color:#a00}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title{cursor:pointer}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span{display:block}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none;float:right;font-size:.9em;line-height:1.618}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open{color:#333}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open span:after{display:none}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section{border-bottom:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section .select2-container,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section .select2-container{width:100%!important}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section:last-of-type,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section:last-of-type{border-radius:0 0 3px 3px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td{padding:7px 10px;vertical-align:top;border-top:1px solid #e5e5e5;line-height:1.4em}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.sparkline,form.report_filters div,form.report_filters input,form.report_filters label,form.report_filters p{vertical-align:middle}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr:first-child td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr:first-child td{border-top:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name{max-width:175px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name a,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name a{word-wrap:break-word}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table .wc_sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table .wc_sparkline{width:32px;height:1em;display:block;float:right}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p{margin:0;padding:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p .submit{margin-top:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget #product_ids,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget #product_ids{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_none,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_none{float:right;color:#999;margin-left:4px;margin-top:10px}.woocommerce-reports-wide .postbox .chart-legend,.woocommerce-reports-wrap .postbox .chart-legend{list-style:none;margin:0 0 1em;padding:0;border:1px solid #dfdfdf;border-right-width:0;border-bottom-width:0;background:#fff}.woocommerce-reports-wide .postbox .chart-legend li,.woocommerce-reports-wrap .postbox .chart-legend li{border-right:5px solid #aaa;color:#aaa;padding:1em;display:block;margin:0;-webkit-transition:all ease .5s;box-shadow:inset 0 -1px 0 0 #dfdfdf}.woocommerce-reports-wide .postbox .chart-legend li strong,.woocommerce-reports-wrap .postbox .chart-legend li strong{font-size:1.618em;line-height:1.2em;color:#464646;font-weight:400;display:block;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif}.woocommerce-reports-wide .postbox .chart-legend li strong del,.woocommerce-reports-wrap .postbox .chart-legend li strong del{color:#e74c3c;font-weight:400}.woocommerce-reports-wide .postbox .chart-legend li:hover,.woocommerce-reports-wrap .postbox .chart-legend li:hover{box-shadow:inset 0 -1px 0 0 #dfdfdf,inset 300px 0 0 rgba(156,93,144,.1);border-right:5px solid #9c5d90!important;padding-left:1.5em;color:#9c5d90}.woocommerce-reports-wide .postbox .pie-chart-legend,.woocommerce-reports-wrap .postbox .pie-chart-legend{margin:12px 0 0;overflow:hidden}.woocommerce-reports-wide .postbox .pie-chart-legend li,.woocommerce-reports-wrap .postbox .pie-chart-legend li{float:left;margin:0;padding:6px 0 0;border-top:4px solid #999;text-align:center;box-sizing:border-box;width:50%}.woocommerce-reports-wide .postbox .stat,.woocommerce-reports-wrap .postbox .stat{font-size:1.5em!important;font-weight:700;text-align:center}.woocommerce-reports-wide .postbox .chart-placeholder,.woocommerce-reports-wrap .postbox .chart-placeholder{width:100%;height:650px;overflow:hidden;position:relative}.woocommerce-reports-wide .postbox .chart-prompt,.woocommerce-reports-wrap .postbox .chart-prompt{line-height:650px;margin:0;color:#999;font-size:1.2em;font-style:italic;text-align:center}.woocommerce-reports-wide .postbox .chart-container,.woocommerce-reports-wrap .postbox .chart-container{background:#fff;padding:12px;position:relative;border:1px solid #dfdfdf;border-radius:3px}.woocommerce-reports-wide .postbox .main .chart-legend,.woocommerce-reports-wrap .postbox .main .chart-legend{margin-top:12px}.woocommerce-reports-wide .postbox .main .chart-legend li,.woocommerce-reports-wrap .postbox .main .chart-legend li{border-right:0;margin:0 8px 0 0;float:left;border-top:4px solid #aaa}.woocommerce-reports-wide .woocommerce-reports-main,.woocommerce-reports-wrap .woocommerce-reports-main{float:left;min-width:100%}.woocommerce-reports-wide .woocommerce-reports-main table td,.woocommerce-reports-wrap .woocommerce-reports-main table td{padding:9px}.woocommerce-reports-wide .woocommerce-reports-sidebar,.woocommerce-reports-wrap .woocommerce-reports-sidebar{display:inline;width:281px;margin-left:-300px;clear:both;float:left}.woocommerce-reports-wide .woocommerce-reports-left,.woocommerce-reports-wrap .woocommerce-reports-left{width:49.5%;float:left}.woocommerce-reports-wide .woocommerce-reports-right,.woocommerce-reports-wrap .woocommerce-reports-right{width:49.5%;float:right}.woocommerce-reports-wide .column-wc_actions a.edit,.woocommerce-reports-wide .column-wc_actions a.view,.woocommerce-reports-wrap .column-wc_actions a.edit,.woocommerce-reports-wrap .column-wc_actions a.view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after{content:"\e01c"}.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{content:"\e010"}.woocommerce-wide-reports-wrap{padding-bottom:11px}.woocommerce-wide-reports-wrap .widefat .export-data{float:right}.woocommerce-wide-reports-wrap .widefat td,.woocommerce-wide-reports-wrap .widefat th{vertical-align:middle;padding:7px}.chart-tooltip{position:absolute;display:none;line-height:1}table.bar_chart{width:100%}table.bar_chart thead th{text-align:left;color:#ccc;padding:6px 0}table.bar_chart tbody th{padding:6px 0;width:25%;text-align:left!important;font-weight:400!important;border-bottom:1px solid #fee}table.bar_chart tbody td{text-align:right;line-height:24px;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td span{color:#8a4b75;display:block}table.bar_chart tbody td span.alt{color:#47a03e;margin-top:6px}table.bar_chart tbody td.bars{position:relative;text-align:left;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td.bars a,table.bar_chart tbody td.bars span{text-decoration:none;clear:both;background:#8a4b75;float:left;display:block;line-height:24px;height:24px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}table.bar_chart tbody td.bars span.alt{clear:both;background:#47a03e}table.bar_chart tbody td.bars span.alt span{margin:0;color:#c5dec2!important;text-shadow:0 1px 0 #47a03e;background:0 0}@media only screen and (max-width:1280px){#order_data .order_data_column{width:48%}#order_data .order_data_column:first-child{width:100%}.woocommerce_options_panel .description{display:block;clear:both;margin-left:0}.woocommerce_options_panel .dimensions_field .wrap,.woocommerce_options_panel .short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=text].short{width:80%}.woocommerce_options_panel .downloadable_files,.woocommerce_variations .downloadable_files{padding:0;clear:both}.woocommerce_options_panel .downloadable_files label,.woocommerce_variations .downloadable_files label{position:static}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{margin:0 12px 24px;width:94%}.woocommerce_options_panel .downloadable_files table .sort,.woocommerce_variations .downloadable_files table .sort{visibility:hidden}.woocommerce_options_panel .woocommerce_variable_attributes .downloadable_files table,.woocommerce_variations .woocommerce_variable_attributes .downloadable_files table{margin:0 0 1em;width:100%}}@media only screen and (max-width:900px){#woocommerce-coupon-data ul.coupon_data_tabs,#woocommerce-product-data .wc-tabs-back,#woocommerce-product-data ul.product_data_tabs{width:10%}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{width:90%}#woocommerce-coupon-data ul.coupon_data_tabs li a,#woocommerce-product-data ul.product_data_tabs li a{position:relative;text-indent:-999px;padding:10px}#woocommerce-coupon-data ul.coupon_data_tabs li a:before,#woocommerce-product-data ul.product_data_tabs li a:before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}}@media only screen and (max-width:782px){#wp-excerpt-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}#wp-excerpt-editor-tools{padding-top:20px;padding-right:15px;overflow:hidden;margin-bottom:-1px}.post-type-product .wp-list-table .is-expanded td:not(.hidden),.post-type-shop_order .wp-list-table .is-expanded td:not(.hidden){overflow:visible}#woocommerce-product-data .checkbox{width:25px}.variations-pagenav{float:none;text-align:center;font-size:18px}.variations-pagenav .displaying-num{font-size:16px}.variations-pagenav a{padding:8px 20px 11px;font-size:18px}.variations-pagenav select{padding:0 20px}.variations-defaults{float:none;text-align:center;margin-top:10px}.post-type-product .wp-list-table .column-thumb{display:none;text-align:left;padding-bottom:0}.post-type-product .wp-list-table .column-thumb:before{display:none!important}.post-type-product .wp-list-table .column-thumb img{max-width:32px}.post-type-product .wp-list-table .toggle-row{top:-28px}.post-type-shop_order .wp-list-table .column-order_status{display:none;text-align:left;padding-bottom:0}.post-type-shop_order .wp-list-table .column-order_status mark{margin:0}.post-type-shop_order .wp-list-table .column-order_status:before{display:none!important}.post-type-shop_order .wp-list-table .column-customer_message,.post-type-shop_order .wp-list-table .column-order_notes{text-align:inherit}.post-type-shop_order .wp-list-table .column-order_notes .note-on{font-size:1.3em;margin:0}.post-type-shop_order .wp-list-table .toggle-row{top:-15px}}@media only screen and (max-width:500px){.woocommerce_options_panel label,.woocommerce_options_panel legend{float:none;width:auto;display:block;margin:0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px!important}}.wc-backbone-modal *{box-sizing:border-box}.wc-backbone-modal .wc-backbone-modal-content{position:fixed;top:50%;left:50%;width:500px;background:#fff;z-index:100000}.wc-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.wc-backbone-modal-main{padding-bottom:51px}.wc-backbone-modal-main article,.wc-backbone-modal-main header{display:block;position:relative}.wc-backbone-modal-main .wc-backbone-modal-header{height:50px;background:#fcfcfc;padding:0 50px 0 16px;border-bottom:1px solid #ddd}.wc-backbone-modal-main .wc-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:50px}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:50px;width:50px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:before{font:400 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus,.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus{outline:0}.wc-backbone-modal-main article{padding:10px 16px}.wc-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.wc-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:10px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.wc-backbone-modal-main footer .inner{float:right;line-height:23px}.wc-backbone-modal-main footer .inner .button{margin-bottom:0}.select2-drop{z-index:999999!important}.select2-container-multi .select2-choices .select2-search-field input{font-family:inherit;font-size:inherit;font-weight:inherit;padding:3px 5px}.select2-container{line-height:1.85em;font-size:14px} \ No newline at end of file From 918b84ee3a6072a6603ae8d21cb1117b24a3b6de Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 6 Jan 2016 12:38:22 +0000 Subject: [PATCH 020/162] Strip tags from subject #9706 --- .../paypal/includes/class-wc-gateway-paypal-ipn-handler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php b/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php index e8977fb7212..5266c472e20 100644 --- a/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php +++ b/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php @@ -301,6 +301,6 @@ class WC_Gateway_Paypal_IPN_Handler extends WC_Gateway_Paypal_Response { $mailer = WC()->mailer(); $message = $mailer->wrap_message( $subject, $message ); - $mailer->send( ! empty( $new_order_settings['recipient'] ) ? $new_order_settings['recipient'] : get_option( 'admin_email' ), $subject, $message ); + $mailer->send( ! empty( $new_order_settings['recipient'] ) ? $new_order_settings['recipient'] : get_option( 'admin_email' ), strip_tags( $subject ), $message ); } } From 809e0a382b65bf2e8253a625bfe9cf58b23a1f50 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:35:35 +0100 Subject: [PATCH 021/162] Improve docblock comments in WC_API class * Added type to missing property comment * Added missing type to param tag for `add_query_vars` * Added better comments for properties --- includes/class-wc-api.php | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-api.php b/includes/class-wc-api.php index 5a39bd3ba8c..1ef5e831715 100644 --- a/includes/class-wc-api.php +++ b/includes/class-wc-api.php @@ -18,15 +18,26 @@ if ( ! class_exists( 'WC_API' ) ) : class WC_API { - /** This is the major version for the REST API and takes + /** + * This is the major version for the REST API and takes * first-order position in endpoint URLs. + * + * @var string */ const VERSION = '3.1.0'; - /** @var WC_API_Server the REST API server */ + /** + * The REST API server. + * + * @var WC_API_Server + */ public $server; - /** @var WC_API_Authentication REST API authentication class instance */ + /** + * REST API authentication class instance. + * + * @var WC_API_Authentication + */ public $authentication; /** @@ -56,7 +67,7 @@ class WC_API { * Add new query vars. * * @since 2.0 - * @param $vars + * @param array $vars * @return string[] */ public function add_query_vars( $vars ) { From 3c722ea81376a68bddbb1e11d3eec4cc36963983 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:37:44 +0100 Subject: [PATCH 022/162] Improve docblock comments in WC_Auth class * Added missing var tag to `VERSION` const * Added missing param type to `add_query_vars` --- includes/class-wc-auth.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/includes/class-wc-auth.php b/includes/class-wc-auth.php index 59103126ee2..b64274bf26d 100644 --- a/includes/class-wc-auth.php +++ b/includes/class-wc-auth.php @@ -20,6 +20,8 @@ class WC_Auth { /** * Version. + * + * @var int */ const VERSION = 1; @@ -44,7 +46,7 @@ class WC_Auth { * * @since 2.4.0 * - * @param $vars + * @param array $vars * * @return string[] */ From 560dd06b1f2c03bf1bd1ee4a8d918d7f540d066b Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:47:16 +0100 Subject: [PATCH 023/162] Improve docblock comments in WC_Cart class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. * Added comments to `remove_taxes` and `get_fees` * Renamed boolean to bool * Renamed integer to int --- includes/class-wc-cart.php | 70 ++++++++++++++++++++++++++------------ 1 file changed, 49 insertions(+), 21 deletions(-) diff --git a/includes/class-wc-cart.php b/includes/class-wc-cart.php index a548126c09d..0cc821f0245 100644 --- a/includes/class-wc-cart.php +++ b/includes/class-wc-cart.php @@ -94,25 +94,53 @@ class WC_Cart { 'fees' => array() ); - /** @var array An array of fees. */ - public $fees = array(); + /** + * An array of fees. + * + * @var array + */ + public $fees = array(); - /** @var boolean Prices inc tax */ + /** + * Prices include tax. + * + * @var bool + */ public $prices_include_tax; - /** @var boolean */ + /** + * Round at subtotal. + * + * @var bool + */ public $round_at_subtotal; - /** @var string */ + /** + * Tax display cart. + * + * @var string + */ public $tax_display_cart; - /** @var int Prices inc tax */ + /** + * Prices inc tax. + * + * @var int + */ public $dp; - /** @var boolean */ + /** + * Display totals excluding tax. + * + * @var bool + */ public $display_totals_ex_tax; - /** @var boolean */ + /** + * Display cart excluding tax. + * + * @var bool + */ public $display_cart_ex_tax; /** @@ -859,9 +887,9 @@ class WC_Cart { /** * Add a product to the cart. * - * @param integer $product_id contains the id of the product to add to the cart - * @param integer $quantity contains the quantity of the item to add - * @param integer $variation_id + * @param int $product_id contains the id of the product to add to the cart + * @param int $quantity contains the quantity of the item to add + * @param int $variation_id * @param array $variation attribute values * @param array $cart_item_data extra cart item data we want to pass into the item * @return string $cart_item_key @@ -1029,9 +1057,9 @@ class WC_Cart { /** * Set the quantity for an item in the cart. * - * @param string cart_item_key contains the id of the cart item - * @param string quantity contains the quantity of the item - * @param boolean $refresh_totals whether or not to calculate totals after setting the new qty + * @param string $cart_item_key contains the id of the cart item + * @param string $quantity contains the quantity of the item + * @param bool $refresh_totals whether or not to calculate totals after setting the new qty * * @return bool */ @@ -1382,7 +1410,7 @@ class WC_Cart { } /** - * remove_taxes function. + * Remove taxes. */ public function remove_taxes() { $this->shipping_tax_total = $this->tax_total = 0; @@ -1402,7 +1430,7 @@ class WC_Cart { } /** - * looks at the totals to see if payment is actually required. + * Looks at the totals to see if payment is actually required. * * @return bool */ @@ -1902,7 +1930,7 @@ class WC_Cart { * * @access private * @param string $code - * @param integer $count + * @param int $count */ private function increase_coupon_applied_count( $code, $count = 1 ) { if ( empty( $this->coupon_applied_count[ $code ] ) ) { @@ -1946,7 +1974,7 @@ class WC_Cart { } /** - * get_fees function. + * Get fees. * * @return array */ @@ -2171,8 +2199,8 @@ class WC_Cart { /** * Get tax row amounts with or without compound taxes includes. * - * @param boolean $compound True if getting compound taxes - * @param boolean $display True if getting total to display + * @param bool $compound True if getting compound taxes + * @param bool $display True if getting total to display * @return float price */ public function get_taxes_total( $compound = true, $display = true ) { @@ -2243,7 +2271,7 @@ class WC_Cart { * Get the total of all order discounts (after tax discounts). * * @deprecated Order discounts (after tax) removed in 2.3 - * @return integer + * @return int */ public function get_order_discount_total() { _deprecated_function( 'get_order_discount_total', '2.3' ); From 9a9aaff3424e262bb2083f340d297df869b30ac7 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:49:24 +0100 Subject: [PATCH 024/162] Improve docblock comments WC_Comments * Added missing param tags to `comment_moderation_recipients` --- includes/class-wc-comments.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/class-wc-comments.php b/includes/class-wc-comments.php index 711cded7ddd..08ec1a73c30 100644 --- a/includes/class-wc-comments.php +++ b/includes/class-wc-comments.php @@ -213,6 +213,8 @@ class WC_Comments { /** * Modify recipient of review email. + * @param array $emails + * @param int $comment_id * @return array */ public static function comment_moderation_recipients( $emails, $comment_id ) { From 0f0d40ceffb977744bc97f8df5aeb6a736246eb1 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:51:58 +0100 Subject: [PATCH 025/162] Improve docblock comments WC_Countries class * Added comment to `get_allowed_country_states` and `get_shipping_country_states` * Added missing param tags to `country_dropdown_options` * Fixed param tag for `trim_formatted_address_line` --- includes/class-wc-countries.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-countries.php b/includes/class-wc-countries.php index 8d7b0ecc113..30a30846464 100644 --- a/includes/class-wc-countries.php +++ b/includes/class-wc-countries.php @@ -194,7 +194,7 @@ class WC_Countries { } /** - * get_allowed_country_states function. + * Get allowed country states. * @return array */ public function get_allowed_country_states() { @@ -216,7 +216,7 @@ class WC_Countries { } /** - * get_shipping_country_states function. + * Get shipping country states. * @return array */ public function get_shipping_country_states() { @@ -316,6 +316,7 @@ class WC_Countries { * Outputs the list of countries and states for use in dropdown boxes. * @param string $selected_country (default: '') * @param string $selected_state (default: '') + * @param bool $escape (default: false) * @param bool $escape (default: false) */ public function country_dropdown_options( $selected_country = '', $selected_state = '', $escape = false ) { @@ -475,7 +476,7 @@ class WC_Countries { /** * Trim white space and commas off a line. - * @param string + * @param string $line * @return string */ private function trim_formatted_address_line( $line ) { @@ -912,7 +913,7 @@ class WC_Countries { /** * Apply locale and get address fields. - * @param mixed $country + * @param mixed $country (default: '') * @param string $type (default: 'billing_') * @return array */ From 0f74f805b0032a3dfba9a3927ba3041f3f5b1ffd Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:53:59 +0100 Subject: [PATCH 026/162] Improve docblock comments in WC_Coupon class * Added missing throws tags to various methods --- includes/class-wc-coupon.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/includes/class-wc-coupon.php b/includes/class-wc-coupon.php index 7c5232f07b9..cbf949dedd8 100644 --- a/includes/class-wc-coupon.php +++ b/includes/class-wc-coupon.php @@ -331,6 +331,8 @@ class WC_Coupon { /** * Ensure coupon exists or throw exception. + * + * @throws Exception */ private function validate_exists() { if ( ! $this->exists ) { @@ -340,6 +342,8 @@ class WC_Coupon { /** * Ensure coupon usage limit is valid or throw exception. + * + * @throws Exception */ private function validate_usage_limit() { if ( $this->usage_limit > 0 && $this->usage_count >= $this->usage_limit ) { @@ -376,6 +380,8 @@ class WC_Coupon { /** * Ensure coupon date is valid or throw exception. + * + * @throws Exception */ private function validate_expiry_date() { if ( $this->expiry_date && current_time( 'timestamp' ) > $this->expiry_date ) { @@ -385,6 +391,8 @@ class WC_Coupon { /** * Ensure coupon amount is valid or throw exception. + * + * @throws Exception */ private function validate_minimum_amount() { if ( $this->minimum_amount > 0 && wc_format_decimal( $this->minimum_amount ) > wc_format_decimal( WC()->cart->subtotal ) ) { @@ -394,6 +402,8 @@ class WC_Coupon { /** * Ensure coupon amount is valid or throw exception. + * + * @throws Exception */ private function validate_maximum_amount() { if ( $this->maximum_amount > 0 && wc_format_decimal( $this->maximum_amount ) < wc_format_decimal( WC()->cart->subtotal ) ) { @@ -403,6 +413,8 @@ class WC_Coupon { /** * Ensure coupon is valid for products in the cart is valid or throw exception. + * + * @throws Exception */ private function validate_product_ids() { if ( sizeof( $this->product_ids ) > 0 ) { @@ -422,6 +434,8 @@ class WC_Coupon { /** * Ensure coupon is valid for product categories in the cart is valid or throw exception. + * + * @throws Exception */ private function validate_product_categories() { if ( sizeof( $this->product_categories ) > 0 ) { @@ -443,6 +457,8 @@ class WC_Coupon { /** * Ensure coupon is valid for sale items in the cart is valid or throw exception. + * + * @throws Exception */ private function validate_sale_items() { if ( 'yes' === $this->exclude_sale_items && $this->is_type( wc_get_product_coupon_types() ) ) { @@ -479,6 +495,8 @@ class WC_Coupon { /** * Exclude products from cart. + * + * @throws Exception */ private function validate_cart_excluded_product_ids() { // Exclude Products @@ -499,6 +517,8 @@ class WC_Coupon { /** * Exclude categories from cart. + * + * @throws Exception */ private function validate_cart_excluded_product_categories() { if ( sizeof( $this->exclude_product_categories ) > 0 ) { @@ -521,6 +541,8 @@ class WC_Coupon { /** * Exclude sale items from cart. + * + * @throws Exception */ private function validate_cart_excluded_sale_items() { if ( $this->exclude_sale_items == 'yes' ) { @@ -547,6 +569,7 @@ class WC_Coupon { * Check if a coupon is valid. * * @return boolean validity + * @throws Exception */ public function is_valid() { try { From a0ae6dfbe2843fe3b974fa6295203e304de946b8 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 15:56:25 +0100 Subject: [PATCH 027/162] Improve docblock comments WC_Customer class * Added comment to `has_calculated_shipping`, `get_taxable_address` and `calculated_shipping` --- includes/class-wc-customer.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/class-wc-customer.php b/includes/class-wc-customer.php index 6ec7ad47221..c4860ee7e37 100644 --- a/includes/class-wc-customer.php +++ b/includes/class-wc-customer.php @@ -142,7 +142,7 @@ class WC_Customer { } /** - * has_calculated_shipping function. + * Has calculated shipping? * * @return bool */ @@ -322,7 +322,7 @@ class WC_Customer { } /** - * get_taxable_address function. + * Get taxable address. * * @return array */ @@ -550,7 +550,7 @@ class WC_Customer { } /** - * calculated_shipping function. + * Calculated shipping. * * @param boolean $calculated */ From 890e117530d98f6badd1e88518989cd142aeb36b Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:07:58 +0100 Subject: [PATCH 028/162] Improve docblock comments in WC_Geo_IP class MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. --- includes/class-wc-geo-ip.php | 134 ++++++++++++++++++++++++++++++++++- 1 file changed, 132 insertions(+), 2 deletions(-) diff --git a/includes/class-wc-geo-ip.php b/includes/class-wc-geo-ip.php index 6ea8eea34a2..6f94529d1c4 100644 --- a/includes/class-wc-geo-ip.php +++ b/includes/class-wc-geo-ip.php @@ -15,7 +15,7 @@ if ( ! defined( 'ABSPATH' ) ) { } /** - * WC_Geolocation Class. + * WC_Geo_IP Class. */ class WC_Geo_IP { @@ -54,20 +54,60 @@ class WC_Geo_IP { const GEOIP_ORG_EDITION_V6 = 23; const GEOIP_DOMAIN_EDITION_V6 = 24; + /** + * Flags. + * + * @var array + */ public $flags; + /** + * File handler. + * + * @var resource + */ public $filehandle; + /** + * Memory buffer. + * + * @var array + */ public $memory_buffer; + /** + * Database type. + * + * @var string + */ public $databaseType; + /** + * Database segments. + * + * @var int + */ public $databaseSegments; + /** + * Record length. + * + * @var int + */ public $record_length; + /** + * Shmid. + * + * @var string + */ public $shmid; + /** + * Two letters country codes. + * + * @var array + */ public $GEOIP_COUNTRY_CODES = array( '', 'AP', @@ -327,6 +367,11 @@ class WC_Geo_IP { 'O1' ); + /** + * 3 letters country codes. + * + * @var array + */ public $GEOIP_COUNTRY_CODES3 = array( '', 'AP', @@ -586,6 +631,11 @@ class WC_Geo_IP { 'O1' ); + /** + * Contry names. + * + * @var array + */ public $GEOIP_COUNTRY_NAMES = array( '', 'Asia/Pacific Region', @@ -845,6 +895,11 @@ class WC_Geo_IP { 'Other' ); + /** + * 2 letters continent codes. + * + * @var array + */ public $GEOIP_CONTINENT_CODES = array( '--', 'AS', @@ -1667,16 +1722,91 @@ class WC_Geo_IP { * Geo IP Record class. */ class WC_Geo_IP_Record { + + /** + * Country code. + * + * @var string + */ public $country_code; + + /** + * 3 letters country code. + * + * @var string + */ public $country_code3; + + /** + * Country name. + * + * @var string + */ public $country_name; + + /** + * Region. + * + * @var string + */ public $region; + + /** + * City. + * + * @var string + */ public $city; + + /** + * Postal code. + * + * @var string + */ public $postal_code; + + /** + * Latitude + * + * @var float + */ public $latitude; + + /** + * Longitude. + * + * @var float + */ public $longitude; + + /** + * Area code. + * + * @var string + */ public $area_code; - public $dma_code; // metro and dma code are the same. use metro_code + + /** + * DMA Code. + * + * Metro and DMA code are the same. + * Use metro code instead. + * + * @var int + */ + public $dma_code; + + /** + * Metro code. + * + * @var int + */ public $metro_code; + + /** + * Continent code. + * + * @var string + */ public $continent_code; } From 9014604514757452ba344901d3b742f5a9cd10ec Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:11:50 +0100 Subject: [PATCH 029/162] Improve docblock comments in WC_Product_External * Added comments to `_construct`, `get_product_url` and `get_button_text` --- includes/class-wc-product-external.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/class-wc-product-external.php b/includes/class-wc-product-external.php index a0b4385d0eb..c2ea1351e8b 100644 --- a/includes/class-wc-product-external.php +++ b/includes/class-wc-product-external.php @@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) { class WC_Product_External extends WC_Product { /** - * __construct function. + * Constructor. * * @access public * @param mixed $product @@ -69,7 +69,7 @@ class WC_Product_External extends WC_Product { } /** - * get_product_url function. + * Get product url. * * @access public * @return string @@ -79,7 +79,7 @@ class WC_Product_External extends WC_Product { } /** - * get_button_text function. + * Get button text. * * @access public * @return string From f1920cb882f2c858b7963bef269f8aa44d372bf7 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:15:00 +0100 Subject: [PATCH 030/162] Improve docblock comments in various WC_Product classes * Added comments to methods that was `method function` --- includes/class-wc-product-factory.php | 2 +- includes/class-wc-product-grouped.php | 2 +- includes/class-wc-product-variable.php | 2 +- includes/class-wc-product-variation.php | 6 ++++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/includes/class-wc-product-factory.php b/includes/class-wc-product-factory.php index 8d99e7e5172..8a2241e8772 100644 --- a/includes/class-wc-product-factory.php +++ b/includes/class-wc-product-factory.php @@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) { class WC_Product_Factory { /** - * get_product function. + * Get product. * * @param bool $the_product (default: false) * @param array $args (default: array()) diff --git a/includes/class-wc-product-grouped.php b/includes/class-wc-product-grouped.php index 6a0dbc9ba10..944046ec20e 100644 --- a/includes/class-wc-product-grouped.php +++ b/includes/class-wc-product-grouped.php @@ -21,7 +21,7 @@ class WC_Product_Grouped extends WC_Product { public $children; /** - * __construct function. + * Constructor. * * @access public * @param mixed $product diff --git a/includes/class-wc-product-variable.php b/includes/class-wc-product-variable.php index 63498ae5037..013195e229b 100644 --- a/includes/class-wc-product-variable.php +++ b/includes/class-wc-product-variable.php @@ -148,7 +148,7 @@ class WC_Product_Variable extends WC_Product { } /** - * get_child function. + * Get child product. * * @access public * @param mixed $child_id diff --git a/includes/class-wc-product-variation.php b/includes/class-wc-product-variation.php index c939e2049d7..408698dbfbb 100644 --- a/includes/class-wc-product-variation.php +++ b/includes/class-wc-product-variation.php @@ -471,7 +471,9 @@ class WC_Product_Variation extends WC_Product { } /** - * set_stock_status function. + * Set stock status. + * + * @param string $status */ public function set_stock_status( $status ) { $status = 'outofstock' === $status ? 'outofstock' : 'instock'; @@ -588,7 +590,7 @@ class WC_Product_Variation extends WC_Product { } /** - * is_on_backorder function. + * Is on backorder? * * @param int $qty_in_cart (default: 0) * @return bool From 31cb32dc36ace14f1f71ef31e88c3cea009e2b55 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:17:26 +0100 Subject: [PATCH 031/162] Improve docblock comments in WC_Query class * Added comments to `add_query_vars`, `search_post_excerpt`, `wpseo_metadesc`, `wpseo_metakey` and `order_by_rating_post_clauses` --- includes/class-wc-query.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index e27c0e80ff7..e4e3c76039c 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -144,7 +144,7 @@ class WC_Query { } /** - * add_query_vars function. + * Add query vars. * * @access public * @param array $vars @@ -308,7 +308,7 @@ class WC_Query { } /** - * search_post_excerpt function. + * Search post excerpt. * * @access public * @param string $where (default: '') @@ -329,7 +329,8 @@ class WC_Query { } /** - * wpseo_metadesc function. + * WP SEO meta description. + * * Hooked into wpseo_ hook already, so no need for function_exist. * * @access public @@ -340,7 +341,8 @@ class WC_Query { } /** - * wpseo_metakey function. + * WP SEO meta key. + * * Hooked into wpseo_ hook already, so no need for function_exist. * * @access public @@ -605,7 +607,7 @@ class WC_Query { } /** - * order_by_rating_post_clauses function. + * Order by rating post clauses. * * @access public * @param array $args From 65d610883fa6fd6d96ffe033ab7e05e2c2974a3e Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:19:11 +0100 Subject: [PATCH 032/162] Improve docblock comments in various WP_Shipping classes * Added comments to various methods * Removed `method function` from some comments --- includes/class-wc-shipping-rate.php | 2 +- includes/class-wc-shipping.php | 10 +--------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/includes/class-wc-shipping-rate.php b/includes/class-wc-shipping-rate.php index ae0a87e8f7b..dc3ce7cac3d 100644 --- a/includes/class-wc-shipping-rate.php +++ b/includes/class-wc-shipping-rate.php @@ -50,7 +50,7 @@ class WC_Shipping_Rate { } /** - * get_shipping_tax function. + * Get shipping tax. * * @return array */ diff --git a/includes/class-wc-shipping.php b/includes/class-wc-shipping.php index e079068cbe4..e6ab52e9c73 100644 --- a/includes/class-wc-shipping.php +++ b/includes/class-wc-shipping.php @@ -82,7 +82,7 @@ class WC_Shipping { } /** - * init function. + * Initialize shipping. */ public function init() { do_action( 'woocommerce_shipping_init' ); @@ -91,8 +91,6 @@ class WC_Shipping { } /** - * load_shipping_methods function. - * * Loads all shipping methods which are hooked in. If a $package is passed some methods may add themselves conditionally. * * Methods are sorted into their user-defined order after being loaded. @@ -189,8 +187,6 @@ class WC_Shipping { } /** - * get_shipping_methods function. - * * Returns all registered shipping methods for usage. * * @access public @@ -201,8 +197,6 @@ class WC_Shipping { } /** - * get_shipping_classes function. - * * Load shipping classes taxonomy terms. * * @access public @@ -261,8 +255,6 @@ class WC_Shipping { } /** - * calculate_shipping function. - * * Calculate shipping for (multiple) packages of cart items. * * @param array $packages multi-dimensional array of cart items to calc shipping for From bb19615029a625ba01a0d377e0446f632b8da08d Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 16:24:47 +0100 Subject: [PATCH 033/162] Improve docblock comments in various WC_* classes * Added comments to various methods * Fixed various properties comments and param types --- includes/class-wc-https.php | 2 +- includes/class-wc-install.php | 2 +- includes/class-wc-integrations.php | 6 +++++- includes/class-wc-logger.php | 4 +++- includes/class-wc-order-factory.php | 2 +- includes/class-wc-post-data.php | 5 +++++ includes/class-wc-tax.php | 11 +++++++++++ includes/class-wc-template-loader.php | 2 +- 8 files changed, 28 insertions(+), 6 deletions(-) diff --git a/includes/class-wc-https.php b/includes/class-wc-https.php index 9c721febdfd..298cc37ffb6 100644 --- a/includes/class-wc-https.php +++ b/includes/class-wc-https.php @@ -48,7 +48,7 @@ class WC_HTTPS { } /** - * force_https_url function. + * Force https for urls. * * @param mixed $content * @return string diff --git a/includes/class-wc-install.php b/includes/class-wc-install.php index 60e5b4c9d70..b8f355af26a 100644 --- a/includes/class-wc-install.php +++ b/includes/class-wc-install.php @@ -43,7 +43,7 @@ class WC_Install { } /** - * check_version function. + * Check WooCommerce version. */ public static function check_version() { if ( ! defined( 'IFRAME_REQUEST' ) && ( get_option( 'woocommerce_version' ) != WC()->version ) ) { diff --git a/includes/class-wc-integrations.php b/includes/class-wc-integrations.php index e292e7382fc..aeea80693a1 100644 --- a/includes/class-wc-integrations.php +++ b/includes/class-wc-integrations.php @@ -17,7 +17,11 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Integrations { - /** Array of integration classes */ + /** + * Array of integrations. + * + * @var array + */ public $integrations = array(); /** diff --git a/includes/class-wc-logger.php b/includes/class-wc-logger.php index af43997a41f..fb48c63680f 100644 --- a/includes/class-wc-logger.php +++ b/includes/class-wc-logger.php @@ -16,7 +16,9 @@ if ( ! defined( 'ABSPATH' ) ) { class WC_Logger { /** - * @var array Stores open file _handles. + * Stores open file _handles. + * + * @var array * @access private */ private $_handles; diff --git a/includes/class-wc-order-factory.php b/includes/class-wc-order-factory.php index 8fb5aa79d7e..530104be857 100644 --- a/includes/class-wc-order-factory.php +++ b/includes/class-wc-order-factory.php @@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) { class WC_Order_Factory { /** - * get_order function. + * Get order. * * @param bool $the_order (default: false) * @return WC_Order|bool diff --git a/includes/class-wc-post-data.php b/includes/class-wc-post-data.php index 2271dcd76e1..38581bcd3cf 100644 --- a/includes/class-wc-post-data.php +++ b/includes/class-wc-post-data.php @@ -17,6 +17,11 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Post_Data { + /** + * Editing term. + * + * @var object + */ private static $editing_term = null; /** diff --git a/includes/class-wc-tax.php b/includes/class-wc-tax.php index e89fd5ce18f..2b660b03e30 100644 --- a/includes/class-wc-tax.php +++ b/includes/class-wc-tax.php @@ -15,7 +15,18 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Tax { + /** + * Precision. + * + * @var int + */ public static $precision; + + /** + * Round at subtotal. + * + * @var bool + */ public static $round_at_subtotal; /** diff --git a/includes/class-wc-template-loader.php b/includes/class-wc-template-loader.php index 576ddbb2ffe..a33f1512270 100644 --- a/includes/class-wc-template-loader.php +++ b/includes/class-wc-template-loader.php @@ -84,7 +84,7 @@ class WC_Template_Loader { } /** - * comments_template_loader function. + * Load comments template. * * @param mixed $template * @return string From 676525c2b7f96b6e15b89b12e852c1d83d4627d4 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 17:11:09 +0100 Subject: [PATCH 034/162] Improve docblock comments in various functions * Added missing param tags to functions * Added comments to `wc_get_attachment_image_attributes` and `wc_prepare_attachment_for_js` * Fixed return type value for functions where it says bool but the code returns array * Renamed boolean to bool --- includes/wc-core-functions.php | 2 ++ includes/wc-coupon-functions.php | 6 +++--- includes/wc-formatting-functions.php | 2 +- includes/wc-page-functions.php | 4 ++++ includes/wc-product-functions.php | 4 ++-- includes/wc-template-functions.php | 15 +++++++++++---- includes/wc-term-functions.php | 8 ++++---- 7 files changed, 27 insertions(+), 14 deletions(-) diff --git a/includes/wc-core-functions.php b/includes/wc-core-functions.php index 598f1bbf53e..f1ea9b9389f 100644 --- a/includes/wc-core-functions.php +++ b/includes/wc-core-functions.php @@ -51,6 +51,8 @@ add_filter( 'woocommerce_short_description', 'do_shortcode', 11 ); // AFTER wpau * * Returns a new order object on success which can then be used to add additional data. * + * @param array $args + * * @return WC_Order on success, WP_Error on failure. */ function wc_create_order( $args = array() ) { diff --git a/includes/wc-coupon-functions.php b/includes/wc-coupon-functions.php index 3a7bf840857..ffa45450e54 100644 --- a/includes/wc-coupon-functions.php +++ b/includes/wc-coupon-functions.php @@ -43,7 +43,7 @@ function wc_get_coupon_type( $type = '' ) { * Coupon types that apply to individual products. Controls which validation rules will apply. * * @since 2.5.0 - * @return bool + * @return array */ function wc_get_product_coupon_types() { return (array) apply_filters( 'woocommerce_product_coupon_types', array( 'fixed_product', 'percent_product' ) ); @@ -53,7 +53,7 @@ function wc_get_product_coupon_types() { * Coupon types that apply to the cart as a whole. Controls which validation rules will apply. * * @since 2.5.0 - * @return bool + * @return array */ function wc_get_cart_coupon_types() { return (array) apply_filters( 'woocommerce_cart_coupon_types', array( 'fixed_cart', 'percent' ) ); @@ -65,7 +65,7 @@ function wc_get_cart_coupon_types() { * * @since 2.5.0 * - * @return bool + * @return array */ function wc_coupons_enabled() { return apply_filters( 'woocommerce_coupons_enabled', 'yes' === get_option( 'woocommerce_enable_coupons' ) ); diff --git a/includes/wc-formatting-functions.php b/includes/wc-formatting-functions.php index 43bebc601bc..a0667b78cec 100644 --- a/includes/wc-formatting-functions.php +++ b/includes/wc-formatting-functions.php @@ -179,7 +179,7 @@ function wc_format_refund_total( $amount ) { * * @param float|string $number Expects either a float or a string with a decimal separator only (no thousands) * @param mixed $dp number of decimal points to use, blank to use woocommerce_price_num_decimals, or false to avoid all rounding. - * @param boolean $trim_zeros from end of string + * @param bool $trim_zeros from end of string * @return string */ function wc_format_decimal( $number, $dp = false, $trim_zeros = false ) { diff --git a/includes/wc-page-functions.php b/includes/wc-page-functions.php index f7584641c21..12ec88f1c74 100644 --- a/includes/wc-page-functions.php +++ b/includes/wc-page-functions.php @@ -78,6 +78,10 @@ function wc_get_page_permalink( $page ) { * * Gets the URL for an endpoint, which varies depending on permalink settings. * + * @param string $endpoint + * @param string $value + * @param string $permalink + * * @return string */ function wc_get_endpoint_url( $endpoint, $value = '', $permalink = '' ) { diff --git a/includes/wc-product-functions.php b/includes/wc-product-functions.php index 51958723585..6fab3ababad 100644 --- a/includes/wc-product-functions.php +++ b/includes/wc-product-functions.php @@ -441,7 +441,7 @@ function wc_scheduled_sales() { add_action( 'woocommerce_scheduled_sales', 'wc_scheduled_sales' ); /** - * wc_get_attachment_image_attributes function. + * Get attachment image attributes. * * @access public * @param array $attr @@ -458,7 +458,7 @@ add_filter( 'wp_get_attachment_image_attributes', 'wc_get_attachment_image_attri /** - * wc_prepare_attachment_for_js function. + * Prepare attachment for JavaScript. * * @access public * @param array $response diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index a2d42016918..3a05eac938f 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -448,7 +448,7 @@ if ( ! function_exists( 'woocommerce_page_title' ) ) { /** * woocommerce_page_title function. * - * @param boolean $echo + * @param bool $echo * @return string */ function woocommerce_page_title( $echo = true ) { @@ -1145,6 +1145,9 @@ if ( ! function_exists( 'woocommerce_comments' ) ) { * Output the Review comments template. * * @subpackage Product + * @param WP_Comment $comment + * @param array $args + * @param int $depth */ function woocommerce_comments( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; @@ -1256,9 +1259,9 @@ if ( ! function_exists( 'woocommerce_cross_sell_display' ) ) { /** * Output the cart cross-sells. * - * @param integer $posts_per_page - * @param integer $columns - * @param string $orderby + * @param int $posts_per_page (default: 2) + * @param int $columns (default: 2) + * @param string $orderby (default: 'rand') */ function woocommerce_cross_sell_display( $posts_per_page = 2, $columns = 2, $orderby = 'rand' ) { wc_get_template( 'cart/cross-sells.php', array( @@ -1290,6 +1293,7 @@ if ( ! function_exists( 'woocommerce_mini_cart' ) ) { /** * Output the Mini-cart - used by cart widget. * + * @param array $args */ function woocommerce_mini_cart( $args = array() ) { @@ -1311,6 +1315,7 @@ if ( ! function_exists( 'woocommerce_login_form' ) ) { * Output the WooCommerce Login Form. * * @subpackage Forms + * @param array $args */ function woocommerce_login_form( $args = array() ) { @@ -1342,6 +1347,8 @@ if ( ! function_exists( 'woocommerce_breadcrumb' ) ) { /** * Output the WooCommerce Breadcrumb. + * + * @param array $args */ function woocommerce_breadcrumb( $args = array() ) { $args = wp_parse_args( $args, apply_filters( 'woocommerce_breadcrumb_defaults', array( diff --git a/includes/wc-term-functions.php b/includes/wc-term-functions.php index d36ff54b6a0..285c874c7cd 100644 --- a/includes/wc-term-functions.php +++ b/includes/wc-term-functions.php @@ -457,10 +457,10 @@ add_filter( 'terms_clauses', 'wc_terms_clauses', 10, 3 ); /** * Function for recounting product terms, ignoring hidden products. * - * @param array $terms - * @param string $taxonomy - * @param boolean $callback - * @param boolean $terms_are_term_taxonomy_ids + * @param array $terms + * @param string $taxonomy + * @param bool $callback + * @param bool $terms_are_term_taxonomy_ids */ function _wc_term_recount( $terms, $taxonomy, $callback = true, $terms_are_term_taxonomy_ids = true ) { global $wpdb; From 089ccdd5046bb609966f6558919eacdbf033b758 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 17:15:20 +0100 Subject: [PATCH 035/162] Improve docblock comments in WooCommerce class * Added better properties comments. * Bumped version tag to 2.5, did says 2.4 when version property said 2.5. --- woocommerce.php | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/woocommerce.php b/woocommerce.php index 480d1687d12..637c2a32999 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -26,58 +26,78 @@ if ( ! class_exists( 'WooCommerce' ) ) : * Main WooCommerce Class. * * @class WooCommerce - * @version 2.4.0 + * @version 2.5.0 */ final class WooCommerce { /** + * WooCommerce version. + * * @var string */ public $version = '2.5.0'; /** - * @var WooCommerce The single instance of the class. + * The single instance of the class. + * + * @var WooCommerce * @since 2.1 */ protected static $_instance = null; /** - * @var WC_Session session + * Session instance. + * + * @var WC_Session */ public $session = null; /** - * @var WC_Query $query + * Query instance. + * + * @var WC_Query */ public $query = null; /** - * @var WC_Product_Factory $product_factory + * Product factory instance. + * + * @var WC_Product_Factory */ public $product_factory = null; /** - * @var WC_Countries $countries + * Countries instance. + * + * @var WC_Countries */ public $countries = null; /** - * @var WC_Integrations $integrations + * Integrations instance. + * + * @var WC_Integrations */ public $integrations = null; /** - * @var WC_Cart $cart + * Cart instance. + * + * @var WC_Cart */ public $cart = null; /** - * @var WC_Customer $customer + * Customer instance. + * + * @var WC_Customer */ public $customer = null; /** - * @var WC_Order_Factory $order_factory + * Order factory instance. + * + * @var WC_Order_Factory */ public $order_factory = null; From bc9019458c9dd9a452dc430caf6b5262c5229b73 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 19:58:38 +0100 Subject: [PATCH 036/162] Improve docblock comments WC_Widget classes * Added better comment to `widget`, `form` and `update` methods. --- includes/widgets/class-wc-widget-cart.php | 2 +- includes/widgets/class-wc-widget-layered-nav-filters.php | 2 +- includes/widgets/class-wc-widget-layered-nav.php | 8 ++++---- includes/widgets/class-wc-widget-price-filter.php | 2 +- includes/widgets/class-wc-widget-product-categories.php | 2 +- includes/widgets/class-wc-widget-product-search.php | 2 +- includes/widgets/class-wc-widget-product-tag-cloud.php | 2 +- includes/widgets/class-wc-widget-products.php | 2 +- includes/widgets/class-wc-widget-recent-reviews.php | 2 +- includes/widgets/class-wc-widget-recently-viewed.php | 2 +- includes/widgets/class-wc-widget-top-rated-products.php | 2 +- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/includes/widgets/class-wc-widget-cart.php b/includes/widgets/class-wc-widget-cart.php index 517648a637a..fdc559132b0 100644 --- a/includes/widgets/class-wc-widget-cart.php +++ b/includes/widgets/class-wc-widget-cart.php @@ -42,7 +42,7 @@ class WC_Widget_Cart extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-layered-nav-filters.php b/includes/widgets/class-wc-widget-layered-nav-filters.php index 8e23bd571a2..416ea1879a0 100644 --- a/includes/widgets/class-wc-widget-layered-nav-filters.php +++ b/includes/widgets/class-wc-widget-layered-nav-filters.php @@ -35,7 +35,7 @@ class WC_Widget_Layered_Nav_Filters extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-layered-nav.php b/includes/widgets/class-wc-widget-layered-nav.php index 26abf96bad3..767b4692462 100644 --- a/includes/widgets/class-wc-widget-layered-nav.php +++ b/includes/widgets/class-wc-widget-layered-nav.php @@ -28,7 +28,7 @@ class WC_Widget_Layered_Nav extends WC_Widget { } /** - * update function. + * Updates a particular instance of a widget. * * @see WP_Widget->update * @@ -44,7 +44,7 @@ class WC_Widget_Layered_Nav extends WC_Widget { } /** - * form function. + * Outputs the settings update form. * * @see WP_Widget->form * @@ -105,7 +105,7 @@ class WC_Widget_Layered_Nav extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * @@ -380,7 +380,7 @@ class WC_Widget_Layered_Nav extends WC_Widget { } // End display type conditional $this->widget_end( $args ); - + if ( ! $found ) { ob_end_clean(); } else { diff --git a/includes/widgets/class-wc-widget-price-filter.php b/includes/widgets/class-wc-widget-price-filter.php index d04364c61a2..480e072cd95 100644 --- a/includes/widgets/class-wc-widget-price-filter.php +++ b/includes/widgets/class-wc-widget-price-filter.php @@ -37,7 +37,7 @@ class WC_Widget_Price_Filter extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-product-categories.php b/includes/widgets/class-wc-widget-product-categories.php index dd3259bde5a..3f354432443 100644 --- a/includes/widgets/class-wc-widget-product-categories.php +++ b/includes/widgets/class-wc-widget-product-categories.php @@ -83,7 +83,7 @@ class WC_Widget_Product_Categories extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-product-search.php b/includes/widgets/class-wc-widget-product-search.php index bde7ca2b7f5..d8dac1dc614 100644 --- a/includes/widgets/class-wc-widget-product-search.php +++ b/includes/widgets/class-wc-widget-product-search.php @@ -35,7 +35,7 @@ class WC_Widget_Product_Search extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-product-tag-cloud.php b/includes/widgets/class-wc-widget-product-tag-cloud.php index 9401ed63e44..55676a98b2c 100644 --- a/includes/widgets/class-wc-widget-product-tag-cloud.php +++ b/includes/widgets/class-wc-widget-product-tag-cloud.php @@ -35,7 +35,7 @@ class WC_Widget_Product_Tag_Cloud extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-products.php b/includes/widgets/class-wc-widget-products.php index 4340e168b90..4b50d50433c 100644 --- a/includes/widgets/class-wc-widget-products.php +++ b/includes/widgets/class-wc-widget-products.php @@ -154,7 +154,7 @@ class WC_Widget_Products extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-recent-reviews.php b/includes/widgets/class-wc-widget-recent-reviews.php index 3c2d388e46f..b13cd90325a 100644 --- a/includes/widgets/class-wc-widget-recent-reviews.php +++ b/includes/widgets/class-wc-widget-recent-reviews.php @@ -43,7 +43,7 @@ class WC_Widget_Recent_Reviews extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-recently-viewed.php b/includes/widgets/class-wc-widget-recently-viewed.php index 1edd266f52f..08ad4a0da59 100644 --- a/includes/widgets/class-wc-widget-recently-viewed.php +++ b/includes/widgets/class-wc-widget-recently-viewed.php @@ -43,7 +43,7 @@ class WC_Widget_Recently_Viewed extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * diff --git a/includes/widgets/class-wc-widget-top-rated-products.php b/includes/widgets/class-wc-widget-top-rated-products.php index b69d6bd39f8..c86b079e1ff 100644 --- a/includes/widgets/class-wc-widget-top-rated-products.php +++ b/includes/widgets/class-wc-widget-top-rated-products.php @@ -45,7 +45,7 @@ class WC_Widget_Top_Rated_Products extends WC_Widget { } /** - * widget function. + * Output widget. * * @see WP_Widget * From 3e41546ceff67e3a7af00a805dc04fa428103a59 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:02:05 +0100 Subject: [PATCH 037/162] Improve docblock comments Walker classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added comments to properties that don’t have any. * Added comments to methods. * Made `$db_fields` more readable --- .../class-product-cat-dropdown-walker.php | 19 +++++++++++++- .../walkers/class-product-cat-list-walker.php | 25 ++++++++++++++++++- 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/includes/walkers/class-product-cat-dropdown-walker.php b/includes/walkers/class-product-cat-dropdown-walker.php index 384f9e4cc4f..d44c75c8ee8 100644 --- a/includes/walkers/class-product-cat-dropdown-walker.php +++ b/includes/walkers/class-product-cat-dropdown-walker.php @@ -17,10 +17,27 @@ if ( ! class_exists( 'WC_Product_Cat_Dropdown_Walker' ) ) : class WC_Product_Cat_Dropdown_Walker extends Walker { + /** + * What the class handles. + * + * @var string + */ public $tree_type = 'category'; - public $db_fields = array ('parent' => 'parent', 'id' => 'term_id', 'slug' => 'slug' ); /** + * DB fields to use. + * + * @var array + */ + public $db_fields = array( + 'parent' => 'parent', + 'id' => 'term_id', + 'slug' => 'slug' + ); + + /** + * Starts the list before the elements are added. + * * @see Walker::start_el() * @since 2.1.0 * diff --git a/includes/walkers/class-product-cat-list-walker.php b/includes/walkers/class-product-cat-list-walker.php index 78c0aae9e57..b5047133712 100644 --- a/includes/walkers/class-product-cat-list-walker.php +++ b/includes/walkers/class-product-cat-list-walker.php @@ -17,10 +17,27 @@ if ( ! class_exists( 'WC_Product_Cat_List_Walker' ) ) : class WC_Product_Cat_List_Walker extends Walker { + /** + * What the class handles. + * + * @var string + */ public $tree_type = 'product_cat'; - public $db_fields = array ( 'parent' => 'parent', 'id' => 'term_id', 'slug' => 'slug' ); /** + * DB fields to use. + * + * @var array + */ + public $db_fields = array( + 'parent' => 'parent', + 'id' => 'term_id', + 'slug' => 'slug' + ); + + /** + * Starts the list before the elements are added. + * * @see Walker::start_lvl() * @since 2.1.0 * @@ -37,6 +54,8 @@ class WC_Product_Cat_List_Walker extends Walker { } /** + * Ends the list of after the elements are added. + * * @see Walker::end_lvl() * @since 2.1.0 * @@ -53,6 +72,8 @@ class WC_Product_Cat_List_Walker extends Walker { } /** + * Start the element output. + * * @see Walker::start_el() * @since 2.1.0 * @@ -83,6 +104,8 @@ class WC_Product_Cat_List_Walker extends Walker { } /** + * Ends the element output, if needed. + * * @see Walker::end_el() * @since 2.1.0 * From efdd927e366b4023bff56ed2ca2d1ed9c65e988e Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:08:43 +0100 Subject: [PATCH 038/162] Improve docblock comments in WC_Shipping_Flat_Rate classes --- .../flat-rate/class-wc-shipping-flat-rate.php | 10 +- .../flat-rate/includes/class-wc-eval-math.php | 97 +++++++++++++++---- 2 files changed, 86 insertions(+), 21 deletions(-) diff --git a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php index df24f82cff4..72219c7f679 100644 --- a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php +++ b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php @@ -13,7 +13,11 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { - /** @var string cost passed to [fee] shortcode */ + /** + * Cost passed to [fee] shortcode. + * + * @var string + */ protected $fee_cost = ''; /** @@ -30,7 +34,7 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { } /** - * init function. + * Initialize flat rate shipping. */ public function init() { // Load the settings. @@ -48,7 +52,7 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { } /** - * Initialise Settings Form Fields. + * Initialize Settings Form Fields. */ public function init_form_fields() { $this->form_fields = include( 'includes/settings-flat-rate.php' ); diff --git a/includes/shipping/flat-rate/includes/class-wc-eval-math.php b/includes/shipping/flat-rate/includes/class-wc-eval-math.php index 18af3290209..085f87075f6 100644 --- a/includes/shipping/flat-rate/includes/class-wc-eval-math.php +++ b/includes/shipping/flat-rate/includes/class-wc-eval-math.php @@ -9,20 +9,41 @@ if ( ! defined( 'ABSPATH' ) ) { * Based on EvalMath by Miles Kaufman Copyright (C) 2005 Miles Kaufmann http://www.twmagic.com/. */ class WC_Eval_Math { - /** @var string */ + + /** + * Last error. + * + * @var string + */ public static $last_error = null; - /** @var array */ - public static $v = array( 'e' => 2.71, 'pi' => 3.14 ); // variables (and constants) + /** + * Variables (and constants). + * + * @var array + */ + public static $v = array( 'e' => 2.71, 'pi' => 3.14 ); - /** @var array */ - public static $f = array(); // user-defined functions + /** + * User-defined functions. + * + * @var array + */ + public static $f = array(); - /** @var array */ - public static $vb = array( 'e', 'pi' ); // constants + /** + * Constants. + * + * @var array + */ + public static $vb = array( 'e', 'pi' ); - /** @var array */ - public static $fb = array(); // built-in functions + /** + * Built-in functions. + * + * @var array + */ + public static $fb = array(); /** * Evaluate maths string. @@ -201,7 +222,14 @@ class WC_Eval_Math { return $output; } - // evaluate postfix notation + /** + * Evaluate postfix notation. + * + * @param mixed $tokens + * @param array $vars + * + * @return mixed + */ private static function pfx( $tokens, $vars = array() ) { if ( $tokens == false ) return false; @@ -246,7 +274,13 @@ class WC_Eval_Math { return $stack->pop(); } - // trigger an error, but nicely, if need be + /** + * Trigger an error, but nicely, if need be. + * + * @param string $msg + * + * @return bool + */ private static function trigger( $msg ) { self::$last_error = $msg; if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) { @@ -257,10 +291,12 @@ class WC_Eval_Math { return false; } - // Prints the file name, function name, and - // line number which called your function - // (not this function, then one that called - // it to begin with) + /** + * Prints the file name, function name, and + * line number which called your function + * (not this function, then one that called + * it to begin with) + */ private static function debugPrintCallingFunction() { $file = 'n/a'; $func = 'n/a'; @@ -280,17 +316,35 @@ class WC_Eval_Math { */ class WC_Eval_Math_Stack { - /** @var array */ + /** + * Stack array. + * + * @var array + */ public $stack = array(); - /** @var integer */ + /** + * Stack counter. + * + * @var integer + */ public $count = 0; + /** + * Push value into stack. + * + * @param mixed $val + */ public function push( $val ) { $this->stack[ $this->count ] = $val; $this->count++; } + /** + * Pop value from stack. + * + * @return mixed + */ public function pop() { if ( $this->count > 0 ) { $this->count--; @@ -299,7 +353,14 @@ class WC_Eval_Math_Stack { return null; } - public function last( $n=1 ) { + /** + * Get last value from stack. + * + * @param int $n + * + * @return mixed + */ + public function last( $n = 1 ) { $key = $this->count - $n; return array_key_exists( $key, $this->stack ) ? $this->stack[ $key ] : null; } From 093684c7e0fa2ea74a60302134adfb3b3f06684d Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:10:54 +0100 Subject: [PATCH 039/162] * Added comments to `init`, `is_available` and `calculate_shipping` * Added better properties comments. * Fixed initialize typo --- .../class-wc-shipping-free-shipping.php | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/includes/shipping/free-shipping/class-wc-shipping-free-shipping.php b/includes/shipping/free-shipping/class-wc-shipping-free-shipping.php index 66af25fa380..b44370f1aba 100644 --- a/includes/shipping/free-shipping/class-wc-shipping-free-shipping.php +++ b/includes/shipping/free-shipping/class-wc-shipping-free-shipping.php @@ -16,10 +16,18 @@ if ( ! defined( 'ABSPATH' ) ) { */ class WC_Shipping_Free_Shipping extends WC_Shipping_Method { - /** @var float Min amount to be valid */ + /** + * Min amount to be valid. + * + * @var float + */ public $min_amount; - /** @var string Requires option */ + /** + * Requires option. + * + * @var string + */ public $requires; /** @@ -32,7 +40,7 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method { } /** - * init function. + * Initialize free shipping. */ public function init() { @@ -53,7 +61,7 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method { } /** - * Initialise Gateway Settings Form Fields. + * Initialize Gateway Settings Form Fields. */ public function init_form_fields() { $this->form_fields = array( @@ -116,7 +124,8 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method { } /** - * is_available function. + * Check if free shipping is available. + * * @param array $package * @return bool */ @@ -193,7 +202,8 @@ class WC_Shipping_Free_Shipping extends WC_Shipping_Method { } /** - * calculate_shipping function. + * Calculate free shipping. + * * @return array */ public function calculate_shipping() { From 0d2c6be073a7b97cca59a4402ee0e2080382dbc2 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:12:02 +0100 Subject: [PATCH 040/162] Improve docblock comments WC_Shipping_International_Delivery class * Added comment to `is_available` * Fixed initialize typo --- .../class-wc-shipping-international-delivery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/shipping/international-delivery/class-wc-shipping-international-delivery.php b/includes/shipping/international-delivery/class-wc-shipping-international-delivery.php index 92c195df745..049cce2be14 100644 --- a/includes/shipping/international-delivery/class-wc-shipping-international-delivery.php +++ b/includes/shipping/international-delivery/class-wc-shipping-international-delivery.php @@ -26,7 +26,7 @@ class WC_Shipping_International_Delivery extends WC_Shipping_Flat_Rate { } /** - * Initialise settings form fields. + * Initialize settings form fields. */ public function init_form_fields() { parent::init_form_fields(); @@ -44,7 +44,7 @@ class WC_Shipping_International_Delivery extends WC_Shipping_Flat_Rate { } /** - * is_available function. + * Check if international delivery is available. * * @param array $package * @return bool From 1288c18301290798fe3899e9243ff379c7f1c005 Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:13:44 +0100 Subject: [PATCH 041/162] Improve docblock comments in WC_Shipping_Local_Delivery class * Added comment to`calculate_shipping` and `init` --- .../local-delivery/class-wc-shipping-local-delivery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/shipping/local-delivery/class-wc-shipping-local-delivery.php b/includes/shipping/local-delivery/class-wc-shipping-local-delivery.php index bf03401f232..e279d58d294 100644 --- a/includes/shipping/local-delivery/class-wc-shipping-local-delivery.php +++ b/includes/shipping/local-delivery/class-wc-shipping-local-delivery.php @@ -27,7 +27,7 @@ class WC_Shipping_Local_Delivery extends WC_Shipping_Local_Pickup { } /** - * init function. + * Initialize local delivery. */ public function init() { @@ -48,7 +48,7 @@ class WC_Shipping_Local_Delivery extends WC_Shipping_Local_Pickup { } /** - * calculate_shipping function. + * Calculate local delivery shipping. * * @param array $package (default: array()) */ From 7570ac414f9a3345c807bb941e43137b46d5412c Mon Sep 17 00:00:00 2001 From: Fredrik Forsmo Date: Wed, 6 Jan 2016 20:15:45 +0100 Subject: [PATCH 042/162] Improve docblock comments in WC_Shipping_Local_Pickup * Added comments to `init`, `calculate_shipping`, `clean` and `init_form_fields` --- .../local-pickup/class-wc-shipping-local-pickup.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/includes/shipping/local-pickup/class-wc-shipping-local-pickup.php b/includes/shipping/local-pickup/class-wc-shipping-local-pickup.php index 937b3792e1b..7719af34c10 100644 --- a/includes/shipping/local-pickup/class-wc-shipping-local-pickup.php +++ b/includes/shipping/local-pickup/class-wc-shipping-local-pickup.php @@ -27,7 +27,7 @@ class WC_Shipping_Local_Pickup extends WC_Shipping_Method { } /** - * init function. + * Initialize local pickup. */ public function init() { @@ -48,6 +48,7 @@ class WC_Shipping_Local_Pickup extends WC_Shipping_Method { /** * calculate_shipping function. + * Calculate local pickup shipping. */ public function calculate_shipping() { $rate = array( @@ -58,7 +59,7 @@ class WC_Shipping_Local_Pickup extends WC_Shipping_Method { } /** - * init_form_fields function. + * Init form fields. */ public function init_form_fields() { $this->form_fields = array( @@ -188,7 +189,7 @@ class WC_Shipping_Local_Pickup extends WC_Shipping_Method { } /** - * clean function. + * Clean code string. * * @access public * @param mixed $code From 6d2b570f3060265e2ccf40a400e69b7b6af6c489 Mon Sep 17 00:00:00 2001 From: Brent Shepherd Date: Wed, 6 Jan 2016 17:53:21 -0800 Subject: [PATCH 043/162] Fix Unknown column '_customer_user' notice When deleting a user. Also ensures the customer value on orders is set correctly to a guest user (0). --- includes/wc-user-functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/wc-user-functions.php b/includes/wc-user-functions.php index 448b24aebb3..676d75d9154 100644 --- a/includes/wc-user-functions.php +++ b/includes/wc-user-functions.php @@ -542,7 +542,7 @@ function wc_get_customer_order_count( $user_id ) { function wc_reset_order_customer_id_on_deleted_user( $user_id ) { global $wpdb; - $wpdb->update( $wpdb->postmeta, array( '_customer_user' => 0 ), array( '_customer_user' => $user_id ) ); + $wpdb->update( $wpdb->postmeta, array( 'meta_value' => 0 ), array( 'meta_key' => '_customer_user', 'meta_value' => $user_id ) ); } add_action( 'deleted_user', 'wc_reset_order_customer_id_on_deleted_user' ); From 64161b9d63578a9dd8afd743f031670b265a3492 Mon Sep 17 00:00:00 2001 From: Shiva Poudel Date: Thu, 7 Jan 2016 12:43:08 +0545 Subject: [PATCH 044/162] No need of external product type to index --- assets/js/admin/meta-boxes-product.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/admin/meta-boxes-product.js b/assets/js/admin/meta-boxes-product.js index 7bc6b6b7e2b..776d8ae64a6 100644 --- a/assets/js/admin/meta-boxes-product.js +++ b/assets/js/admin/meta-boxes-product.js @@ -131,12 +131,12 @@ jQuery( function( $ ) { // Hide/Show all with rules var hide_classes = '.hide_if_downloadable, .hide_if_virtual'; - var show_classes = '.show_if_downloadable, .show_if_virtual, .show_if_external'; + var show_classes = '.show_if_downloadable, .show_if_virtual'; $.each( woocommerce_admin_meta_boxes.product_types, function( index, value ) { hide_classes = hide_classes + ', .hide_if_' + value; show_classes = show_classes + ', .show_if_' + value; - } ); + }); $( hide_classes ).show(); $( show_classes ).hide(); From e612dc45611a1aaadb3656d839ff34e319dc87c3 Mon Sep 17 00:00:00 2001 From: Caleb Burks <19caleb95@gmail.com> Date: Thu, 7 Jan 2016 04:07:02 -0500 Subject: [PATCH 045/162] Check for a valid product ID/SKU --- includes/class-wc-shortcodes.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/includes/class-wc-shortcodes.php b/includes/class-wc-shortcodes.php index 378168fc9b5..e95bf1e8176 100644 --- a/includes/class-wc-shortcodes.php +++ b/includes/class-wc-shortcodes.php @@ -446,9 +446,9 @@ class WC_Shortcodes { return ''; } - $product = wc_setup_product_data( $product_data ); - - if ( ! $product ) { + if ( is_object( $product_data ) ) { + $product = wc_setup_product_data( $product_data ); + } else { return ''; } @@ -494,6 +494,12 @@ class WC_Shortcodes { return ''; } + if ( is_object( $product_data ) ) { + $product = wc_setup_product_data( $product_data ); + } else { + return ''; + } + if ( 'product' !== $product_data->post_type ) { return ''; } From 808d3317c20eae307fe9171747083e2aee7b3607 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 7 Jan 2016 10:53:04 +0000 Subject: [PATCH 046/162] Min #10021 --- assets/js/admin/meta-boxes-product.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/admin/meta-boxes-product.min.js b/assets/js/admin/meta-boxes-product.min.js index 550cfd1d571..baa86423913 100644 --- a/assets/js/admin/meta-boxes-product.min.js +++ b/assets/js/admin/meta-boxes-product.min.js @@ -1 +1 @@ -jQuery(function(a){function b(){var b=a("select#product-type").val(),c=a("input#_virtual:checked").size(),d=a("input#_downloadable:checked").size(),e=".hide_if_downloadable, .hide_if_virtual",f=".show_if_downloadable, .show_if_virtual, .show_if_external";a.each(woocommerce_admin_meta_boxes.product_types,function(a,b){e=e+", .hide_if_"+b,f=f+", .show_if_"+b}),a(e).show(),a(f).hide(),d&&a(".show_if_downloadable").show(),c&&a(".show_if_virtual").show(),a(".show_if_"+b).show(),d&&a(".hide_if_downloadable").hide(),c&&a(".hide_if_virtual").hide(),a(".hide_if_"+b).hide(),a("input#_manage_stock").change()}function c(){a(".product_attributes .woocommerce_attribute").each(function(b,c){a(".attribute_position",c).val(parseInt(a(c).index(".product_attributes .woocommerce_attribute"),10))})}a(function(){a('[id$="-all"] > ul.categorychecklist').each(function(){var b=a(this),c=b.find(":checked").first();if(c.length){var d=b.find("input").position().top,e=c.position().top;b.closest(".tabs-panel").scrollTop(e-d+5)}})}),a("#upsell_product_data").bind("keypress",function(a){return 13===a.keyCode?!1:void 0}),a(".type_box").appendTo("#woocommerce-product-data .hndle span"),a(function(){a("#woocommerce-product-data").find(".hndle").unbind("click.postboxes"),jQuery("#woocommerce-product-data").on("click",".hndle",function(b){a(b.target).filter("input, option, label, select").length||a("#woocommerce-product-data").toggleClass("closed")})}),a("#catalog-visibility").find(".edit-catalog-visibility").click(function(){return a("#catalog-visibility-select").is(":hidden")&&(a("#catalog-visibility-select").slideDown("fast"),a(this).hide()),!1}),a("#catalog-visibility").find(".save-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("input[name=_visibility]:checked").attr("data-label");return a("input[name=_featured]").is(":checked")&&(b=b+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")),a("#catalog-visibility-display").text(b),!1}),a("#catalog-visibility").find(".cancel-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("#current_visibility").val(),c=a("#current_featured").val();a("input[name=_visibility]").removeAttr("checked"),a("input[name=_visibility][value="+b+"]").attr("checked","checked");var d=a("input[name=_visibility]:checked").attr("data-label");return"yes"===c?(d=d+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")):a("input[name=_featured]").removeAttr("checked"),a("#catalog-visibility-display").text(d),!1}),a("select#product-type").change(function(){var c=a(this).val();"variable"===c?(a("input#_manage_stock").change(),a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"grouped"===c?(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"external"===c&&(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")),b(),a("ul.wc-tabs li:visible").eq(0).find("a").click(),a(document.body).trigger("woocommerce-product-type-change",c,a(this))}).change(),a(document.body).on("woocommerce-product-type-change",function(b,c){"variable"!==c&&0d?-1:d>e?1:0}),a(d).each(function(b,c){a(".product_attributes").append(c)}),a(".product_attributes .woocommerce_attribute").each(function(b,c){"none"!==a(c).css("display")&&a(c).is(".taxonomy")&&a("select.attribute_taxonomy").find('option[value="'+a(c).data("taxonomy")+'"]').attr("disabled","disabled")}),a("button.add_attribute").on("click",function(){var b=a(".product_attributes .woocommerce_attribute").size(),d=a("select.attribute_taxonomy").val(),e=a(this).closest("#product_attributes").find(".product_attributes"),f=a("select#product-type").val(),g={action:"woocommerce_add_attribute",taxonomy:d,i:b,security:woocommerce_admin_meta_boxes.add_attribute_nonce};return e.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),a.post(woocommerce_admin_meta_boxes.ajax_url,g,function(b){e.append(b),"variable"!==f&&e.find(".enable_variation").hide(),a(document.body).trigger("wc-enhanced-select-init"),c(),e.unblock(),a(document.body).trigger("woocommerce_added_attribute")}),d&&(a("select.attribute_taxonomy").find('option[value="'+d+'"]').attr("disabled","disabled"),a("select.attribute_taxonomy").val("")),!1}),a(".product_attributes").on("blur","input.attribute_name",function(){a(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(a(this).val())}),a(".product_attributes").on("click","button.select_all_attributes",function(){return a(this).closest("td").find("select option").attr("selected","selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click","button.select_no_attributes",function(){return a(this).closest("td").find("select option").removeAttr("selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click",".remove_row",function(){if(window.confirm(woocommerce_admin_meta_boxes.remove_attribute)){var b=a(this).parent().parent();b.is(".taxonomy")?(b.find("select, input[type=text]").val(""),b.hide(),a("select.attribute_taxonomy").find('option[value="'+b.data("taxonomy")+'"]').removeAttr("disabled")):(b.find("select, input[type=text]").val(""),b.hide(),c())}return!1}),a(".product_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style"),c()}}),a(".product_attributes").on("click","button.add_new_attribute",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b=a(this).closest(".woocommerce_attribute"),c=b.data("taxonomy"),d=window.prompt(woocommerce_admin_meta_boxes.new_attribute_prompt);if(d){var e={action:"woocommerce_add_new_attribute",taxonomy:c,term:d,security:woocommerce_admin_meta_boxes.add_attribute_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,e,function(c){c.error?window.alert(c.error):c.slug&&(b.find("select.attribute_values").append('"),b.find("select.attribute_values").change()),a(".product_attributes").unblock()})}else a(".product_attributes").unblock();return!1}),a(".save_attributes").on("click",function(){a("#woocommerce-product-data").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b={post_id:woocommerce_admin_meta_boxes.post_id,data:a(".product_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,b,function(){var b=window.location.toString();b=b.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&"),a("#variable_product_options").load(b+" #variable_product_options_inner",function(){a("#variable_product_options").trigger("reload")})})});var e,f;jQuery(document.body).on("click",".upload_file_button",function(b){var c=a(this);if(f=c.closest("tr").find("td.file_url input"),b.preventDefault(),e)return void e.open();var d=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:c.data("choose"),priority:20,filterable:"uploaded"})];e=wp.media.frames.downloadable_file=wp.media({title:c.data("choose"),library:{type:""},button:{text:c.data("update")},multiple:!0,states:d}),e.on("select",function(){var a="",b=e.state().get("selection");b.map(function(b){b=b.toJSON(),b.url&&(a=b.url)}),f.val(a).change()}),e.on("ready",function(){e.uploader.options.uploader.params={type:"downloadable_product"}}),e.open()}),jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65});var g,h=a("#product_image_gallery"),i=a("#product_images_container").find("ul.product_images");jQuery(".add_product_images").on("click","a",function(b){var c=a(this);return b.preventDefault(),g?void g.open():(g=wp.media.frames.product_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]}),g.on("select",function(){var a=g.state().get("selection"),b=h.val();a.map(function(a){if(a=a.toJSON(),a.id){b=b?b+","+a.id:a.id;var d=a.sizes&&a.sizes.thumbnail?a.sizes.thumbnail.url:a.url;i.append('
  • ")}}),h.val(b)}),void g.open())}),i.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(){var b="";a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b)}}),a("#product_images_container").on("click","a.delete",function(){a(this).closest("li.image").remove();var b="";return a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b),a("#tiptip_holder").removeAttr("style"),a("#tiptip_arrow").removeAttr("style"),!1})}); \ No newline at end of file +jQuery(function(a){function b(){var b=a("select#product-type").val(),c=a("input#_virtual:checked").size(),d=a("input#_downloadable:checked").size(),e=".hide_if_downloadable, .hide_if_virtual",f=".show_if_downloadable, .show_if_virtual";a.each(woocommerce_admin_meta_boxes.product_types,function(a,b){e=e+", .hide_if_"+b,f=f+", .show_if_"+b}),a(e).show(),a(f).hide(),d&&a(".show_if_downloadable").show(),c&&a(".show_if_virtual").show(),a(".show_if_"+b).show(),d&&a(".hide_if_downloadable").hide(),c&&a(".hide_if_virtual").hide(),a(".hide_if_"+b).hide(),a("input#_manage_stock").change()}function c(){a(".product_attributes .woocommerce_attribute").each(function(b,c){a(".attribute_position",c).val(parseInt(a(c).index(".product_attributes .woocommerce_attribute"),10))})}a(function(){a('[id$="-all"] > ul.categorychecklist').each(function(){var b=a(this),c=b.find(":checked").first();if(c.length){var d=b.find("input").position().top,e=c.position().top;b.closest(".tabs-panel").scrollTop(e-d+5)}})}),a("#upsell_product_data").bind("keypress",function(a){return 13===a.keyCode?!1:void 0}),a(".type_box").appendTo("#woocommerce-product-data .hndle span"),a(function(){a("#woocommerce-product-data").find(".hndle").unbind("click.postboxes"),jQuery("#woocommerce-product-data").on("click",".hndle",function(b){a(b.target).filter("input, option, label, select").length||a("#woocommerce-product-data").toggleClass("closed")})}),a("#catalog-visibility").find(".edit-catalog-visibility").click(function(){return a("#catalog-visibility-select").is(":hidden")&&(a("#catalog-visibility-select").slideDown("fast"),a(this).hide()),!1}),a("#catalog-visibility").find(".save-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("input[name=_visibility]:checked").attr("data-label");return a("input[name=_featured]").is(":checked")&&(b=b+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")),a("#catalog-visibility-display").text(b),!1}),a("#catalog-visibility").find(".cancel-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("#current_visibility").val(),c=a("#current_featured").val();a("input[name=_visibility]").removeAttr("checked"),a("input[name=_visibility][value="+b+"]").attr("checked","checked");var d=a("input[name=_visibility]:checked").attr("data-label");return"yes"===c?(d=d+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")):a("input[name=_featured]").removeAttr("checked"),a("#catalog-visibility-display").text(d),!1}),a("select#product-type").change(function(){var c=a(this).val();"variable"===c?(a("input#_manage_stock").change(),a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"grouped"===c?(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"external"===c&&(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")),b(),a("ul.wc-tabs li:visible").eq(0).find("a").click(),a(document.body).trigger("woocommerce-product-type-change",c,a(this))}).change(),a(document.body).on("woocommerce-product-type-change",function(b,c){"variable"!==c&&0d?-1:d>e?1:0}),a(d).each(function(b,c){a(".product_attributes").append(c)}),a(".product_attributes .woocommerce_attribute").each(function(b,c){"none"!==a(c).css("display")&&a(c).is(".taxonomy")&&a("select.attribute_taxonomy").find('option[value="'+a(c).data("taxonomy")+'"]').attr("disabled","disabled")}),a("button.add_attribute").on("click",function(){var b=a(".product_attributes .woocommerce_attribute").size(),d=a("select.attribute_taxonomy").val(),e=a(this).closest("#product_attributes").find(".product_attributes"),f=a("select#product-type").val(),g={action:"woocommerce_add_attribute",taxonomy:d,i:b,security:woocommerce_admin_meta_boxes.add_attribute_nonce};return e.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),a.post(woocommerce_admin_meta_boxes.ajax_url,g,function(b){e.append(b),"variable"!==f&&e.find(".enable_variation").hide(),a(document.body).trigger("wc-enhanced-select-init"),c(),e.unblock(),a(document.body).trigger("woocommerce_added_attribute")}),d&&(a("select.attribute_taxonomy").find('option[value="'+d+'"]').attr("disabled","disabled"),a("select.attribute_taxonomy").val("")),!1}),a(".product_attributes").on("blur","input.attribute_name",function(){a(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(a(this).val())}),a(".product_attributes").on("click","button.select_all_attributes",function(){return a(this).closest("td").find("select option").attr("selected","selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click","button.select_no_attributes",function(){return a(this).closest("td").find("select option").removeAttr("selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click",".remove_row",function(){if(window.confirm(woocommerce_admin_meta_boxes.remove_attribute)){var b=a(this).parent().parent();b.is(".taxonomy")?(b.find("select, input[type=text]").val(""),b.hide(),a("select.attribute_taxonomy").find('option[value="'+b.data("taxonomy")+'"]').removeAttr("disabled")):(b.find("select, input[type=text]").val(""),b.hide(),c())}return!1}),a(".product_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style"),c()}}),a(".product_attributes").on("click","button.add_new_attribute",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b=a(this).closest(".woocommerce_attribute"),c=b.data("taxonomy"),d=window.prompt(woocommerce_admin_meta_boxes.new_attribute_prompt);if(d){var e={action:"woocommerce_add_new_attribute",taxonomy:c,term:d,security:woocommerce_admin_meta_boxes.add_attribute_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,e,function(c){c.error?window.alert(c.error):c.slug&&(b.find("select.attribute_values").append('"),b.find("select.attribute_values").change()),a(".product_attributes").unblock()})}else a(".product_attributes").unblock();return!1}),a(".save_attributes").on("click",function(){a("#woocommerce-product-data").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b={post_id:woocommerce_admin_meta_boxes.post_id,data:a(".product_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,b,function(){var b=window.location.toString();b=b.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&"),a("#variable_product_options").load(b+" #variable_product_options_inner",function(){a("#variable_product_options").trigger("reload")})})});var e,f;jQuery(document.body).on("click",".upload_file_button",function(b){var c=a(this);if(f=c.closest("tr").find("td.file_url input"),b.preventDefault(),e)return void e.open();var d=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:c.data("choose"),priority:20,filterable:"uploaded"})];e=wp.media.frames.downloadable_file=wp.media({title:c.data("choose"),library:{type:""},button:{text:c.data("update")},multiple:!0,states:d}),e.on("select",function(){var a="",b=e.state().get("selection");b.map(function(b){b=b.toJSON(),b.url&&(a=b.url)}),f.val(a).change()}),e.on("ready",function(){e.uploader.options.uploader.params={type:"downloadable_product"}}),e.open()}),jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65});var g,h=a("#product_image_gallery"),i=a("#product_images_container").find("ul.product_images");jQuery(".add_product_images").on("click","a",function(b){var c=a(this);return b.preventDefault(),g?void g.open():(g=wp.media.frames.product_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]}),g.on("select",function(){var a=g.state().get("selection"),b=h.val();a.map(function(a){if(a=a.toJSON(),a.id){b=b?b+","+a.id:a.id;var d=a.sizes&&a.sizes.thumbnail?a.sizes.thumbnail.url:a.url;i.append('
  • ")}}),h.val(b)}),void g.open())}),i.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(){var b="";a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b)}}),a("#product_images_container").on("click","a.delete",function(){a(this).closest("li.image").remove();var b="";return a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b),a("#tiptip_holder").removeAttr("style"),a("#tiptip_arrow").removeAttr("style"),!1})}); \ No newline at end of file From 45dd6890c75b83a11369a66ca1afd854f56d894d Mon Sep 17 00:00:00 2001 From: Shiva Poudel Date: Thu, 7 Jan 2016 16:58:53 +0545 Subject: [PATCH 047/162] Use selected instead of checked for currency code in setup wizard --- includes/admin/class-wc-admin-setup-wizard.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/class-wc-admin-setup-wizard.php b/includes/admin/class-wc-admin-setup-wizard.php index 6b203e9f428..be86ff6a007 100644 --- a/includes/admin/class-wc-admin-setup-wizard.php +++ b/includes/admin/class-wc-admin-setup-wizard.php @@ -308,7 +308,7 @@ class WC_Admin_Setup_Wizard { $name ) { - echo ''; + echo ''; } ?> From 3c5520d18cd02c241dc1a44bc66fa28aa9460c66 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 7 Jan 2016 11:25:24 +0000 Subject: [PATCH 048/162] Add filter on default location array Closes #10017 --- includes/wc-core-functions.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/includes/wc-core-functions.php b/includes/wc-core-functions.php index f1ea9b9389f..f3ecd9108c1 100644 --- a/includes/wc-core-functions.php +++ b/includes/wc-core-functions.php @@ -697,12 +697,13 @@ function wc_get_base_location() { } /** - * Get the customer's default location. . + * Get the customer's default location. * * Filtered, and set to base location or left blank. If cache-busting, * this should only be used when 'location' is set in the querystring. * * @todo should the woocommerce_default_country option be renamed to contain 'base'? + * @todo deprecate woocommerce_customer_default_location and support an array filter only to cover all cases. * @since 2.3.0 * @return array */ @@ -725,7 +726,7 @@ function wc_get_customer_default_location() { break; } - return $location; + return apply_filters( 'woocommerce_customer_default_location_array', $location ); } // This function can be removed when WP 3.9.2 or greater is required. From 67c06f313eec4ec53709c9792b7eebfba023c816 Mon Sep 17 00:00:00 2001 From: Kathy Darling Date: Thu, 7 Jan 2016 09:43:34 -0500 Subject: [PATCH 049/162] add filter for reset variations link html --- templates/single-product/add-to-cart/variable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/single-product/add-to-cart/variable.php b/templates/single-product/add-to-cart/variable.php index 679124b82cc..4d606d89af2 100644 --- a/templates/single-product/add-to-cart/variable.php +++ b/templates/single-product/add-to-cart/variable.php @@ -39,7 +39,7 @@ do_action( 'woocommerce_before_add_to_cart_form' ); ?> get_variation_default_attribute( $attribute_name ); wc_dropdown_variation_attribute_options( array( 'options' => $options, 'attribute' => $attribute_name, 'product' => $product, 'selected' => $selected ) ); - echo end( $attribute_keys ) === $attribute_name ? '' . __( 'Clear', 'woocommerce' ) . '' : ''; + echo end( $attribute_keys ) === $attribute_name ? apply_filters( 'woocommerce_reset_variations_link', '' . __( 'Clear', 'woocommerce' ) . '' ) : ''; ?> From 734f3aed18d5ccc2cadc4592f07256fa2cd98325 Mon Sep 17 00:00:00 2001 From: Florian Ludwig Date: Thu, 7 Jan 2016 23:52:01 +0100 Subject: [PATCH 050/162] Eliminated duplicate price save code in api v2 and api v3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I think we shouldn’t coyp&paste too much code from core into the api so I eliminated the duplicate code and made use of the already existing _wc_save_product_price function for products and variations --- includes/api/class-wc-api-products.php | 92 +++-------------------- includes/api/v2/class-wc-api-products.php | 88 +++------------------- 2 files changed, 22 insertions(+), 158 deletions(-) diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index b56082bd665..011cfa6ee9f 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -1420,59 +1420,25 @@ class WC_API_Products extends WC_API_Resource { } else { - // Regular Price. + // Regular Price if ( isset( $data['regular_price'] ) ) { - $regular_price = ( '' === $data['regular_price'] ) ? '' : wc_format_decimal( $data['regular_price'] ); - update_post_meta( $product_id, '_regular_price', $regular_price ); + $regular_price = ( '' === $data['regular_price'] ) ? '' : $data['regular_price']; } else { $regular_price = get_post_meta( $product_id, '_regular_price', true ); } - // Sale Price. + // Sale Price if ( isset( $data['sale_price'] ) ) { - $sale_price = ( '' === $data['sale_price'] ) ? '' : wc_format_decimal( $data['sale_price'] ); - update_post_meta( $product_id, '_sale_price', $sale_price ); + $sale_price = ( '' === $data['sale_price'] ) ? '' : $data['sale_price']; } else { $sale_price = get_post_meta( $product_id, '_sale_price', true ); } - $date_from = isset( $data['sale_price_dates_from'] ) ? strtotime( $data['sale_price_dates_from'] ) : get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_to = isset( $data['sale_price_dates_to'] ) ? strtotime( $data['sale_price_dates_to'] ) : get_post_meta( $product_id, '_sale_price_dates_to', true ); + $date_from = isset( $data['sale_price_dates_from'] ) ? $data['sale_price_dates_from'] : get_post_meta( $product_id, '_sale_price_dates_from', true ); + $date_to = isset( $data['sale_price_dates_to'] ) ? $data['sale_price_dates_to'] : get_post_meta( $product_id, '_sale_price_dates_to', true ); - // Dates - if ( $date_from ) { - update_post_meta( $product_id, '_sale_price_dates_from', $date_from ); - } else { - update_post_meta( $product_id, '_sale_price_dates_from', '' ); - } + _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); - if ( $date_to ) { - update_post_meta( $product_id, '_sale_price_dates_to', $date_to ); - } else { - update_post_meta( $product_id, '_sale_price_dates_to', '' ); - } - - if ( $date_to && ! $date_from ) { - $date_from = strtotime( 'NOW', current_time( 'timestamp' ) ); - update_post_meta( $product_id, '_sale_price_dates_from', $date_from ); - } - - // Update price if on sale. - if ( '' !== $sale_price && '' == $date_to && '' == $date_from ) { - update_post_meta( $product_id, '_price', wc_format_decimal( $sale_price ) ); - } else { - update_post_meta( $product_id, '_price', $regular_price ); - } - - if ( '' !== $sale_price && $date_from && $date_from <= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $product_id, '_price', wc_format_decimal( $sale_price ) ); - } - - if ( $date_to && $date_to < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $product_id, '_price', $regular_price ); - update_post_meta( $product_id, '_sale_price_dates_from', '' ); - update_post_meta( $product_id, '_sale_price_dates_to', '' ); - } } // Product parent ID for groups. @@ -1856,56 +1822,22 @@ class WC_API_Products extends WC_API_Resource { // Regular Price if ( isset( $variation['regular_price'] ) ) { - $regular_price = ( '' === $variation['regular_price'] ) ? '' : wc_format_decimal( $variation['regular_price'] ); - update_post_meta( $variation_id, '_regular_price', $regular_price ); + $regular_price = ( '' === $variation['regular_price'] ) ? '' : $variation['regular_price']; } else { $regular_price = get_post_meta( $variation_id, '_regular_price', true ); } // Sale Price if ( isset( $variation['sale_price'] ) ) { - $sale_price = ( '' === $variation['sale_price'] ) ? '' : wc_format_decimal( $variation['sale_price'] ); - update_post_meta( $variation_id, '_sale_price', $sale_price ); + $sale_price = ( '' === $variation['sale_price'] ) ? '' : $variation['sale_price']; } else { $sale_price = get_post_meta( $variation_id, '_sale_price', true ); } - $date_from = isset( $variation['sale_price_dates_from'] ) ? strtotime( $variation['sale_price_dates_from'] ) : get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_to = isset( $variation['sale_price_dates_to'] ) ? strtotime( $variation['sale_price_dates_to'] ) : get_post_meta( $variation_id, '_sale_price_dates_to', true ); + $date_from = isset( $variation['sale_price_dates_from'] ) ? $variation['sale_price_dates_from'] : get_post_meta( $variation_id, '_sale_price_dates_from', true ); + $date_to = isset( $variation['sale_price_dates_to'] ) ? $variation['sale_price_dates_to'] : get_post_meta( $variation_id, '_sale_price_dates_to', true ); - // Save Dates - if ( $date_from ) { - update_post_meta( $variation_id, '_sale_price_dates_from', $date_from ); - } else { - update_post_meta( $variation_id, '_sale_price_dates_from', '' ); - } - - if ( $date_to ) { - update_post_meta( $variation_id, '_sale_price_dates_to', $date_to ); - } else { - update_post_meta( $variation_id, '_sale_price_dates_to', '' ); - } - - if ( $date_to && ! $date_from ) { - update_post_meta( $variation_id, '_sale_price_dates_from', strtotime( 'NOW', current_time( 'timestamp' ) ) ); - } - - // Update price if on sale - if ( '' != $sale_price && '' == $date_to && '' == $date_from ) { - update_post_meta( $variation_id, '_price', $sale_price ); - } else { - update_post_meta( $variation_id, '_price', $regular_price ); - } - - if ( '' != $sale_price && $date_from && $date_from < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $variation_id, '_price', $sale_price ); - } - - if ( $date_to && $date_to < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $variation_id, '_price', $regular_price ); - update_post_meta( $variation_id, '_sale_price_dates_from', '' ); - update_post_meta( $variation_id, '_sale_price_dates_to', '' ); - } + _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); // Tax class if ( isset( $variation['tax_class'] ) ) { diff --git a/includes/api/v2/class-wc-api-products.php b/includes/api/v2/class-wc-api-products.php index c8bd587f2ff..6e986f3afd2 100644 --- a/includes/api/v2/class-wc-api-products.php +++ b/includes/api/v2/class-wc-api-products.php @@ -965,57 +965,23 @@ class WC_API_Products extends WC_API_Resource { // Regular Price if ( isset( $data['regular_price'] ) ) { - $regular_price = ( '' === $data['regular_price'] ) ? '' : wc_format_decimal( $data['regular_price'] ); - update_post_meta( $product_id, '_regular_price', $regular_price ); + $regular_price = ( '' === $data['regular_price'] ) ? '' : $data['regular_price']; } else { $regular_price = get_post_meta( $product_id, '_regular_price', true ); } // Sale Price if ( isset( $data['sale_price'] ) ) { - $sale_price = ( '' === $data['sale_price'] ) ? '' : wc_format_decimal( $data['sale_price'] ); - update_post_meta( $product_id, '_sale_price', $sale_price ); + $sale_price = ( '' === $data['sale_price'] ) ? '' : $data['sale_price']; } else { $sale_price = get_post_meta( $product_id, '_sale_price', true ); } - $date_from = isset( $data['sale_price_dates_from'] ) ? strtotime( $data['sale_price_dates_from'] ) : get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_to = isset( $data['sale_price_dates_to'] ) ? strtotime( $data['sale_price_dates_to'] ) : get_post_meta( $product_id, '_sale_price_dates_to', true ); + $date_from = isset( $data['sale_price_dates_from'] ) ? $data['sale_price_dates_from'] : get_post_meta( $product_id, '_sale_price_dates_from', true ); + $date_to = isset( $data['sale_price_dates_to'] ) ? $data['sale_price_dates_to'] : get_post_meta( $product_id, '_sale_price_dates_to', true ); - // Dates - if ( $date_from ) { - update_post_meta( $product_id, '_sale_price_dates_from', $date_from ); - } else { - update_post_meta( $product_id, '_sale_price_dates_from', '' ); - } + _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); - if ( $date_to ) { - update_post_meta( $product_id, '_sale_price_dates_to', $date_to ); - } else { - update_post_meta( $product_id, '_sale_price_dates_to', '' ); - } - - if ( $date_to && ! $date_from ) { - $date_from = strtotime( 'NOW', current_time( 'timestamp' ) ); - update_post_meta( $product_id, '_sale_price_dates_from', $date_from ); - } - - // Update price if on sale - if ( '' !== $sale_price && '' == $date_to && '' == $date_from ) { - update_post_meta( $product_id, '_price', wc_format_decimal( $sale_price ) ); - } else { - update_post_meta( $product_id, '_price', $regular_price ); - } - - if ( '' !== $sale_price && $date_from && $date_from <= strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $product_id, '_price', wc_format_decimal( $sale_price ) ); - } - - if ( $date_to && $date_to < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $product_id, '_price', $regular_price ); - update_post_meta( $product_id, '_sale_price_dates_from', '' ); - update_post_meta( $product_id, '_sale_price_dates_to', '' ); - } } // Product parent ID for groups @@ -1389,56 +1355,22 @@ class WC_API_Products extends WC_API_Resource { // Regular Price if ( isset( $variation['regular_price'] ) ) { - $regular_price = ( '' === $variation['regular_price'] ) ? '' : wc_format_decimal( $variation['regular_price'] ); - update_post_meta( $variation_id, '_regular_price', $regular_price ); + $regular_price = ( '' === $variation['regular_price'] ) ? '' : $variation['regular_price']; } else { $regular_price = get_post_meta( $variation_id, '_regular_price', true ); } // Sale Price if ( isset( $variation['sale_price'] ) ) { - $sale_price = ( '' === $variation['sale_price'] ) ? '' : wc_format_decimal( $variation['sale_price'] ); - update_post_meta( $variation_id, '_sale_price', $sale_price ); + $sale_price = ( '' === $variation['sale_price'] ) ? '' : $variation['sale_price']; } else { $sale_price = get_post_meta( $variation_id, '_sale_price', true ); } - $date_from = isset( $variation['sale_price_dates_from'] ) ? strtotime( $variation['sale_price_dates_from'] ) : get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_to = isset( $variation['sale_price_dates_to'] ) ? strtotime( $variation['sale_price_dates_to'] ) : get_post_meta( $variation_id, '_sale_price_dates_to', true ); + $date_from = isset( $variation['sale_price_dates_from'] ) ? $variation['sale_price_dates_from'] : get_post_meta( $variation_id, '_sale_price_dates_from', true ); + $date_to = isset( $variation['sale_price_dates_to'] ) ? $variation['sale_price_dates_to'] : get_post_meta( $variation_id, '_sale_price_dates_to', true ); - // Save Dates - if ( $date_from ) { - update_post_meta( $variation_id, '_sale_price_dates_from', $date_from ); - } else { - update_post_meta( $variation_id, '_sale_price_dates_from', '' ); - } - - if ( $date_to ) { - update_post_meta( $variation_id, '_sale_price_dates_to', $date_to ); - } else { - update_post_meta( $variation_id, '_sale_price_dates_to', '' ); - } - - if ( $date_to && ! $date_from ) { - update_post_meta( $variation_id, '_sale_price_dates_from', strtotime( 'NOW', current_time( 'timestamp' ) ) ); - } - - // Update price if on sale - if ( '' != $sale_price && '' == $date_to && '' == $date_from ) { - update_post_meta( $variation_id, '_price', $sale_price ); - } else { - update_post_meta( $variation_id, '_price', $regular_price ); - } - - if ( '' != $sale_price && $date_from && $date_from < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $variation_id, '_price', $sale_price ); - } - - if ( $date_to && $date_to < strtotime( 'NOW', current_time( 'timestamp' ) ) ) { - update_post_meta( $variation_id, '_price', $regular_price ); - update_post_meta( $variation_id, '_sale_price_dates_from', '' ); - update_post_meta( $variation_id, '_sale_price_dates_to', '' ); - } + _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); // Tax class if ( isset( $variation['tax_class'] ) ) { From ad11042afdec60a4571586e97386656504cd684f Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 8 Jan 2016 11:27:13 +0000 Subject: [PATCH 051/162] [2.4] Don't unforce SSL on secure blogs @claudiosmweb can you check this and cherry pick if good to go? Fixes #10029 --- .../admin/settings/class-wc-settings-checkout.php | 6 +++++- includes/api/class-wc-api-server.php | 2 +- includes/class-wc-https.php | 6 +++--- includes/wc-conditional-functions.php | 13 +++++++++++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/includes/admin/settings/class-wc-settings-checkout.php b/includes/admin/settings/class-wc-settings-checkout.php index c9ea9a4b019..45347c303b7 100644 --- a/includes/admin/settings/class-wc-settings-checkout.php +++ b/includes/admin/settings/class-wc-settings-checkout.php @@ -113,7 +113,7 @@ class WC_Settings_Payment_Gateways extends WC_Settings_Page { 'desc_tip' => __( 'Force SSL (HTTPS) on the checkout pages (an SSL Certificate is required).', 'woocommerce' ), ), - array( + 'unforce_ssl_checkout' => array( 'desc' => __( 'Force HTTP when leaving the checkout', 'woocommerce' ), 'id' => 'woocommerce_unforce_ssl_checkout', 'default' => 'no', @@ -225,6 +225,10 @@ class WC_Settings_Payment_Gateways extends WC_Settings_Page { ) ); + if ( wc_site_is_https() ) { + unset( $settings['unforce_ssl_checkout'] ); + } + return apply_filters( 'woocommerce_get_settings_' . $this->id, $settings ); } diff --git a/includes/api/class-wc-api-server.php b/includes/api/class-wc-api-server.php index 3b607f3f163..3a86ba1eb27 100644 --- a/includes/api/class-wc-api-server.php +++ b/includes/api/class-wc-api-server.php @@ -460,7 +460,7 @@ class WC_API_Server { 'tax_included' => wc_prices_include_tax(), 'weight_unit' => get_option( 'woocommerce_weight_unit' ), 'dimension_unit' => get_option( 'woocommerce_dimension_unit' ), - 'ssl_enabled' => ( 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) ), + 'ssl_enabled' => ( 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) || wc_site_is_https() ), 'permalinks_enabled' => ( '' !== get_option( 'permalink_structure' ) ), 'generate_password' => ( 'yes' === get_option( 'woocommerce_registration_generate_password' ) ), 'links' => array( diff --git a/includes/class-wc-https.php b/includes/class-wc-https.php index 298cc37ffb6..605ce5348b0 100644 --- a/includes/class-wc-https.php +++ b/includes/class-wc-https.php @@ -19,7 +19,7 @@ class WC_HTTPS { * Hook in our HTTPS functions if we're on the frontend. This will ensure any links output to a page (when viewing via HTTPS) are also served over HTTPS. */ public static function init() { - if ( 'yes' == get_option( 'woocommerce_force_ssl_checkout' ) && ! is_admin() ) { + if ( 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) && ! is_admin() ) { // HTTPS urls with SSL on $filters = array( 'post_thumbnail_html', @@ -72,7 +72,7 @@ class WC_HTTPS { public static function force_https_page_link( $link, $page_id ) { if ( in_array( $page_id, array( get_option( 'woocommerce_checkout_page_id' ), get_option( 'woocommerce_myaccount_page_id' ) ) ) ) { $link = str_replace( 'http:', 'https:', $link ); - } elseif ( 'yes' == get_option( 'woocommerce_unforce_ssl_checkout' ) ) { + } elseif ( 'yes' === get_option( 'woocommerce_unforce_ssl_checkout' ) && ! wc_site_is_https() ) { $link = str_replace( 'https:', 'http:', $link ); } return $link; @@ -102,7 +102,7 @@ class WC_HTTPS { return; } - if ( is_ssl() && $_SERVER['REQUEST_URI'] && ! is_checkout() && ! is_ajax() && ! is_account_page() && apply_filters( 'woocommerce_unforce_ssl_checkout', true ) ) { + if ( ! wc_site_is_https() && is_ssl() && $_SERVER['REQUEST_URI'] && ! is_checkout() && ! is_ajax() && ! is_account_page() && apply_filters( 'woocommerce_unforce_ssl_checkout', true ) ) { if ( 0 === strpos( $_SERVER['REQUEST_URI'], 'http' ) ) { wp_safe_redirect( preg_replace( '|^https://|', 'http://', $_SERVER['REQUEST_URI'] ) ); diff --git a/includes/wc-conditional-functions.php b/includes/wc-conditional-functions.php index ed62a6ca496..b84fbe37805 100644 --- a/includes/wc-conditional-functions.php +++ b/includes/wc-conditional-functions.php @@ -357,13 +357,22 @@ function wc_is_valid_url( $url ) { return true; } +/** + * Check if the home URL is https. If it is, we don't need to do things such as 'force ssl'. + * + * @since 2.4.13 + * @return bool + */ +function wc_site_is_https() { + return strstr( get_option( 'home' ), 'https:' ); +} + /** * Check if the checkout is configured for https. Look at options, WP HTTPS plugin, or the permalink itself. * * @since 2.5.0 - * * @return bool */ function wc_checkout_is_https() { - return 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) || class_exists( 'WordPressHTTPS' ) || strstr( wc_get_page_permalink( 'checkout' ), 'https:' ); + return wc_site_is_https() || 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) || class_exists( 'WordPressHTTPS' ) || strstr( wc_get_page_permalink( 'checkout' ), 'https:' ); } From 71a6fcc0e2f218fda0db30d5336089782dc4916f Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 8 Jan 2016 12:16:55 +0000 Subject: [PATCH 052/162] Note should be in customer details table Fixes #10037 --- includes/class-wc-emails.php | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/includes/class-wc-emails.php b/includes/class-wc-emails.php index c7b93117dda..667ef7e5a8b 100644 --- a/includes/class-wc-emails.php +++ b/includes/class-wc-emails.php @@ -275,16 +275,7 @@ class WC_Emails { * @return string */ public function order_meta( $order, $sent_to_admin = false, $plain_text = false ) { - $fields = array(); - - if ( $order->customer_note ) { - $fields['customer_note'] = array( - 'label' => __( 'Note', 'woocommerce' ), - 'value' => wptexturize( $order->customer_note ) - ); - } - - $fields = apply_filters( 'woocommerce_email_order_meta_fields', $fields, $sent_to_admin, $order ); + $fields = apply_filters( 'woocommerce_email_order_meta_fields', array(), $sent_to_admin, $order ); /** * Deprecated woocommerce_email_order_meta_keys filter. @@ -347,6 +338,13 @@ class WC_Emails { public function customer_details( $order, $sent_to_admin = false, $plain_text = false ) { $fields = array(); + if ( $order->customer_note ) { + $fields['customer_note'] = array( + 'label' => __( 'Note', 'woocommerce' ), + 'value' => wptexturize( $order->customer_note ) + ); + } + if ( $order->billing_email ) { $fields['billing_email'] = array( 'label' => __( 'Email', 'woocommerce' ), From f41a0a539f50c7941ccdd71b354c67ccc6458f31 Mon Sep 17 00:00:00 2001 From: Florian Ludwig Date: Fri, 8 Jan 2016 13:34:19 +0100 Subject: [PATCH 053/162] Fixed format of date after reading from DB --- includes/api/class-wc-api-products.php | 30 ++++++++++++++++++++--- includes/api/v2/class-wc-api-products.php | 30 ++++++++++++++++++++--- 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index 011cfa6ee9f..b12cb4812ed 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -1434,8 +1434,19 @@ class WC_API_Products extends WC_API_Resource { $sale_price = get_post_meta( $product_id, '_sale_price', true ); } - $date_from = isset( $data['sale_price_dates_from'] ) ? $data['sale_price_dates_from'] : get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_to = isset( $data['sale_price_dates_to'] ) ? $data['sale_price_dates_to'] : get_post_meta( $product_id, '_sale_price_dates_to', true ); + if ( isset( $data['sale_price_dates_from'] ) ) { + $date_from = $data['sale_price_dates_from']; + } else { + $date_from = get_post_meta( $product_id, '_sale_price_dates_from', true ); + $date_from = date( 'Y-m-d', $date_from ); + } + + if ( isset( $data['sale_price_dates_to'] ) ) { + $date_to = $data['sale_price_dates_to']; + } else { + $date_to = get_post_meta( $product_id, '_sale_price_dates_to', TRUE ); + $date_to = date( 'Y-m-d', $date_to ); + } _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); @@ -1834,8 +1845,19 @@ class WC_API_Products extends WC_API_Resource { $sale_price = get_post_meta( $variation_id, '_sale_price', true ); } - $date_from = isset( $variation['sale_price_dates_from'] ) ? $variation['sale_price_dates_from'] : get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_to = isset( $variation['sale_price_dates_to'] ) ? $variation['sale_price_dates_to'] : get_post_meta( $variation_id, '_sale_price_dates_to', true ); + if ( isset( $variation['sale_price_dates_from'] ) ) { + $date_from = $variation['sale_price_dates_from']; + } else { + $date_from = get_post_meta( $variation_id, '_sale_price_dates_from', true ); + $date_from = date( 'Y-m-d', $date_from ); + } + + if ( isset( $variation['sale_price_dates_to'] ) ) { + $date_to = $variation['sale_price_dates_to']; + } else { + $date_to = get_post_meta( $variation_id, '_sale_price_dates_to', true ); + $date_to = date( 'Y-m-d', $date_to ); + } _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); diff --git a/includes/api/v2/class-wc-api-products.php b/includes/api/v2/class-wc-api-products.php index 6e986f3afd2..54b8f5b3a01 100644 --- a/includes/api/v2/class-wc-api-products.php +++ b/includes/api/v2/class-wc-api-products.php @@ -977,8 +977,19 @@ class WC_API_Products extends WC_API_Resource { $sale_price = get_post_meta( $product_id, '_sale_price', true ); } - $date_from = isset( $data['sale_price_dates_from'] ) ? $data['sale_price_dates_from'] : get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_to = isset( $data['sale_price_dates_to'] ) ? $data['sale_price_dates_to'] : get_post_meta( $product_id, '_sale_price_dates_to', true ); + if ( isset( $data['sale_price_dates_from'] ) ) { + $date_from = $data['sale_price_dates_from']; + } else { + $date_from = get_post_meta( $product_id, '_sale_price_dates_from', true ); + $date_from = date( 'Y-m-d', $date_from ); + } + + if ( isset( $data['sale_price_dates_to'] ) ) { + $date_to = $data['sale_price_dates_to']; + } else { + $date_to = get_post_meta( $product_id, '_sale_price_dates_to', TRUE ); + $date_to = date( 'Y-m-d', $date_to ); + } _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); @@ -1367,8 +1378,19 @@ class WC_API_Products extends WC_API_Resource { $sale_price = get_post_meta( $variation_id, '_sale_price', true ); } - $date_from = isset( $variation['sale_price_dates_from'] ) ? $variation['sale_price_dates_from'] : get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_to = isset( $variation['sale_price_dates_to'] ) ? $variation['sale_price_dates_to'] : get_post_meta( $variation_id, '_sale_price_dates_to', true ); + if ( isset( $variation['sale_price_dates_from'] ) ) { + $date_from = $variation['sale_price_dates_from']; + } else { + $date_from = get_post_meta( $variation_id, '_sale_price_dates_from', true ); + $date_from = date( 'Y-m-d', $date_from ); + } + + if ( isset( $variation['sale_price_dates_to'] ) ) { + $date_to = $variation['sale_price_dates_to']; + } else { + $date_to = get_post_meta( $variation_id, '_sale_price_dates_to', true ); + $date_to = date( 'Y-m-d', $date_to ); + } _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); From 56d303f4d3139336d539514f9dc15efda0a0381c Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 8 Jan 2016 15:01:55 +0000 Subject: [PATCH 054/162] woocommerce_api_request_url filter Closes #10040 --- woocommerce.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/woocommerce.php b/woocommerce.php index 637c2a32999..53a616b62a1 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -440,7 +440,7 @@ final class WooCommerce { $api_request_url = add_query_arg( 'wc-api', $request, trailingslashit( home_url( '', $scheme ) ) ); } - return esc_url_raw( $api_request_url ); + return esc_url_raw( apply_filters( 'woocommerce_api_request_url', $api_request_url, $request, $ssl ) ); } /** From 72f2f4a3276fc55a2b0d04896160c6bc94e7bfc4 Mon Sep 17 00:00:00 2001 From: Keijo Hyttinen Date: Sun, 10 Jan 2016 00:59:54 +0200 Subject: [PATCH 055/162] backorders needs identity check due to boolean values --- includes/api/class-wc-api-products.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index b56082bd665..d8dab49f618 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -1545,7 +1545,7 @@ class WC_API_Products extends WC_API_Resource { // Backorders. if ( isset( $data['backorders'] ) ) { - if ( 'notify' == $data['backorders'] ) { + if ( 'notify' === $data['backorders'] ) { $backorders = 'notify'; } else { $backorders = ( true === $data['backorders'] ) ? 'yes' : 'no'; From d059ce6bc927ee2877631da64557c65418d7c912 Mon Sep 17 00:00:00 2001 From: Florian Ludwig Date: Mon, 11 Jan 2016 11:27:55 +0100 Subject: [PATCH 056/162] Fixed php notices for incorrect input format in date function if date is not set in db --- includes/api/class-wc-api-products.php | 10 +++++----- includes/api/v2/class-wc-api-products.php | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index b12cb4812ed..765de1ce592 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -1438,14 +1438,14 @@ class WC_API_Products extends WC_API_Resource { $date_from = $data['sale_price_dates_from']; } else { $date_from = get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_from = date( 'Y-m-d', $date_from ); + $date_from = ( '' === $date_from ) ? '' : date( 'Y-m-d', $date_from ); } if ( isset( $data['sale_price_dates_to'] ) ) { $date_to = $data['sale_price_dates_to']; } else { - $date_to = get_post_meta( $product_id, '_sale_price_dates_to', TRUE ); - $date_to = date( 'Y-m-d', $date_to ); + $date_to = get_post_meta( $product_id, '_sale_price_dates_to', true ); + $date_to = ( '' === $date_to ) ? '' : date( 'Y-m-d', $date_to ); } _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); @@ -1849,14 +1849,14 @@ class WC_API_Products extends WC_API_Resource { $date_from = $variation['sale_price_dates_from']; } else { $date_from = get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_from = date( 'Y-m-d', $date_from ); + $date_from = ( '' === $date_from ) ? '' : date( 'Y-m-d', $date_from ); } if ( isset( $variation['sale_price_dates_to'] ) ) { $date_to = $variation['sale_price_dates_to']; } else { $date_to = get_post_meta( $variation_id, '_sale_price_dates_to', true ); - $date_to = date( 'Y-m-d', $date_to ); + $date_to = ( '' === $date_to ) ? '' : date( 'Y-m-d', $date_to ); } _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); diff --git a/includes/api/v2/class-wc-api-products.php b/includes/api/v2/class-wc-api-products.php index 54b8f5b3a01..3f60f9cde16 100644 --- a/includes/api/v2/class-wc-api-products.php +++ b/includes/api/v2/class-wc-api-products.php @@ -981,14 +981,14 @@ class WC_API_Products extends WC_API_Resource { $date_from = $data['sale_price_dates_from']; } else { $date_from = get_post_meta( $product_id, '_sale_price_dates_from', true ); - $date_from = date( 'Y-m-d', $date_from ); + $date_from = ( '' === $date_from ) ? '' : date( 'Y-m-d', $date_from ); } if ( isset( $data['sale_price_dates_to'] ) ) { $date_to = $data['sale_price_dates_to']; } else { - $date_to = get_post_meta( $product_id, '_sale_price_dates_to', TRUE ); - $date_to = date( 'Y-m-d', $date_to ); + $date_to = get_post_meta( $product_id, '_sale_price_dates_to', true ); + $date_to = ( '' === $date_to ) ? '' : date( 'Y-m-d', $date_to ); } _wc_save_product_price( $product_id, $regular_price, $sale_price, $date_from, $date_to ); @@ -1382,14 +1382,14 @@ class WC_API_Products extends WC_API_Resource { $date_from = $variation['sale_price_dates_from']; } else { $date_from = get_post_meta( $variation_id, '_sale_price_dates_from', true ); - $date_from = date( 'Y-m-d', $date_from ); + $date_from = ( '' === $date_from ) ? '' : date( 'Y-m-d', $date_from ); } if ( isset( $variation['sale_price_dates_to'] ) ) { $date_to = $variation['sale_price_dates_to']; } else { $date_to = get_post_meta( $variation_id, '_sale_price_dates_to', true ); - $date_to = date( 'Y-m-d', $date_to ); + $date_to = ( '' === $date_to ) ? '' : date( 'Y-m-d', $date_to ); } _wc_save_product_price( $variation_id, $regular_price, $sale_price, $date_from, $date_to ); From 2714ec0aebfb92c0af18d9e7507802b83688fef2 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 10:28:38 +0000 Subject: [PATCH 057/162] Keep cookie/session alive after order. @claudiosmweb this ok with you? Closes #10045 --- includes/class-wc-session-handler.php | 1 - 1 file changed, 1 deletion(-) diff --git a/includes/class-wc-session-handler.php b/includes/class-wc-session-handler.php index fc286efa5b6..40f9cc7c99a 100644 --- a/includes/class-wc-session-handler.php +++ b/includes/class-wc-session-handler.php @@ -66,7 +66,6 @@ class WC_Session_Handler extends WC_Session { add_action( 'shutdown', array( $this, 'save_data' ), 20 ); add_action( 'wp_logout', array( $this, 'destroy_session' ) ); if ( ! is_user_logged_in() ) { - add_action( 'woocommerce_thankyou', array( $this, 'destroy_session' ) ); add_filter( 'nonce_user_logged_out', array( $this, 'nonce_user_logged_out' ) ); } } From d13fb8f4823aca065c057bfa9f46a335d8fae728 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 10:32:46 +0000 Subject: [PATCH 058/162] Let check_cart_item_validity remove multiple items during check Fixes #10050 --- includes/class-wc-cart.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/includes/class-wc-cart.php b/includes/class-wc-cart.php index 0cc821f0245..08be51303f4 100644 --- a/includes/class-wc-cart.php +++ b/includes/class-wc-cart.php @@ -477,18 +477,18 @@ class WC_Cart { * @return bool|WP_Error */ public function check_cart_item_validity() { - foreach ( $this->get_cart() as $cart_item_key => $values ) { + $return = true; + foreach ( $this->get_cart() as $cart_item_key => $values ) { $_product = $values['data']; - if ( ! $_product || ! $_product->exists() || $_product->post->post_status == 'trash' ) { + if ( ! $_product || ! $_product->exists() || 'trash' === $_product->post->post_status ) { $this->set_quantity( $cart_item_key, 0 ); - - return new WP_Error( 'invalid', __( 'An item which is no longer available was removed from your cart.', 'woocommerce' ) ); + $return = new WP_Error( 'invalid', __( 'An item which is no longer available was removed from your cart.', 'woocommerce' ) ); } } - return true; + return $return; } /** From 3938a43b44fb8a865bf031dc3d9accb48d5ab65c Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 10:47:10 +0000 Subject: [PATCH 059/162] Error handling when order cannot be retrieved. Also renumbers error codes @claudiosmweb since 4xx usually reflects client errors and may be misleading Closes #10047 --- includes/class-wc-checkout.php | 36 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/includes/class-wc-checkout.php b/includes/class-wc-checkout.php index eaca7f582d8..90f3210381c 100644 --- a/includes/class-wc-checkout.php +++ b/includes/class-wc-checkout.php @@ -155,17 +155,15 @@ class WC_Checkout { } /** - * Create an order. - * - * Error codes: - * 400 - Cannot insert order into the database. - * 401 - Cannote update existing order. - * 402 - Cannot create line item. - * 403 - Cannot create fee item. - * 404 - Cannot create shipping item. - * 405 - Cannot create tax item. - * 406 - Cannot create coupon item. - * + * Create an order. Error codes: + * 520 - Cannot insert order into the database. + * 521 - Cannot get order after creation. + * 522 - Cannot update order. + * 525 - Cannot create line item. + * 526 - Cannot create fee item. + * 527 - Cannot create shipping item. + * 528 - Cannot create tax item. + * 529 - Cannot create coupon item. * @access public * @throws Exception * @return int|WP_ERROR @@ -199,7 +197,7 @@ class WC_Checkout { $order = wc_update_order( $order_data ); if ( is_wp_error( $order ) ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 401 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 522 ) ); } else { $order->remove_order_items(); do_action( 'woocommerce_resume_order', $order_id ); @@ -210,7 +208,9 @@ class WC_Checkout { $order = wc_create_order( $order_data ); if ( is_wp_error( $order ) ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 400 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 520 ) ); + } elseif ( false === $order ) { + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 521 ) ); } else { $order_id = $order->id; do_action( 'woocommerce_new_order', $order_id ); @@ -235,7 +235,7 @@ class WC_Checkout { ); if ( ! $item_id ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 402 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 525 ) ); } // Allow plugins to add order item meta @@ -247,7 +247,7 @@ class WC_Checkout { $item_id = $order->add_fee( $fee ); if ( ! $item_id ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 403 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 526 ) ); } // Allow plugins to add order item meta to fees @@ -260,7 +260,7 @@ class WC_Checkout { $item_id = $order->add_shipping( $package['rates'][ $this->shipping_methods[ $package_key ] ] ); if ( ! $item_id ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 404 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 527 ) ); } // Allows plugins to add order item meta to shipping @@ -271,14 +271,14 @@ class WC_Checkout { // Store tax rows foreach ( array_keys( WC()->cart->taxes + WC()->cart->shipping_taxes ) as $tax_rate_id ) { if ( $tax_rate_id && ! $order->add_tax( $tax_rate_id, WC()->cart->get_tax_amount( $tax_rate_id ), WC()->cart->get_shipping_tax_amount( $tax_rate_id ) ) && apply_filters( 'woocommerce_cart_remove_taxes_zero_rate_id', 'zero-rated' ) !== $tax_rate_id ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 405 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 528 ) ); } } // Store coupons foreach ( WC()->cart->get_coupons() as $code => $coupon ) { if ( ! $order->add_coupon( $code, WC()->cart->get_coupon_discount_amount( $code ), WC()->cart->get_coupon_discount_tax_amount( $code ) ) ) { - throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 406 ) ); + throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce' ), 529 ) ); } } From eb42c7b3e3b39179a5c1858e35ef58b20d424f37 Mon Sep 17 00:00:00 2001 From: Diego Zanella Date: Mon, 11 Jan 2016 13:51:46 +0000 Subject: [PATCH 060/162] Added new woocommerce_evaluate_shipping_cost filter * The filter will allow 3rd parties to pre-process the arguments used to evaluate a shipping cost formula. --- includes/shipping/flat-rate/class-wc-shipping-flat-rate.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php index 72219c7f679..5dbf2ab369f 100644 --- a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php +++ b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php @@ -70,6 +70,9 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { $locale = localeconv(); $decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] ); + // Allow 3rd parties to process shipping cost arguments + $args = apply_filters( 'woocommerce_evaluate_shipping_cost', $args, $sum, $decimals ); + $this->fee_cost = $args['cost']; // Expand shortcodes From 934269f1e88dce0464b8f7eff632a7189b3cacbd Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 15:51:37 +0000 Subject: [PATCH 061/162] woocommerce_evaluate_shipping_cost_args --- .../shipping/flat-rate/class-wc-shipping-flat-rate.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php index 5dbf2ab369f..4c68b819158 100644 --- a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php +++ b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php @@ -67,12 +67,10 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { protected function evaluate_cost( $sum, $args = array() ) { include_once( 'includes/class-wc-eval-math.php' ); - $locale = localeconv(); - $decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] ); - // Allow 3rd parties to process shipping cost arguments - $args = apply_filters( 'woocommerce_evaluate_shipping_cost', $args, $sum, $decimals ); - + $args = apply_filters( 'woocommerce_evaluate_shipping_cost_args', $args, $sum ); + $locale = localeconv(); + $decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] ); $this->fee_cost = $args['cost']; // Expand shortcodes From 71bf1a814606c4c31a534e7e5bd16eba4e23aaa1 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 11 Jan 2016 14:03:46 -0200 Subject: [PATCH 062/162] Updated stable tag --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 23b3f6f1528..57429ea8535 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothe Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, affiliate, store, sales, sell, shop, shopping, cart, checkout, configurable, variable, widgets, reports, download, downloadable, digital, inventory, stock, reports, shipping, tax Requires at least: 4.1 Tested up to: 4.4 -Stable tag: 2.4.12 +Stable tag: 2.4.13 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html From bedfa7fc6277b47a4f983915ad3ef535cf611f89 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 16:30:22 +0000 Subject: [PATCH 063/162] RC2 version --- woocommerce.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/woocommerce.php b/woocommerce.php index 53a616b62a1..8d1b82ce19c 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce * Plugin URI: http://www.woothemes.com/woocommerce/ * Description: An e-commerce toolkit that helps you sell anything. Beautifully. - * Version: 2.5.0-RC1 + * Version: 2.5.0-RC2 * Author: WooThemes * Author URI: http://woothemes.com * Requires at least: 4.1 From b5146f18fa80b7e547ee4bfb0879ea1dbaaf551f Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 11 Jan 2016 16:30:56 +0000 Subject: [PATCH 064/162] POT file --- i18n/languages/woocommerce.pot | 869 ++++++++++++++++----------------- 1 file changed, 434 insertions(+), 435 deletions(-) diff --git a/i18n/languages/woocommerce.pot b/i18n/languages/woocommerce.pot index fa0be7e6a82..a0c22acdb3b 100644 --- a/i18n/languages/woocommerce.pot +++ b/i18n/languages/woocommerce.pot @@ -2,9 +2,9 @@ # This file is distributed under the same license as the WooCommerce package. msgid "" msgstr "" -"Project-Id-Version: WooCommerce 2.5.0-RC1\n" +"Project-Id-Version: WooCommerce 2.5.0-RC2\n" "Report-Msgid-Bugs-To: https://github.com/woothemes/woocommerce/issues\n" -"POT-Creation-Date: 2016-01-05 15:51:39+00:00\n" +"POT-Creation-Date: 2016-01-11 16:30:45+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4861,7 +4861,7 @@ msgstr "" #: includes/abstracts/abstract-wc-order.php:1778 #: includes/abstracts/abstract-wc-product.php:1018 #: includes/abstracts/abstract-wc-product.php:1024 -#: includes/class-wc-cart.php:1577 includes/class-wc-product-variable.php:360 +#: includes/class-wc-cart.php:1605 includes/class-wc-product-variable.php:360 #: includes/class-wc-product-variation.php:318 msgid "Free!" msgstr "" @@ -4969,31 +4969,31 @@ msgstr "" #: includes/admin/views/html-bulk-edit-product.php:223 #: includes/admin/views/html-quick-edit-product.php:166 #: includes/class-wc-ajax.php:841 includes/class-wc-ajax.php:2438 -#: includes/class-wc-product-variation.php:537 -#: includes/class-wc-product-variation.php:547 -#: includes/class-wc-product-variation.php:563 +#: includes/class-wc-product-variation.php:539 +#: includes/class-wc-product-variation.php:549 +#: includes/class-wc-product-variation.php:565 msgid "In stock" msgstr "" #: includes/abstracts/abstract-wc-product.php:678 -#: includes/class-wc-product-variation.php:541 +#: includes/class-wc-product-variation.php:543 msgid "Only %s left in stock" msgstr "" #: includes/abstracts/abstract-wc-product.php:681 #: includes/abstracts/abstract-wc-product.php:692 -#: includes/class-wc-product-variation.php:544 -#: includes/class-wc-product-variation.php:554 +#: includes/class-wc-product-variation.php:546 +#: includes/class-wc-product-variation.php:556 msgid "(can be backordered)" msgstr "" #: includes/abstracts/abstract-wc-product.php:689 -#: includes/class-wc-product-variation.php:551 +#: includes/class-wc-product-variation.php:553 msgid "%s in stock" msgstr "" #: includes/abstracts/abstract-wc-product.php:701 -#: includes/class-wc-product-variation.php:560 templates/cart/cart.php:90 +#: includes/class-wc-product-variation.php:562 templates/cart/cart.php:90 msgid "Available on backorder" msgstr "" @@ -5006,8 +5006,8 @@ msgstr "" #: includes/admin/views/html-bulk-edit-product.php:224 #: includes/admin/views/html-quick-edit-product.php:167 #: includes/class-wc-ajax.php:842 includes/class-wc-ajax.php:2439 -#: includes/class-wc-product-variation.php:566 -#: includes/class-wc-product-variation.php:570 +#: includes/class-wc-product-variation.php:568 +#: includes/class-wc-product-variation.php:572 msgid "Out of stock" msgstr "" @@ -5026,15 +5026,15 @@ msgstr "" msgid "%s – %s" msgstr "" -#: includes/admin/class-wc-admin-addons.php:99 +#: includes/admin/class-wc-admin-addons.php:105 msgid "Need a fresh look? Try Storefront child themes" msgstr "" -#: includes/admin/class-wc-admin-addons.php:103 +#: includes/admin/class-wc-admin-addons.php:109 msgid "View more Storefront child themes" msgstr "" -#: includes/admin/class-wc-admin-addons.php:108 +#: includes/admin/class-wc-admin-addons.php:114 msgid "Need a theme? Try Storefront" msgstr "" @@ -5054,7 +5054,7 @@ msgstr "" #: includes/gateways/cheque/class-wc-gateway-cheque.php:67 #: includes/gateways/cod/class-wc-gateway-cod.php:75 #: includes/gateways/paypal/includes/settings-paypal.php:25 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:198 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:200 #: includes/wc-template-functions.php:1083 msgid "Description" msgstr "" @@ -5103,19 +5103,19 @@ msgstr "" #: includes/admin/class-wc-admin-api-keys-table-list.php:136 #: includes/admin/settings/views/html-keys-edit.php:47 -#: includes/class-wc-auth.php:77 +#: includes/class-wc-auth.php:79 msgid "Read" msgstr "" #: includes/admin/class-wc-admin-api-keys-table-list.php:137 #: includes/admin/settings/views/html-keys-edit.php:48 -#: includes/class-wc-auth.php:78 +#: includes/class-wc-auth.php:80 msgid "Write" msgstr "" #: includes/admin/class-wc-admin-api-keys-table-list.php:138 #: includes/admin/settings/views/html-keys-edit.php:49 -#: includes/class-wc-auth.php:79 +#: includes/class-wc-auth.php:81 msgid "Read/Write" msgstr "" @@ -5144,7 +5144,7 @@ msgstr "" #: includes/admin/class-wc-admin-api-keys.php:142 #: includes/admin/class-wc-admin-api-keys.php:157 #: includes/admin/class-wc-admin-notices.php:94 -#: includes/admin/class-wc-admin-settings.php:58 +#: includes/admin/class-wc-admin-settings.php:75 #: includes/admin/class-wc-admin-webhooks.php:128 #: includes/admin/class-wc-admin-webhooks.php:182 #: includes/admin/class-wc-admin-webhooks.php:262 @@ -5706,8 +5706,8 @@ msgid "Shipping Settings" msgstr "" #: includes/admin/class-wc-admin-help.php:85 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:30 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:70 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:38 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:78 msgid "Free Shipping" msgstr "" @@ -5719,7 +5719,7 @@ msgstr "" #: includes/admin/class-wc-admin-help.php:93 #: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:24 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:75 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:76 msgid "Local Pickup" msgstr "" @@ -5909,68 +5909,68 @@ msgstr "" msgid "WooCommerce Endpoints" msgstr "" -#: includes/admin/class-wc-admin-menus.php:269 +#: includes/admin/class-wc-admin-menus.php:272 msgid "Select All" msgstr "" -#: includes/admin/class-wc-admin-menus.php:272 +#: includes/admin/class-wc-admin-menus.php:275 msgid "Add to Menu" msgstr "" -#: includes/admin/class-wc-admin-menus.php:305 +#: includes/admin/class-wc-admin-menus.php:308 msgid "Visit Store" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:105 +#: includes/admin/class-wc-admin-meta-boxes.php:116 #: includes/admin/class-wc-admin-pointers.php:154 msgid "Product Short Description" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:106 +#: includes/admin/class-wc-admin-meta-boxes.php:117 #: includes/admin/views/html-bulk-edit-product.php:15 #: includes/admin/views/html-quick-edit-product.php:15 msgid "Product Data" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:107 +#: includes/admin/class-wc-admin-meta-boxes.php:118 msgid "Product Gallery" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:112 +#: includes/admin/class-wc-admin-meta-boxes.php:123 msgid "%s Data" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:113 +#: includes/admin/class-wc-admin-meta-boxes.php:124 msgid "%s Items" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:114 +#: includes/admin/class-wc-admin-meta-boxes.php:125 msgid "%s Notes" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:115 +#: includes/admin/class-wc-admin-meta-boxes.php:126 msgid "Downloadable Product Permissions" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:115 +#: includes/admin/class-wc-admin-meta-boxes.php:126 msgid "" "Note: Permissions for order items will automatically be granted when the " "order status changes to processing/completed." msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:116 +#: includes/admin/class-wc-admin-meta-boxes.php:127 msgid "%s Actions" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:121 +#: includes/admin/class-wc-admin-meta-boxes.php:132 msgid "Coupon Data" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:126 +#: includes/admin/class-wc-admin-meta-boxes.php:137 msgid "Rating" msgstr "" -#: includes/admin/class-wc-admin-meta-boxes.php:162 +#: includes/admin/class-wc-admin-meta-boxes.php:173 #: includes/admin/settings/class-wc-settings-products.php:463 #: templates/single-product-reviews.php:34 msgid "Reviews" @@ -5982,7 +5982,7 @@ msgstr "" #: includes/class-wc-payment-gateways.php:51 #: includes/class-wc-payment-gateways.php:60 includes/class-wc-shipping.php:65 #: includes/class-wc-shipping.php:74 includes/emails/class-wc-email.php:682 -#: woocommerce.php:106 woocommerce.php:114 +#: woocommerce.php:126 woocommerce.php:134 msgid "Cheatin’ huh?" msgstr "" @@ -6357,7 +6357,7 @@ msgstr[0] "" msgstr[1] "" #: includes/admin/class-wc-admin-post-types.php:218 -#: includes/admin/class-wc-admin-taxonomies.php:300 +#: includes/admin/class-wc-admin-taxonomies.php:302 msgid "Image" msgstr "" @@ -6484,7 +6484,7 @@ msgstr "" #: includes/admin/class-wc-admin-post-types.php:276 #: includes/admin/meta-boxes/class-wc-meta-box-order-actions.php:43 #: includes/admin/meta-boxes/views/html-order-items.php:221 -#: includes/admin/reports/class-wc-report-customer-list.php:235 +#: includes/admin/reports/class-wc-report-customer-list.php:237 #: includes/admin/reports/class-wc-report-stock.php:168 msgid "Actions" msgstr "" @@ -6528,7 +6528,7 @@ msgstr "" #: includes/admin/class-wc-admin-post-types.php:712 #: includes/admin/class-wc-admin-post-types.php:714 #: includes/admin/class-wc-admin-post-types.php:716 -#: includes/admin/settings/class-wc-settings-checkout.php:312 +#: includes/admin/settings/class-wc-settings-checkout.php:316 #: includes/admin/settings/class-wc-settings-emails.php:269 #: includes/admin/settings/class-wc-settings-shipping.php:211 #: includes/admin/views/html-bulk-edit-product.php:205 @@ -6862,7 +6862,7 @@ msgstr "" #: includes/admin/class-wc-admin-profile.php:117 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:63 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:112 -#: includes/admin/settings/class-wc-settings-tax.php:165 +#: includes/admin/settings/class-wc-settings-tax.php:170 #: includes/admin/settings/views/html-settings-tax.php:20 #: templates/cart/shipping-calculator.php:82 msgid "City" @@ -6872,19 +6872,18 @@ msgstr "" #: includes/admin/class-wc-admin-profile.php:121 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:67 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:116 -#: includes/class-wc-countries.php:597 includes/class-wc-countries.php:598 -#: includes/class-wc-countries.php:878 includes/class-wc-countries.php:879 +#: includes/class-wc-countries.php:595 includes/class-wc-countries.php:856 msgid "Postcode" msgstr "" #: includes/admin/class-wc-admin-profile.php:72 #: includes/admin/class-wc-admin-profile.php:125 -#: includes/admin/class-wc-admin-settings.php:557 -#: includes/admin/class-wc-admin-settings.php:582 +#: includes/admin/class-wc-admin-settings.php:574 +#: includes/admin/class-wc-admin-settings.php:599 #: includes/admin/class-wc-admin-setup-wizard.php:490 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:71 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:120 -#: includes/class-wc-countries.php:508 +#: includes/class-wc-countries.php:509 msgid "Country" msgstr "" @@ -6892,7 +6891,7 @@ msgstr "" #: includes/admin/class-wc-admin-profile.php:129 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:75 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:124 -#: includes/wc-template-functions.php:1754 +#: includes/wc-template-functions.php:1761 #: templates/cart/shipping-calculator.php:38 msgid "Select a country…" msgstr "" @@ -6915,9 +6914,9 @@ msgstr "" #: includes/admin/class-wc-admin-profile.php:88 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:83 -#: includes/admin/reports/class-wc-report-customer-list.php:230 +#: includes/admin/reports/class-wc-report-customer-list.php:232 #: includes/admin/settings/class-wc-settings-emails.php:233 -#: includes/class-wc-emails.php:352 templates/single-product-reviews.php:75 +#: includes/class-wc-emails.php:350 templates/single-product-reviews.php:75 msgid "Email" msgstr "" @@ -6926,7 +6925,7 @@ msgid "Customer Shipping Address" msgstr "" #: includes/admin/class-wc-admin-reports.php:45 -#: includes/admin/reports/class-wc-report-customer-list.php:232 +#: includes/admin/reports/class-wc-report-customer-list.php:234 #: includes/class-wc-post-types.php:292 msgid "Orders" msgstr "" @@ -6980,43 +6979,43 @@ msgstr "" msgid "Taxes by date" msgstr "" -#: includes/admin/class-wc-admin-settings.php:69 +#: includes/admin/class-wc-admin-settings.php:86 msgid "Your settings have been saved." msgstr "" -#: includes/admin/class-wc-admin-settings.php:127 +#: includes/admin/class-wc-admin-settings.php:144 msgid "The changes you made will be lost if you navigate away from this page." msgstr "" -#: includes/admin/class-wc-admin-settings.php:499 +#: includes/admin/class-wc-admin-settings.php:516 msgid "" "The settings of this image size have been disabled because its values are " "being overwritten by a filter." msgstr "" -#: includes/admin/class-wc-admin-settings.php:508 +#: includes/admin/class-wc-admin-settings.php:525 msgid "Hard Crop?" msgstr "" -#: includes/admin/class-wc-admin-settings.php:535 +#: includes/admin/class-wc-admin-settings.php:552 msgid "Select a page…" msgstr "" -#: includes/admin/class-wc-admin-settings.php:557 +#: includes/admin/class-wc-admin-settings.php:574 #: includes/admin/class-wc-admin-setup-wizard.php:299 msgid "Choose a country…" msgstr "" -#: includes/admin/class-wc-admin-settings.php:582 +#: includes/admin/class-wc-admin-settings.php:599 msgid "Choose countries…" msgstr "" -#: includes/admin/class-wc-admin-settings.php:590 +#: includes/admin/class-wc-admin-settings.php:607 #: includes/admin/meta-boxes/views/html-product-attribute.php:40 msgid "Select all" msgstr "" -#: includes/admin/class-wc-admin-settings.php:590 +#: includes/admin/class-wc-admin-settings.php:607 #: includes/admin/meta-boxes/views/html-product-attribute.php:41 msgid "Select none" msgstr "" @@ -7315,7 +7314,7 @@ msgid "Yes, please import some starter tax rates" msgstr "" #: includes/admin/class-wc-admin-setup-wizard.php:491 -#: includes/class-wc-countries.php:601 includes/class-wc-countries.php:872 +#: includes/class-wc-countries.php:598 includes/class-wc-countries.php:851 msgid "State" msgstr "" @@ -7624,7 +7623,7 @@ msgstr "" #: includes/admin/class-wc-admin-taxonomies.php:102 #: includes/admin/class-wc-admin-taxonomies.php:192 -#: includes/admin/class-wc-admin-taxonomies.php:331 +#: includes/admin/class-wc-admin-taxonomies.php:333 msgid "Thumbnail" msgstr "" @@ -7643,7 +7642,7 @@ msgstr "" msgid "Use image" msgstr "" -#: includes/admin/class-wc-admin-taxonomies.php:274 +#: includes/admin/class-wc-admin-taxonomies.php:276 msgid "" "Product categories for your store can be managed here. To change the order " "of categories on the front-end you can drag and drop to sort them. To see " @@ -7651,14 +7650,14 @@ msgid "" "page." msgstr "" -#: includes/admin/class-wc-admin-taxonomies.php:281 +#: includes/admin/class-wc-admin-taxonomies.php:283 msgid "" "Shipping classes can be used to group products of similar type. These " "groups can then be used by certain shipping methods to provide different " "rates to different products." msgstr "" -#: includes/admin/class-wc-admin-taxonomies.php:288 +#: includes/admin/class-wc-admin-taxonomies.php:290 msgid "" "Attribute terms can be assigned to products and " "variations.

    Note: Deleting a term will remove it from all " @@ -8086,18 +8085,18 @@ msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:43 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:92 -#: includes/class-wc-countries.php:492 includes/class-wc-form-handler.php:177 +#: includes/class-wc-countries.php:493 includes/class-wc-form-handler.php:177 msgid "First Name" msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:47 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:96 -#: includes/class-wc-countries.php:497 includes/class-wc-form-handler.php:178 +#: includes/class-wc-countries.php:498 includes/class-wc-form-handler.php:178 msgid "Last Name" msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:86 -#: includes/class-wc-countries.php:974 +#: includes/class-wc-countries.php:949 msgid "Phone" msgstr "" @@ -8152,7 +8151,7 @@ msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:254 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:337 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:339 -#: includes/class-wc-countries.php:513 +#: includes/class-wc-countries.php:514 msgid "Address" msgstr "" @@ -8167,7 +8166,7 @@ msgstr "" #: includes/admin/settings/views/settings-tax.php:103 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:82 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:91 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:100 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:108 #: templates/order/order-details-customer.php:60 #: templates/order/order-details-customer.php:71 #: templates/single-product/meta.php:34 @@ -8290,7 +8289,7 @@ msgstr "" #: includes/admin/meta-boxes/views/html-order-items.php:154 #: includes/admin/meta-boxes/views/html-order-shipping.php:20 #: includes/admin/settings/class-wc-settings-shipping.php:27 -#: includes/admin/settings/class-wc-settings-tax.php:170 +#: includes/admin/settings/class-wc-settings-tax.php:175 #: includes/admin/settings/views/html-settings-tax.php:25 #: includes/wc-cart-functions.php:180 templates/cart/cart-totals.php:54 #: templates/cart/cart-totals.php:55 @@ -8469,12 +8468,12 @@ msgstr "" #: includes/admin/views/html-bulk-edit-product.php:95 #: includes/admin/views/html-quick-edit-product.php:73 #: includes/class-wc-ajax.php:824 includes/class-wc-ajax.php:2421 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:211 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:213 msgid "Standard" msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:280 -#: includes/admin/settings/class-wc-settings-tax.php:171 +#: includes/admin/settings/class-wc-settings-tax.php:176 #: includes/admin/views/html-bulk-edit-product.php:89 #: includes/admin/views/html-quick-edit-product.php:68 msgid "Tax Class" @@ -8959,8 +8958,8 @@ msgstr "" #: includes/admin/meta-boxes/views/html-order-items.php:63 #: includes/admin/meta-boxes/views/html-order-items.php:64 #: includes/admin/reports/class-wc-report-taxes-by-code.php:149 -#: includes/admin/settings/class-wc-settings-tax.php:28 -#: includes/class-wc-countries.php:290 includes/class-wc-tax.php:638 +#: includes/admin/settings/class-wc-settings-tax.php:33 +#: includes/class-wc-countries.php:290 includes/class-wc-tax.php:649 msgid "Tax" msgstr "" @@ -9103,7 +9102,7 @@ msgid "Rate code" msgstr "" #: includes/admin/meta-boxes/views/html-order-items.php:358 -#: includes/admin/settings/class-wc-settings-tax.php:166 +#: includes/admin/settings/class-wc-settings-tax.php:171 msgid "Rate %" msgstr "" @@ -9172,7 +9171,7 @@ msgid "Drag and drop, or click to set admin variation order" msgstr "" #: includes/admin/meta-boxes/views/html-variation-admin.php:33 -#: includes/class-wc-product-variation.php:680 +#: includes/class-wc-product-variation.php:682 msgid "Any" msgstr "" @@ -9189,7 +9188,7 @@ msgid "Enter a SKU for this variation or leave blank to use the parent product S msgstr "" #: includes/admin/meta-boxes/views/html-variation-admin.php:76 -#: includes/admin/settings/class-wc-settings-checkout.php:272 +#: includes/admin/settings/class-wc-settings-checkout.php:276 #: includes/admin/settings/class-wc-settings-emails.php:269 #: includes/admin/settings/class-wc-settings-shipping.php:191 #: includes/admin/views/html-admin-page-status-tools.php:37 @@ -9428,24 +9427,24 @@ msgstr "" msgid "Link previous orders" msgstr "" -#: includes/admin/reports/class-wc-report-customer-list.php:228 +#: includes/admin/reports/class-wc-report-customer-list.php:230 msgid "Name (Last, First)" msgstr "" -#: includes/admin/reports/class-wc-report-customer-list.php:229 +#: includes/admin/reports/class-wc-report-customer-list.php:231 #: templates/myaccount/form-login.php:83 msgid "Username" msgstr "" -#: includes/admin/reports/class-wc-report-customer-list.php:231 +#: includes/admin/reports/class-wc-report-customer-list.php:233 msgid "Location" msgstr "" -#: includes/admin/reports/class-wc-report-customer-list.php:233 +#: includes/admin/reports/class-wc-report-customer-list.php:235 msgid "Money Spent" msgstr "" -#: includes/admin/reports/class-wc-report-customer-list.php:234 +#: includes/admin/reports/class-wc-report-customer-list.php:236 msgid "Last order" msgstr "" @@ -9988,19 +9987,19 @@ msgid "" "their display order on the frontend." msgstr "" -#: includes/admin/settings/class-wc-settings-checkout.php:262 +#: includes/admin/settings/class-wc-settings-checkout.php:266 msgid "Gateway Display Order" msgstr "" -#: includes/admin/settings/class-wc-settings-checkout.php:270 +#: includes/admin/settings/class-wc-settings-checkout.php:274 msgid "Gateway" msgstr "" -#: includes/admin/settings/class-wc-settings-checkout.php:271 +#: includes/admin/settings/class-wc-settings-checkout.php:275 msgid "Gateway ID" msgstr "" -#: includes/admin/settings/class-wc-settings-checkout.php:298 +#: includes/admin/settings/class-wc-settings-checkout.php:302 msgid "(no title)" msgstr "" @@ -10115,9 +10114,9 @@ msgid "Content Type" msgstr "" #: includes/admin/settings/class-wc-settings-emails.php:235 -#: includes/emails/class-wc-email-cancelled-order.php:107 -#: includes/emails/class-wc-email-failed-order.php:107 -#: includes/emails/class-wc-email-new-order.php:112 +#: includes/emails/class-wc-email-cancelled-order.php:109 +#: includes/emails/class-wc-email-failed-order.php:109 +#: includes/emails/class-wc-email-new-order.php:114 msgid "Recipient(s)" msgstr "" @@ -10168,12 +10167,12 @@ msgstr "" #: includes/admin/settings/class-wc-settings-shipping.php:132 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:33 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:37 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:80 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:84 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:88 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:92 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:137 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:141 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:93 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:97 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:94 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:98 msgid "Specific Countries" msgstr "" @@ -10666,50 +10665,50 @@ msgstr "" msgid "Drag and drop the above shipping methods to control their display order." msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:39 +#: includes/admin/settings/class-wc-settings-tax.php:44 #: includes/admin/settings/views/settings-tax.php:9 msgid "Tax Options" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:40 +#: includes/admin/settings/class-wc-settings-tax.php:45 msgid "Standard Rates" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:47 +#: includes/admin/settings/class-wc-settings-tax.php:52 msgid "%s Rates" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:159 +#: includes/admin/settings/class-wc-settings-tax.php:164 msgid "No row(s) selected" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:160 +#: includes/admin/settings/class-wc-settings-tax.php:165 msgid "Your changed data will be lost if you leave this page without saving." msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:162 +#: includes/admin/settings/class-wc-settings-tax.php:167 msgid "Country Code" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:163 +#: includes/admin/settings/class-wc-settings-tax.php:168 msgid "State Code" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:164 +#: includes/admin/settings/class-wc-settings-tax.php:169 #: includes/admin/settings/views/html-settings-tax.php:19 msgid "ZIP/Postcode" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:167 +#: includes/admin/settings/class-wc-settings-tax.php:172 msgid "Tax Name" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:168 +#: includes/admin/settings/class-wc-settings-tax.php:173 #: includes/admin/settings/views/html-settings-tax.php:23 msgid "Priority" msgstr "" -#: includes/admin/settings/class-wc-settings-tax.php:169 +#: includes/admin/settings/class-wc-settings-tax.php:174 #: includes/admin/settings/views/html-settings-tax.php:24 msgid "Compound" msgstr "" @@ -11489,7 +11488,7 @@ msgstr "" #: includes/admin/views/html-admin-page-status-report.php:248 #: includes/admin/views/html-admin-page-status-report.php:266 -#: includes/class-wc-auth.php:354 +#: includes/class-wc-auth.php:356 msgid "Error: %s" msgstr "" @@ -12091,7 +12090,7 @@ msgstr "" #: includes/api/v2/class-wc-api-customers.php:359 #: includes/api/v2/class-wc-api-products.php:224 #: includes/api/v2/class-wc-api-products.php:2093 -#: includes/api/v2/class-wc-api-server.php:427 includes/class-wc-auth.php:159 +#: includes/api/v2/class-wc-api-server.php:427 includes/class-wc-auth.php:161 #: includes/cli/class-wc-cli-coupon.php:63 #: includes/cli/class-wc-cli-product.php:151 #: includes/cli/class-wc-cli-tax.php:130 @@ -13064,93 +13063,93 @@ msgstr "" msgid "Dismiss this notice." msgstr "" -#: includes/class-wc-auth.php:98 +#: includes/class-wc-auth.php:100 msgid "View coupons" msgstr "" -#: includes/class-wc-auth.php:99 +#: includes/class-wc-auth.php:101 msgid "View customers" msgstr "" -#: includes/class-wc-auth.php:100 +#: includes/class-wc-auth.php:102 msgid "View orders and sales reports" msgstr "" -#: includes/class-wc-auth.php:101 includes/class-wc-product-grouped.php:41 +#: includes/class-wc-auth.php:103 includes/class-wc-product-grouped.php:41 msgid "View products" msgstr "" -#: includes/class-wc-auth.php:104 includes/class-wc-auth.php:111 +#: includes/class-wc-auth.php:106 includes/class-wc-auth.php:113 msgid "Create webhooks" msgstr "" -#: includes/class-wc-auth.php:105 +#: includes/class-wc-auth.php:107 msgid "Create coupons" msgstr "" -#: includes/class-wc-auth.php:106 +#: includes/class-wc-auth.php:108 msgid "Create customers" msgstr "" -#: includes/class-wc-auth.php:107 +#: includes/class-wc-auth.php:109 msgid "Create orders" msgstr "" -#: includes/class-wc-auth.php:108 +#: includes/class-wc-auth.php:110 msgid "Create products" msgstr "" -#: includes/class-wc-auth.php:112 +#: includes/class-wc-auth.php:114 msgid "View and manage coupons" msgstr "" -#: includes/class-wc-auth.php:113 +#: includes/class-wc-auth.php:115 msgid "View and manage customers" msgstr "" -#: includes/class-wc-auth.php:114 +#: includes/class-wc-auth.php:116 msgid "View and manage orders and sales reports" msgstr "" -#: includes/class-wc-auth.php:115 +#: includes/class-wc-auth.php:117 msgid "View and manage products" msgstr "" -#: includes/class-wc-auth.php:164 +#: includes/class-wc-auth.php:166 msgid "Invalid scope %s" msgstr "" -#: includes/class-wc-auth.php:169 +#: includes/class-wc-auth.php:171 msgid "The %s is not a valid URL" msgstr "" -#: includes/class-wc-auth.php:174 +#: includes/class-wc-auth.php:176 msgid "The callback_url need to be over SSL" msgstr "" -#: includes/class-wc-auth.php:192 +#: includes/class-wc-auth.php:194 msgid "%s - API %s (created on %s at %s)." msgstr "" -#: includes/class-wc-auth.php:254 +#: includes/class-wc-auth.php:256 msgid "" "An error occurred in the request and at the time were unable to send the " "consumer data" msgstr "" -#: includes/class-wc-auth.php:296 +#: includes/class-wc-auth.php:298 msgid "API disabled!" msgstr "" -#: includes/class-wc-auth.php:338 +#: includes/class-wc-auth.php:340 msgid "Invalid nonce verification" msgstr "" -#: includes/class-wc-auth.php:349 +#: includes/class-wc-auth.php:351 msgid "You do not have permissions to access this page!" msgstr "" -#: includes/class-wc-auth.php:354 +#: includes/class-wc-auth.php:356 msgid "Access Denied" msgstr "" @@ -13185,67 +13184,67 @@ msgid "" "in W3 Total Cache settings here." msgstr "" -#: includes/class-wc-cart.php:240 +#: includes/class-wc-cart.php:268 msgid "" "%s has been removed from your cart because it can no longer be purchased. " "Please contact us if you need assistance." msgstr "" -#: includes/class-wc-cart.php:459 +#: includes/class-wc-cart.php:487 msgid "An item which is no longer available was removed from your cart." msgstr "" -#: includes/class-wc-cart.php:485 +#: includes/class-wc-cart.php:513 msgid "" "Sorry, \"%s\" is not in stock. Please edit your cart and try again. We " "apologise for any inconvenience caused." msgstr "" -#: includes/class-wc-cart.php:499 +#: includes/class-wc-cart.php:527 msgid "" "Sorry, we do not have enough \"%s\" in stock to fulfill your order (%s in " "stock). Please edit your cart and try again. We apologise for any " "inconvenience caused." msgstr "" -#: includes/class-wc-cart.php:534 +#: includes/class-wc-cart.php:562 msgid "" "Sorry, we do not have enough \"%s\" in stock to fulfill your order right " "now. Please try again in %d minutes or edit your cart and try again. We " "apologise for any inconvenience caused." msgstr "" -#: includes/class-wc-cart.php:697 +#: includes/class-wc-cart.php:725 msgid "Get cart should not be called before the wp_loaded action." msgstr "" -#: includes/class-wc-cart.php:904 includes/class-wc-cart.php:939 +#: includes/class-wc-cart.php:932 includes/class-wc-cart.php:967 #: includes/class-wc-frontend-scripts.php:307 includes/wc-cart-functions.php:85 #: templates/cart/mini-cart.php:84 msgid "View Cart" msgstr "" -#: includes/class-wc-cart.php:904 +#: includes/class-wc-cart.php:932 msgid "You cannot add another "%s" to your cart." msgstr "" -#: includes/class-wc-cart.php:910 +#: includes/class-wc-cart.php:938 msgid "Sorry, this product cannot be purchased." msgstr "" -#: includes/class-wc-cart.php:915 +#: includes/class-wc-cart.php:943 msgid "" "You cannot add "%s" to the cart because the product is out of " "stock." msgstr "" -#: includes/class-wc-cart.php:919 +#: includes/class-wc-cart.php:947 msgid "" "You cannot add that amount of "%s" to the cart because there is " "not enough stock (%s remaining)." msgstr "" -#: includes/class-wc-cart.php:940 +#: includes/class-wc-cart.php:968 msgid "" "You cannot add that amount to the cart — we have %s in stock and you " "already have %s in your cart." @@ -13259,10 +13258,10 @@ msgstr "" msgid "Account password" msgstr "" -#: includes/class-wc-checkout.php:202 includes/class-wc-checkout.php:213 -#: includes/class-wc-checkout.php:238 includes/class-wc-checkout.php:250 -#: includes/class-wc-checkout.php:263 includes/class-wc-checkout.php:274 -#: includes/class-wc-checkout.php:281 +#: includes/class-wc-checkout.php:200 includes/class-wc-checkout.php:211 +#: includes/class-wc-checkout.php:213 includes/class-wc-checkout.php:238 +#: includes/class-wc-checkout.php:250 includes/class-wc-checkout.php:263 +#: includes/class-wc-checkout.php:274 includes/class-wc-checkout.php:281 msgid "Error %d: Unable to create order. Please try again." msgstr "" @@ -13352,11 +13351,11 @@ msgstr "" msgid "(ex. tax)" msgstr "" -#: includes/class-wc-countries.php:503 +#: includes/class-wc-countries.php:504 msgid "Company Name" msgstr "" -#: includes/class-wc-countries.php:524 includes/class-wc-countries.php:525 +#: includes/class-wc-countries.php:525 msgid "Town / City" msgstr "" @@ -13364,138 +13363,138 @@ msgstr "" msgid "State / County" msgstr "" -#: includes/class-wc-countries.php:537 includes/class-wc-countries.php:538 +#: includes/class-wc-countries.php:537 #: templates/cart/shipping-calculator.php:90 msgid "Postcode / ZIP" msgstr "" -#: includes/class-wc-countries.php:593 includes/class-wc-countries.php:594 +#: includes/class-wc-countries.php:592 msgid "Suburb" msgstr "" -#: includes/class-wc-countries.php:616 +#: includes/class-wc-countries.php:612 msgid "District" msgstr "" -#: includes/class-wc-countries.php:624 includes/class-wc-countries.php:647 -#: includes/class-wc-countries.php:673 includes/class-wc-countries.php:738 -#: includes/class-wc-countries.php:758 includes/class-wc-countries.php:776 -#: includes/class-wc-countries.php:836 includes/class-wc-countries.php:862 -#: includes/class-wc-countries.php:909 +#: includes/class-wc-countries.php:619 includes/class-wc-countries.php:641 +#: includes/class-wc-countries.php:664 includes/class-wc-countries.php:725 +#: includes/class-wc-countries.php:744 includes/class-wc-countries.php:761 +#: includes/class-wc-countries.php:819 includes/class-wc-countries.php:843 +#: includes/class-wc-countries.php:885 msgid "Province" msgstr "" -#: includes/class-wc-countries.php:654 +#: includes/class-wc-countries.php:647 msgid "Canton" msgstr "" -#: includes/class-wc-countries.php:667 includes/class-wc-countries.php:726 +#: includes/class-wc-countries.php:659 includes/class-wc-countries.php:715 msgid "Region" msgstr "" -#: includes/class-wc-countries.php:722 includes/class-wc-countries.php:723 +#: includes/class-wc-countries.php:712 msgid "Town / District" msgstr "" -#: includes/class-wc-countries.php:732 includes/class-wc-countries.php:882 +#: includes/class-wc-countries.php:720 includes/class-wc-countries.php:859 msgid "County" msgstr "" -#: includes/class-wc-countries.php:764 +#: includes/class-wc-countries.php:749 msgid "Prefecture" msgstr "" -#: includes/class-wc-countries.php:793 +#: includes/class-wc-countries.php:777 msgid "State / Zone" msgstr "" -#: includes/class-wc-countries.php:843 +#: includes/class-wc-countries.php:825 msgid "Municipality" msgstr "" -#: includes/class-wc-countries.php:868 includes/class-wc-countries.php:869 +#: includes/class-wc-countries.php:848 msgid "ZIP" msgstr "" -#: includes/class-wc-countries.php:967 +#: includes/class-wc-countries.php:942 msgid "Email Address" msgstr "" -#: includes/class-wc-coupon.php:738 +#: includes/class-wc-coupon.php:761 msgid "Coupon code applied successfully." msgstr "" -#: includes/class-wc-coupon.php:741 +#: includes/class-wc-coupon.php:764 msgid "Coupon code removed successfully." msgstr "" -#: includes/class-wc-coupon.php:759 +#: includes/class-wc-coupon.php:782 msgid "Coupon is not valid." msgstr "" -#: includes/class-wc-coupon.php:762 +#: includes/class-wc-coupon.php:785 msgid "Coupon \"%s\" does not exist!" msgstr "" -#: includes/class-wc-coupon.php:765 +#: includes/class-wc-coupon.php:788 msgid "" "Sorry, it seems the coupon \"%s\" is invalid - it has now been removed from " "your order." msgstr "" -#: includes/class-wc-coupon.php:768 +#: includes/class-wc-coupon.php:791 msgid "" "Sorry, it seems the coupon \"%s\" is not yours - it has now been removed " "from your order." msgstr "" -#: includes/class-wc-coupon.php:771 +#: includes/class-wc-coupon.php:794 msgid "Coupon code already applied!" msgstr "" -#: includes/class-wc-coupon.php:774 +#: includes/class-wc-coupon.php:797 msgid "" "Sorry, coupon \"%s\" has already been applied and cannot be used in " "conjunction with other coupons." msgstr "" -#: includes/class-wc-coupon.php:777 +#: includes/class-wc-coupon.php:800 msgid "Coupon usage limit has been reached." msgstr "" -#: includes/class-wc-coupon.php:780 +#: includes/class-wc-coupon.php:803 msgid "This coupon has expired." msgstr "" -#: includes/class-wc-coupon.php:783 +#: includes/class-wc-coupon.php:806 msgid "The minimum spend for this coupon is %s." msgstr "" -#: includes/class-wc-coupon.php:786 +#: includes/class-wc-coupon.php:809 msgid "The maximum spend for this coupon is %s." msgstr "" -#: includes/class-wc-coupon.php:789 +#: includes/class-wc-coupon.php:812 msgid "Sorry, this coupon is not applicable to your cart contents." msgstr "" -#: includes/class-wc-coupon.php:802 +#: includes/class-wc-coupon.php:825 msgid "Sorry, this coupon is not applicable to the products: %s." msgstr "" -#: includes/class-wc-coupon.php:821 +#: includes/class-wc-coupon.php:844 msgid "Sorry, this coupon is not applicable to the categories: %s." msgstr "" -#: includes/class-wc-coupon.php:824 +#: includes/class-wc-coupon.php:847 msgid "Sorry, this coupon is not valid for sale items." msgstr "" -#: includes/class-wc-coupon.php:844 +#: includes/class-wc-coupon.php:867 msgid "Coupon does not exist!" msgstr "" -#: includes/class-wc-coupon.php:847 +#: includes/class-wc-coupon.php:870 msgid "Please enter a coupon code." msgstr "" @@ -13549,39 +13548,39 @@ msgstr "" msgid "Go to homepage" msgstr "" -#: includes/class-wc-emails.php:282 +#: includes/class-wc-emails.php:343 msgid "Note" msgstr "" -#: includes/class-wc-emails.php:359 +#: includes/class-wc-emails.php:357 msgid "Tel" msgstr "" -#: includes/class-wc-emails.php:398 +#: includes/class-wc-emails.php:396 msgid "Product low in stock" msgstr "" -#: includes/class-wc-emails.php:399 +#: includes/class-wc-emails.php:397 msgid "%s is low in stock." msgstr "" -#: includes/class-wc-emails.php:399 +#: includes/class-wc-emails.php:397 msgid "There are %d left" msgstr "" -#: includes/class-wc-emails.php:416 +#: includes/class-wc-emails.php:414 msgid "Product out of stock" msgstr "" -#: includes/class-wc-emails.php:417 +#: includes/class-wc-emails.php:415 msgid "%s is out of stock." msgstr "" -#: includes/class-wc-emails.php:446 +#: includes/class-wc-emails.php:444 msgid "Product Backorder" msgstr "" -#: includes/class-wc-emails.php:447 +#: includes/class-wc-emails.php:445 msgid "%s units of %s have been backordered in order #%s." msgstr "" @@ -13737,7 +13736,7 @@ msgid "Error processing checkout. Please try again." msgstr "" #: includes/class-wc-frontend-scripts.php:286 -#: includes/wc-template-functions.php:1706 +#: includes/wc-template-functions.php:1713 msgid "required" msgstr "" @@ -14195,7 +14194,7 @@ msgid "" "allow this product to be purchased." msgstr "" -#: includes/class-wc-product-variation.php:749 +#: includes/class-wc-product-variation.php:751 msgid "%s – %s%s" msgstr "" @@ -14267,85 +14266,85 @@ msgstr "" msgid "[{site_title}] Cancelled order ({order_number})" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:101 -#: includes/emails/class-wc-email-customer-completed-order.php:137 -#: includes/emails/class-wc-email-customer-refunded-order.php:173 -#: includes/emails/class-wc-email-failed-order.php:101 -#: includes/emails/class-wc-email-new-order.php:106 +#: includes/emails/class-wc-email-cancelled-order.php:103 +#: includes/emails/class-wc-email-customer-completed-order.php:139 +#: includes/emails/class-wc-email-customer-refunded-order.php:199 +#: includes/emails/class-wc-email-failed-order.php:103 +#: includes/emails/class-wc-email-new-order.php:108 #: includes/emails/class-wc-email.php:481 #: includes/gateways/bacs/class-wc-gateway-bacs.php:74 #: includes/gateways/cheque/class-wc-gateway-cheque.php:54 #: includes/gateways/paypal/includes/settings-paypal.php:12 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:184 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:186 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:14 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:61 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:69 msgid "Enable/Disable" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:103 -#: includes/emails/class-wc-email-customer-completed-order.php:139 -#: includes/emails/class-wc-email-customer-refunded-order.php:175 -#: includes/emails/class-wc-email-failed-order.php:103 -#: includes/emails/class-wc-email-new-order.php:108 +#: includes/emails/class-wc-email-cancelled-order.php:105 +#: includes/emails/class-wc-email-customer-completed-order.php:141 +#: includes/emails/class-wc-email-customer-refunded-order.php:201 +#: includes/emails/class-wc-email-failed-order.php:105 +#: includes/emails/class-wc-email-new-order.php:110 #: includes/emails/class-wc-email.php:483 msgid "Enable this email notification" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:109 -#: includes/emails/class-wc-email-failed-order.php:109 -#: includes/emails/class-wc-email-new-order.php:114 +#: includes/emails/class-wc-email-cancelled-order.php:111 +#: includes/emails/class-wc-email-failed-order.php:111 +#: includes/emails/class-wc-email-new-order.php:116 msgid "" "Enter recipients (comma separated) for this email. Defaults to " "%s." msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:115 -#: includes/emails/class-wc-email-customer-completed-order.php:143 -#: includes/emails/class-wc-email-failed-order.php:115 -#: includes/emails/class-wc-email-new-order.php:120 +#: includes/emails/class-wc-email-cancelled-order.php:117 +#: includes/emails/class-wc-email-customer-completed-order.php:145 +#: includes/emails/class-wc-email-failed-order.php:117 +#: includes/emails/class-wc-email-new-order.php:122 msgid "Subject" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:117 -#: includes/emails/class-wc-email-failed-order.php:117 -#: includes/emails/class-wc-email-new-order.php:122 +#: includes/emails/class-wc-email-cancelled-order.php:119 +#: includes/emails/class-wc-email-failed-order.php:119 +#: includes/emails/class-wc-email-new-order.php:124 msgid "" "This controls the email subject line. Leave blank to use the default " "subject: %s." msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:123 -#: includes/emails/class-wc-email-customer-completed-order.php:151 -#: includes/emails/class-wc-email-customer-invoice.php:153 -#: includes/emails/class-wc-email-failed-order.php:123 -#: includes/emails/class-wc-email-new-order.php:128 +#: includes/emails/class-wc-email-cancelled-order.php:125 +#: includes/emails/class-wc-email-customer-completed-order.php:153 +#: includes/emails/class-wc-email-customer-invoice.php:166 +#: includes/emails/class-wc-email-failed-order.php:125 +#: includes/emails/class-wc-email-new-order.php:130 #: includes/emails/class-wc-email.php:495 msgid "Email Heading" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:125 -#: includes/emails/class-wc-email-failed-order.php:125 -#: includes/emails/class-wc-email-new-order.php:130 +#: includes/emails/class-wc-email-cancelled-order.php:127 +#: includes/emails/class-wc-email-failed-order.php:127 +#: includes/emails/class-wc-email-new-order.php:132 msgid "" "This controls the main heading contained within the email notification. " "Leave blank to use the default heading: %s." msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:131 -#: includes/emails/class-wc-email-customer-completed-order.php:175 -#: includes/emails/class-wc-email-customer-refunded-order.php:211 -#: includes/emails/class-wc-email-failed-order.php:131 -#: includes/emails/class-wc-email-new-order.php:136 +#: includes/emails/class-wc-email-cancelled-order.php:133 +#: includes/emails/class-wc-email-customer-completed-order.php:177 +#: includes/emails/class-wc-email-customer-refunded-order.php:237 +#: includes/emails/class-wc-email-failed-order.php:133 +#: includes/emails/class-wc-email-new-order.php:138 #: includes/emails/class-wc-email.php:503 msgid "Email type" msgstr "" -#: includes/emails/class-wc-email-cancelled-order.php:133 -#: includes/emails/class-wc-email-customer-completed-order.php:177 -#: includes/emails/class-wc-email-customer-invoice.php:179 -#: includes/emails/class-wc-email-customer-refunded-order.php:213 -#: includes/emails/class-wc-email-failed-order.php:133 -#: includes/emails/class-wc-email-new-order.php:138 +#: includes/emails/class-wc-email-cancelled-order.php:135 +#: includes/emails/class-wc-email-customer-completed-order.php:179 +#: includes/emails/class-wc-email-customer-invoice.php:192 +#: includes/emails/class-wc-email-customer-refunded-order.php:239 +#: includes/emails/class-wc-email-failed-order.php:135 +#: includes/emails/class-wc-email-new-order.php:140 #: includes/emails/class-wc-email.php:505 msgid "Choose which format of email to send." msgstr "" @@ -14376,105 +14375,105 @@ msgstr "" msgid "Your {site_title} order from {order_date} is complete - download your files" msgstr "" -#: includes/emails/class-wc-email-customer-completed-order.php:145 -#: includes/emails/class-wc-email-customer-completed-order.php:153 -#: includes/emails/class-wc-email-customer-completed-order.php:161 -#: includes/emails/class-wc-email-customer-completed-order.php:169 -#: includes/emails/class-wc-email-customer-invoice.php:147 -#: includes/emails/class-wc-email-customer-invoice.php:155 -#: includes/emails/class-wc-email-customer-invoice.php:163 -#: includes/emails/class-wc-email-customer-invoice.php:171 -#: includes/emails/class-wc-email-customer-refunded-order.php:181 -#: includes/emails/class-wc-email-customer-refunded-order.php:189 -#: includes/emails/class-wc-email-customer-refunded-order.php:197 -#: includes/emails/class-wc-email-customer-refunded-order.php:205 +#: includes/emails/class-wc-email-customer-completed-order.php:147 +#: includes/emails/class-wc-email-customer-completed-order.php:155 +#: includes/emails/class-wc-email-customer-completed-order.php:163 +#: includes/emails/class-wc-email-customer-completed-order.php:171 +#: includes/emails/class-wc-email-customer-invoice.php:160 +#: includes/emails/class-wc-email-customer-invoice.php:168 +#: includes/emails/class-wc-email-customer-invoice.php:176 +#: includes/emails/class-wc-email-customer-invoice.php:184 +#: includes/emails/class-wc-email-customer-refunded-order.php:207 +#: includes/emails/class-wc-email-customer-refunded-order.php:215 +#: includes/emails/class-wc-email-customer-refunded-order.php:223 +#: includes/emails/class-wc-email-customer-refunded-order.php:231 #: includes/emails/class-wc-email.php:489 #: includes/emails/class-wc-email.php:497 msgid "Defaults to %s" msgstr "" -#: includes/emails/class-wc-email-customer-completed-order.php:159 +#: includes/emails/class-wc-email-customer-completed-order.php:161 msgid "Subject (downloadable)" msgstr "" -#: includes/emails/class-wc-email-customer-completed-order.php:167 +#: includes/emails/class-wc-email-customer-completed-order.php:169 msgid "Email Heading (downloadable)" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:31 +#: includes/emails/class-wc-email-customer-invoice.php:42 msgid "Customer invoice" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:32 +#: includes/emails/class-wc-email-customer-invoice.php:43 msgid "" "Customer invoice emails can be sent to customers containing their order " "information and payment links." msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:37 +#: includes/emails/class-wc-email-customer-invoice.php:48 msgid "Invoice for order {order_number} from {order_date}" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:38 +#: includes/emails/class-wc-email-customer-invoice.php:49 msgid "Invoice for order {order_number}" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:40 +#: includes/emails/class-wc-email-customer-invoice.php:51 msgid "Your {site_title} order from {order_date}" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:41 +#: includes/emails/class-wc-email-customer-invoice.php:52 msgid "Order {order_number} details" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:145 +#: includes/emails/class-wc-email-customer-invoice.php:158 #: includes/emails/class-wc-email.php:487 msgid "Email Subject" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:161 +#: includes/emails/class-wc-email-customer-invoice.php:174 msgid "Email Subject (paid)" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:169 +#: includes/emails/class-wc-email-customer-invoice.php:182 msgid "Email Heading (paid)" msgstr "" -#: includes/emails/class-wc-email-customer-invoice.php:177 +#: includes/emails/class-wc-email-customer-invoice.php:190 msgid "Email Type" msgstr "" -#: includes/emails/class-wc-email-customer-new-account.php:34 +#: includes/emails/class-wc-email-customer-new-account.php:57 msgid "New account" msgstr "" -#: includes/emails/class-wc-email-customer-new-account.php:35 +#: includes/emails/class-wc-email-customer-new-account.php:58 msgid "" "Customer \"new account\" emails are sent to the customer when a customer " "signs up via checkout or account pages." msgstr "" -#: includes/emails/class-wc-email-customer-new-account.php:40 +#: includes/emails/class-wc-email-customer-new-account.php:63 msgid "Your account on {site_title}" msgstr "" -#: includes/emails/class-wc-email-customer-new-account.php:41 +#: includes/emails/class-wc-email-customer-new-account.php:64 msgid "Welcome to {site_title}" msgstr "" -#: includes/emails/class-wc-email-customer-note.php:31 +#: includes/emails/class-wc-email-customer-note.php:36 msgid "Customer note" msgstr "" -#: includes/emails/class-wc-email-customer-note.php:32 +#: includes/emails/class-wc-email-customer-note.php:37 msgid "Customer note emails are sent when you add a note to an order." msgstr "" -#: includes/emails/class-wc-email-customer-note.php:37 +#: includes/emails/class-wc-email-customer-note.php:42 msgid "Note added to your {site_title} order from {order_date}" msgstr "" -#: includes/emails/class-wc-email-customer-note.php:38 +#: includes/emails/class-wc-email-customer-note.php:43 msgid "A note has been added to your order" msgstr "" @@ -14496,73 +14495,73 @@ msgstr "" msgid "Your {site_title} order receipt from {order_date}" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:41 +#: includes/emails/class-wc-email-customer-refunded-order.php:57 msgid "Your {site_title} order from {order_date} has been partially refunded" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:42 +#: includes/emails/class-wc-email-customer-refunded-order.php:58 msgid "Your {site_title} order from {order_date} has been refunded" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:44 +#: includes/emails/class-wc-email-customer-refunded-order.php:60 msgid "Your order has been fully refunded" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:45 +#: includes/emails/class-wc-email-customer-refunded-order.php:61 msgid "Your order has been partially refunded" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:49 +#: includes/emails/class-wc-email-customer-refunded-order.php:65 msgid "Partially Refunded order" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:50 +#: includes/emails/class-wc-email-customer-refunded-order.php:66 msgid "" "Order partially refunded emails are sent to customers when their orders are " "partially refunded." msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:58 +#: includes/emails/class-wc-email-customer-refunded-order.php:74 msgid "Refunded order" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:59 +#: includes/emails/class-wc-email-customer-refunded-order.php:75 msgid "" "Order refunded emails are sent to customers when their orders are marked " "refunded." msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:179 +#: includes/emails/class-wc-email-customer-refunded-order.php:205 msgid "Full Refund Subject" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:187 +#: includes/emails/class-wc-email-customer-refunded-order.php:213 msgid "Partial Refund Subject" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:195 +#: includes/emails/class-wc-email-customer-refunded-order.php:221 msgid "Full Refund Email Heading" msgstr "" -#: includes/emails/class-wc-email-customer-refunded-order.php:203 +#: includes/emails/class-wc-email-customer-refunded-order.php:229 msgid "Partial Refund Email Heading" msgstr "" -#: includes/emails/class-wc-email-customer-reset-password.php:37 +#: includes/emails/class-wc-email-customer-reset-password.php:49 msgid "Reset password" msgstr "" -#: includes/emails/class-wc-email-customer-reset-password.php:38 +#: includes/emails/class-wc-email-customer-reset-password.php:50 msgid "" "Customer \"reset password\" emails are sent when customers reset their " "passwords." msgstr "" -#: includes/emails/class-wc-email-customer-reset-password.php:44 +#: includes/emails/class-wc-email-customer-reset-password.php:56 msgid "Password Reset for {site_title}" msgstr "" -#: includes/emails/class-wc-email-customer-reset-password.php:45 +#: includes/emails/class-wc-email-customer-reset-password.php:57 msgid "Password Reset Instructions" msgstr "" @@ -14683,9 +14682,9 @@ msgstr "" #: includes/gateways/cheque/class-wc-gateway-cheque.php:60 #: includes/gateways/cod/class-wc-gateway-cod.php:68 #: includes/gateways/paypal/includes/settings-paypal.php:18 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:191 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:193 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:95 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:72 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:73 #: includes/widgets/class-wc-widget-cart.php:32 #: includes/widgets/class-wc-widget-layered-nav-filters.php:30 #: includes/widgets/class-wc-widget-layered-nav.php:78 @@ -14703,11 +14702,11 @@ msgstr "" #: includes/gateways/bacs/class-wc-gateway-bacs.php:82 #: includes/gateways/cheque/class-wc-gateway-cheque.php:62 #: includes/gateways/paypal/includes/settings-paypal.php:20 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:193 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:195 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:22 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:69 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:77 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:97 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:74 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:75 msgid "This controls the title which the user sees during checkout." msgstr "" @@ -14739,83 +14738,83 @@ msgstr "" msgid "Instructions that will be added to the thank you page and emails." msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:118 -#: includes/gateways/bacs/class-wc-gateway-bacs.php:272 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:120 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:278 msgid "Sort Code" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:122 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:124 msgid "Account Details" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:128 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:130 msgid "Account Name" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:129 -#: includes/gateways/bacs/class-wc-gateway-bacs.php:292 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:131 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:298 msgid "Account Number" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:130 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:132 msgid "Bank Name" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:132 -#: includes/gateways/bacs/class-wc-gateway-bacs.php:300 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:134 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:306 msgid "IBAN" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:133 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:135 msgid "BIC / Swift" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:158 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:160 msgid "+ Add Account" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:158 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:160 msgid "Remove selected account(s)" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:277 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:283 msgid "Our Bank Details" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:304 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:310 msgid "BIC" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:332 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:338 msgid "Awaiting BACS payment" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:362 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:367 msgid "BSB" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:367 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:372 msgid "Bank Transit Number" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:372 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:377 msgid "IFSC" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:377 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:382 msgid "Branch Sort" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:382 #: includes/gateways/bacs/class-wc-gateway-bacs.php:387 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:392 msgid "Bank Code" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:392 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:397 msgid "Routing Number" msgstr "" -#: includes/gateways/bacs/class-wc-gateway-bacs.php:397 +#: includes/gateways/bacs/class-wc-gateway-bacs.php:402 msgid "Branch Code" msgstr "" @@ -14939,63 +14938,63 @@ msgstr "" msgid "Refunded %s - Refund ID: %s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:130 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:133 msgid "Validation error: PayPal currencies do not match (code %s)." msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:144 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:148 msgid "Validation error: PayPal amounts do not match (gross %s)." msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:159 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:164 msgid "Validation error: PayPal IPN response from a different email address (%s)." msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:181 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:187 msgid "IPN payment completed" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:189 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:195 msgid "Payment pending: %s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:206 -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:242 -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:256 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:214 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:254 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:269 msgid "Payment %s via IPN." msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:245 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:257 msgid "Payment for order %s refunded" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:246 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:258 msgid "Order #%s has been marked as refunded - PayPal reason code: %s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:259 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:272 msgid "Payment for order %s reversed" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:260 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:273 msgid "Order #%s has been marked on-hold due to a reversal - PayPal reason code: %s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:270 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:284 msgid "Reversal cancelled for order #%s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:271 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php:285 msgid "" "Order #%s has had a reversal cancelled. Please check the status of payment " "and update the order status accordingly here: %s" msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php:74 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php:77 msgid "Validation error: PayPal amounts do not match (amt %s)." msgstr "" -#: includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php:76 +#: includes/gateways/paypal/includes/class-wc-gateway-paypal-pdt-handler.php:79 msgid "PDT payment completed" msgstr "" @@ -15009,7 +15008,7 @@ msgid "Enable PayPal standard" msgstr "" #: includes/gateways/paypal/includes/settings-paypal.php:28 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:200 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:202 msgid "This controls the description which the user sees during checkout." msgstr "" @@ -15305,23 +15304,23 @@ msgid "" "in sandbox mode." msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:185 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:187 msgid "Enable Simplify Commerce" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:194 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:196 msgid "Credit card" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:205 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:207 msgid "Payment Mode" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:206 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:208 msgid "Enable Hosted Payments" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:208 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:210 msgid "" "Standard will display the credit card fields on your store (SSL required). " "%1$s Hosted Payments will display a Simplify Commerce modal dialog on your " @@ -15331,56 +15330,56 @@ msgid "" "Commerce docs%3$s." msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:212 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:214 msgid "Hosted Payments" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:216 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:218 msgid "Modal Color" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:218 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:220 msgid "Set the color of the buttons and titles on the modal dialog." msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:223 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:225 msgid "Sandbox" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:224 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:226 msgid "Enable Sandbox Mode" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:226 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:228 msgid "" "Place the payment gateway in sandbox mode using sandbox API keys (real " "payments will not be taken)." msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:230 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:232 msgid "Sandbox Public Key" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:232 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:239 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:246 -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:253 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:234 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:241 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:248 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:255 msgid "Get your API keys from your Simplify account: Settings > API Keys." msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:237 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:239 msgid "Sandbox Private Key" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:244 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:246 msgid "Public Key" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:251 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:253 msgid "Private Key" msgstr "" -#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:267 +#: includes/gateways/simplify-commerce/class-wc-gateway-simplify-commerce.php:269 msgid "TEST MODE ENABLED. Use a test card: %s" msgstr "" @@ -15418,12 +15417,12 @@ msgstr "" msgid "%s - Subscription for \"%s\"" msgstr "" -#: includes/shipping/flat-rate/class-wc-shipping-flat-rate.php:24 +#: includes/shipping/flat-rate/class-wc-shipping-flat-rate.php:28 #: includes/shipping/flat-rate/includes/settings-flat-rate.php:23 msgid "Flat Rate" msgstr "" -#: includes/shipping/flat-rate/class-wc-shipping-flat-rate.php:25 +#: includes/shipping/flat-rate/class-wc-shipping-flat-rate.php:29 msgid "Flat Rate Shipping lets you charge a fixed rate for shipping." msgstr "" @@ -15443,7 +15442,7 @@ msgid "Enable this shipping method" msgstr "" #: includes/shipping/flat-rate/includes/settings-flat-rate.php:20 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:67 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:75 msgid "Method Title" msgstr "" @@ -15453,16 +15452,16 @@ msgid "Availability" msgstr "" #: includes/shipping/flat-rate/includes/settings-flat-rate.php:32 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:79 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:87 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:136 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:92 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:93 msgid "All allowed countries" msgstr "" #: includes/shipping/flat-rate/includes/settings-flat-rate.php:44 -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:91 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:99 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:148 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:104 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:105 msgid "Select some countries" msgstr "" @@ -15518,41 +15517,41 @@ msgid "" "or item)" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:63 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:71 msgid "Enable Free Shipping" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:74 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:82 #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:131 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:87 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:88 msgid "Method availability" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:95 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:103 msgid "Free Shipping Requires..." msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:101 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:109 msgid "A valid free shipping coupon" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:102 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:110 msgid "A minimum order amount (defined below)" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:103 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:111 msgid "A minimum order amount OR a coupon" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:104 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:112 msgid "A minimum order amount AND a coupon" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:108 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:116 msgid "Minimum Order Amount" msgstr "" -#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:111 +#: includes/shipping/free-shipping/class-wc-shipping-free-shipping.php:119 msgid "" "Users will need to spend this amount to get free shipping (if enabled " "above)." @@ -15579,7 +15578,7 @@ msgid "Local delivery is a simple shipping method for delivering orders locally. msgstr "" #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:89 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:66 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:67 msgid "Enable" msgstr "" @@ -15618,7 +15617,7 @@ msgid "" msgstr "" #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:123 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:79 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:80 msgid "Allowed ZIP/Post Codes" msgstr "" @@ -15627,7 +15626,7 @@ msgid "What ZIP/post codes are available for local delivery?" msgstr "" #: includes/shipping/local-delivery/class-wc-shipping-local-delivery.php:127 -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:83 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:84 msgid "" "Separate codes with a comma. Accepts wildcards, e.g. P* will " "match a postcode of PE30. Also accepts a pattern, e.g. NG1___ " @@ -15640,11 +15639,11 @@ msgid "" "themselves." msgstr "" -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:68 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:69 msgid "Enable local pickup" msgstr "" -#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:81 +#: includes/shipping/local-pickup/class-wc-shipping-local-pickup.php:82 msgid "What ZIP/post codes are available for local pickup?" msgstr "" @@ -15796,211 +15795,211 @@ msgstr "" msgid "Free" msgstr "" -#: includes/wc-core-functions.php:79 +#: includes/wc-core-functions.php:81 msgid "Order – %s" msgstr "" -#: includes/wc-core-functions.php:85 +#: includes/wc-core-functions.php:87 msgid "Invalid order status" msgstr "" -#: includes/wc-core-functions.php:131 +#: includes/wc-core-functions.php:133 msgid "Invalid order ID" msgstr "" -#: includes/wc-core-functions.php:272 +#: includes/wc-core-functions.php:274 msgid "United Arab Emirates Dirham" msgstr "" -#: includes/wc-core-functions.php:273 +#: includes/wc-core-functions.php:275 msgid "Argentine Peso" msgstr "" -#: includes/wc-core-functions.php:274 +#: includes/wc-core-functions.php:276 msgid "Australian Dollars" msgstr "" -#: includes/wc-core-functions.php:275 +#: includes/wc-core-functions.php:277 msgid "Bangladeshi Taka" msgstr "" -#: includes/wc-core-functions.php:276 +#: includes/wc-core-functions.php:278 msgid "Bulgarian Lev" msgstr "" -#: includes/wc-core-functions.php:277 +#: includes/wc-core-functions.php:279 msgid "Brazilian Real" msgstr "" -#: includes/wc-core-functions.php:278 +#: includes/wc-core-functions.php:280 msgid "Canadian Dollars" msgstr "" -#: includes/wc-core-functions.php:279 +#: includes/wc-core-functions.php:281 msgid "Swiss Franc" msgstr "" -#: includes/wc-core-functions.php:280 +#: includes/wc-core-functions.php:282 msgid "Chilean Peso" msgstr "" -#: includes/wc-core-functions.php:281 +#: includes/wc-core-functions.php:283 msgid "Chinese Yuan" msgstr "" -#: includes/wc-core-functions.php:282 +#: includes/wc-core-functions.php:284 msgid "Colombian Peso" msgstr "" -#: includes/wc-core-functions.php:283 +#: includes/wc-core-functions.php:285 msgid "Czech Koruna" msgstr "" -#: includes/wc-core-functions.php:284 +#: includes/wc-core-functions.php:286 msgid "Danish Krone" msgstr "" -#: includes/wc-core-functions.php:285 +#: includes/wc-core-functions.php:287 msgid "Dominican Peso" msgstr "" -#: includes/wc-core-functions.php:286 +#: includes/wc-core-functions.php:288 msgid "Egyptian Pound" msgstr "" -#: includes/wc-core-functions.php:287 +#: includes/wc-core-functions.php:289 msgid "Euros" msgstr "" -#: includes/wc-core-functions.php:288 +#: includes/wc-core-functions.php:290 msgid "Pounds Sterling" msgstr "" -#: includes/wc-core-functions.php:289 +#: includes/wc-core-functions.php:291 msgid "Hong Kong Dollar" msgstr "" -#: includes/wc-core-functions.php:290 +#: includes/wc-core-functions.php:292 msgid "Croatia kuna" msgstr "" -#: includes/wc-core-functions.php:291 +#: includes/wc-core-functions.php:293 msgid "Hungarian Forint" msgstr "" -#: includes/wc-core-functions.php:292 +#: includes/wc-core-functions.php:294 msgid "Indonesia Rupiah" msgstr "" -#: includes/wc-core-functions.php:293 +#: includes/wc-core-functions.php:295 msgid "Israeli Shekel" msgstr "" -#: includes/wc-core-functions.php:294 +#: includes/wc-core-functions.php:296 msgid "Indian Rupee" msgstr "" -#: includes/wc-core-functions.php:295 +#: includes/wc-core-functions.php:297 msgid "Icelandic krona" msgstr "" -#: includes/wc-core-functions.php:296 +#: includes/wc-core-functions.php:298 msgid "Japanese Yen" msgstr "" -#: includes/wc-core-functions.php:297 +#: includes/wc-core-functions.php:299 msgid "Kenyan shilling" msgstr "" -#: includes/wc-core-functions.php:298 +#: includes/wc-core-functions.php:300 msgid "Lao Kip" msgstr "" -#: includes/wc-core-functions.php:299 +#: includes/wc-core-functions.php:301 msgid "South Korean Won" msgstr "" -#: includes/wc-core-functions.php:300 +#: includes/wc-core-functions.php:302 msgid "Mexican Peso" msgstr "" -#: includes/wc-core-functions.php:301 +#: includes/wc-core-functions.php:303 msgid "Malaysian Ringgits" msgstr "" -#: includes/wc-core-functions.php:302 +#: includes/wc-core-functions.php:304 msgid "Nigerian Naira" msgstr "" -#: includes/wc-core-functions.php:303 +#: includes/wc-core-functions.php:305 msgid "Norwegian Krone" msgstr "" -#: includes/wc-core-functions.php:304 +#: includes/wc-core-functions.php:306 msgid "Nepali Rupee" msgstr "" -#: includes/wc-core-functions.php:305 +#: includes/wc-core-functions.php:307 msgid "New Zealand Dollar" msgstr "" -#: includes/wc-core-functions.php:306 +#: includes/wc-core-functions.php:308 msgid "Philippine Pesos" msgstr "" -#: includes/wc-core-functions.php:307 +#: includes/wc-core-functions.php:309 msgid "Pakistani Rupee" msgstr "" -#: includes/wc-core-functions.php:308 +#: includes/wc-core-functions.php:310 msgid "Polish Zloty" msgstr "" -#: includes/wc-core-functions.php:309 +#: includes/wc-core-functions.php:311 msgid "Paraguayan Guaraní" msgstr "" -#: includes/wc-core-functions.php:310 +#: includes/wc-core-functions.php:312 msgid "Romanian Leu" msgstr "" -#: includes/wc-core-functions.php:311 +#: includes/wc-core-functions.php:313 msgid "Russian Ruble" msgstr "" -#: includes/wc-core-functions.php:312 +#: includes/wc-core-functions.php:314 msgid "Swedish Krona" msgstr "" -#: includes/wc-core-functions.php:313 +#: includes/wc-core-functions.php:315 msgid "Singapore Dollar" msgstr "" -#: includes/wc-core-functions.php:314 +#: includes/wc-core-functions.php:316 msgid "Thai Baht" msgstr "" -#: includes/wc-core-functions.php:315 +#: includes/wc-core-functions.php:317 msgid "Turkish Lira" msgstr "" -#: includes/wc-core-functions.php:316 +#: includes/wc-core-functions.php:318 msgid "Taiwan New Dollars" msgstr "" -#: includes/wc-core-functions.php:317 +#: includes/wc-core-functions.php:319 msgid "Ukrainian Hryvnia" msgstr "" -#: includes/wc-core-functions.php:318 +#: includes/wc-core-functions.php:320 msgid "US Dollars" msgstr "" -#: includes/wc-core-functions.php:319 +#: includes/wc-core-functions.php:321 msgid "Vietnamese Dong" msgstr "" -#: includes/wc-core-functions.php:320 +#: includes/wc-core-functions.php:322 msgid "South African rand" msgstr "" @@ -16108,27 +16107,27 @@ msgstr "" msgid "Reviews (%d)" msgstr "" -#: includes/wc-template-functions.php:1185 +#: includes/wc-template-functions.php:1188 msgid "" "Use $args argument as an array instead. Deprecated argument will be removed " "in WC 2.2." msgstr "" -#: includes/wc-template-functions.php:1398 +#: includes/wc-template-functions.php:1405 msgid "Place order" msgstr "" -#: includes/wc-template-functions.php:1762 +#: includes/wc-template-functions.php:1769 msgid "Update country" msgstr "" -#: includes/wc-template-functions.php:1783 +#: includes/wc-template-functions.php:1790 #: templates/cart/shipping-calculator.php:62 msgid "Select a state…" msgstr "" -#: includes/wc-template-functions.php:1828 -#: includes/wc-template-functions.php:1975 +#: includes/wc-template-functions.php:1835 +#: includes/wc-template-functions.php:1982 msgid "Choose an option" msgstr "" @@ -17325,7 +17324,7 @@ msgstr "" #: includes/admin/class-wc-admin-permalink-settings.php:196 #: includes/class-wc-post-types.php:233 #: includes/updates/woocommerce-update-2.0.php:55 -#: includes/wc-core-functions.php:557 includes/wc-core-functions.php:592 +#: includes/wc-core-functions.php:559 includes/wc-core-functions.php:594 msgctxt "slug" msgid "product" msgstr "" @@ -17439,12 +17438,12 @@ msgctxt "placeholder" msgid "Notes about your order, e.g. special notes for delivery." msgstr "" -#: includes/class-wc-countries.php:514 +#: includes/class-wc-countries.php:515 msgctxt "placeholder" msgid "Street address" msgstr "" -#: includes/class-wc-countries.php:519 +#: includes/class-wc-countries.php:520 msgctxt "placeholder" msgid "Apartment, suite, unit etc. (optional)" msgstr "" @@ -17628,22 +17627,22 @@ msgctxt "Item name in quotes" msgid "“%s”" msgstr "" -#: includes/wc-core-functions.php:79 includes/wc-order-functions.php:637 +#: includes/wc-core-functions.php:81 includes/wc-order-functions.php:637 msgctxt "Order date parsed by strftime" msgid "%b %d, %Y @ %I:%M %p" msgstr "" -#: includes/wc-page-functions.php:116 +#: includes/wc-page-functions.php:120 msgctxt "edit-address-slug" msgid "billing" msgstr "" -#: includes/wc-page-functions.php:117 +#: includes/wc-page-functions.php:121 msgctxt "edit-address-slug" msgid "shipping" msgstr "" -#: includes/wc-template-functions.php:1353 +#: includes/wc-template-functions.php:1360 msgctxt "breadcrumb" msgid "Home" msgstr "" From 8f63668e16a59d8342367c990b92b2e4096953f9 Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Thu, 24 Dec 2015 20:54:34 +0100 Subject: [PATCH 065/162] Added autocomplete parameter to the woocommerce_form_field function MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This makes it possible to add an autocomplete attribute to a variety of WooCommerce form fields. Making it easier for plugin developers and core developers to build forms with good autocomplete UX. More information about the autocomplete attribute and it’s values see: https://html.spec.whatwg.org/multipage/forms.html#autofill-field --- includes/wc-template-functions.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index 3a05eac938f..7f53982eacb 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -1694,6 +1694,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { 'placeholder' => '', 'maxlength' => false, 'required' => false, + 'autocomplete' => false, 'id' => $key, 'class' => array(), 'label_class' => array(), @@ -1717,6 +1718,8 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { $args['maxlength'] = ( $args['maxlength'] ) ? 'maxlength="' . absint( $args['maxlength'] ) . '"' : ''; + $args['autocomplete'] = ( $args['autocomplete'] ) ? 'autocomplete="' . esc_attr( $args['autocomplete'] ) . '"' : ''; + if ( is_string( $args['label_class'] ) ) { $args['label_class'] = array( $args['label_class'] ); } @@ -1757,7 +1760,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { } else { - $field = '' . ''; foreach ( $countries as $ckey => $cvalue ) { @@ -1786,7 +1789,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { } elseif ( is_array( $states ) ) { - $field .= ' '; foreach ( $states as $ckey => $cvalue ) { @@ -1797,14 +1800,14 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { } else { - $field .= ''; + $field .= ''; } break; case 'textarea' : - $field .= ''; + $field .= ''; break; case 'checkbox' : @@ -1820,7 +1823,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { case 'tel' : case 'number' : - $field .= ''; + $field .= ''; break; case 'select' : @@ -1839,7 +1842,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { $options .= ''; } - $field .= ' ' . $options . ' '; } From 7e750716e38755449bed4418a5656619a05e0da5 Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Thu, 24 Dec 2015 21:06:41 +0100 Subject: [PATCH 066/162] Added autocomplete attributes for checkout fields This allows browsers to automatically fill in the appropriate fields for the checkout process. This should significantly improve the checkout experience for a lot of users, especially those that frequently shop online in different shops. The following fields now have proper autocomplete attributes: - First name - Last name - Company name - County - Address line 1 (Street name) - Address line 2 (Apartment, suite, unit etc.) - City - State / Country - Postcode / ZIP - Email address - Phone number For more information about how autocomplete can improve user experience: https://developers.google.com/web/updates/2015/06/checkout-faster-with-a utofill A complete overview can be found in the WHATWGHTML specification: https://html.spec.whatwg.org/multipage/forms.html#autofill --- includes/class-wc-countries.php | 99 ++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 44 deletions(-) diff --git a/includes/class-wc-countries.php b/includes/class-wc-countries.php index 30a30846464..6af0a193c88 100644 --- a/includes/class-wc-countries.php +++ b/includes/class-wc-countries.php @@ -490,55 +490,64 @@ class WC_Countries { public function get_default_address_fields() { $fields = array( 'first_name' => array( - 'label' => __( 'First Name', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-first' ), + 'label' => __( 'First Name', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-first' ), + 'autocomplete' => 'given-name', ), 'last_name' => array( - 'label' => __( 'Last Name', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-last' ), - 'clear' => true + 'label' => __( 'Last Name', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-last' ), + 'clear' => true, + 'autocomplete' => 'family-name', ), 'company' => array( - 'label' => __( 'Company Name', 'woocommerce' ), - 'class' => array( 'form-row-wide' ), + 'label' => __( 'Company Name', 'woocommerce' ), + 'class' => array( 'form-row-wide' ), + 'autocomplete' => 'organization', ), 'country' => array( - 'type' => 'country', - 'label' => __( 'Country', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-wide', 'address-field', 'update_totals_on_change' ), + 'type' => 'country', + 'label' => __( 'Country', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-wide', 'address-field', 'update_totals_on_change' ), + 'autocomplete' => 'country', ), 'address_1' => array( - 'label' => __( 'Address', 'woocommerce' ), - 'placeholder' => _x( 'Street address', 'placeholder', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-wide', 'address-field' ) + 'label' => __( 'Address', 'woocommerce' ), + 'placeholder' => _x( 'Street address', 'placeholder', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-wide', 'address-field' ), + 'autocomplete' => 'address-line1', ), 'address_2' => array( - 'placeholder' => _x( 'Apartment, suite, unit etc. (optional)', 'placeholder', 'woocommerce' ), - 'class' => array( 'form-row-wide', 'address-field' ), - 'required' => false + 'placeholder' => _x( 'Apartment, suite, unit etc. (optional)', 'placeholder', 'woocommerce' ), + 'class' => array( 'form-row-wide', 'address-field' ), + 'required' => false, + 'autocomplete' => 'address-line2', ), 'city' => array( - 'label' => __( 'Town / City', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-wide', 'address-field' ) + 'label' => __( 'Town / City', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-wide', 'address-field' ), + 'autocomplete' => 'address-level2', ), 'state' => array( - 'type' => 'state', - 'label' => __( 'State / County', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-first', 'address-field' ), - 'validate' => array( 'state' ) + 'type' => 'state', + 'label' => __( 'State / County', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-first', 'address-field' ), + 'validate' => array( 'state' ), + 'autocomplete' => 'address-level1', ), 'postcode' => array( - 'label' => __( 'Postcode / ZIP', 'woocommerce' ), - 'required' => true, - 'class' => array( 'form-row-last', 'address-field' ), - 'clear' => true, - 'validate' => array( 'postcode' ) + 'label' => __( 'Postcode / ZIP', 'woocommerce' ), + 'required' => true, + 'class' => array( 'form-row-last', 'address-field' ), + 'clear' => true, + 'validate' => array( 'postcode' ), + 'autocomplete' => 'postal-code', ), ); @@ -939,19 +948,21 @@ class WC_Countries { // Add email and phone after company or last if ( $type == 'billing_' && ( 'company' === $key || ( ! array_key_exists( 'company', $fields ) && $key === end( $keys ) ) ) ) { $address_fields['billing_email'] = array( - 'label' => __( 'Email Address', 'woocommerce' ), - 'required' => true, - 'type' => 'email', - 'class' => array( 'form-row-first' ), - 'validate' => array( 'email' ), + 'label' => __( 'Email Address', 'woocommerce' ), + 'required' => true, + 'type' => 'email', + 'class' => array( 'form-row-first' ), + 'validate' => array( 'email' ), + 'autocomplete' => 'email', ); $address_fields['billing_phone'] = array( - 'label' => __( 'Phone', 'woocommerce' ), - 'required' => true, - 'type' => 'tel', - 'class' => array( 'form-row-last' ), - 'clear' => true, - 'validate' => array( 'phone' ), + 'label' => __( 'Phone', 'woocommerce' ), + 'required' => true, + 'type' => 'tel', + 'class' => array( 'form-row-last' ), + 'clear' => true, + 'validate' => array( 'phone' ), + 'autocomplete' => 'tel', ); } } From e15c1235108ca08984a82c6c5121b752ccd96a2c Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Tue, 12 Jan 2016 09:49:46 +0000 Subject: [PATCH 067/162] Fix - Missing validation rule for product cat exclusion coupons (validate_excluded_product_categories) Fixes #10058 --- includes/class-wc-coupon.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/includes/class-wc-coupon.php b/includes/class-wc-coupon.php index cbf949dedd8..9452387a177 100644 --- a/includes/class-wc-coupon.php +++ b/includes/class-wc-coupon.php @@ -444,6 +444,7 @@ class WC_Coupon { foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $product_cats = wc_get_product_cat_ids( $cart_item['product_id'] ); + // If we find an item with a cat in our allowed cat list, the coupon is valid if ( sizeof( array_intersect( $product_cats, $this->product_categories ) ) > 0 ) { $valid_for_cart = true; } @@ -455,6 +456,30 @@ class WC_Coupon { } } + /** + * Ensure coupon is valid for product categories in the cart is valid or throw exception. + * + * @throws Exception + */ + private function validate_excluded_product_categories() { + if ( sizeof( $this->exclude_product_categories ) > 0 ) { + $valid_for_cart = false; + if ( ! WC()->cart->is_empty() ) { + foreach( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { + $product_cats = wc_get_product_cat_ids( $cart_item['product_id'] ); + + // If we find an item with a cat NOT in our disallowed cat list, the coupon is valid + if ( empty( $product_cats ) || sizeof( array_diff( $product_cats, $this->exclude_product_categories ) ) > 0 ) { + $valid_for_cart = true; + } + } + } + if ( ! $valid_for_cart ) { + throw new Exception( self::E_WC_COUPON_NOT_APPLICABLE ); + } + } + } + /** * Ensure coupon is valid for sale items in the cart is valid or throw exception. * @@ -581,6 +606,7 @@ class WC_Coupon { $this->validate_maximum_amount(); $this->validate_product_ids(); $this->validate_product_categories(); + $this->validate_excluded_product_categories(); $this->validate_sale_items(); $this->validate_cart_excluded_items(); From 70a9eb3807b4ec581ed7a5f2fa1e3b99c0e619cc Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Tue, 12 Jan 2016 12:01:10 +0000 Subject: [PATCH 068/162] Fix pagination + sorting on tax screen @claudiosmweb --- assets/css/admin.css | 2 +- assets/css/admin.scss | 7 ++ .../admin/settings-views-html-settings-tax.js | 73 +++++-------------- .../settings-views-html-settings-tax.min.js | 2 +- .../settings/views/html-settings-tax.php | 4 +- 5 files changed, 31 insertions(+), 57 deletions(-) diff --git a/assets/css/admin.css b/assets/css/admin.css index 939ddd6428c..33c89f1060d 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -1 +1 @@ -@charset "UTF-8";.chosen-container,.select2-container .select2-choice,.select2-results .select2-result-label{-webkit-user-select:none;-moz-user-select:none}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.woocommerce-checkout .form-row .chosen-container{width:100%!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-single{height:28px;line-height:29px}.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background:url(../images/chosen-sprite.png) 0 3px no-repeat!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 4px!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-search input{line-height:13px;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.woocommerce-checkout .form-row .chosen-container .chosen-drop{width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background-image:url(../images/chosen-sprite@2x.png)!important;background-position:0 5px!important;background-repeat:no-repeat!important;background-size:52px 37px!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 5px!important}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:26px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:26px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../images/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(../images/chosen-sprite.png) 100% -20px no-repeat #fff;background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(../images/chosen-sprite.png) -30px -20px no-repeat #fff;background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(../images/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.select2-container{margin:0;position:relative;display:block!important;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #ccc;white-space:nowrap;color:#444;text-decoration:none;border-radius:3px;background-clip:padding-box;-webkit-touch-callout:none;-ms-user-select:none;user-select:none;background-color:#fff;font-weight:400}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#ccc;border-radius:0 0 4px 4px}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:5px;font-size:1px;text-decoration:none;border:0;background:url(../images/select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;top:100%;background:#fff;color:#000;border:1px solid #ccc;border-top:0;border-radius:0 0 3px 3px}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #ccc;border-bottom:0;border-radius:3px 3px 0 0}.select2-drop-active{border:1px solid #666;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #666}.select2-drop-auto-width{border-top:1px solid #ccc;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-radius:0 3px 3px 0;background-clip:padding-box}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-radius:3px 0 0 3px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;position:relative}.select2-container .select2-choice .select2-arrow b:after{position:absolute;display:block;content:"";top:50%;left:50%;border:4px solid transparent;border-top-color:#666;margin-left:-7px;margin-top:-2px}.select2-search{display:inline-block;width:100%;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap;padding-bottom:4px}.select2-search input{width:100%;height:auto!important;padding:4px 20px 4px 5px!important;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none;background:url(../images/select2.png) 100% -22px no-repeat #fff}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:url(../images/select2.png) -37px -22px no-repeat #fff}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-dropdown-open .select2-choice .select2-arrow b:after{border-top-color:transparent;border-bottom-color:#666;margin-top:-6px}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #666;border-top-color:transparent}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:4px;margin:0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;background:#fafafa}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;margin:3px 0}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:5px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#f1f1f1;color:#000;border-radius:3px}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-ajax-error,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #ccc;cursor:text;overflow:hidden;background-color:#fff;min-height:26px}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{margin:1px 0;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:5px 8px 5px 24px;margin:3px 0 3px 5px;position:relative;line-height:15px;color:#333;cursor:default;border-radius:2px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:5px 24px 5px 8px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:7px;top:6px;font-size:1px;outline:0;background:url(../images/select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:7px}.select2-container-multi .select2-search-choice-close{left:7px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:7px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input{background-image:url(../images/select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important;background-position:100% -21px!important}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}.blockUI.blockOverlay:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.button.wc-reload:after,.woocommerce-help-tip:after{top:0;left:0;-webkit-font-smoothing:antialiased;text-align:center}.wc_addons_wrap .products{overflow:hidden}.wc_addons_wrap .products li{float:left;margin:0 1em 1em 0!important;padding:0;vertical-align:top;width:300px}.wc_addons_wrap .products li a{text-decoration:none;color:inherit;border:1px solid #ddd;display:block;min-height:220px;overflow:hidden;background:#f5f5f5;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1)}.wc_addons_wrap .products li a img{max-width:258px;max-height:24px;padding:17px 20px;display:block;margin:0;background:#fff;border-right:260px solid #fff}.wc_addons_wrap .products li a .price,.wc_addons_wrap .products li a img.extension-thumb+h3{display:none}.wc_addons_wrap .products li a h3{margin:0!important;padding:20px!important;background:#fff}.wc_addons_wrap .products li a p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wc_addons_wrap .products li a:focus,.wc_addons_wrap .products li a:hover{background-color:#fff}.wc_addons_wrap .storefront{background:url(../images/storefront-bg.jpg) bottom right #f6f6f6;border:1px solid #ddd;padding:20px;overflow:hidden;zoom:1}.wc_addons_wrap .storefront img{width:278px;height:auto;float:left;margin:0 20px 0 0;box-shadow:0 1px 6px rgba(0,0,0,.1)}.wc_addons_wrap .storefront p{max-width:750px}.woocommerce-message{position:relative;border-left-color:#cc99c2!important;overflow:hidden}.woocommerce-message a.button-primary,.woocommerce-message button.button-primary{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none!important;text-shadow:0 -1px 1px #8a4f7f,1px 0 1px #8a4f7f,0 1px 1px #8a4f7f,-1px 0 1px #8a4f7f}.woocommerce-message a.button-primary:hover,.woocommerce-message button.button-primary:hover{background:#c480b7;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)}.woocommerce-message a.button-primary:active,.woocommerce-message button.button-primary:active{background:#aa559a;border-color:#873A79;-webkit-box-shadow:inset 0 2px 0 #873A79;box-shadow:inset 0 2px 0 #873A79}.woocommerce-message a.button-primary:focus,.woocommerce-message button.button-primary:focus{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a;box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a}.woocommerce-message a.docs,.woocommerce-message a.skip{opacity:.5;text-decoration:none!important}.woocommerce-message .twitter-share-button{margin-top:-3px;margin-left:3px;vertical-align:middle}#variable_product_options #message,#variable_product_options .notice{margin:10px}.clear{clear:both}#woocommerce-fields-bulk.inline-edit-col label,#woocommerce-fields.inline-edit-col{clear:left}.wrap.woocommerce div.error,.wrap.woocommerce div.updated{margin-top:10px}mark.amount{background:0 0;color:inherit}.postbox,.woocommerce{input:invalid;input-border:1px solid #cc010b;input-background:#ffebe8}.simplify-commerce-banner{overflow:hidden}.simplify-commerce-banner img{float:right;padding:15px 0;margin-left:1em;width:200px}.woocommerce-help-tip{color:#666;display:inline-block;font-size:13px;font-style:normal;height:16px;line-height:16px;position:relative;vertical-align:middle;width:16px}.woocommerce-help-tip:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";cursor:help}table.wc_status_table{margin-bottom:1em}table.wc_status_table tr:nth-child(2n) td,table.wc_status_table tr:nth-child(2n) th{background:#fcfcfc}table.wc_status_table th{font-weight:700;padding:9px}table.wc_status_table td:first-child{width:33%}table.wc_status_table td.help{width:1em}table.wc_status_table td{padding:9px;font-size:1.1em}table.wc_status_table td mark{background:0 0}table.wc_status_table td mark.yes{color:#7ad03a}table.wc_status_table td mark.no{color:#999}table.wc_status_table td mark.error{color:#a00}table.wc_status_table td ul{margin:0}table.wc_status_table .help_tip{cursor:help}#debug-report{display:none;margin:10px 0;padding:0;position:relative}#debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}#log-viewer-select{padding:10px 0 8px;line-height:180%}#log-viewer textarea{width:100%;resize:vertical}.inline-edit-product.quick-edit-row .inline-edit-col-center,.inline-edit-product.quick-edit-row .inline-edit-col-right{float:right!important}#woocommerce-fields.inline-edit-col label.featured,#woocommerce-fields.inline-edit-col label.manage_stock{margin-left:10px}#woocommerce-fields.inline-edit-col .dimensions div{display:block;margin:.2em 0}#woocommerce-fields.inline-edit-col .dimensions div span.title{display:block;float:left;width:5em}#woocommerce-fields.inline-edit-col .dimensions div span.input-text-wrap{display:block;margin-left:5em}#woocommerce-fields.inline-edit-col .text{box-sizing:border-box;width:99%;float:left;margin:1px 1% 1px 1px}#woocommerce-fields.inline-edit-col .height,#woocommerce-fields.inline-edit-col .length,#woocommerce-fields.inline-edit-col .width{width:32.33%}#woocommerce-fields.inline-edit-col .height{margin-right:0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group label{clear:none;width:49%;margin:.2em 0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group.dimensions label{width:75%;max-width:75%}#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .regular_price,#woocommerce-fields-bulk.inline-edit-col .sale_price,#woocommerce-fields-bulk.inline-edit-col .stock,#woocommerce-fields-bulk.inline-edit-col .weight{box-sizing:border-box;width:100%;margin-left:4.4em}#woocommerce-fields-bulk.inline-edit-col .height,#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .width{box-sizing:border-box;width:25%}.column-coupon_code{line-height:2.25em}.column-coupon_code,ul.wc_coupon_list{margin:0;overflow:hidden;zoom:1;clear:both}ul.wc_coupon_list li{margin:0}ul.wc_coupon_list li.code{display:inline-block}ul.wc_coupon_list li.code:after{content:", "}ul.wc_coupon_list li.code:last-of-type:after{display:none}ul.wc_coupon_list li.code .tips{cursor:pointer}ul.wc_coupon_list_block{margin:0;padding-bottom:2px}ul.wc_coupon_list_block li{border-top:1px solid #fff;border-bottom:1px solid #ccc;line-height:2.5em;margin:0;padding:.5em 0}ul.wc_coupon_list_block li:first-child{border-top:0;padding-top:0}ul.wc_coupon_list_block li:last-child{border-bottom:0;padding-bottom:0}.button.wc-reload{text-indent:-9999px;position:relative;padding:0;-webkit-border-radius:100%;border-radius:100%;height:24px;width:24px!important;display:inline-block}.button.wc-reload:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";line-height:22px}#order_data h2,#order_data p.order_number{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.tablenav .actions{overflow:visible}.tablenav .select2-container{float:left;max-width:200px;font-size:14px;vertical-align:middle;margin:1px 6px 1px 1px}#woocommerce-order-data .handlediv,#woocommerce-order-data .hndle{display:none}#woocommerce-order-data .inside{display:block!important}#order_data{padding:23px 24px 12px}#order_data h2{margin:0;font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}#order_data h4{color:#333;margin:1.33em 0 0}#order_data p{color:#777}#order_data p.order_number{margin:0;line-height:1.6em;font-size:16px}#order_data .order_data_column_container{clear:both}#order_data .order_data_column{width:32%;padding:0 2% 0 0;float:left}#order_data .order_data_column:last-child{padding-right:0}#order_data .order_data_column p{padding:0!important}#order_data .order_data_column .address strong{display:block}#order_data .order_data_column .form-field{float:left;width:48%;padding:0;margin:9px 0 0}#order_data .order_data_column .form-field label{display:block;padding:0 0 3px}#order_data .order_data_column .form-field input,#order_data .order_data_column .form-field select,#order_data .order_data_column .form-field textarea{width:100%}#order_data .order_data_column .form-field .select2-container{width:100%!important}#order_data .order_data_column .form-field .date-picker{width:50%}#order_data .order_data_column .form-field .hour,#order_data .order_data_column .form-field .minute{width:2.5em}#order_data .order_data_column .form-field small{display:block;margin:5px 0 0;color:#999}#order_data .order_data_column .form-field.last{float:right}#order_data .order_data_column .form-field-wide{width:100%;clear:both}#order_data .order_data_column .form-field-wide .wc-customer-search,#order_data .order_data_column .form-field-wide .wc-enhanced-select,#order_data .order_data_column .form-field-wide input,#order_data .order_data_column .form-field-wide select,#order_data .order_data_column .form-field-wide textarea{width:100%}#order_data .order_data_column p.none_set{color:#999}#order_data .order_data_column ._billing_address_1_field,#order_data .order_data_column ._billing_city_field,#order_data .order_data_column ._billing_country_field,#order_data .order_data_column ._billing_email_field,#order_data .order_data_column ._billing_first_name_field,#order_data .order_data_column ._shipping_address_1_field,#order_data .order_data_column ._shipping_city_field,#order_data .order_data_column ._shipping_country_field,#order_data .order_data_column ._shipping_first_name_field{float:left}#order_data .order_data_column ._billing_address_2_field,#order_data .order_data_column ._billing_last_name_field,#order_data .order_data_column ._billing_phone_field,#order_data .order_data_column ._billing_postcode_field,#order_data .order_data_column ._billing_state_field,#order_data .order_data_column ._shipping_address_2_field,#order_data .order_data_column ._shipping_last_name_field,#order_data .order_data_column ._shipping_postcode_field,#order_data .order_data_column ._shipping_state_field,#order_data .order_data_column .wc-customer-user label a,#order_data .order_data_column .wc-order-status label a{float:right}#order_data .order_data_column ._billing_company_field,#order_data .order_data_column ._shipping_company_field,#order_data .order_data_column ._transaction_id_field{clear:both;width:100%}#order_data .order_data_column ._billing_email_field{clear:left}#order_data .order_data_column div.edit_address{display:none;zoom:1;padding-right:1px}#order_data .order_data_column .billing-same-as-shipping,#order_data .order_data_column .load_customer_billing,#order_data .order_data_column .load_customer_shipping,#order_data .order_data_column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}#order_data .order_data_column .billing-same-as-shipping:focus,#order_data .order_data_column .billing-same-as-shipping:hover,#order_data .order_data_column .load_customer_billing:focus,#order_data .order_data_column .load_customer_billing:hover,#order_data .order_data_column .load_customer_shipping:focus,#order_data .order_data_column .load_customer_shipping:hover,#order_data .order_data_column a.edit_address:focus,#order_data .order_data_column a.edit_address:hover{color:#000}#order_data .order_data_column .billing-same-as-shipping:after,#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after,#order_data .order_data_column a.edit_address:after{font-family:WooCommerce;position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;-webkit-font-smoothing:antialiased}#order_data .order_data_column .billing-same-as-shipping:after{content:"\e008"}#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after{content:"\e03a"}#order_data .order_data_column a.edit_address:after{content:"\e603"}.order_actions{margin:0;overflow:hidden;zoom:1}.order_actions li{border-top:1px solid #fff;border-bottom:1px solid #ddd;padding:6px 0;margin:0;line-height:1.6em;float:left;width:50%;text-align:center}.order_actions li a{float:none;text-align:center;text-decoration:underline}.order_actions li.wide{width:auto;float:none;clear:both;padding:6px;text-align:left;overflow:hidden}.order_actions li #delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left}.order_actions li .save_order{float:right}.order_actions li#actions{overflow:hidden}.order_actions li#actions .button{width:24px;box-sizing:border-box;float:right}.order_actions li#actions select{width:225px;box-sizing:border-box;float:left}#woocommerce-order-items .inside{margin:0;padding:0;background:#fefefe}#woocommerce-order-items .wc-order-data-row{border-bottom:1px solid #DFDFDF;padding:12px;background:#f8f8f8;line-height:2em;text-align:right}#woocommerce-order-items .wc-order-data-row:after,#woocommerce-order-items .wc-order-data-row:before{content:" ";display:table}#woocommerce-order-items .wc-order-data-row:after{clear:both}#woocommerce-order-items .wc-order-data-row p{margin:0;line-height:2em}#woocommerce-order-items .wc-order-data-row .wc-used-coupons{text-align:left}#woocommerce-order-items .wc-order-data-row .wc-used-coupons .tips{display:inline-block}#woocommerce-order-items .wc-order-bulk-actions{background:#fefefe;vertical-align:top;border-top:0}#woocommerce-order-items .wc-order-bulk-actions select{vertical-align:top}#woocommerce-order-items .wc-order-bulk-actions p.bulk-actions{float:left}#woocommerce-order-items .wc-order-add-item{background:#fff;vertical-align:top;border-top:none}#woocommerce-order-items .wc-order-add-item .add_item_id,#woocommerce-order-items .wc-order-add-item .select2-container{vertical-align:top}#woocommerce-order-items .wc-order-add-item .add_item_id .search-field input,#woocommerce-order-items .wc-order-add-item .select2-container .search-field input{min-width:100px}#woocommerce-order-items .wc-order-add-item .select2-container{width:400px!important;text-align:left}#woocommerce-order-items .wc-order-add-item .calculate-action,#woocommerce-order-items .wc-order-add-item .cancel-action,#woocommerce-order-items .wc-order-add-item .save-action{float:left;margin-right:2px}#woocommerce-order-items .wc-used-coupons{float:left;width:50%}#woocommerce-order-items .wc-order-totals{float:right;width:50%;margin:0;padding:0}#woocommerce-order-items .wc-order-totals .amount{font-weight:700}#woocommerce-order-items .wc-order-totals .label{vertical-align:top}#woocommerce-order-items .wc-order-totals .total{font-size:1em!important;width:10em;margin:0 0 0 .5em;box-sizing:border-box}#woocommerce-order-items .wc-order-totals .total input[type=text]{width:96%;float:right}#woocommerce-order-items .wc-order-totals .refunded-total{color:#a00}#woocommerce-order-items .refund-actions{margin-top:5px;padding-top:12px;border-top:1px solid #DFDFDF}#woocommerce-order-items .refund-actions .button{float:right;margin-left:4px}#woocommerce-order-items .refund-actions .cancel-action{float:left;margin-left:0}#woocommerce-order-items .add_meta{margin-left:0!important}#woocommerce-order-items h3 small{color:#999}#woocommerce-order-items .amount{white-space:nowrap}#woocommerce-order-items .add-items .description{margin-right:10px}.woocommerce_order_items_wrapper{margin:0;overflow:auto}.woocommerce_order_items_wrapper table.woocommerce_order_items{width:100%;background:#fff}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th{background:#f8f8f8;padding:8px;font-size:11px;text-align:left;color:#555;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th.sortable{cursor:pointer}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th,.woocommerce_order_items_wrapper table.woocommerce_order_items td{padding:8px;text-align:left;line-height:26px;vertical-align:top;border-bottom:1px dotted #ececec}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th select,.woocommerce_order_items_wrapper table.woocommerce_order_items td select{width:50%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th input,.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td input,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{font-size:14px;padding:4px;color:#555}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:first-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:last-child td{border-bottom:1px solid #dfdfdf}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:first-child td{border-top:8px solid #f8f8f8}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody#order_line_items tr:first-child td{border-top:none}.woocommerce_order_items_wrapper table.woocommerce_order_items td.check-column{padding:8px 8px 8px 12px;width:1%}.woocommerce_order_items_wrapper table.woocommerce_order_items .item{min-width:200px}.woocommerce_order_items_wrapper table.woocommerce_order_items .center,.woocommerce_order_items_wrapper table.woocommerce_order_items .variation-id{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class{text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label{white-space:nowrap;color:#999;font-size:.833em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label input{display:inline}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class input{width:70px;vertical-align:middle;text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class select{width:85px;height:26px;vertical-align:middle;font-size:1em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input{display:block;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);margin:1px;width:70px}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input{width:100%;box-sizing:border-box;border:0;box-shadow:none;margin:0;color:#555;background:0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input:last-child{color:#bbb;border-top:1px dashed #ddd}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .view{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class del{color:#ccc}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input{text-align:center;width:50px}.woocommerce_order_items_wrapper table.woocommerce_order_items span.subtotal{opacity:.5}.woocommerce_order_items_wrapper table.woocommerce_order_items td.tax_class,.woocommerce_order_items_wrapper table.woocommerce_order_items th.tax_class{text-align:left}.woocommerce_order_items_wrapper table.woocommerce_order_items .calculated{border-color:#ae8ca2;border-style:dotted}.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{margin:.5em 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th{border:0;padding:0 4px .5em 0;line-height:1.5em;width:20%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td{padding:0 4px .5em 0;border:0;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input{width:100%;margin:0;position:relative;border-bottom:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea{width:100%;height:4em;margin:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input:focus+textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input:focus+textarea{border-top-color:#999}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p{margin:0 0 .5em;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p:last-child{margin:0}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb{text-align:left;width:27px}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before,.wc-order-items-editable .edit-order-item:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb a{display:block}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb img{padding:1px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:21px;height:21px}.woocommerce_order_items_wrapper table.woocommerce_order_items .refund_by,ul.order_notes li p.meta .exact-date{border-bottom:1px dotted #999}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{padding:8px 16px 8px 8px}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:12px;visibility:hidden;float:right;margin:2px -16px 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";color:#fff;background-color:#000;-webkit-border-radius:100%;border-radius:100%;border:1px solid #000;box-shadow:0 1px 2px rgba(0,0,0,.2)}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:hover:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:hover:before{border-color:#a00;background-color:#a00}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax:hover .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax:hover .delete-order-tax{visibility:visible}.woocommerce_order_items_wrapper table.woocommerce_order_items small.refunded{display:block;color:#a00;white-space:nowrap}.wc-order-items-editable .edit-order-item{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0 .5em 0 0}.wc-order-items-editable .edit-order-item:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e603";color:#999}.wc-order-items-editable .edit-order-item:hover:before{color:#555}.wc-order-items-editable .delete-order-item,.wc-order-items-editable .delete_refund{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e013";color:#999}.wc-order-items-editable .delete-order-item:hover:before,.wc-order-items-editable .delete_refund:hover:before{color:#a00}.wc-order-items-editable .wc-order-edit-line-item-actions{width:2.5em;text-align:right}.wc-order-items-editable .wc-order-totals .wc-order-edit-line-item-actions{width:1.5em}.wc-order-items-editable .wc-order-totals .edit-order-item{margin:0}#woocommerce-order-downloads .buttons{float:left;padding:0;margin:0;vertical-align:top}#woocommerce-order-downloads .buttons .add_item_id,#woocommerce-order-downloads .buttons .select2-container{width:400px!important;margin-right:9px;vertical-align:top;float:left}#woocommerce-order-downloads .buttons button{margin:2px 0 0}#woocommerce-order-downloads h3 small{color:#999}#poststuff #woocommerce-order-actions .inside{margin:0;padding:0}#poststuff #woocommerce-order-actions .inside ul.order_actions li{padding:6px 10px;box-sizing:border-box}#poststuff #woocommerce-order-actions .inside ul.order_actions li:last-child{border-bottom:0}#poststuff #woocommerce-order-notes .inside{margin:0;padding:0}#poststuff #woocommerce-order-notes .inside ul.order_notes li{padding:0 10px}#woocommerce_customers p.search-box{margin:6px 0 4px;float:left}#woocommerce_customers .tablenav{float:right;clear:none}.widefat.customers td{vertical-align:middle;padding:4px 7px}.widefat .column-order_title{width:15%}.widefat .column-order_title time{display:block;color:#999;margin:3px 0}.widefat .column-orders,.widefat .column-paying,.widefat .column-spent{text-align:center;width:8%}.widefat .column-last_order{width:11%}.widefat .column-order_actions,.widefat .column-user_actions,.widefat .column-wc_actions{width:110px}.widefat .column-order_actions a.button,.widefat .column-user_actions a.button,.widefat .column-wc_actions a.button{float:left;margin:0 4px 2px 0;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-order_actions a.button img,.widefat .column-user_actions a.button img,.widefat .column-wc_actions a.button img{display:block;width:12px;height:auto}.widefat small.meta{display:block;color:#999;font-size:inherit;margin:3px 0}.widefat .column-order_date,.widefat .column-order_total{width:9%}.widefat .column-order_status{width:45px;text-align:center}.widefat .column-order_status mark{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;background:0 0;font-size:1.4em;margin:0 auto}.widefat .column-order_status mark.cancelled:after,.widefat .column-order_status mark.completed:after,.widefat .column-order_status mark.failed:after,.widefat .column-order_status mark.on-hold:after,.widefat .column-order_status mark.pending:after,.widefat .column-order_status mark.processing:after,.widefat .column-order_status mark.refunded:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.column-customer_message .note-on:after,.column-order_notes .note-on:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;line-height:16px;font-family:WooCommerce}.widefat .column-order_status mark.pending:after{content:"\e012";color:#ffba00}.widefat .column-order_status mark.completed:after{content:"\e015";color:#2ea2cc}.widefat .column-order_status mark.on-hold:after{content:"\e033";color:#999}.widefat .column-order_status mark.failed:after{content:"\e016";color:#d0c21f}.widefat .column-order_status mark.cancelled:after{content:"\e013";color:#a00}.widefat .column-order_status mark.processing:after{content:"\e011";color:#73a724}.widefat .column-order_status mark.refunded:after{content:"\e014";color:#999}.widefat td.column-order_status{padding-top:9px}.column-customer_message .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-customer_message .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.column-order_notes .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-order_notes .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.attributes-table .attribute-actions .configure-terms:after,.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after,.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;line-height:1.85;margin:0;text-align:center;font-weight:400}.order_actions .complete,.order_actions .processing,.order_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.order_actions .processing:after{content:"\e00f"}.order_actions .complete:after{content:"\e017"}.order_actions .view:after{content:"\e010"}.user_actions .edit,.user_actions .link,.user_actions .refresh,.user_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.user_actions .edit:after{content:"\e603"}.user_actions .link:after{content:"\e00d"}.user_actions .view:after{content:"\e010"}.user_actions .refresh:after{content:"\e031"}.attributes-table td,.attributes-table th{width:15%;vertical-align:top}.attributes-table .attribute-terms{width:32%}.attributes-table .attribute-actions{width:2em}.attributes-table .attribute-actions .configure-terms{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.attributes-table .attribute-actions .configure-terms:after{text-indent:0;position:absolute;width:100%;height:100%;content:"";font-family:Dashicons}ul.order_notes{padding:2px 0 0}ul.order_notes li .note_content{padding:10px;background:#efefef;position:relative}ul.order_notes li .note_content p{margin:0;padding:0;word-wrap:break-word}ul.order_notes li p.meta{padding:10px;color:#999;margin:0;font-size:11px}ul.order_notes li a.delete_note{color:#a00}table.wp-list-table .row-actions,table.wp-list-table span.na{color:#999}ul.order_notes li .note_content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-width:10px 10px 0 0;border-style:solid;border-color:#efefef transparent}ul.order_notes li.customer-note .note_content{background:#d7cad2}ul.order_notes li.customer-note .note_content:after{border-color:#d7cad2 transparent}.add_note{border-top:1px solid #ddd;padding:10px 10px 0}.add_note h4{margin-top:5px!important}.add_note #add_order_note{width:100%;height:50px}table.wp-list-table .column-thumb{width:52px;text-align:center;white-space:nowrap}table.wp-list-table .column-name{width:22%}table.wp-list-table .column-product_cat,table.wp-list-table .column-product_tag{width:11%!important}table.wp-list-table .column-featured,table.wp-list-table .column-product_type{width:48px;text-align:left!important}table.wp-list-table .column-customer_message,table.wp-list-table .column-order_notes{width:48px;text-align:center}table.wp-list-table .column-customer_message img,table.wp-list-table .column-order_notes img{margin:0 auto;padding-top:0!important}table.wp-list-table .manage-column.column-featured img,table.wp-list-table .manage-column.column-product_type img{padding-left:2px}table.wp-list-table .column-price .woocommerce-price-suffix{display:none}table.wp-list-table img{margin:1px 2px}table.wp-list-table td.column-thumb img{margin:0;width:auto;height:auto;max-width:40px;max-height:40px;vertical-align:middle}table.wp-list-table .column-is_in_stock{text-align:left!important}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after,table.wp-list-table span.product-type:before,table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{text-align:center;line-height:1;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0}table.wp-list-table span.wc-featured,table.wp-list-table span.wc-image,table.wp-list-table span.wc-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.wc-featured{margin:0;cursor:pointer}table.wp-list-table span.wc-featured:before{content:"\e020"}table.wp-list-table span.wc-featured.not-featured:before{content:"\e021"}table.wp-list-table td.column-featured span.wc-featured{font-size:1.2em}table.wp-list-table span.wc-type{margin:0}table.wp-list-table span.wc-type:before{content:"\e01d"}table.wp-list-table span.product-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.2em}table.wp-list-table span.product-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.product-type.grouped:before{content:"\e002"}table.wp-list-table span.product-type.external:before{content:"\e034"}table.wp-list-table span.product-type.variable:before{content:"\e003"}table.wp-list-table span.product-type.downloadable:before{content:"\e001"}table.wp-list-table span.product-type.virtual:before{content:"\e000"}table.wp-list-table mark.instock{font-weight:700;color:#7ad03a;background:0 0;line-height:1}table.wp-list-table mark.outofstock{font-weight:700;color:#a44;background:0 0;line-height:1}table.wp-list-table .notes_head,table.wp-list-table .order-notes_head,table.wp-list-table .status_head{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%}table.wc_emails .wc-email-settings-table-name,table.wc_emails td.name,table.wc_gateways .wc-email-settings-table-name,table.wc_gateways td.name,table.wc_shipping .wc-email-settings-table-name,table.wc_shipping td.name{font-weight:700}table.wp-list-table .order-notes_head:after{content:"\e028"}table.wp-list-table .notes_head:after{content:"\e026"}table.wp-list-table .status_head:after{content:"\e011"}table.wp-list-table .column-order_items{width:12%}table.wp-list-table .column-order_items table.order_items{width:100%;margin:3px 0 0;padding:0;display:none}table.wp-list-table .column-order_items table.order_items td{border:0;margin:0;padding:0 0 3px}table.wp-list-table .column-order_items table.order_items td.qty{color:#999;padding-right:6px;text-align:left}mark.notice{background:#fff;color:#a00;margin:0 0 0 10px}a.export_rates,a.import_rates{float:right;margin-left:9px;margin-top:-2px;margin-bottom:0}#rates-search{float:right}#rates-search input.wc-tax-rates-search-field{padding:4px 8px;font-size:1.2em}table.wc_input_table,table.wc_tax_rates{width:100%}table.wc_input_table span.tips,table.wc_tax_rates span.tips{color:#2ea2cc}table.wc_input_table td,table.wc_tax_rates td{padding:0;border-right:1px solid #DFDFDF;border-bottom:1px solid #DFDFDF;border-top:0;background:#fff}table.wc_input_table td input[type=text],table.wc_input_table td input[type=number],table.wc_tax_rates td input[type=text],table.wc_tax_rates td input[type=number]{width:100%;padding:5px 7px;margin:0;border:0;background:0 0}table.wc_input_table td.apply_to_shipping,table.wc_input_table td.compound,table.wc_tax_rates td.apply_to_shipping,table.wc_tax_rates td.compound{padding:5px 7px;vertical-align:middle}table.wc_input_table td.apply_to_shipping input,table.wc_input_table td.compound input,table.wc_tax_rates td.apply_to_shipping input,table.wc_tax_rates td.compound input{width:auto;padding:0}table.wc_input_table td:last-child,table.wc_tax_rates td:last-child{border-right:0}table.wc_input_table tr.current td,table.wc_tax_rates tr.current td{background-color:#fefbcc}table.wc_input_table .cost,table.wc_input_table .cost input,table.wc_input_table .item_cost,table.wc_input_table .item_cost input,table.wc_tax_rates .cost,table.wc_tax_rates .cost input,table.wc_tax_rates .item_cost,table.wc_tax_rates .item_cost input{text-align:right}table.wc_input_table th.sort,table.wc_tax_rates th.sort{width:17px;padding:0 4px}table.wc_input_table td.sort,table.wc_tax_rates td.sort{padding:0 4px}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort{cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before{color:#333}table.wc_input_table .button,table.wc_tax_rates .button{float:left;margin-right:5px}table.wc_input_table .export,table.wc_input_table .import,table.wc_tax_rates .export,table.wc_tax_rates .import{float:right;margin-right:0;margin-left:5px}table.wc_input_table span.tips,table.wc_tax_rates span.tips{padding:0 3px}table.wc_input_table .pagination,table.wc_tax_rates .pagination{float:right}table.wc_input_table .pagination .button,table.wc_tax_rates .pagination .button{margin-left:5px;margin-right:0}table.wc_input_table .pagination .current,table.wc_tax_rates .pagination .current{background:#bbb;text-shadow:none}table.wc_input_table tfoot th,table.wc_tax_rates tfoot th{padding-left:20px;padding-right:20px}table.wc_input_table tr:last-child td,table.wc_tax_rates tr:last-child td{border-bottom:0}table.wc_emails,table.wc_gateways,table.wc_shipping{position:relative}table.wc_emails td,table.wc_gateways td,table.wc_shipping td{vertical-align:middle;padding:7px;line-height:2em}table.wc_emails tr:nth-child(odd) td,table.wc_gateways tr:nth-child(odd) td,table.wc_shipping tr:nth-child(odd) td{background:#f9f9f9}table.wc_emails th,table.wc_gateways th,table.wc_shipping th{padding:9px 7px!important;vertical-align:middle}table.wc_emails .settings,table.wc_gateways .settings,table.wc_shipping .settings{text-align:right}table.wc_emails .default,table.wc_emails .radio,table.wc_emails .status,table.wc_gateways .default,table.wc_gateways .radio,table.wc_gateways .status,table.wc_shipping .default,table.wc_shipping .radio,table.wc_shipping .status{text-align:center}table.wc_emails .default .tips,table.wc_emails .radio .tips,table.wc_emails .status .tips,table.wc_gateways .default .tips,table.wc_gateways .radio .tips,table.wc_gateways .status .tips,table.wc_shipping .default .tips,table.wc_shipping .radio .tips,table.wc_shipping .status .tips{margin:0 auto}table.wc_emails .default input,table.wc_emails .radio input,table.wc_emails .status input,table.wc_gateways .default input,table.wc_gateways .radio input,table.wc_gateways .status input,table.wc_shipping .default input,table.wc_shipping .radio input,table.wc_shipping .status input{margin:0}table.wc_emails th.sort,table.wc_gateways th.sort,table.wc_shipping th.sort{width:28px;padding:0}table.wc_emails td.sort,table.wc_gateways td.sort,table.wc_shipping td.sort{padding:0 7px;cursor:move;text-align:center;vertical-align:middle}table.wc_emails td.sort:before,table.wc_gateways td.sort:before,table.wc_shipping td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#ccc;display:block;width:17px;float:left;height:100%}table.wc_emails .wc-email-settings-table-name span,table.wc_gateways .wc-email-settings-table-name span,table.wc_shipping .wc-email-settings-table-name span{font-weight:400;color:#999;margin:0 0 0 4px!important}table.wc_emails .wc-email-settings-table-status,table.wc_gateways .wc-email-settings-table-status,table.wc_shipping .wc-email-settings-table-status{text-align:center;width:1em}table.wc_emails .wc-email-settings-table-status .tips,table.wc_gateways .wc-email-settings-table-status .tips,table.wc_shipping .wc-email-settings-table-status .tips{margin:0 auto}table.wc_emails .wc-email-settings-table-actions a,table.wc_gateways .wc-email-settings-table-actions a,table.wc_shipping .wc-email-settings-table-actions a{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}table.wc_emails .wc-email-settings-table-actions a:after,table.wc_gateways .wc-email-settings-table-actions a:after,table.wc_shipping .wc-email-settings-table-actions a:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-family:Dashicons;line-height:1.85}img.help_tip{margin:0 0 0 9px;vertical-align:middle}.postbox img.help_tip{margin-top:0}.postbox .woocommerce-help-tip{margin:0 0 0 9px}.status-enabled,.status-manual{font-size:1.4em;display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.status-enabled:before,.status-manual:before{line-height:1;margin:0;position:absolute;width:100%;height:100%;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-indent:0;top:0;left:0;text-align:center}.status-manual:before{content:"";color:#999}.status-enabled:before{content:"";color:#a46497}.woocommerce .woo-nav-tab-wrapper{margin-bottom:16px!important}.woocommerce .subsubsub{margin:-8px 0 0}.woocommerce #template div{margin:0}.woocommerce #template div p .button{float:right;margin-left:10px;margin-top:-4px}.woocommerce #template div .editor textarea{margin-bottom:8px}.woocommerce textarea[disabled=disabled]{background:#DFDFDF!important}.woocommerce table.form-table{margin:0;position:relative}.woocommerce table.form-table .forminp-radio ul{margin:0}.woocommerce table.form-table .forminp-radio ul li{line-height:1.4em}.woocommerce table.form-table textarea.input-text{height:100%;min-width:150px;display:block}.woocommerce table.form-table input.regular-input{width:25em}.woocommerce table.form-table textarea.wide-input{width:100%}.woocommerce table.form-table .woocommerce-help-tip,.woocommerce table.form-table img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}.woocommerce table.form-table span.help_tip{cursor:help;color:#2ea2cc}.woocommerce table.form-table th{position:relative;padding-right:24px}.woocommerce table.form-table .select2-container{display:block;max-width:350px;vertical-align:top;margin-bottom:3px}.woocommerce table.form-table table.widefat th{padding-right:inherit}.woocommerce table.form-table th .woocommerce-help-tip,.woocommerce table.form-table th img.help_tip{margin:0 -24px 0 0;float:right}.woocommerce table.form-table .wp-list-table .woocommerce-help-tip{float:none}.woocommerce table.form-table fieldset{margin-top:4px}.woocommerce table.form-table fieldset .woocommerce-help-tip,.woocommerce table.form-table fieldset img.help_tip{margin:-3px 0 0 5px}.woocommerce table.form-table fieldset p.description{margin-bottom:8px}.woocommerce table.form-table fieldset:first-child{margin-top:0}.woocommerce table.form-table .iris-picker{z-index:100;display:none;position:absolute;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.woocommerce table.form-table .iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:none!important}.woocommerce table.form-table .iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.woocommerce table.form-table .colorpickpreview{padding:3px 3px 3px 20px;border:1px solid #ddd;border-right:0}.woocommerce table.form-table .colorpick{border-left:0}.woocommerce table.form-table .image_width_settings{vertical-align:middle}.woocommerce table.form-table .image_width_settings label{margin-left:10px}.woocommerce table.form-table .wc_emails_wrapper{padding:0 15px 10px 0}.woocommerce #tabs-wrap table a.remove{margin-left:4px}.woocommerce #tabs-wrap table p{margin:0 0 4px!important;overflow:hidden;zoom:1}.woocommerce #tabs-wrap table p a.add{float:left}#wp-excerpt-editor-container{background:#fff}#product_variation-parent #parent_id{width:100%}#postimagediv img{border:1px solid #d5d5d5;max-width:100%}#woocommerce-product-images .inside{margin:0;padding:0}#woocommerce-product-images .inside .add_product_images{padding:0 12px 12px}#woocommerce-product-images .inside #product_images_container{padding:0 0 0 9px}#woocommerce-product-images .inside #product_images_container ul{margin:0;padding:0}#woocommerce-product-images .inside #product_images_container ul:after,#woocommerce-product-images .inside #product_images_container ul:before{content:" ";display:table}#woocommerce-product-images .inside #product_images_container ul:after{clear:both}#woocommerce-product-images .inside #product_images_container ul li.add,#woocommerce-product-images .inside #product_images_container ul li.image,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{width:80px;float:left;cursor:move;border:1px solid #d5d5d5;margin:9px 9px 0 0;background:#f7f7f7;border-radius:2px;position:relative;box-sizing:border-box}#woocommerce-product-images .inside #product_images_container ul li.add img,#woocommerce-product-images .inside #product_images_container ul li.image img,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder img{width:100%;height:auto;display:block}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{border:3px dashed #ddd;position:relative}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-size:2.618em;line-height:72px;color:#ddd}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before,#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{line-height:1;color:#fff;background-color:#000;font-family:WooCommerce;font-weight:400;font-variant:normal;-webkit-font-smoothing:antialiased;text-align:center;left:0;speak:none;text-transform:none}#woocommerce-product-images .inside #product_images_container ul ul.actions{position:absolute;top:-8px;right:-8px;padding:2px;display:none}#woocommerce-product-images .inside #product_images_container ul ul.actions li{float:right;margin:0 0 0 2px}#woocommerce-product-images .inside #product_images_container ul ul.actions li a{width:1em;margin:0;height:0;display:block;overflow:hidden}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.tips{cursor:pointer}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:""}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:"";border-radius:100%;box-shadow:0 1px 2px rgba(0,0,0,.2)}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:hover before{background-color:#a00}#woocommerce-product-images .inside #product_images_container ul li:hover ul.actions{display:block}#woocommerce-product-data .hndle{padding:10px}#woocommerce-product-data .hndle span{display:block;vertical-align:middle;line-height:24px}#woocommerce-product-data .hndle span span{display:inline;line-height:inherit;vertical-align:baseline}#woocommerce-product-data .hndle label{padding-right:1em;font-size:12px;vertical-align:baseline}#woocommerce-product-data .hndle label:first-child{margin-right:1em;border-right:1px solid #dfdfdf}#woocommerce-product-data .hndle input,#woocommerce-product-data .hndle select{margin:-3px 0 0 .5em;vertical-align:middle}#woocommerce-product-data>.handlediv{margin-top:4px}#woocommerce-product-data .wrap{margin:0}#woocommerce-coupon-description{padding:3px 8px;font-size:1.7em;line-height:1.42em;height:auto;width:100%;outline:0;margin:10px 0;display:block}#woocommerce-coupon-description::-webkit-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description::-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-ms-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap{background:#fff}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{float:left;width:80%}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-product-data .woocommerce_options_panel .wc-radios{display:block;float:left;margin:0}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-product-data .woocommerce_options_panel .wc-radios li{display:block;padding:0 0 10px}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li input,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-product-data .woocommerce_options_panel .wc-radios li input{width:auto}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap,.woocommerce .panel-wrap{overflow:hidden}#woocommerce-coupon-data ul.wc-tabs,#woocommerce-product-data ul.wc-tabs,.woocommerce ul.wc-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#woocommerce-coupon-data ul.wc-tabs:after,#woocommerce-product-data ul.wc-tabs:after,.woocommerce ul.wc-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li,#woocommerce-product-data ul.wc-tabs li,.woocommerce ul.wc-tabs li{margin:0;padding:0;display:block;position:relative}#woocommerce-coupon-data ul.wc-tabs li a,#woocommerce-product-data ul.wc-tabs li a,.woocommerce ul.wc-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li a:before,#woocommerce-product-data ul.wc-tabs li a:before,.woocommerce ul.wc-tabs li a:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}#woocommerce-coupon-data ul.wc-tabs li.general_options a:before,#woocommerce-product-data ul.wc-tabs li.general_options a:before,.woocommerce ul.wc-tabs li.general_options a:before{content:"\e006"}#woocommerce-coupon-data ul.wc-tabs li.inventory_options a:before,#woocommerce-product-data ul.wc-tabs li.inventory_options a:before,.woocommerce ul.wc-tabs li.inventory_options a:before{content:"\e02c"}#woocommerce-coupon-data ul.wc-tabs li.shipping_options a:before,#woocommerce-product-data ul.wc-tabs li.shipping_options a:before,.woocommerce ul.wc-tabs li.shipping_options a:before{content:"\e01a"}#woocommerce-coupon-data ul.wc-tabs li.linked_product_options a:before,#woocommerce-product-data ul.wc-tabs li.linked_product_options a:before,.woocommerce ul.wc-tabs li.linked_product_options a:before{content:"\e00d"}#woocommerce-coupon-data ul.wc-tabs li.attribute_options a:before,#woocommerce-product-data ul.wc-tabs li.attribute_options a:before,.woocommerce ul.wc-tabs li.attribute_options a:before{content:"\e02b"}#woocommerce-coupon-data ul.wc-tabs li.advanced_options a:before,#woocommerce-product-data ul.wc-tabs li.advanced_options a:before,.woocommerce ul.wc-tabs li.advanced_options a:before{content:"\f111";font-family:Dashicons}#woocommerce-coupon-data ul.wc-tabs li.variation_options a:before,#woocommerce-product-data ul.wc-tabs li.variation_options a:before,.woocommerce ul.wc-tabs li.variation_options a:before{content:"\e003"}#woocommerce-coupon-data ul.wc-tabs li.usage_restriction_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_restriction_options a:before,.woocommerce ul.wc-tabs li.usage_restriction_options a:before{content:"\e602"}#woocommerce-coupon-data ul.wc-tabs li.usage_limit_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_limit_options a:before,.woocommerce ul.wc-tabs li.usage_limit_options a:before{content:"\e601"}#woocommerce-coupon-data ul.wc-tabs li.general_coupon_data a:before,#woocommerce-product-data ul.wc-tabs li.general_coupon_data a:before,.woocommerce ul.wc-tabs li.general_coupon_data a:before{content:"\e600"}#woocommerce-coupon-data ul.wc-tabs li.active a,#woocommerce-product-data ul.wc-tabs li.active a,.woocommerce ul.wc-tabs li.active a{color:#555;position:relative;background-color:#eee}.woocommerce_page_wc-settings .shippingrows th.check-column{padding-top:20px}.woocommerce_page_wc-settings .shippingrows tfoot th{padding-left:10px}.woocommerce_page_wc-settings .shippingrows .add.button:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce_page_wc-settings h3.wc-settings-sub-title{font-size:1.2em}#woocommerce-coupon-data .inside,#woocommerce-order-data .inside,#woocommerce-order-downloads .inside,#woocommerce-product-data .inside,#woocommerce-product-type-options .inside{margin:0;padding:0}.panel,.woocommerce_options_panel{padding:9px;color:#555}.panel,.woocommerce_page_settings .woocommerce_options_panel{padding:0}#woocommerce-product-specs .inside,#woocommerce-product-type-options .panel{margin:0;padding:9px}#woocommerce-product-type-options .panel p,.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p{margin:0 0 9px;font-size:12px;padding:5px 9px;line-height:24px}#woocommerce-product-type-options .panel p:after,.woocommerce_options_panel fieldset.form-field:after,.woocommerce_options_panel p:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce_options_panel .checkbox,.woocommerce_variable_attributes .checkbox{width:auto;margin:3px 0;vertical-align:middle}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{width:100%;padding:0!important}.woocommerce_options_panel .downloadable_files table th,.woocommerce_variations .downloadable_files table th{padding:7px 0 7px 7px!important}.woocommerce_options_panel .downloadable_files table td,.woocommerce_variations .downloadable_files table td{vertical-align:middle!important;padding:4px 0 4px 7px!important;position:relative}.woocommerce_options_panel .downloadable_files table td:last-child,.woocommerce_variations .downloadable_files table td:last-child{padding-right:7px!important}.woocommerce_options_panel .downloadable_files table td input.input_text,.woocommerce_variations .downloadable_files table td input.input_text{width:100%;float:none;margin:1px 0;min-width:0}.woocommerce_options_panel .downloadable_files table td .upload_file_button,.woocommerce_variations .downloadable_files table td .upload_file_button{float:right;width:auto;cursor:pointer}.woocommerce_options_panel .downloadable_files table td .delete,.woocommerce_variations .downloadable_files table td .delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.woocommerce_options_panel .downloadable_files table td .delete:before,.woocommerce_variations .downloadable_files table td .delete:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";content:"\e013";color:#999}.woocommerce_options_panel .downloadable_files table td .delete:hover:before,.woocommerce_variations .downloadable_files table td .delete:hover:before{color:#a00}.woocommerce_options_panel .downloadable_files table th.sort,.woocommerce_variations .downloadable_files table th.sort{width:17px;padding:0}.woocommerce_options_panel .downloadable_files table td.sort,.woocommerce_variations .downloadable_files table td.sort{padding:0 8px;cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}.woocommerce_options_panel .downloadable_files table td.sort:before,.woocommerce_variations .downloadable_files table td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.woocommerce_options_panel .downloadable_files table td.sort:hover:before,.woocommerce_variations .downloadable_files table td.sort:hover:before{color:#333}.woocommerce_variation h3 .sort{cursor:move;text-align:center;float:right;height:26px;width:17px;visibility:hidden;vertical-align:middle;margin-right:.5em;color:#a0a5aa}.woocommerce_variation h3 .sort:before{content:"\e032";font-family:WooCommerce;text-align:center;cursor:move;display:block;width:17px;line-height:28px}.woocommerce_variation h3 .sort:hover{color:#777}.woocommerce_variation h3:hover .sort,.woocommerce_variation.ui-sortable-helper .sort{visibility:visible}.woocommerce_options_panel{min-height:175px;box-sizing:border-box}.woocommerce_options_panel .downloadable_files{padding:0 9px 0 162px;position:relative;margin:9px 0}.woocommerce_options_panel .downloadable_files label{position:absolute;left:0;margin:0 0 0 12px;line-height:24px}.woocommerce_options_panel p{margin:9px 0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px 5px 162px!important}.woocommerce_options_panel .sale_price_dates_fields .short:first-of-type{margin-bottom:1em}.woocommerce_options_panel .sale_price_dates_fields .short:nth-of-type(2){clear:left}.woocommerce_options_panel label,.woocommerce_options_panel legend{float:left;width:150px;padding:0;margin:0 0 0 -150px}.woocommerce_options_panel label .req,.woocommerce_options_panel legend .req{font-weight:700;font-style:normal;color:#a00}.woocommerce_options_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.woocommerce_options_panel .description-block{margin-left:0;display:block}.woocommerce_options_panel input,.woocommerce_options_panel select,.woocommerce_options_panel textarea{margin:0}.woocommerce_options_panel textarea{height:3.5em;line-height:1.5em;vertical-align:top}.woocommerce_options_panel input[type=text],.woocommerce_options_panel input[type=number],.woocommerce_options_panel input[type=email],.woocommerce_options_panel input[type=password]{width:50%;float:left}.woocommerce_options_panel input.button{width:auto;margin-left:8px}.woocommerce_options_panel select{float:left}.woocommerce_options_panel .short,.woocommerce_options_panel input[type=text].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=password].short{width:50%}.woocommerce_options_panel .sized{width:auto!important;margin-right:6px}.woocommerce_options_panel .options_group{border-top:1px solid #fff;border-bottom:1px solid #eee}.woocommerce_options_panel .options_group:first-child{border-top:0}.woocommerce_options_panel .options_group:last-child{border-bottom:0}.woocommerce_options_panel .options_group fieldset{margin:9px 0;font-size:12px;padding:5px 9px;line-height:24px}.woocommerce_options_panel .options_group fieldset label{width:auto;float:none}.woocommerce_options_panel .options_group fieldset ul{float:left;width:50%;margin:0;padding:0}.woocommerce_options_panel .options_group fieldset ul li{margin:0;width:auto}.woocommerce_options_panel .options_group fieldset ul li input{width:auto;float:none;margin-right:4px}.woocommerce_options_panel .options_group fieldset ul.wc-radios label{margin-left:0}.woocommerce_options_panel .dimensions_field .wrap{display:block;width:50%}.woocommerce_options_panel .dimensions_field .wrap input{width:30.75%;margin-right:3.8%}.woocommerce_options_panel .dimensions_field .wrap .last{margin-right:0}.woocommerce_options_panel.padded{padding:1em}#woocommerce-product-data input.dp-applied,.woocommerce_options_panel .select2-container{float:left}#grouped_product_options,#simple_product_options,#virtual_product_options{padding:12px;font-style:italic;color:#666}.wc-metaboxes-wrapper .toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #eee;padding:9px 12px!important}.wc-metaboxes-wrapper .toolbar:first-child{border-top:0}.wc-metaboxes-wrapper .toolbar:last-child{border-bottom:0}.wc-metaboxes-wrapper .toolbar .add_variation{float:right;margin-left:5px}.wc-metaboxes-wrapper .toolbar .cancel-variation-changes,.wc-metaboxes-wrapper .toolbar .save-variation-changes{float:left;margin-right:5px}.wc-metaboxes-wrapper p.toolbar{overflow:hidden;zoom:1}.wc-metaboxes-wrapper .expand-close{margin-right:2px;color:#777;font-size:12px;font-style:italic}.wc-metaboxes-wrapper .expand-close a{background:0 0;padding:0;font-size:12px;text-decoration:none}.wc-metaboxes-wrapper#product_attributes .expand-close{float:right;line-height:28px}.wc-metaboxes-wrapper .fr,.wc-metaboxes-wrapper button.add_variable_attribute{float:right;margin:0 0 0 6px}.wc-metaboxes-wrapper .wc-metaboxes{border-bottom:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin-bottom:9px;border-width:1px;border-style:dashed}.wc-metaboxes-wrapper .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.wc-metaboxes-wrapper .wc-metabox select{font-weight:400}.wc-metaboxes-wrapper .wc-metabox:last-of-type{border-bottom:0}.wc-metaboxes-wrapper .wc-metabox .handlediv{width:27px}.wc-metaboxes-wrapper .wc-metabox .handlediv:before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wc-metaboxes-wrapper .wc-metabox.closed{border-radius:3px}.wc-metaboxes-wrapper .wc-metabox.closed .handlediv:before{content:"\f140"!important}.wc-metaboxes-wrapper .wc-metabox.closed h3{border:0}.wc-metaboxes-wrapper .wc-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}.wc-metaboxes-wrapper .wc-metabox h3 a.delete,.wc-metaboxes-wrapper .wc-metabox h3 button{float:right}.wc-metaboxes-wrapper .wc-metabox h3 a.delete{color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative;visibility:hidden}.wc-metaboxes-wrapper .wc-metabox h3 strong{line-height:26px;font-weight:700}.wc-metaboxes-wrapper .wc-metabox h3 select{font-family:sans-serif;max-width:20%;margin:.25em .25em .25em 0}.wc-metaboxes-wrapper .wc-metabox h3 .handlediv{background-position:6px 5px!important;visibility:hidden;height:26px}.wc-metaboxes-wrapper .wc-metabox h3.fixed{cursor:pointer!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .handlediv,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .sort,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 a.delete{margin-top:.25em}.wc-metaboxes-wrapper .wc-metabox h3:hover .handlediv,.wc-metaboxes-wrapper .wc-metabox h3:hover a.delete,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper .handlediv,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper a.delete{visibility:visible}.wc-metaboxes-wrapper .wc-metabox table{width:100%;position:relative;background-color:#fdfdfd;padding:1em;border-top:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox table td{text-align:left;padding:0 6px 1em 0;vertical-align:top;border:0}.wc-metaboxes-wrapper .wc-metabox table td label{text-align:left;display:block;line-height:21px}.wc-metaboxes-wrapper .wc-metabox table td input{float:left;min-width:200px}.wc-metaboxes-wrapper .wc-metabox table td input,.wc-metaboxes-wrapper .wc-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}.wc-metaboxes-wrapper .wc-metabox table td .select2-container,.wc-metaboxes-wrapper .wc-metabox table td select{width:100%!important}.wc-metaboxes-wrapper .wc-metabox table td input.short{width:200px}.wc-metaboxes-wrapper .wc-metabox table td input.checkbox{width:16px;min-width:inherit;vertical-align:text-bottom;display:inline-block;float:none}.wc-metaboxes-wrapper .wc-metabox table td.attribute_name{width:200px}.wc-metaboxes-wrapper .wc-metabox table .minus,.wc-metaboxes-wrapper .wc-metabox table .plus{margin-top:6px}.wc-metaboxes-wrapper .wc-metabox table .fl{float:left}.wc-metaboxes-wrapper .wc-metabox table .fr{float:right}.variations-pagenav{float:right;line-height:24px}.variations-pagenav .displaying-num{color:#777;font-size:12px;font-style:italic}.variations-pagenav a{padding:0 10px 3px;background:rgba(0,0,0,.05);font-size:16px;font-weight:400;text-decoration:none}.variations-pagenav a.disabled,.variations-pagenav a.disabled:active,.variations-pagenav a.disabled:focus,.variations-pagenav a.disabled:hover{color:#A0A5AA;background:rgba(0,0,0,.05)}.variations-defaults{float:left}.variations-defaults select{margin:.25em .25em .25em 0}.woocommerce_variable_attributes{background-color:#fdfdfd;border-top:1px solid #eee}.woocommerce_variable_attributes .data{padding:1em 2em}.woocommerce_variable_attributes .data:after,.woocommerce_variable_attributes .data:before{content:" ";display:table}.woocommerce_variable_attributes .data:after{clear:both}.woocommerce_variable_attributes .upload_image_button{display:block;width:48px;height:48px;float:left;margin-right:20px;position:relative;cursor:pointer}.woocommerce_variable_attributes .upload_image_button img{width:100%;height:auto;display:none}.woocommerce_variable_attributes .upload_image_button:before{content:"\f128";font-family:Dashicons;position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:48px;font-size:48px;font-weight:400;-webkit-font-smoothing:antialiased}.woocommerce_variable_attributes .upload_image_button.remove img{display:block}.woocommerce_variable_attributes .upload_image_button.remove:before{content:"\f335";display:none}.woocommerce_variable_attributes .upload_image_button.remove:hover:before{display:block}.woocommerce_variable_attributes .options{border:1px solid #eee;border-width:1px 0;padding:.25em 0}.woocommerce_variable_attributes .options label{display:inline-block;padding:4px 1em 2px 0}.woocommerce_variable_attributes .options input[type=checkbox]{margin-top:5px;margin-right:3px}.form-row label{display:block}.form-row input[type=number],.form-row input[type=text],.form-row select{width:100%}.form-row.dimensions_field input{width:25%;float:left;margin-right:1%}.form-row.dimensions_field input:last-of-type{margin-right:0}.form-row-first,.form-row-last{width:48%;float:right}.form-row-first{clear:both;float:left}.form-row-full{clear:both}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:9999999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.wc_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wc_error_tip:after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}img.ui-datepicker-trigger{vertical-align:middle;margin-top:-1px;cursor:pointer}.wc-metabox-content img.ui-datepicker-trigger,.woocommerce_options_panel img.ui-datepicker-trigger{float:left;margin-right:8px;margin-top:4px;margin-left:4px}#ui-datepicker-div{display:none}.woocommerce-reports-wide.woocommerce-reports-wrap,.woocommerce-reports-wrap.woocommerce-reports-wrap{margin-left:300px;padding-top:18px}.woocommerce-reports-wide.halved,.woocommerce-reports-wrap.halved{margin:0;overflow:hidden;zoom:1}.woocommerce-reports-wide .widefat td,.woocommerce-reports-wrap .widefat td{vertical-align:top;padding:7px}.woocommerce-reports-wide .widefat td .description,.woocommerce-reports-wrap .widefat td .description{margin:4px 0 0}.woocommerce-reports-wide .postbox:after,.woocommerce-reports-wrap .postbox:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox h3,.woocommerce-reports-wrap .postbox h3{cursor:default!important}.woocommerce-reports-wide .postbox .inside,.woocommerce-reports-wrap .postbox .inside{padding:10px;margin:0!important}.woocommerce-reports-wide .postbox h3.stats_range,.woocommerce-reports-wrap .postbox h3.stats_range{border-bottom-color:#dfdfdf;margin:0;padding:0!important}.woocommerce-reports-wide .postbox h3.stats_range .export_csv,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv{float:right;line-height:26px;border-left:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range .export_csv:before,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;content:"";text-decoration:none;margin-right:4px}.woocommerce-reports-wide .postbox h3.stats_range ul,.woocommerce-reports-wrap .postbox h3.stats_range ul{list-style:none;margin:0;padding:0;zoom:1;background:#f5f5f5}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wide .postbox h3.stats_range ul:before,.woocommerce-reports-wrap .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:before{content:" ";display:table}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:after{clear:both}.woocommerce-reports-wide .postbox h3.stats_range ul li,.woocommerce-reports-wrap .postbox h3.stats_range ul li{float:left;margin:0;padding:0;line-height:26px}.woocommerce-reports-wide .postbox h3.stats_range ul li a,.woocommerce-reports-wrap .postbox h3.stats_range ul li a{border-right:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range ul li.active,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active{background:#fff;-webkit-box-shadow:0 4px 0 0 #fff;box-shadow:0 4px 0 0 #fff}.woocommerce-reports-wide .postbox h3.stats_range ul li.active a,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active a{color:#777}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom{padding:9px 10px;vertical-align:middle}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form{display:inline;margin:0}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form input.range_datepicker{padding:0;margin:0 10px 0 0;background:0 0;border:0;color:#777;text-align:center;-webkit-box-shadow:none;box-shadow:none}.woocommerce-reports-wide .postbox .chart-with-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar{padding:12px 12px 12px 249px;margin:0!important}.woocommerce-reports-wide .postbox .chart-with-sidebar .chart-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar .chart-sidebar{width:225px;margin-left:-237px;float:left}.woocommerce-reports-wide .postbox .chart-widgets,.woocommerce-reports-wrap .postbox .chart-widgets{margin:0;padding:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget{margin:0 0 1em;background:#fafafa;border:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4{background:#fff;border:1px solid #dfdfdf;border-left-width:0;border-right-width:0;padding:10px;margin:0;color:#2ea2cc;border-top-width:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr.active td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr.active td{background:#f5f5f5}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4.section_title:hover,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4.section_title:hover{color:#a00}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title{cursor:pointer}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span{display:block}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none;float:right;font-size:.9em;line-height:1.618}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open{color:#333}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open span:after{display:none}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section{border-bottom:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section .select2-container,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section .select2-container{width:100%!important}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section:last-of-type,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section:last-of-type{border-radius:0 0 3px 3px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td{padding:7px 10px;vertical-align:top;border-top:1px solid #e5e5e5;line-height:1.4em}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.sparkline,form.report_filters div,form.report_filters input,form.report_filters label,form.report_filters p{vertical-align:middle}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr:first-child td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr:first-child td{border-top:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name{max-width:175px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name a,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name a{word-wrap:break-word}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table .wc_sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table .wc_sparkline{width:32px;height:1em;display:block;float:right}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p{margin:0;padding:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p .submit{margin-top:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget #product_ids,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget #product_ids{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_none,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_none{float:right;color:#999;margin-left:4px;margin-top:10px}.woocommerce-reports-wide .postbox .chart-legend,.woocommerce-reports-wrap .postbox .chart-legend{list-style:none;margin:0 0 1em;padding:0;border:1px solid #dfdfdf;border-right-width:0;border-bottom-width:0;background:#fff}.woocommerce-reports-wide .postbox .chart-legend li,.woocommerce-reports-wrap .postbox .chart-legend li{border-right:5px solid #aaa;color:#aaa;padding:1em;display:block;margin:0;-webkit-transition:all ease .5s;box-shadow:inset 0 -1px 0 0 #dfdfdf}.woocommerce-reports-wide .postbox .chart-legend li strong,.woocommerce-reports-wrap .postbox .chart-legend li strong{font-size:1.618em;line-height:1.2em;color:#464646;font-weight:400;display:block;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif}.woocommerce-reports-wide .postbox .chart-legend li strong del,.woocommerce-reports-wrap .postbox .chart-legend li strong del{color:#e74c3c;font-weight:400}.woocommerce-reports-wide .postbox .chart-legend li:hover,.woocommerce-reports-wrap .postbox .chart-legend li:hover{box-shadow:inset 0 -1px 0 0 #dfdfdf,inset 300px 0 0 rgba(156,93,144,.1);border-right:5px solid #9c5d90!important;padding-left:1.5em;color:#9c5d90}.woocommerce-reports-wide .postbox .pie-chart-legend,.woocommerce-reports-wrap .postbox .pie-chart-legend{margin:12px 0 0;overflow:hidden}.woocommerce-reports-wide .postbox .pie-chart-legend li,.woocommerce-reports-wrap .postbox .pie-chart-legend li{float:left;margin:0;padding:6px 0 0;border-top:4px solid #999;text-align:center;box-sizing:border-box;width:50%}.woocommerce-reports-wide .postbox .stat,.woocommerce-reports-wrap .postbox .stat{font-size:1.5em!important;font-weight:700;text-align:center}.woocommerce-reports-wide .postbox .chart-placeholder,.woocommerce-reports-wrap .postbox .chart-placeholder{width:100%;height:650px;overflow:hidden;position:relative}.woocommerce-reports-wide .postbox .chart-prompt,.woocommerce-reports-wrap .postbox .chart-prompt{line-height:650px;margin:0;color:#999;font-size:1.2em;font-style:italic;text-align:center}.woocommerce-reports-wide .postbox .chart-container,.woocommerce-reports-wrap .postbox .chart-container{background:#fff;padding:12px;position:relative;border:1px solid #dfdfdf;border-radius:3px}.woocommerce-reports-wide .postbox .main .chart-legend,.woocommerce-reports-wrap .postbox .main .chart-legend{margin-top:12px}.woocommerce-reports-wide .postbox .main .chart-legend li,.woocommerce-reports-wrap .postbox .main .chart-legend li{border-right:0;margin:0 8px 0 0;float:left;border-top:4px solid #aaa}.woocommerce-reports-wide .woocommerce-reports-main,.woocommerce-reports-wrap .woocommerce-reports-main{float:left;min-width:100%}.woocommerce-reports-wide .woocommerce-reports-main table td,.woocommerce-reports-wrap .woocommerce-reports-main table td{padding:9px}.woocommerce-reports-wide .woocommerce-reports-sidebar,.woocommerce-reports-wrap .woocommerce-reports-sidebar{display:inline;width:281px;margin-left:-300px;clear:both;float:left}.woocommerce-reports-wide .woocommerce-reports-left,.woocommerce-reports-wrap .woocommerce-reports-left{width:49.5%;float:left}.woocommerce-reports-wide .woocommerce-reports-right,.woocommerce-reports-wrap .woocommerce-reports-right{width:49.5%;float:right}.woocommerce-reports-wide .column-wc_actions a.edit,.woocommerce-reports-wide .column-wc_actions a.view,.woocommerce-reports-wrap .column-wc_actions a.edit,.woocommerce-reports-wrap .column-wc_actions a.view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after{content:"\e01c"}.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{content:"\e010"}.woocommerce-wide-reports-wrap{padding-bottom:11px}.woocommerce-wide-reports-wrap .widefat .export-data{float:right}.woocommerce-wide-reports-wrap .widefat td,.woocommerce-wide-reports-wrap .widefat th{vertical-align:middle;padding:7px}.chart-tooltip{position:absolute;display:none;line-height:1}table.bar_chart{width:100%}table.bar_chart thead th{text-align:left;color:#ccc;padding:6px 0}table.bar_chart tbody th{padding:6px 0;width:25%;text-align:left!important;font-weight:400!important;border-bottom:1px solid #fee}table.bar_chart tbody td{text-align:right;line-height:24px;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td span{color:#8a4b75;display:block}table.bar_chart tbody td span.alt{color:#47a03e;margin-top:6px}table.bar_chart tbody td.bars{position:relative;text-align:left;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td.bars a,table.bar_chart tbody td.bars span{text-decoration:none;clear:both;background:#8a4b75;float:left;display:block;line-height:24px;height:24px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}table.bar_chart tbody td.bars span.alt{clear:both;background:#47a03e}table.bar_chart tbody td.bars span.alt span{margin:0;color:#c5dec2!important;text-shadow:0 1px 0 #47a03e;background:0 0}@media only screen and (max-width:1280px){#order_data .order_data_column{width:48%}#order_data .order_data_column:first-child{width:100%}.woocommerce_options_panel .description{display:block;clear:both;margin-left:0}.woocommerce_options_panel .dimensions_field .wrap,.woocommerce_options_panel .short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=text].short{width:80%}.woocommerce_options_panel .downloadable_files,.woocommerce_variations .downloadable_files{padding:0;clear:both}.woocommerce_options_panel .downloadable_files label,.woocommerce_variations .downloadable_files label{position:static}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{margin:0 12px 24px;width:94%}.woocommerce_options_panel .downloadable_files table .sort,.woocommerce_variations .downloadable_files table .sort{visibility:hidden}.woocommerce_options_panel .woocommerce_variable_attributes .downloadable_files table,.woocommerce_variations .woocommerce_variable_attributes .downloadable_files table{margin:0 0 1em;width:100%}}@media only screen and (max-width:900px){#woocommerce-coupon-data ul.coupon_data_tabs,#woocommerce-product-data .wc-tabs-back,#woocommerce-product-data ul.product_data_tabs{width:10%}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{width:90%}#woocommerce-coupon-data ul.coupon_data_tabs li a,#woocommerce-product-data ul.product_data_tabs li a{position:relative;text-indent:-999px;padding:10px}#woocommerce-coupon-data ul.coupon_data_tabs li a:before,#woocommerce-product-data ul.product_data_tabs li a:before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}}@media only screen and (max-width:782px){#wp-excerpt-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}#wp-excerpt-editor-tools{padding-top:20px;padding-right:15px;overflow:hidden;margin-bottom:-1px}.post-type-product .wp-list-table .is-expanded td:not(.hidden),.post-type-shop_order .wp-list-table .is-expanded td:not(.hidden){overflow:visible}#woocommerce-product-data .checkbox{width:25px}.variations-pagenav{float:none;text-align:center;font-size:18px}.variations-pagenav .displaying-num{font-size:16px}.variations-pagenav a{padding:8px 20px 11px;font-size:18px}.variations-pagenav select{padding:0 20px}.variations-defaults{float:none;text-align:center;margin-top:10px}.post-type-product .wp-list-table .column-thumb{display:none;text-align:left;padding-bottom:0}.post-type-product .wp-list-table .column-thumb:before{display:none!important}.post-type-product .wp-list-table .column-thumb img{max-width:32px}.post-type-product .wp-list-table .toggle-row{top:-28px}.post-type-shop_order .wp-list-table .column-order_status{display:none;text-align:left;padding-bottom:0}.post-type-shop_order .wp-list-table .column-order_status mark{margin:0}.post-type-shop_order .wp-list-table .column-order_status:before{display:none!important}.post-type-shop_order .wp-list-table .column-customer_message,.post-type-shop_order .wp-list-table .column-order_notes{text-align:inherit}.post-type-shop_order .wp-list-table .column-order_notes .note-on{font-size:1.3em;margin:0}.post-type-shop_order .wp-list-table .toggle-row{top:-15px}}@media only screen and (max-width:500px){.woocommerce_options_panel label,.woocommerce_options_panel legend{float:none;width:auto;display:block;margin:0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px!important}}.wc-backbone-modal *{box-sizing:border-box}.wc-backbone-modal .wc-backbone-modal-content{position:fixed;top:50%;left:50%;width:500px;background:#fff;z-index:100000}.wc-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.wc-backbone-modal-main{padding-bottom:51px}.wc-backbone-modal-main article,.wc-backbone-modal-main header{display:block;position:relative}.wc-backbone-modal-main .wc-backbone-modal-header{height:50px;background:#fcfcfc;padding:0 50px 0 16px;border-bottom:1px solid #ddd}.wc-backbone-modal-main .wc-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:50px}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:50px;width:50px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:before{font:400 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus,.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus{outline:0}.wc-backbone-modal-main article{padding:10px 16px}.wc-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.wc-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:10px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.wc-backbone-modal-main footer .inner{float:right;line-height:23px}.wc-backbone-modal-main footer .inner .button{margin-bottom:0}.select2-drop{z-index:999999!important}.select2-container-multi .select2-choices .select2-search-field input{font-family:inherit;font-size:inherit;font-weight:inherit;padding:3px 5px}.select2-container{line-height:1.85em;font-size:14px} \ No newline at end of file +@charset "UTF-8";.chosen-container,.select2-container .select2-choice,.select2-results .select2-result-label{-webkit-user-select:none;-moz-user-select:none}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}.woocommerce-checkout .form-row .chosen-container{width:100%!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-single{height:28px;line-height:29px}.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background:url(../images/chosen-sprite.png) 0 3px no-repeat!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 4px!important}.woocommerce-checkout .form-row .chosen-container-single .chosen-search input{line-height:13px;width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.woocommerce-checkout .form-row .chosen-container .chosen-drop{width:100%!important;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.woocommerce-checkout .form-row .chosen-container-single .chosen-single div b{background-image:url(../images/chosen-sprite@2x.png)!important;background-position:0 5px!important;background-repeat:no-repeat!important;background-size:52px 37px!important}.woocommerce-checkout .form-row .chosen-container-active .chosen-single-with-drop div b{background-position:-18px 5px!important}}.chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;user-select:none}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:26px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:26px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover,.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url(../images/chosen-sprite.png) 0 2px no-repeat}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:url(../images/chosen-sprite.png) 100% -20px no-repeat #fff;background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) 100% -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:5px;height:15px;outline:0;border:0!important;background:0 0!important;box-shadow:none;color:#666;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-field .default{color:#999}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 0 3px 5px;padding:3px 20px 3px 5px;border:1px solid #aaa;border-radius:3px;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url(../images/chosen-sprite.png) -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:none;background:0 0}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#111!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close,.chosen-disabled .chosen-single{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl .chosen-drop,.chosen-rtl.chosen-container-single-nosearch .chosen-search{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:none}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:url(../images/chosen-sprite.png) -30px -20px no-repeat #fff;background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-webkit-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-moz-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,-o-linear-gradient(#eee 1%,#fff 15%);background:url(../images/chosen-sprite.png) -30px -20px no-repeat,linear-gradient(#eee 1%,#fff 15%);direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-resolution:144dpi){.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span,.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container-single .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-rtl .chosen-search input[type=text]{background-image:url(../images/chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}}.select2-container{margin:0;position:relative;display:block!important;zoom:1;vertical-align:middle}.select2-container,.select2-drop,.select2-search,.select2-search input{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.select2-container .select2-choice{display:block;padding:0 0 0 8px;overflow:hidden;position:relative;border:1px solid #ccc;white-space:nowrap;color:#444;text-decoration:none;border-radius:3px;background-clip:padding-box;-webkit-touch-callout:none;-ms-user-select:none;user-select:none;background-color:#fff;font-weight:400}html[dir=rtl] .select2-container .select2-choice{padding:0 8px 0 0}.select2-container.select2-drop-above .select2-choice{border-bottom-color:#ccc;border-radius:0 0 4px 4px}.select2-container.select2-allowclear .select2-choice .select2-chosen{margin-right:42px}.select2-container .select2-choice>.select2-chosen{margin-right:26px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;float:none;width:auto}html[dir=rtl] .select2-container .select2-choice>.select2-chosen{margin-left:26px;margin-right:0}.select2-container .select2-choice abbr{display:none;width:12px;height:12px;position:absolute;right:24px;top:5px;font-size:1px;text-decoration:none;border:0;background:url(../images/select2.png) right top no-repeat;cursor:pointer;outline:0}.select2-container.select2-allowclear .select2-choice abbr{display:inline-block}.select2-container .select2-choice abbr:hover{background-position:right -11px;cursor:pointer}.select2-drop-mask{border:0;margin:0;padding:0;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:9998;background-color:#fff;filter:alpha(opacity=0)}.select2-drop{width:100%;margin-top:-1px;position:absolute;top:100%;background:#fff;color:#000;border:1px solid #ccc;border-top:0;border-radius:0 0 3px 3px}.select2-drop.select2-drop-above{margin-top:1px;border-top:1px solid #ccc;border-bottom:0;border-radius:3px 3px 0 0}.select2-drop-active{border:1px solid #666;border-top:none}.select2-drop.select2-drop-above.select2-drop-active{border-top:1px solid #666}.select2-drop-auto-width{border-top:1px solid #ccc;width:auto}.select2-drop-auto-width .select2-search{padding-top:4px}.select2-container .select2-choice .select2-arrow{display:inline-block;width:18px;height:100%;position:absolute;right:0;top:0;border-radius:0 3px 3px 0;background-clip:padding-box}html[dir=rtl] .select2-container .select2-choice .select2-arrow{left:0;right:auto;border-radius:3px 0 0 3px}.select2-container .select2-choice .select2-arrow b{display:block;width:100%;height:100%;position:relative}.select2-container .select2-choice .select2-arrow b:after{position:absolute;display:block;content:"";top:50%;left:50%;border:4px solid transparent;border-top-color:#666;margin-left:-7px;margin-top:-2px}.select2-search{display:inline-block;width:100%;margin:0;padding-left:4px;padding-right:4px;position:relative;z-index:10000;white-space:nowrap;padding-bottom:4px}.select2-search input{width:100%;height:auto!important;padding:4px 20px 4px 5px!important;margin:0;outline:0;font-family:sans-serif;font-size:1em;border:1px solid #ccc;-webkit-box-shadow:none;box-shadow:none;background:url(../images/select2.png) 100% -22px no-repeat #fff}html[dir=rtl] .select2-search input{padding:4px 5px 4px 20px;background:url(../images/select2.png) -37px -22px no-repeat #fff}.select2-drop.select2-drop-above .select2-search input{margin-top:4px}.select2-search input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff}.select2-container-active .select2-choice,.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-dropdown-open .select2-choice{border-bottom-color:transparent;-webkit-box-shadow:0 1px 0 #fff inset;box-shadow:0 1px 0 #fff inset;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-dropdown-open .select2-choice .select2-arrow b:after{border-top-color:transparent;border-bottom-color:#666;margin-top:-6px}.select2-dropdown-open.select2-drop-above .select2-choice,.select2-dropdown-open.select2-drop-above .select2-choices{border:1px solid #666;border-top-color:transparent}.select2-dropdown-open .select2-choice .select2-arrow{background:0 0;border-left:none;filter:none}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow{border-right:none}.select2-dropdown-open .select2-choice .select2-arrow b{background-position:-18px 1px}html[dir=rtl] .select2-dropdown-open .select2-choice .select2-arrow b{background-position:-16px 1px}.select2-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.select2-results{max-height:200px;padding:4px;margin:0;position:relative;overflow-x:hidden;overflow-y:auto;-webkit-tap-highlight-color:transparent;background:#fafafa}html[dir=rtl] .select2-results{padding:0 4px 0 0;margin:4px 0 4px 4px}.select2-results ul.select2-result-sub{margin:0;padding-left:0}.select2-results li{list-style:none;display:list-item;background-image:none;margin:3px 0}.select2-results li.select2-result-with-children>.select2-result-label{font-weight:700}.select2-results .select2-result-label{padding:5px 7px;margin:0;cursor:pointer;min-height:1em;-webkit-touch-callout:none;-ms-user-select:none;user-select:none}.select2-results-dept-1 .select2-result-label{padding-left:20px}.select2-results-dept-2 .select2-result-label{padding-left:40px}.select2-results-dept-3 .select2-result-label{padding-left:60px}.select2-results-dept-4 .select2-result-label{padding-left:80px}.select2-results-dept-5 .select2-result-label{padding-left:100px}.select2-results-dept-6 .select2-result-label{padding-left:110px}.select2-results-dept-7 .select2-result-label{padding-left:120px}.select2-results .select2-highlighted{background:#f1f1f1;color:#000;border-radius:3px}.select2-results li em{background:#feffde;font-style:normal}.select2-results .select2-highlighted em{background:0 0}.select2-results .select2-highlighted ul{background:#fff;color:#000}.select2-results .select2-ajax-error,.select2-results .select2-no-results,.select2-results .select2-searching,.select2-results .select2-selection-limit{background:#f4f4f4;display:list-item;padding-left:5px}.select2-results .select2-disabled.select2-highlighted{color:#666;background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-disabled{background:#f4f4f4;display:list-item;cursor:default}.select2-results .select2-selected{display:none}.select2-more-results.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #f4f4f4}.select2-results .select2-ajax-error{background:rgba(255,50,50,.2)}.select2-more-results{background:#f4f4f4;display:list-item}.select2-container.select2-container-disabled .select2-choice{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container.select2-container-disabled .select2-choice .select2-arrow{background-color:#f4f4f4;background-image:none;border-left:0}.select2-container.select2-container-disabled .select2-choice abbr{display:none}.select2-container-multi .select2-choices{height:auto!important;height:1%;margin:0;padding:0 5px 0 0;position:relative;border:1px solid #ccc;cursor:text;overflow:hidden;background-color:#fff;min-height:26px}html[dir=rtl] .select2-container-multi .select2-choices{padding:0 0 0 5px}.select2-locked{padding:3px 5px!important}.select2-container-multi.select2-container-active .select2-choices{border:1px solid #666;outline:0}.select2-container-multi .select2-choices li{float:left;list-style:none}html[dir=rtl] .select2-container-multi .select2-choices li{float:right}.select2-container-multi .select2-choices .select2-search-field{margin:0;padding:0;white-space:nowrap}.select2-container-multi .select2-choices .select2-search-field input{margin:1px 0;outline:0;border:0;-webkit-box-shadow:none;box-shadow:none;background:0 0!important}.select2-container-multi .select2-choices .select2-search-field input.select2-active{background:url(../images/select2-spinner.gif) 100% no-repeat #fff!important}.select2-default{color:#999!important}.select2-container-multi .select2-choices .select2-search-choice{padding:5px 8px 5px 24px;margin:3px 0 3px 5px;position:relative;line-height:15px;color:#333;cursor:default;border-radius:2px;background-clip:padding-box;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#e4e4e4}html[dir=rtl] .select2-container-multi .select2-choices .select2-search-choice{margin:3px 5px 3px 0;padding:5px 24px 5px 8px}.select2-container-multi .select2-choices .select2-search-choice .select2-chosen{cursor:default}.select2-container-multi .select2-choices .select2-search-choice-focus{background:#d4d4d4}.select2-search-choice-close{display:block;width:12px;height:13px;position:absolute;right:7px;top:6px;font-size:1px;outline:0;background:url(../images/select2.png) right top no-repeat}html[dir=rtl] .select2-search-choice-close{right:auto;left:7px}.select2-container-multi .select2-search-choice-close{left:7px}html[dir=rtl] .select2-container-multi .select2-search-choice-close{left:auto;right:7px}.select2-container-multi .select2-choices .select2-search-choice .select2-search-choice-close:hover,.select2-container-multi .select2-choices .select2-search-choice-focus .select2-search-choice-close{background-position:right -11px}.select2-container-multi.select2-container-disabled .select2-choices{background-color:#f4f4f4;background-image:none;border:1px solid #ddd;cursor:default}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice{padding:3px 5px;border:1px solid #ddd;background-image:none;background-color:#f4f4f4}.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close{display:none;background:0 0}.select2-result-selectable .select2-match,.select2-result-unselectable .select2-match{text-decoration:underline}.select2-offscreen,.select2-offscreen:focus{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;border:0!important;margin:0!important;padding:0!important;overflow:hidden!important;position:absolute!important;outline:0!important;left:0!important;top:0!important}.select2-display-none{display:none}.select2-measure-scrollbar{position:absolute;top:-10000px;left:-10000px;width:100px;height:100px;overflow:scroll}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:2dppx){.select2-search input{background-image:url(../images/select2x2.png)!important;background-repeat:no-repeat!important;background-size:60px 40px!important;background-position:100% -21px!important}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}.blockUI.blockOverlay:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.button.wc-reload:after,.woocommerce-help-tip:after{top:0;left:0;-webkit-font-smoothing:antialiased;text-align:center}.wc_addons_wrap .products{overflow:hidden}.wc_addons_wrap .products li{float:left;margin:0 1em 1em 0!important;padding:0;vertical-align:top;width:300px}.wc_addons_wrap .products li a{text-decoration:none;color:inherit;border:1px solid #ddd;display:block;min-height:220px;overflow:hidden;background:#f5f5f5;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(0,0,0,.1)}.wc_addons_wrap .products li a img{max-width:258px;max-height:24px;padding:17px 20px;display:block;margin:0;background:#fff;border-right:260px solid #fff}.wc_addons_wrap .products li a .price,.wc_addons_wrap .products li a img.extension-thumb+h3{display:none}.wc_addons_wrap .products li a h3{margin:0!important;padding:20px!important;background:#fff}.wc_addons_wrap .products li a p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wc_addons_wrap .products li a:focus,.wc_addons_wrap .products li a:hover{background-color:#fff}.wc_addons_wrap .storefront{background:url(../images/storefront-bg.jpg) bottom right #f6f6f6;border:1px solid #ddd;padding:20px;overflow:hidden;zoom:1}.wc_addons_wrap .storefront img{width:278px;height:auto;float:left;margin:0 20px 0 0;box-shadow:0 1px 6px rgba(0,0,0,.1)}.wc_addons_wrap .storefront p{max-width:750px}.woocommerce-message{position:relative;border-left-color:#cc99c2!important;overflow:hidden}.woocommerce-message a.button-primary,.woocommerce-message button.button-primary{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);color:#fff;text-decoration:none!important;text-shadow:0 -1px 1px #8a4f7f,1px 0 1px #8a4f7f,0 1px 1px #8a4f7f,-1px 0 1px #8a4f7f}.woocommerce-message a.button-primary:hover,.woocommerce-message button.button-primary:hover{background:#c480b7;border-color:#aa559a;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 rgba(0,0,0,.15)}.woocommerce-message a.button-primary:active,.woocommerce-message button.button-primary:active{background:#aa559a;border-color:#873A79;-webkit-box-shadow:inset 0 2px 0 #873A79;box-shadow:inset 0 2px 0 #873A79}.woocommerce-message a.button-primary:focus,.woocommerce-message button.button-primary:focus{background:#bb77ae;border-color:#aa559a;-webkit-box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a;box-shadow:0 1px 0 #bb77ae,0 0 2px 1px #aa559a}.woocommerce-message a.docs,.woocommerce-message a.skip{opacity:.5;text-decoration:none!important}.woocommerce-message .twitter-share-button{margin-top:-3px;margin-left:3px;vertical-align:middle}#variable_product_options #message,#variable_product_options .notice{margin:10px}.clear{clear:both}#woocommerce-fields-bulk.inline-edit-col label,#woocommerce-fields.inline-edit-col{clear:left}.wrap.woocommerce div.error,.wrap.woocommerce div.updated{margin-top:10px}mark.amount{background:0 0;color:inherit}.postbox,.woocommerce{input:invalid;input-border:1px solid #cc010b;input-background:#ffebe8}.simplify-commerce-banner{overflow:hidden}.simplify-commerce-banner img{float:right;padding:15px 0;margin-left:1em;width:200px}.woocommerce-help-tip{color:#666;display:inline-block;font-size:13px;font-style:normal;height:16px;line-height:16px;position:relative;vertical-align:middle;width:16px}.woocommerce-help-tip:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";cursor:help}table.wc_status_table{margin-bottom:1em}table.wc_status_table tr:nth-child(2n) td,table.wc_status_table tr:nth-child(2n) th{background:#fcfcfc}table.wc_status_table th{font-weight:700;padding:9px}table.wc_status_table td:first-child{width:33%}table.wc_status_table td.help{width:1em}table.wc_status_table td{padding:9px;font-size:1.1em}table.wc_status_table td mark{background:0 0}table.wc_status_table td mark.yes{color:#7ad03a}table.wc_status_table td mark.no{color:#999}table.wc_status_table td mark.error{color:#a00}table.wc_status_table td ul{margin:0}table.wc_status_table .help_tip{cursor:help}#debug-report{display:none;margin:10px 0;padding:0;position:relative}#debug-report textarea{font-family:monospace;width:100%;margin:0;height:300px;padding:20px;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;resize:none;font-size:12px;line-height:20px;outline:0}#log-viewer-select{padding:10px 0 8px;line-height:180%}#log-viewer textarea{width:100%;resize:vertical}.inline-edit-product.quick-edit-row .inline-edit-col-center,.inline-edit-product.quick-edit-row .inline-edit-col-right{float:right!important}#woocommerce-fields.inline-edit-col label.featured,#woocommerce-fields.inline-edit-col label.manage_stock{margin-left:10px}#woocommerce-fields.inline-edit-col .dimensions div{display:block;margin:.2em 0}#woocommerce-fields.inline-edit-col .dimensions div span.title{display:block;float:left;width:5em}#woocommerce-fields.inline-edit-col .dimensions div span.input-text-wrap{display:block;margin-left:5em}#woocommerce-fields.inline-edit-col .text{box-sizing:border-box;width:99%;float:left;margin:1px 1% 1px 1px}#woocommerce-fields.inline-edit-col .height,#woocommerce-fields.inline-edit-col .length,#woocommerce-fields.inline-edit-col .width{width:32.33%}#woocommerce-fields.inline-edit-col .height{margin-right:0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group label{clear:none;width:49%;margin:.2em 0}#woocommerce-fields-bulk.inline-edit-col .inline-edit-group.dimensions label{width:75%;max-width:75%}#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .regular_price,#woocommerce-fields-bulk.inline-edit-col .sale_price,#woocommerce-fields-bulk.inline-edit-col .stock,#woocommerce-fields-bulk.inline-edit-col .weight{box-sizing:border-box;width:100%;margin-left:4.4em}#woocommerce-fields-bulk.inline-edit-col .height,#woocommerce-fields-bulk.inline-edit-col .length,#woocommerce-fields-bulk.inline-edit-col .width{box-sizing:border-box;width:25%}.column-coupon_code{line-height:2.25em}.column-coupon_code,ul.wc_coupon_list{margin:0;overflow:hidden;zoom:1;clear:both}ul.wc_coupon_list li{margin:0}ul.wc_coupon_list li.code{display:inline-block}ul.wc_coupon_list li.code:after{content:", "}ul.wc_coupon_list li.code:last-of-type:after{display:none}ul.wc_coupon_list li.code .tips{cursor:pointer}ul.wc_coupon_list_block{margin:0;padding-bottom:2px}ul.wc_coupon_list_block li{border-top:1px solid #fff;border-bottom:1px solid #ccc;line-height:2.5em;margin:0;padding:.5em 0}ul.wc_coupon_list_block li:first-child{border-top:0;padding-top:0}ul.wc_coupon_list_block li:last-child{border-bottom:0;padding-bottom:0}.button.wc-reload{text-indent:-9999px;position:relative;padding:0;-webkit-border-radius:100%;border-radius:100%;height:24px;width:24px!important;display:inline-block}.button.wc-reload:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";line-height:22px}#order_data h2,#order_data p.order_number{font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif;font-weight:400}.tablenav .actions{overflow:visible}.tablenav .select2-container{float:left;max-width:200px;font-size:14px;vertical-align:middle;margin:1px 6px 1px 1px}#woocommerce-order-data .handlediv,#woocommerce-order-data .hndle{display:none}#woocommerce-order-data .inside{display:block!important}#order_data{padding:23px 24px 12px}#order_data h2{margin:0;font-size:21px;line-height:1.2;text-shadow:1px 1px 1px #fff;padding:0}#order_data h4{color:#333;margin:1.33em 0 0}#order_data p{color:#777}#order_data p.order_number{margin:0;line-height:1.6em;font-size:16px}#order_data .order_data_column_container{clear:both}#order_data .order_data_column{width:32%;padding:0 2% 0 0;float:left}#order_data .order_data_column:last-child{padding-right:0}#order_data .order_data_column p{padding:0!important}#order_data .order_data_column .address strong{display:block}#order_data .order_data_column .form-field{float:left;width:48%;padding:0;margin:9px 0 0}#order_data .order_data_column .form-field label{display:block;padding:0 0 3px}#order_data .order_data_column .form-field input,#order_data .order_data_column .form-field select,#order_data .order_data_column .form-field textarea{width:100%}#order_data .order_data_column .form-field .select2-container{width:100%!important}#order_data .order_data_column .form-field .date-picker{width:50%}#order_data .order_data_column .form-field .hour,#order_data .order_data_column .form-field .minute{width:2.5em}#order_data .order_data_column .form-field small{display:block;margin:5px 0 0;color:#999}#order_data .order_data_column .form-field.last{float:right}#order_data .order_data_column .form-field-wide{width:100%;clear:both}#order_data .order_data_column .form-field-wide .wc-customer-search,#order_data .order_data_column .form-field-wide .wc-enhanced-select,#order_data .order_data_column .form-field-wide input,#order_data .order_data_column .form-field-wide select,#order_data .order_data_column .form-field-wide textarea{width:100%}#order_data .order_data_column p.none_set{color:#999}#order_data .order_data_column ._billing_address_1_field,#order_data .order_data_column ._billing_city_field,#order_data .order_data_column ._billing_country_field,#order_data .order_data_column ._billing_email_field,#order_data .order_data_column ._billing_first_name_field,#order_data .order_data_column ._shipping_address_1_field,#order_data .order_data_column ._shipping_city_field,#order_data .order_data_column ._shipping_country_field,#order_data .order_data_column ._shipping_first_name_field{float:left}#order_data .order_data_column ._billing_address_2_field,#order_data .order_data_column ._billing_last_name_field,#order_data .order_data_column ._billing_phone_field,#order_data .order_data_column ._billing_postcode_field,#order_data .order_data_column ._billing_state_field,#order_data .order_data_column ._shipping_address_2_field,#order_data .order_data_column ._shipping_last_name_field,#order_data .order_data_column ._shipping_postcode_field,#order_data .order_data_column ._shipping_state_field,#order_data .order_data_column .wc-customer-user label a,#order_data .order_data_column .wc-order-status label a{float:right}#order_data .order_data_column ._billing_company_field,#order_data .order_data_column ._shipping_company_field,#order_data .order_data_column ._transaction_id_field{clear:both;width:100%}#order_data .order_data_column ._billing_email_field{clear:left}#order_data .order_data_column div.edit_address{display:none;zoom:1;padding-right:1px}#order_data .order_data_column .billing-same-as-shipping,#order_data .order_data_column .load_customer_billing,#order_data .order_data_column .load_customer_shipping,#order_data .order_data_column a.edit_address{width:14px;height:0;padding:14px 0 0;margin:0 0 0 6px;overflow:hidden;position:relative;color:#999;border:0;float:right}#order_data .order_data_column .billing-same-as-shipping:focus,#order_data .order_data_column .billing-same-as-shipping:hover,#order_data .order_data_column .load_customer_billing:focus,#order_data .order_data_column .load_customer_billing:hover,#order_data .order_data_column .load_customer_shipping:focus,#order_data .order_data_column .load_customer_shipping:hover,#order_data .order_data_column a.edit_address:focus,#order_data .order_data_column a.edit_address:hover{color:#000}#order_data .order_data_column .billing-same-as-shipping:after,#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after,#order_data .order_data_column a.edit_address:after{font-family:WooCommerce;position:absolute;top:0;left:0;text-align:center;vertical-align:top;line-height:14px;font-size:14px;font-weight:400;-webkit-font-smoothing:antialiased}#order_data .order_data_column .billing-same-as-shipping:after{content:"\e008"}#order_data .order_data_column .load_customer_billing:after,#order_data .order_data_column .load_customer_shipping:after{content:"\e03a"}#order_data .order_data_column a.edit_address:after{content:"\e603"}.order_actions{margin:0;overflow:hidden;zoom:1}.order_actions li{border-top:1px solid #fff;border-bottom:1px solid #ddd;padding:6px 0;margin:0;line-height:1.6em;float:left;width:50%;text-align:center}.order_actions li a{float:none;text-align:center;text-decoration:underline}.order_actions li.wide{width:auto;float:none;clear:both;padding:6px;text-align:left;overflow:hidden}.order_actions li #delete-action{line-height:25px;vertical-align:middle;text-align:left;float:left}.order_actions li .save_order{float:right}.order_actions li#actions{overflow:hidden}.order_actions li#actions .button{width:24px;box-sizing:border-box;float:right}.order_actions li#actions select{width:225px;box-sizing:border-box;float:left}#woocommerce-order-items .inside{margin:0;padding:0;background:#fefefe}#woocommerce-order-items .wc-order-data-row{border-bottom:1px solid #DFDFDF;padding:12px;background:#f8f8f8;line-height:2em;text-align:right}#woocommerce-order-items .wc-order-data-row:after,#woocommerce-order-items .wc-order-data-row:before{content:" ";display:table}#woocommerce-order-items .wc-order-data-row:after{clear:both}#woocommerce-order-items .wc-order-data-row p{margin:0;line-height:2em}#woocommerce-order-items .wc-order-data-row .wc-used-coupons{text-align:left}#woocommerce-order-items .wc-order-data-row .wc-used-coupons .tips{display:inline-block}#woocommerce-order-items .wc-order-bulk-actions{background:#fefefe;vertical-align:top;border-top:0}#woocommerce-order-items .wc-order-bulk-actions select{vertical-align:top}#woocommerce-order-items .wc-order-bulk-actions p.bulk-actions{float:left}#woocommerce-order-items .wc-order-add-item{background:#fff;vertical-align:top;border-top:none}#woocommerce-order-items .wc-order-add-item .add_item_id,#woocommerce-order-items .wc-order-add-item .select2-container{vertical-align:top}#woocommerce-order-items .wc-order-add-item .add_item_id .search-field input,#woocommerce-order-items .wc-order-add-item .select2-container .search-field input{min-width:100px}#woocommerce-order-items .wc-order-add-item .select2-container{width:400px!important;text-align:left}#woocommerce-order-items .wc-order-add-item .calculate-action,#woocommerce-order-items .wc-order-add-item .cancel-action,#woocommerce-order-items .wc-order-add-item .save-action{float:left;margin-right:2px}#woocommerce-order-items .wc-used-coupons{float:left;width:50%}#woocommerce-order-items .wc-order-totals{float:right;width:50%;margin:0;padding:0}#woocommerce-order-items .wc-order-totals .amount{font-weight:700}#woocommerce-order-items .wc-order-totals .label{vertical-align:top}#woocommerce-order-items .wc-order-totals .total{font-size:1em!important;width:10em;margin:0 0 0 .5em;box-sizing:border-box}#woocommerce-order-items .wc-order-totals .total input[type=text]{width:96%;float:right}#woocommerce-order-items .wc-order-totals .refunded-total{color:#a00}#woocommerce-order-items .refund-actions{margin-top:5px;padding-top:12px;border-top:1px solid #DFDFDF}#woocommerce-order-items .refund-actions .button{float:right;margin-left:4px}#woocommerce-order-items .refund-actions .cancel-action{float:left;margin-left:0}#woocommerce-order-items .add_meta{margin-left:0!important}#woocommerce-order-items h3 small{color:#999}#woocommerce-order-items .amount{white-space:nowrap}#woocommerce-order-items .add-items .description{margin-right:10px}.woocommerce_order_items_wrapper{margin:0;overflow:auto}.woocommerce_order_items_wrapper table.woocommerce_order_items{width:100%;background:#fff}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th{background:#f8f8f8;padding:8px;font-size:11px;text-align:left;color:#555;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items thead th.sortable{cursor:pointer}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th,.woocommerce_order_items_wrapper table.woocommerce_order_items td{padding:8px;text-align:left;line-height:26px;vertical-align:top;border-bottom:1px dotted #ececec}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th select,.woocommerce_order_items_wrapper table.woocommerce_order_items td select{width:50%}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th input,.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items td input,.woocommerce_order_items_wrapper table.woocommerce_order_items td textarea{font-size:14px;padding:4px;color:#555}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:last-child{padding-right:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody th:first-child,.woocommerce_order_items_wrapper table.woocommerce_order_items td:first-child{padding-left:12px}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:last-child td{border-bottom:1px solid #dfdfdf}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody tr:first-child td{border-top:8px solid #f8f8f8}.woocommerce_order_items_wrapper table.woocommerce_order_items tbody#order_line_items tr:first-child td{border-top:none}.woocommerce_order_items_wrapper table.woocommerce_order_items td.check-column{padding:8px 8px 8px 12px;width:1%}.woocommerce_order_items_wrapper table.woocommerce_order_items .item{min-width:200px}.woocommerce_order_items_wrapper table.woocommerce_order_items .center,.woocommerce_order_items_wrapper table.woocommerce_order_items .variation-id{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class{text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label{white-space:nowrap;color:#999;font-size:.833em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax label input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class label input{display:inline}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class input{width:70px;vertical-align:middle;text-align:right}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost select,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax select,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class select{width:85px;height:26px;vertical-align:middle;font-size:1em}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input{display:block;background:#fff;border:1px solid #ddd;box-shadow:inset 0 1px 2px rgba(0,0,0,.07);margin:1px;width:70px}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input{width:100%;box-sizing:border-box;border:0;box-shadow:none;margin:0;color:#555;background:0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .split-input input:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .split-input input:last-child{color:#bbb;border-top:1px dashed #ddd}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax .view,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class .view{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items .cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .item_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_cost del,.woocommerce_order_items_wrapper table.woocommerce_order_items .line_tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax del,.woocommerce_order_items_wrapper table.woocommerce_order_items .tax_class del{color:#ccc}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity{text-align:center}.woocommerce_order_items_wrapper table.woocommerce_order_items .quantity input{text-align:center;width:50px}.woocommerce_order_items_wrapper table.woocommerce_order_items span.subtotal{opacity:.5}.woocommerce_order_items_wrapper table.woocommerce_order_items td.tax_class,.woocommerce_order_items_wrapper table.woocommerce_order_items th.tax_class{text-align:left}.woocommerce_order_items_wrapper table.woocommerce_order_items .calculated{border-color:#ae8ca2;border-style:dotted}.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{width:100%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta{margin:.5em 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr th,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr th{border:0;padding:0 4px .5em 0;line-height:1.5em;width:20%}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td{padding:0 4px .5em 0;border:0;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input{width:100%;margin:0;position:relative;border-bottom:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td textarea{width:100%;height:4em;margin:0;box-shadow:none}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td input:focus+textarea,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td input:focus+textarea{border-top-color:#999}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p{margin:0 0 .5em;line-height:1.5em}.woocommerce_order_items_wrapper table.woocommerce_order_items table.display_meta tr td p:last-child,.woocommerce_order_items_wrapper table.woocommerce_order_items table.meta tr td p:last-child{margin:0}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb{text-align:left;width:27px}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before,.wc-order-items-editable .edit-order-item:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before,.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb a{display:block}.woocommerce_order_items_wrapper table.woocommerce_order_items .thumb img{padding:1px;margin:0;border:1px solid #dfdfdf;vertical-align:middle;width:21px;height:21px}.woocommerce_order_items_wrapper table.woocommerce_order_items .refund_by,ul.order_notes li p.meta .exact-date{border-bottom:1px dotted #999}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.fee .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.refund .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:14px;margin:6px}.woocommerce_order_items_wrapper table.woocommerce_order_items tr.shipping .thumb div:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";color:#bbb}.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{white-space:nowrap}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax{padding:8px 16px 8px 8px}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:12px;visibility:hidden;float:right;margin:2px -16px 0 0}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";color:#fff;background-color:#000;-webkit-border-radius:100%;border-radius:100%;border:1px solid #000;box-shadow:0 1px 2px rgba(0,0,0,.2)}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax .delete-order-tax:hover:before,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax .delete-order-tax:hover:before{border-color:#a00;background-color:#a00}.woocommerce_order_items_wrapper table.woocommerce_order_items td.line_tax:hover .delete-order-tax,.woocommerce_order_items_wrapper table.woocommerce_order_items th.line_tax:hover .delete-order-tax{visibility:visible}.woocommerce_order_items_wrapper table.woocommerce_order_items small.refunded{display:block;color:#a00;white-space:nowrap}.wc-order-items-editable .edit-order-item{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0 .5em 0 0}.wc-order-items-editable .edit-order-item:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e603";color:#999}.wc-order-items-editable .edit-order-item:hover:before{color:#555}.wc-order-items-editable .delete-order-item,.wc-order-items-editable .delete_refund{text-indent:-9999px;position:relative;height:1em;width:1em;display:inline-block;margin:0}.wc-order-items-editable .delete-order-item:before,.wc-order-items-editable .delete_refund:before{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:"";content:"\e013";color:#999}.wc-order-items-editable .delete-order-item:hover:before,.wc-order-items-editable .delete_refund:hover:before{color:#a00}.wc-order-items-editable .wc-order-edit-line-item-actions{width:2.5em;text-align:right}.wc-order-items-editable .wc-order-totals .wc-order-edit-line-item-actions{width:1.5em}.wc-order-items-editable .wc-order-totals .edit-order-item{margin:0}#woocommerce-order-downloads .buttons{float:left;padding:0;margin:0;vertical-align:top}#woocommerce-order-downloads .buttons .add_item_id,#woocommerce-order-downloads .buttons .select2-container{width:400px!important;margin-right:9px;vertical-align:top;float:left}#woocommerce-order-downloads .buttons button{margin:2px 0 0}#woocommerce-order-downloads h3 small{color:#999}#poststuff #woocommerce-order-actions .inside{margin:0;padding:0}#poststuff #woocommerce-order-actions .inside ul.order_actions li{padding:6px 10px;box-sizing:border-box}#poststuff #woocommerce-order-actions .inside ul.order_actions li:last-child{border-bottom:0}#poststuff #woocommerce-order-notes .inside{margin:0;padding:0}#poststuff #woocommerce-order-notes .inside ul.order_notes li{padding:0 10px}#woocommerce_customers p.search-box{margin:6px 0 4px;float:left}#woocommerce_customers .tablenav{float:right;clear:none}.widefat.customers td{vertical-align:middle;padding:4px 7px}.widefat .column-order_title{width:15%}.widefat .column-order_title time{display:block;color:#999;margin:3px 0}.widefat .column-orders,.widefat .column-paying,.widefat .column-spent{text-align:center;width:8%}.widefat .column-last_order{width:11%}.widefat .column-order_actions,.widefat .column-user_actions,.widefat .column-wc_actions{width:110px}.widefat .column-order_actions a.button,.widefat .column-user_actions a.button,.widefat .column-wc_actions a.button{float:left;margin:0 4px 2px 0;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-order_actions a.button img,.widefat .column-user_actions a.button img,.widefat .column-wc_actions a.button img{display:block;width:12px;height:auto}.widefat small.meta{display:block;color:#999;font-size:inherit;margin:3px 0}.widefat .column-order_date,.widefat .column-order_total{width:9%}.widefat .column-order_status{width:45px;text-align:center}.widefat .column-order_status mark{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;background:0 0;font-size:1.4em;margin:0 auto}.widefat .column-order_status mark.cancelled:after,.widefat .column-order_status mark.completed:after,.widefat .column-order_status mark.failed:after,.widefat .column-order_status mark.on-hold:after,.widefat .column-order_status mark.pending:after,.widefat .column-order_status mark.processing:after,.widefat .column-order_status mark.refunded:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.column-customer_message .note-on:after,.column-order_notes .note-on:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;text-align:center;line-height:16px;font-family:WooCommerce}.widefat .column-order_status mark.pending:after{content:"\e012";color:#ffba00}.widefat .column-order_status mark.completed:after{content:"\e015";color:#2ea2cc}.widefat .column-order_status mark.on-hold:after{content:"\e033";color:#999}.widefat .column-order_status mark.failed:after{content:"\e016";color:#d0c21f}.widefat .column-order_status mark.cancelled:after{content:"\e013";color:#a00}.widefat .column-order_status mark.processing:after{content:"\e011";color:#73a724}.widefat .column-order_status mark.refunded:after{content:"\e014";color:#999}.widefat td.column-order_status{padding-top:9px}.column-customer_message .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-customer_message .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.column-order_notes .note-on{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto;color:#999}.column-order_notes .note-on:after{margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}.attributes-table .attribute-actions .configure-terms:after,.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after,.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0;line-height:1.85;margin:0;text-align:center;font-weight:400}.order_actions .complete,.order_actions .processing,.order_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.order_actions .complete:after,.order_actions .processing:after,.order_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.order_actions .processing:after{content:"\e00f"}.order_actions .complete:after{content:"\e017"}.order_actions .view:after{content:"\e010"}.user_actions .edit,.user_actions .link,.user_actions .refresh,.user_actions .view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.user_actions .edit:after,.user_actions .link:after,.user_actions .refresh:after,.user_actions .view:after{font-family:WooCommerce;text-indent:0;position:absolute;width:100%;height:100%}.user_actions .edit:after{content:"\e603"}.user_actions .link:after{content:"\e00d"}.user_actions .view:after{content:"\e010"}.user_actions .refresh:after{content:"\e031"}.attributes-table td,.attributes-table th{width:15%;vertical-align:top}.attributes-table .attribute-terms{width:32%}.attributes-table .attribute-actions{width:2em}.attributes-table .attribute-actions .configure-terms{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.attributes-table .attribute-actions .configure-terms:after{text-indent:0;position:absolute;width:100%;height:100%;content:"";font-family:Dashicons}ul.order_notes{padding:2px 0 0}ul.order_notes li .note_content{padding:10px;background:#efefef;position:relative}ul.order_notes li .note_content p{margin:0;padding:0;word-wrap:break-word}ul.order_notes li p.meta{padding:10px;color:#999;margin:0;font-size:11px}ul.order_notes li a.delete_note{color:#a00}table.wp-list-table .row-actions,table.wp-list-table span.na{color:#999}ul.order_notes li .note_content:after{content:"";display:block;position:absolute;bottom:-10px;left:20px;width:0;height:0;border-width:10px 10px 0 0;border-style:solid;border-color:#efefef transparent}ul.order_notes li.customer-note .note_content{background:#d7cad2}ul.order_notes li.customer-note .note_content:after{border-color:#d7cad2 transparent}.add_note{border-top:1px solid #ddd;padding:10px 10px 0}.add_note h4{margin-top:5px!important}.add_note #add_order_note{width:100%;height:50px}table.wp-list-table .column-thumb{width:52px;text-align:center;white-space:nowrap}table.wp-list-table .column-name{width:22%}table.wp-list-table .column-product_cat,table.wp-list-table .column-product_tag{width:11%!important}table.wp-list-table .column-featured,table.wp-list-table .column-product_type{width:48px;text-align:left!important}table.wp-list-table .column-customer_message,table.wp-list-table .column-order_notes{width:48px;text-align:center}table.wp-list-table .column-customer_message img,table.wp-list-table .column-order_notes img{margin:0 auto;padding-top:0!important}table.wp-list-table .manage-column.column-featured img,table.wp-list-table .manage-column.column-product_type img{padding-left:2px}table.wp-list-table .column-price .woocommerce-price-suffix{display:none}table.wp-list-table img{margin:1px 2px}table.wp-list-table td.column-thumb img{margin:0;width:auto;height:auto;max-width:40px;max-height:40px;vertical-align:middle}table.wp-list-table .column-is_in_stock{text-align:left!important}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after,table.wp-list-table span.product-type:before,table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{text-align:center;line-height:1;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;top:0;left:0}table.wp-list-table span.wc-featured,table.wp-list-table span.wc-image,table.wp-list-table span.wc-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table span.wc-featured:before,table.wp-list-table span.wc-image:before,table.wp-list-table span.wc-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.wc-featured{margin:0;cursor:pointer}table.wp-list-table span.wc-featured:before{content:"\e020"}table.wp-list-table span.wc-featured.not-featured:before{content:"\e021"}table.wp-list-table td.column-featured span.wc-featured{font-size:1.2em}table.wp-list-table span.wc-type{margin:0}table.wp-list-table span.wc-type:before{content:"\e01d"}table.wp-list-table span.product-type{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.2em}table.wp-list-table span.product-type:before{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%;content:""}table.wp-list-table span.product-type.grouped:before{content:"\e002"}table.wp-list-table span.product-type.external:before{content:"\e034"}table.wp-list-table span.product-type.variable:before{content:"\e003"}table.wp-list-table span.product-type.downloadable:before{content:"\e001"}table.wp-list-table span.product-type.virtual:before{content:"\e000"}table.wp-list-table mark.instock{font-weight:700;color:#7ad03a;background:0 0;line-height:1}table.wp-list-table mark.outofstock{font-weight:700;color:#a44;background:0 0;line-height:1}table.wp-list-table .notes_head,table.wp-list-table .order-notes_head,table.wp-list-table .status_head{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;margin:0 auto}table.wp-list-table .notes_head:after,table.wp-list-table .order-notes_head:after,table.wp-list-table .status_head:after{font-weight:400;margin:0;text-indent:0;position:absolute;width:100%;height:100%}table.wc_emails .wc-email-settings-table-name,table.wc_emails td.name,table.wc_gateways .wc-email-settings-table-name,table.wc_gateways td.name,table.wc_shipping .wc-email-settings-table-name,table.wc_shipping td.name{font-weight:700}table.wp-list-table .order-notes_head:after{content:"\e028"}table.wp-list-table .notes_head:after{content:"\e026"}table.wp-list-table .status_head:after{content:"\e011"}table.wp-list-table .column-order_items{width:12%}table.wp-list-table .column-order_items table.order_items{width:100%;margin:3px 0 0;padding:0;display:none}table.wp-list-table .column-order_items table.order_items td{border:0;margin:0;padding:0 0 3px}table.wp-list-table .column-order_items table.order_items td.qty{color:#999;padding-right:6px;text-align:left}mark.notice{background:#fff;color:#a00;margin:0 0 0 10px}a.export_rates,a.import_rates{float:right;margin-left:9px;margin-top:-2px;margin-bottom:0}#rates-search{float:right}#rates-search input.wc-tax-rates-search-field{padding:4px 8px;font-size:1.2em}#rates-pagination{float:right;margin-right:.5em}#rates-pagination .tablenav{margin:0}table.wc_input_table,table.wc_tax_rates{width:100%}table.wc_input_table span.tips,table.wc_tax_rates span.tips{color:#2ea2cc}table.wc_input_table td,table.wc_tax_rates td{padding:0;border-right:1px solid #DFDFDF;border-bottom:1px solid #DFDFDF;border-top:0;background:#fff}table.wc_input_table td input[type=text],table.wc_input_table td input[type=number],table.wc_tax_rates td input[type=text],table.wc_tax_rates td input[type=number]{width:100%;padding:5px 7px;margin:0;border:0;background:0 0}table.wc_input_table td.apply_to_shipping,table.wc_input_table td.compound,table.wc_tax_rates td.apply_to_shipping,table.wc_tax_rates td.compound{padding:5px 7px;vertical-align:middle}table.wc_input_table td.apply_to_shipping input,table.wc_input_table td.compound input,table.wc_tax_rates td.apply_to_shipping input,table.wc_tax_rates td.compound input{width:auto;padding:0}table.wc_input_table td:last-child,table.wc_tax_rates td:last-child{border-right:0}table.wc_input_table tr.current td,table.wc_tax_rates tr.current td{background-color:#fefbcc}table.wc_input_table .cost,table.wc_input_table .cost input,table.wc_input_table .item_cost,table.wc_input_table .item_cost input,table.wc_tax_rates .cost,table.wc_tax_rates .cost input,table.wc_tax_rates .item_cost,table.wc_tax_rates .item_cost input{text-align:right}table.wc_input_table th.sort,table.wc_tax_rates th.sort{width:17px;padding:0 4px}table.wc_input_table td.sort,table.wc_tax_rates td.sort{padding:0 4px}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort{cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}table.wc_input_table .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before,table.wc_tax_rates .ui-sortable:not(.ui-sortable-disabled) td.sort:hover:before{color:#333}table.wc_input_table .button,table.wc_tax_rates .button{float:left;margin-right:5px}table.wc_input_table .export,table.wc_input_table .import,table.wc_tax_rates .export,table.wc_tax_rates .import{float:right;margin-right:0;margin-left:5px}table.wc_input_table span.tips,table.wc_tax_rates span.tips{padding:0 3px}table.wc_input_table .pagination,table.wc_tax_rates .pagination{float:right}table.wc_input_table .pagination .button,table.wc_tax_rates .pagination .button{margin-left:5px;margin-right:0}table.wc_input_table .pagination .current,table.wc_tax_rates .pagination .current{background:#bbb;text-shadow:none}table.wc_input_table tfoot th,table.wc_tax_rates tfoot th{padding-left:20px;padding-right:20px}table.wc_input_table tr:last-child td,table.wc_tax_rates tr:last-child td{border-bottom:0}table.wc_emails,table.wc_gateways,table.wc_shipping{position:relative}table.wc_emails td,table.wc_gateways td,table.wc_shipping td{vertical-align:middle;padding:7px;line-height:2em}table.wc_emails tr:nth-child(odd) td,table.wc_gateways tr:nth-child(odd) td,table.wc_shipping tr:nth-child(odd) td{background:#f9f9f9}table.wc_emails th,table.wc_gateways th,table.wc_shipping th{padding:9px 7px!important;vertical-align:middle}table.wc_emails .settings,table.wc_gateways .settings,table.wc_shipping .settings{text-align:right}table.wc_emails .default,table.wc_emails .radio,table.wc_emails .status,table.wc_gateways .default,table.wc_gateways .radio,table.wc_gateways .status,table.wc_shipping .default,table.wc_shipping .radio,table.wc_shipping .status{text-align:center}table.wc_emails .default .tips,table.wc_emails .radio .tips,table.wc_emails .status .tips,table.wc_gateways .default .tips,table.wc_gateways .radio .tips,table.wc_gateways .status .tips,table.wc_shipping .default .tips,table.wc_shipping .radio .tips,table.wc_shipping .status .tips{margin:0 auto}table.wc_emails .default input,table.wc_emails .radio input,table.wc_emails .status input,table.wc_gateways .default input,table.wc_gateways .radio input,table.wc_gateways .status input,table.wc_shipping .default input,table.wc_shipping .radio input,table.wc_shipping .status input{margin:0}table.wc_emails th.sort,table.wc_gateways th.sort,table.wc_shipping th.sort{width:28px;padding:0}table.wc_emails td.sort,table.wc_gateways td.sort,table.wc_shipping td.sort{padding:0 7px;cursor:move;text-align:center;vertical-align:middle}table.wc_emails td.sort:before,table.wc_gateways td.sort:before,table.wc_shipping td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#ccc;display:block;width:17px;float:left;height:100%}table.wc_emails .wc-email-settings-table-name span,table.wc_gateways .wc-email-settings-table-name span,table.wc_shipping .wc-email-settings-table-name span{font-weight:400;color:#999;margin:0 0 0 4px!important}table.wc_emails .wc-email-settings-table-status,table.wc_gateways .wc-email-settings-table-status,table.wc_shipping .wc-email-settings-table-status{text-align:center;width:1em}table.wc_emails .wc-email-settings-table-status .tips,table.wc_gateways .wc-email-settings-table-status .tips,table.wc_shipping .wc-email-settings-table-status .tips{margin:0 auto}table.wc_emails .wc-email-settings-table-actions a,table.wc_gateways .wc-email-settings-table-actions a,table.wc_shipping .wc-email-settings-table-actions a{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}table.wc_emails .wc-email-settings-table-actions a:after,table.wc_gateways .wc-email-settings-table-actions a:after,table.wc_shipping .wc-email-settings-table-actions a:after{speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-family:Dashicons;line-height:1.85}img.help_tip{margin:0 0 0 9px;vertical-align:middle}.postbox img.help_tip{margin-top:0}.postbox .woocommerce-help-tip{margin:0 0 0 9px}.status-enabled,.status-manual{font-size:1.4em;display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.status-enabled:before,.status-manual:before{line-height:1;margin:0;position:absolute;width:100%;height:100%;font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-indent:0;top:0;left:0;text-align:center}.status-manual:before{content:"";color:#999}.status-enabled:before{content:"";color:#a46497}.woocommerce .woo-nav-tab-wrapper{margin-bottom:16px!important}.woocommerce .subsubsub{margin:-8px 0 0}.woocommerce #template div{margin:0}.woocommerce #template div p .button{float:right;margin-left:10px;margin-top:-4px}.woocommerce #template div .editor textarea{margin-bottom:8px}.woocommerce textarea[disabled=disabled]{background:#DFDFDF!important}.woocommerce table.form-table{margin:0;position:relative}.woocommerce table.form-table .forminp-radio ul{margin:0}.woocommerce table.form-table .forminp-radio ul li{line-height:1.4em}.woocommerce table.form-table textarea.input-text{height:100%;min-width:150px;display:block}.woocommerce table.form-table input.regular-input{width:25em}.woocommerce table.form-table textarea.wide-input{width:100%}.woocommerce table.form-table .woocommerce-help-tip,.woocommerce table.form-table img.help_tip{padding:0;margin:-4px 0 0 5px;vertical-align:middle;cursor:help;line-height:1}.woocommerce table.form-table span.help_tip{cursor:help;color:#2ea2cc}.woocommerce table.form-table th{position:relative;padding-right:24px}.woocommerce table.form-table .select2-container{display:block;max-width:350px;vertical-align:top;margin-bottom:3px}.woocommerce table.form-table table.widefat th{padding-right:inherit}.woocommerce table.form-table th .woocommerce-help-tip,.woocommerce table.form-table th img.help_tip{margin:0 -24px 0 0;float:right}.woocommerce table.form-table .wp-list-table .woocommerce-help-tip{float:none}.woocommerce table.form-table fieldset{margin-top:4px}.woocommerce table.form-table fieldset .woocommerce-help-tip,.woocommerce table.form-table fieldset img.help_tip{margin:-3px 0 0 5px}.woocommerce table.form-table fieldset p.description{margin-bottom:8px}.woocommerce table.form-table fieldset:first-child{margin-top:0}.woocommerce table.form-table .iris-picker{z-index:100;display:none;position:absolute;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.2)}.woocommerce table.form-table .iris-picker .ui-slider{border:0!important;margin:0!important;width:auto!important;height:auto!important;background:none!important}.woocommerce table.form-table .iris-picker .ui-slider .ui-slider-handle{margin-bottom:0!important}.woocommerce table.form-table .colorpickpreview{padding:3px 3px 3px 20px;border:1px solid #ddd;border-right:0}.woocommerce table.form-table .colorpick{border-left:0}.woocommerce table.form-table .image_width_settings{vertical-align:middle}.woocommerce table.form-table .image_width_settings label{margin-left:10px}.woocommerce table.form-table .wc_emails_wrapper{padding:0 15px 10px 0}.woocommerce #tabs-wrap table a.remove{margin-left:4px}.woocommerce #tabs-wrap table p{margin:0 0 4px!important;overflow:hidden;zoom:1}.woocommerce #tabs-wrap table p a.add{float:left}#wp-excerpt-editor-container{background:#fff}#product_variation-parent #parent_id{width:100%}#postimagediv img{border:1px solid #d5d5d5;max-width:100%}#woocommerce-product-images .inside{margin:0;padding:0}#woocommerce-product-images .inside .add_product_images{padding:0 12px 12px}#woocommerce-product-images .inside #product_images_container{padding:0 0 0 9px}#woocommerce-product-images .inside #product_images_container ul{margin:0;padding:0}#woocommerce-product-images .inside #product_images_container ul:after,#woocommerce-product-images .inside #product_images_container ul:before{content:" ";display:table}#woocommerce-product-images .inside #product_images_container ul:after{clear:both}#woocommerce-product-images .inside #product_images_container ul li.add,#woocommerce-product-images .inside #product_images_container ul li.image,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{width:80px;float:left;cursor:move;border:1px solid #d5d5d5;margin:9px 9px 0 0;background:#f7f7f7;border-radius:2px;position:relative;box-sizing:border-box}#woocommerce-product-images .inside #product_images_container ul li.add img,#woocommerce-product-images .inside #product_images_container ul li.image img,#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder img{width:100%;height:auto;display:block}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder{border:3px dashed #ddd;position:relative}#woocommerce-product-images .inside #product_images_container ul li.wc-metabox-sortable-placeholder:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";font-size:2.618em;line-height:72px;color:#ddd}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before,#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{line-height:1;color:#fff;background-color:#000;font-family:WooCommerce;font-weight:400;font-variant:normal;-webkit-font-smoothing:antialiased;text-align:center;left:0;speak:none;text-transform:none}#woocommerce-product-images .inside #product_images_container ul ul.actions{position:absolute;top:-8px;right:-8px;padding:2px;display:none}#woocommerce-product-images .inside #product_images_container ul ul.actions li{float:right;margin:0 0 0 2px}#woocommerce-product-images .inside #product_images_container ul ul.actions li a{width:1em;margin:0;height:0;display:block;overflow:hidden}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.tips{cursor:pointer}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.view:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:""}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em;font-size:1.4em}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:before{margin:0;text-indent:0;position:absolute;top:0;width:100%;height:100%;content:"";border-radius:100%;box-shadow:0 1px 2px rgba(0,0,0,.2)}#woocommerce-product-images .inside #product_images_container ul ul.actions li a.delete:hover before{background-color:#a00}#woocommerce-product-images .inside #product_images_container ul li:hover ul.actions{display:block}#woocommerce-product-data .hndle{padding:10px}#woocommerce-product-data .hndle span{display:block;vertical-align:middle;line-height:24px}#woocommerce-product-data .hndle span span{display:inline;line-height:inherit;vertical-align:baseline}#woocommerce-product-data .hndle label{padding-right:1em;font-size:12px;vertical-align:baseline}#woocommerce-product-data .hndle label:first-child{margin-right:1em;border-right:1px solid #dfdfdf}#woocommerce-product-data .hndle input,#woocommerce-product-data .hndle select{margin:-3px 0 0 .5em;vertical-align:middle}#woocommerce-product-data>.handlediv{margin-top:4px}#woocommerce-product-data .wrap{margin:0}#woocommerce-coupon-description{padding:3px 8px;font-size:1.7em;line-height:1.42em;height:auto;width:100%;outline:0;margin:10px 0;display:block}#woocommerce-coupon-description::-webkit-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description::-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-ms-input-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-description:-moz-placeholder{line-height:1.42em;color:#bbb}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap{background:#fff}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{float:left;width:80%}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios,#woocommerce-product-data .woocommerce_options_panel .wc-radios{display:block;float:left;margin:0}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li,#woocommerce-product-data .woocommerce_options_panel .wc-radios li{display:block;padding:0 0 10px}#woocommerce-coupon-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-coupon-data .woocommerce_options_panel .wc-radios li input,#woocommerce-product-data .wc-metaboxes-wrapper .wc-radios li input,#woocommerce-product-data .woocommerce_options_panel .wc-radios li input{width:auto}#woocommerce-coupon-data .panel-wrap,#woocommerce-product-data .panel-wrap,.woocommerce .panel-wrap{overflow:hidden}#woocommerce-coupon-data ul.wc-tabs,#woocommerce-product-data ul.wc-tabs,.woocommerce ul.wc-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#woocommerce-coupon-data ul.wc-tabs:after,#woocommerce-product-data ul.wc-tabs:after,.woocommerce ul.wc-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li,#woocommerce-product-data ul.wc-tabs li,.woocommerce ul.wc-tabs li{margin:0;padding:0;display:block;position:relative}#woocommerce-coupon-data ul.wc-tabs li a,#woocommerce-product-data ul.wc-tabs li a,.woocommerce ul.wc-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px!important;border-bottom:1px solid #eee}#woocommerce-coupon-data ul.wc-tabs li a:before,#woocommerce-product-data ul.wc-tabs li a:before,.woocommerce ul.wc-tabs li a:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}#woocommerce-coupon-data ul.wc-tabs li.general_options a:before,#woocommerce-product-data ul.wc-tabs li.general_options a:before,.woocommerce ul.wc-tabs li.general_options a:before{content:"\e006"}#woocommerce-coupon-data ul.wc-tabs li.inventory_options a:before,#woocommerce-product-data ul.wc-tabs li.inventory_options a:before,.woocommerce ul.wc-tabs li.inventory_options a:before{content:"\e02c"}#woocommerce-coupon-data ul.wc-tabs li.shipping_options a:before,#woocommerce-product-data ul.wc-tabs li.shipping_options a:before,.woocommerce ul.wc-tabs li.shipping_options a:before{content:"\e01a"}#woocommerce-coupon-data ul.wc-tabs li.linked_product_options a:before,#woocommerce-product-data ul.wc-tabs li.linked_product_options a:before,.woocommerce ul.wc-tabs li.linked_product_options a:before{content:"\e00d"}#woocommerce-coupon-data ul.wc-tabs li.attribute_options a:before,#woocommerce-product-data ul.wc-tabs li.attribute_options a:before,.woocommerce ul.wc-tabs li.attribute_options a:before{content:"\e02b"}#woocommerce-coupon-data ul.wc-tabs li.advanced_options a:before,#woocommerce-product-data ul.wc-tabs li.advanced_options a:before,.woocommerce ul.wc-tabs li.advanced_options a:before{content:"\f111";font-family:Dashicons}#woocommerce-coupon-data ul.wc-tabs li.variation_options a:before,#woocommerce-product-data ul.wc-tabs li.variation_options a:before,.woocommerce ul.wc-tabs li.variation_options a:before{content:"\e003"}#woocommerce-coupon-data ul.wc-tabs li.usage_restriction_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_restriction_options a:before,.woocommerce ul.wc-tabs li.usage_restriction_options a:before{content:"\e602"}#woocommerce-coupon-data ul.wc-tabs li.usage_limit_options a:before,#woocommerce-product-data ul.wc-tabs li.usage_limit_options a:before,.woocommerce ul.wc-tabs li.usage_limit_options a:before{content:"\e601"}#woocommerce-coupon-data ul.wc-tabs li.general_coupon_data a:before,#woocommerce-product-data ul.wc-tabs li.general_coupon_data a:before,.woocommerce ul.wc-tabs li.general_coupon_data a:before{content:"\e600"}#woocommerce-coupon-data ul.wc-tabs li.active a,#woocommerce-product-data ul.wc-tabs li.active a,.woocommerce ul.wc-tabs li.active a{color:#555;position:relative;background-color:#eee}.woocommerce_page_wc-settings .shippingrows th.check-column{padding-top:20px}.woocommerce_page_wc-settings .shippingrows tfoot th{padding-left:10px}.woocommerce_page_wc-settings .shippingrows .add.button:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce_page_wc-settings h3.wc-settings-sub-title{font-size:1.2em}#woocommerce-coupon-data .inside,#woocommerce-order-data .inside,#woocommerce-order-downloads .inside,#woocommerce-product-data .inside,#woocommerce-product-type-options .inside{margin:0;padding:0}.panel,.woocommerce_options_panel{padding:9px;color:#555}.panel,.woocommerce_page_settings .woocommerce_options_panel{padding:0}#woocommerce-product-specs .inside,#woocommerce-product-type-options .panel{margin:0;padding:9px}#woocommerce-product-type-options .panel p,.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p{margin:0 0 9px;font-size:12px;padding:5px 9px;line-height:24px}#woocommerce-product-type-options .panel p:after,.woocommerce_options_panel fieldset.form-field:after,.woocommerce_options_panel p:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce_options_panel .checkbox,.woocommerce_variable_attributes .checkbox{width:auto;margin:3px 0;vertical-align:middle}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{width:100%;padding:0!important}.woocommerce_options_panel .downloadable_files table th,.woocommerce_variations .downloadable_files table th{padding:7px 0 7px 7px!important}.woocommerce_options_panel .downloadable_files table td,.woocommerce_variations .downloadable_files table td{vertical-align:middle!important;padding:4px 0 4px 7px!important;position:relative}.woocommerce_options_panel .downloadable_files table td:last-child,.woocommerce_variations .downloadable_files table td:last-child{padding-right:7px!important}.woocommerce_options_panel .downloadable_files table td input.input_text,.woocommerce_variations .downloadable_files table td input.input_text{width:100%;float:none;margin:1px 0;min-width:0}.woocommerce_options_panel .downloadable_files table td .upload_file_button,.woocommerce_variations .downloadable_files table td .upload_file_button{float:right;width:auto;cursor:pointer}.woocommerce_options_panel .downloadable_files table td .delete,.woocommerce_variations .downloadable_files table td .delete{display:block;text-indent:-9999px;position:relative;height:1em;width:1em}.woocommerce_options_panel .downloadable_files table td .delete:before,.woocommerce_variations .downloadable_files table td .delete:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"";content:"\e013";color:#999}.woocommerce_options_panel .downloadable_files table td .delete:hover:before,.woocommerce_variations .downloadable_files table td .delete:hover:before{color:#a00}.woocommerce_options_panel .downloadable_files table th.sort,.woocommerce_variations .downloadable_files table th.sort{width:17px;padding:0}.woocommerce_options_panel .downloadable_files table td.sort,.woocommerce_variations .downloadable_files table td.sort{padding:0 8px;cursor:move;background:#f9f9f9;text-align:center;vertical-align:middle}.woocommerce_options_panel .downloadable_files table td.sort:before,.woocommerce_variations .downloadable_files table td.sort:before{content:"\e032";font-family:WooCommerce;text-align:center;line-height:1;color:#999;display:block;width:17px;float:left;height:100%}.woocommerce_options_panel .downloadable_files table td.sort:hover:before,.woocommerce_variations .downloadable_files table td.sort:hover:before{color:#333}.woocommerce_variation h3 .sort{cursor:move;text-align:center;float:right;height:26px;width:17px;visibility:hidden;vertical-align:middle;margin-right:.5em;color:#a0a5aa}.woocommerce_variation h3 .sort:before{content:"\e032";font-family:WooCommerce;text-align:center;cursor:move;display:block;width:17px;line-height:28px}.woocommerce_variation h3 .sort:hover{color:#777}.woocommerce_variation h3:hover .sort,.woocommerce_variation.ui-sortable-helper .sort{visibility:visible}.woocommerce_options_panel{min-height:175px;box-sizing:border-box}.woocommerce_options_panel .downloadable_files{padding:0 9px 0 162px;position:relative;margin:9px 0}.woocommerce_options_panel .downloadable_files label{position:absolute;left:0;margin:0 0 0 12px;line-height:24px}.woocommerce_options_panel p{margin:9px 0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px 5px 162px!important}.woocommerce_options_panel .sale_price_dates_fields .short:first-of-type{margin-bottom:1em}.woocommerce_options_panel .sale_price_dates_fields .short:nth-of-type(2){clear:left}.woocommerce_options_panel label,.woocommerce_options_panel legend{float:left;width:150px;padding:0;margin:0 0 0 -150px}.woocommerce_options_panel label .req,.woocommerce_options_panel legend .req{font-weight:700;font-style:normal;color:#a00}.woocommerce_options_panel .description{padding:0;margin:0 0 0 7px;clear:none;display:inline}.woocommerce_options_panel .description-block{margin-left:0;display:block}.woocommerce_options_panel input,.woocommerce_options_panel select,.woocommerce_options_panel textarea{margin:0}.woocommerce_options_panel textarea{height:3.5em;line-height:1.5em;vertical-align:top}.woocommerce_options_panel input[type=text],.woocommerce_options_panel input[type=number],.woocommerce_options_panel input[type=email],.woocommerce_options_panel input[type=password]{width:50%;float:left}.woocommerce_options_panel input.button{width:auto;margin-left:8px}.woocommerce_options_panel select{float:left}.woocommerce_options_panel .short,.woocommerce_options_panel input[type=text].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=password].short{width:50%}.woocommerce_options_panel .sized{width:auto!important;margin-right:6px}.woocommerce_options_panel .options_group{border-top:1px solid #fff;border-bottom:1px solid #eee}.woocommerce_options_panel .options_group:first-child{border-top:0}.woocommerce_options_panel .options_group:last-child{border-bottom:0}.woocommerce_options_panel .options_group fieldset{margin:9px 0;font-size:12px;padding:5px 9px;line-height:24px}.woocommerce_options_panel .options_group fieldset label{width:auto;float:none}.woocommerce_options_panel .options_group fieldset ul{float:left;width:50%;margin:0;padding:0}.woocommerce_options_panel .options_group fieldset ul li{margin:0;width:auto}.woocommerce_options_panel .options_group fieldset ul li input{width:auto;float:none;margin-right:4px}.woocommerce_options_panel .options_group fieldset ul.wc-radios label{margin-left:0}.woocommerce_options_panel .dimensions_field .wrap{display:block;width:50%}.woocommerce_options_panel .dimensions_field .wrap input{width:30.75%;margin-right:3.8%}.woocommerce_options_panel .dimensions_field .wrap .last{margin-right:0}.woocommerce_options_panel.padded{padding:1em}#woocommerce-product-data input.dp-applied,.woocommerce_options_panel .select2-container{float:left}#grouped_product_options,#simple_product_options,#virtual_product_options{padding:12px;font-style:italic;color:#666}.wc-metaboxes-wrapper .toolbar{margin:0!important;border-top:1px solid #fff;border-bottom:1px solid #eee;padding:9px 12px!important}.wc-metaboxes-wrapper .toolbar:first-child{border-top:0}.wc-metaboxes-wrapper .toolbar:last-child{border-bottom:0}.wc-metaboxes-wrapper .toolbar .add_variation{float:right;margin-left:5px}.wc-metaboxes-wrapper .toolbar .cancel-variation-changes,.wc-metaboxes-wrapper .toolbar .save-variation-changes{float:left;margin-right:5px}.wc-metaboxes-wrapper p.toolbar{overflow:hidden;zoom:1}.wc-metaboxes-wrapper .expand-close{margin-right:2px;color:#777;font-size:12px;font-style:italic}.wc-metaboxes-wrapper .expand-close a{background:0 0;padding:0;font-size:12px;text-decoration:none}.wc-metaboxes-wrapper#product_attributes .expand-close{float:right;line-height:28px}.wc-metaboxes-wrapper .fr,.wc-metaboxes-wrapper button.add_variable_attribute{float:right;margin:0 0 0 6px}.wc-metaboxes-wrapper .wc-metaboxes{border-bottom:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox-sortable-placeholder{border-color:#bbb;background-color:#f5f5f5;margin-bottom:9px;border-width:1px;border-style:dashed}.wc-metaboxes-wrapper .wc-metabox{background:#fff;border-bottom:1px solid #eee;margin:0!important}.wc-metaboxes-wrapper .wc-metabox select{font-weight:400}.wc-metaboxes-wrapper .wc-metabox:last-of-type{border-bottom:0}.wc-metaboxes-wrapper .wc-metabox .handlediv{width:27px}.wc-metaboxes-wrapper .wc-metabox .handlediv:before{content:"\f142"!important;cursor:pointer;display:inline-block;font:400 20px/1 Dashicons;line-height:.5!important;padding:8px 10px;position:relative;right:12px;top:0}.wc-metaboxes-wrapper .wc-metabox.closed{border-radius:3px}.wc-metaboxes-wrapper .wc-metabox.closed .handlediv:before{content:"\f140"!important}.wc-metaboxes-wrapper .wc-metabox.closed h3{border:0}.wc-metaboxes-wrapper .wc-metabox h3{margin:0!important;padding:.75em .75em .75em 1em!important;font-size:1em!important;overflow:hidden;zoom:1;cursor:move}.wc-metaboxes-wrapper .wc-metabox h3 a.delete,.wc-metaboxes-wrapper .wc-metabox h3 button{float:right}.wc-metaboxes-wrapper .wc-metabox h3 a.delete{color:red;font-weight:400;line-height:26px;text-decoration:none;position:relative;visibility:hidden}.wc-metaboxes-wrapper .wc-metabox h3 strong{line-height:26px;font-weight:700}.wc-metaboxes-wrapper .wc-metabox h3 select{font-family:sans-serif;max-width:20%;margin:.25em .25em .25em 0}.wc-metaboxes-wrapper .wc-metabox h3 .handlediv{background-position:6px 5px!important;visibility:hidden;height:26px}.wc-metaboxes-wrapper .wc-metabox h3.fixed{cursor:pointer!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3{cursor:pointer;padding:.5em .75em .5em 1em!important}.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .handlediv,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 .sort,.wc-metaboxes-wrapper .wc-metabox.woocommerce_variation h3 a.delete{margin-top:.25em}.wc-metaboxes-wrapper .wc-metabox h3:hover .handlediv,.wc-metaboxes-wrapper .wc-metabox h3:hover a.delete,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper .handlediv,.wc-metaboxes-wrapper .wc-metabox.ui-sortable-helper a.delete{visibility:visible}.wc-metaboxes-wrapper .wc-metabox table{width:100%;position:relative;background-color:#fdfdfd;padding:1em;border-top:1px solid #eee}.wc-metaboxes-wrapper .wc-metabox table td{text-align:left;padding:0 6px 1em 0;vertical-align:top;border:0}.wc-metaboxes-wrapper .wc-metabox table td label{text-align:left;display:block;line-height:21px}.wc-metaboxes-wrapper .wc-metabox table td input{float:left;min-width:200px}.wc-metaboxes-wrapper .wc-metabox table td input,.wc-metaboxes-wrapper .wc-metabox table td textarea{width:100%;margin:0;display:block;font-size:14px;padding:4px;color:#555}.wc-metaboxes-wrapper .wc-metabox table td .select2-container,.wc-metaboxes-wrapper .wc-metabox table td select{width:100%!important}.wc-metaboxes-wrapper .wc-metabox table td input.short{width:200px}.wc-metaboxes-wrapper .wc-metabox table td input.checkbox{width:16px;min-width:inherit;vertical-align:text-bottom;display:inline-block;float:none}.wc-metaboxes-wrapper .wc-metabox table td.attribute_name{width:200px}.wc-metaboxes-wrapper .wc-metabox table .minus,.wc-metaboxes-wrapper .wc-metabox table .plus{margin-top:6px}.wc-metaboxes-wrapper .wc-metabox table .fl{float:left}.wc-metaboxes-wrapper .wc-metabox table .fr{float:right}.variations-pagenav{float:right;line-height:24px}.variations-pagenav .displaying-num{color:#777;font-size:12px;font-style:italic}.variations-pagenav a{padding:0 10px 3px;background:rgba(0,0,0,.05);font-size:16px;font-weight:400;text-decoration:none}.variations-pagenav a.disabled,.variations-pagenav a.disabled:active,.variations-pagenav a.disabled:focus,.variations-pagenav a.disabled:hover{color:#A0A5AA;background:rgba(0,0,0,.05)}.variations-defaults{float:left}.variations-defaults select{margin:.25em .25em .25em 0}.woocommerce_variable_attributes{background-color:#fdfdfd;border-top:1px solid #eee}.woocommerce_variable_attributes .data{padding:1em 2em}.woocommerce_variable_attributes .data:after,.woocommerce_variable_attributes .data:before{content:" ";display:table}.woocommerce_variable_attributes .data:after{clear:both}.woocommerce_variable_attributes .upload_image_button{display:block;width:48px;height:48px;float:left;margin-right:20px;position:relative;cursor:pointer}.woocommerce_variable_attributes .upload_image_button img{width:100%;height:auto;display:none}.woocommerce_variable_attributes .upload_image_button:before{content:"\f128";font-family:Dashicons;position:absolute;top:0;left:0;right:0;bottom:0;text-align:center;line-height:48px;font-size:48px;font-weight:400;-webkit-font-smoothing:antialiased}.woocommerce_variable_attributes .upload_image_button.remove img{display:block}.woocommerce_variable_attributes .upload_image_button.remove:before{content:"\f335";display:none}.woocommerce_variable_attributes .upload_image_button.remove:hover:before{display:block}.woocommerce_variable_attributes .options{border:1px solid #eee;border-width:1px 0;padding:.25em 0}.woocommerce_variable_attributes .options label{display:inline-block;padding:4px 1em 2px 0}.woocommerce_variable_attributes .options input[type=checkbox]{margin-top:5px;margin-right:3px}.form-row label{display:block}.form-row input[type=number],.form-row input[type=text],.form-row select{width:100%}.form-row.dimensions_field input{width:25%;float:left;margin-right:1%}.form-row.dimensions_field input:last-of-type{margin-right:0}.form-row-first,.form-row-last{width:48%;float:right}.form-row-first{clear:both;float:left}.form-row-full{clear:both}.tips{cursor:help;text-decoration:none}img.tips{padding:5px 0 0}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:9999999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#333}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#333}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#333}#tiptip_holder.tip_left{padding-right:5px}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#333}#tiptip_content,.chart-tooltip,.wc_error_tip{color:#fff;font-size:.8em;max-width:150px;background:#333;text-align:center;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2)}#tiptip_content code,.chart-tooltip code,.wc_error_tip code{padding:1px;background:#888}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}.wc_error_tip{max-width:20em;line-height:1.8em;position:absolute;white-space:normal;background:#d82223;margin:1.5em 1px 0 -1em;z-index:9999999}.wc_error_tip:after{content:"";display:block;border:8px solid #d82223;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-3px;left:50%;margin:-1em 0 0 -3px}img.ui-datepicker-trigger{vertical-align:middle;margin-top:-1px;cursor:pointer}.wc-metabox-content img.ui-datepicker-trigger,.woocommerce_options_panel img.ui-datepicker-trigger{float:left;margin-right:8px;margin-top:4px;margin-left:4px}#ui-datepicker-div{display:none}.woocommerce-reports-wide.woocommerce-reports-wrap,.woocommerce-reports-wrap.woocommerce-reports-wrap{margin-left:300px;padding-top:18px}.woocommerce-reports-wide.halved,.woocommerce-reports-wrap.halved{margin:0;overflow:hidden;zoom:1}.woocommerce-reports-wide .widefat td,.woocommerce-reports-wrap .widefat td{vertical-align:top;padding:7px}.woocommerce-reports-wide .widefat td .description,.woocommerce-reports-wrap .widefat td .description{margin:4px 0 0}.woocommerce-reports-wide .postbox:after,.woocommerce-reports-wrap .postbox:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox h3,.woocommerce-reports-wrap .postbox h3{cursor:default!important}.woocommerce-reports-wide .postbox .inside,.woocommerce-reports-wrap .postbox .inside{padding:10px;margin:0!important}.woocommerce-reports-wide .postbox h3.stats_range,.woocommerce-reports-wrap .postbox h3.stats_range{border-bottom-color:#dfdfdf;margin:0;padding:0!important}.woocommerce-reports-wide .postbox h3.stats_range .export_csv,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv{float:right;line-height:26px;border-left:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range .export_csv:before,.woocommerce-reports-wrap .postbox h3.stats_range .export_csv:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;content:"";text-decoration:none;margin-right:4px}.woocommerce-reports-wide .postbox h3.stats_range ul,.woocommerce-reports-wrap .postbox h3.stats_range ul{list-style:none;margin:0;padding:0;zoom:1;background:#f5f5f5}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wide .postbox h3.stats_range ul:before,.woocommerce-reports-wrap .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:before{content:" ";display:table}.woocommerce-reports-wide .postbox h3.stats_range ul:after,.woocommerce-reports-wrap .postbox h3.stats_range ul:after{clear:both}.woocommerce-reports-wide .postbox h3.stats_range ul li,.woocommerce-reports-wrap .postbox h3.stats_range ul li{float:left;margin:0;padding:0;line-height:26px}.woocommerce-reports-wide .postbox h3.stats_range ul li a,.woocommerce-reports-wrap .postbox h3.stats_range ul li a{border-right:1px solid #dfdfdf;padding:10px;display:block;text-decoration:none}.woocommerce-reports-wide .postbox h3.stats_range ul li.active,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active{background:#fff;-webkit-box-shadow:0 4px 0 0 #fff;box-shadow:0 4px 0 0 #fff}.woocommerce-reports-wide .postbox h3.stats_range ul li.active a,.woocommerce-reports-wrap .postbox h3.stats_range ul li.active a{color:#777}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom{padding:9px 10px;vertical-align:middle}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form{display:inline;margin:0}.woocommerce-reports-wide .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wide .postbox h3.stats_range ul li.custom form input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom div input.range_datepicker,.woocommerce-reports-wrap .postbox h3.stats_range ul li.custom form input.range_datepicker{padding:0;margin:0 10px 0 0;background:0 0;border:0;color:#777;text-align:center;-webkit-box-shadow:none;box-shadow:none}.woocommerce-reports-wide .postbox .chart-with-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar{padding:12px 12px 12px 249px;margin:0!important}.woocommerce-reports-wide .postbox .chart-with-sidebar .chart-sidebar,.woocommerce-reports-wrap .postbox .chart-with-sidebar .chart-sidebar{width:225px;margin-left:-237px;float:left}.woocommerce-reports-wide .postbox .chart-widgets,.woocommerce-reports-wrap .postbox .chart-widgets{margin:0;padding:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget{margin:0 0 1em;background:#fafafa;border:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget:after{content:".";display:block;height:0;clear:both;visibility:hidden}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4{background:#fff;border:1px solid #dfdfdf;border-left-width:0;border-right-width:0;padding:10px;margin:0;color:#2ea2cc;border-top-width:0;background-image:-webkit-gradient(linear,left bottom,left top,from(#ececec),to(#f9f9f9));background-image:-webkit-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-moz-linear-gradient(bottom,#ececec,#f9f9f9);background-image:-o-linear-gradient(bottom,#ececec,#f9f9f9);background-image:linear-gradient(to top,#ececec,#f9f9f9)}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr.active td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.count,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr.active td{background:#f5f5f5}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget h4.section_title:hover,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget h4.section_title:hover{color:#a00}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title{cursor:pointer}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span{display:block}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title span:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none;float:right;font-size:.9em;line-height:1.618}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open{color:#333}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section_title.open span:after,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section_title.open span:after{display:none}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section{border-bottom:1px solid #dfdfdf}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section .select2-container,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section .select2-container{width:100%!important}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .section:last-of-type,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .section:last-of-type{border-radius:0 0 3px 3px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td{padding:7px 10px;vertical-align:top;border-top:1px solid #e5e5e5;line-height:1.4em}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.sparkline,form.report_filters div,form.report_filters input,form.report_filters label,form.report_filters p{vertical-align:middle}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table tr:first-child td,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table tr:first-child td{border-top:0}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name{max-width:175px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table td.name a,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table td.name a{word-wrap:break-word}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget table .wc_sparkline,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget table .wc_sparkline{width:32px;height:1em;display:block;float:right}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p{margin:0;padding:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget p .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget form .submit,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget p .submit{margin-top:10px}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget #product_ids,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget #product_ids{width:100%}.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wide .postbox .chart-widgets li.chart-widget .select_none,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_all,.woocommerce-reports-wrap .postbox .chart-widgets li.chart-widget .select_none{float:right;color:#999;margin-left:4px;margin-top:10px}.woocommerce-reports-wide .postbox .chart-legend,.woocommerce-reports-wrap .postbox .chart-legend{list-style:none;margin:0 0 1em;padding:0;border:1px solid #dfdfdf;border-right-width:0;border-bottom-width:0;background:#fff}.woocommerce-reports-wide .postbox .chart-legend li,.woocommerce-reports-wrap .postbox .chart-legend li{border-right:5px solid #aaa;color:#aaa;padding:1em;display:block;margin:0;-webkit-transition:all ease .5s;box-shadow:inset 0 -1px 0 0 #dfdfdf}.woocommerce-reports-wide .postbox .chart-legend li strong,.woocommerce-reports-wrap .postbox .chart-legend li strong{font-size:1.618em;line-height:1.2em;color:#464646;font-weight:400;display:block;font-family:HelveticaNeue-Light,"Helvetica Neue Light","Helvetica Neue",sans-serif}.woocommerce-reports-wide .postbox .chart-legend li strong del,.woocommerce-reports-wrap .postbox .chart-legend li strong del{color:#e74c3c;font-weight:400}.woocommerce-reports-wide .postbox .chart-legend li:hover,.woocommerce-reports-wrap .postbox .chart-legend li:hover{box-shadow:inset 0 -1px 0 0 #dfdfdf,inset 300px 0 0 rgba(156,93,144,.1);border-right:5px solid #9c5d90!important;padding-left:1.5em;color:#9c5d90}.woocommerce-reports-wide .postbox .pie-chart-legend,.woocommerce-reports-wrap .postbox .pie-chart-legend{margin:12px 0 0;overflow:hidden}.woocommerce-reports-wide .postbox .pie-chart-legend li,.woocommerce-reports-wrap .postbox .pie-chart-legend li{float:left;margin:0;padding:6px 0 0;border-top:4px solid #999;text-align:center;box-sizing:border-box;width:50%}.woocommerce-reports-wide .postbox .stat,.woocommerce-reports-wrap .postbox .stat{font-size:1.5em!important;font-weight:700;text-align:center}.woocommerce-reports-wide .postbox .chart-placeholder,.woocommerce-reports-wrap .postbox .chart-placeholder{width:100%;height:650px;overflow:hidden;position:relative}.woocommerce-reports-wide .postbox .chart-prompt,.woocommerce-reports-wrap .postbox .chart-prompt{line-height:650px;margin:0;color:#999;font-size:1.2em;font-style:italic;text-align:center}.woocommerce-reports-wide .postbox .chart-container,.woocommerce-reports-wrap .postbox .chart-container{background:#fff;padding:12px;position:relative;border:1px solid #dfdfdf;border-radius:3px}.woocommerce-reports-wide .postbox .main .chart-legend,.woocommerce-reports-wrap .postbox .main .chart-legend{margin-top:12px}.woocommerce-reports-wide .postbox .main .chart-legend li,.woocommerce-reports-wrap .postbox .main .chart-legend li{border-right:0;margin:0 8px 0 0;float:left;border-top:4px solid #aaa}.woocommerce-reports-wide .woocommerce-reports-main,.woocommerce-reports-wrap .woocommerce-reports-main{float:left;min-width:100%}.woocommerce-reports-wide .woocommerce-reports-main table td,.woocommerce-reports-wrap .woocommerce-reports-main table td{padding:9px}.woocommerce-reports-wide .woocommerce-reports-sidebar,.woocommerce-reports-wrap .woocommerce-reports-sidebar{display:inline;width:281px;margin-left:-300px;clear:both;float:left}.woocommerce-reports-wide .woocommerce-reports-left,.woocommerce-reports-wrap .woocommerce-reports-left{width:49.5%;float:left}.woocommerce-reports-wide .woocommerce-reports-right,.woocommerce-reports-wrap .woocommerce-reports-right{width:49.5%;float:right}.woocommerce-reports-wide .column-wc_actions a.edit,.woocommerce-reports-wide .column-wc_actions a.view,.woocommerce-reports-wrap .column-wc_actions a.edit,.woocommerce-reports-wrap .column-wc_actions a.view{display:block;text-indent:-9999px;position:relative;padding:0!important;height:2em!important;width:2em}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;line-height:1.85}.woocommerce-reports-wide .column-wc_actions a.edit:after,.woocommerce-reports-wrap .column-wc_actions a.edit:after{content:"\e01c"}.woocommerce-reports-wide .column-wc_actions a.view:after,.woocommerce-reports-wrap .column-wc_actions a.view:after{content:"\e010"}.woocommerce-wide-reports-wrap{padding-bottom:11px}.woocommerce-wide-reports-wrap .widefat .export-data{float:right}.woocommerce-wide-reports-wrap .widefat td,.woocommerce-wide-reports-wrap .widefat th{vertical-align:middle;padding:7px}.chart-tooltip{position:absolute;display:none;line-height:1}table.bar_chart{width:100%}table.bar_chart thead th{text-align:left;color:#ccc;padding:6px 0}table.bar_chart tbody th{padding:6px 0;width:25%;text-align:left!important;font-weight:400!important;border-bottom:1px solid #fee}table.bar_chart tbody td{text-align:right;line-height:24px;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td span{color:#8a4b75;display:block}table.bar_chart tbody td span.alt{color:#47a03e;margin-top:6px}table.bar_chart tbody td.bars{position:relative;text-align:left;padding:6px 6px 6px 0;border-bottom:1px solid #fee}table.bar_chart tbody td.bars a,table.bar_chart tbody td.bars span{text-decoration:none;clear:both;background:#8a4b75;float:left;display:block;line-height:24px;height:24px;-moz-border-radius:3px;-webkit-border-radius:3px;-o-border-radius:3px;-khtml-border-radius:3px;border-radius:3px}table.bar_chart tbody td.bars span.alt{clear:both;background:#47a03e}table.bar_chart tbody td.bars span.alt span{margin:0;color:#c5dec2!important;text-shadow:0 1px 0 #47a03e;background:0 0}@media only screen and (max-width:1280px){#order_data .order_data_column{width:48%}#order_data .order_data_column:first-child{width:100%}.woocommerce_options_panel .description{display:block;clear:both;margin-left:0}.woocommerce_options_panel .dimensions_field .wrap,.woocommerce_options_panel .short,.woocommerce_options_panel input[type=email].short,.woocommerce_options_panel input[type=number].short,.woocommerce_options_panel input[type=text].short{width:80%}.woocommerce_options_panel .downloadable_files,.woocommerce_variations .downloadable_files{padding:0;clear:both}.woocommerce_options_panel .downloadable_files label,.woocommerce_variations .downloadable_files label{position:static}.woocommerce_options_panel .downloadable_files table,.woocommerce_variations .downloadable_files table{margin:0 12px 24px;width:94%}.woocommerce_options_panel .downloadable_files table .sort,.woocommerce_variations .downloadable_files table .sort{visibility:hidden}.woocommerce_options_panel .woocommerce_variable_attributes .downloadable_files table,.woocommerce_variations .woocommerce_variable_attributes .downloadable_files table{margin:0 0 1em;width:100%}}@media only screen and (max-width:900px){#woocommerce-coupon-data ul.coupon_data_tabs,#woocommerce-product-data .wc-tabs-back,#woocommerce-product-data ul.product_data_tabs{width:10%}#woocommerce-coupon-data .wc-metaboxes-wrapper,#woocommerce-coupon-data .woocommerce_options_panel,#woocommerce-product-data .wc-metaboxes-wrapper,#woocommerce-product-data .woocommerce_options_panel{width:90%}#woocommerce-coupon-data ul.coupon_data_tabs li a,#woocommerce-product-data ul.product_data_tabs li a{position:relative;text-indent:-999px;padding:10px}#woocommerce-coupon-data ul.coupon_data_tabs li a:before,#woocommerce-product-data ul.product_data_tabs li a:before{position:absolute;top:0;right:0;bottom:0;left:0;text-indent:0;text-align:center;line-height:40px;width:100%;height:40px}}@media only screen and (max-width:782px){#wp-excerpt-media-buttons a{font-size:16px;line-height:37px;height:39px;padding:0 20px 0 15px}#wp-excerpt-editor-tools{padding-top:20px;padding-right:15px;overflow:hidden;margin-bottom:-1px}.post-type-product .wp-list-table .is-expanded td:not(.hidden),.post-type-shop_order .wp-list-table .is-expanded td:not(.hidden){overflow:visible}#woocommerce-product-data .checkbox{width:25px}.variations-pagenav{float:none;text-align:center;font-size:18px}.variations-pagenav .displaying-num{font-size:16px}.variations-pagenav a{padding:8px 20px 11px;font-size:18px}.variations-pagenav select{padding:0 20px}.variations-defaults{float:none;text-align:center;margin-top:10px}.post-type-product .wp-list-table .column-thumb{display:none;text-align:left;padding-bottom:0}.post-type-product .wp-list-table .column-thumb:before{display:none!important}.post-type-product .wp-list-table .column-thumb img{max-width:32px}.post-type-product .wp-list-table .toggle-row{top:-28px}.post-type-shop_order .wp-list-table .column-order_status{display:none;text-align:left;padding-bottom:0}.post-type-shop_order .wp-list-table .column-order_status mark{margin:0}.post-type-shop_order .wp-list-table .column-order_status:before{display:none!important}.post-type-shop_order .wp-list-table .column-customer_message,.post-type-shop_order .wp-list-table .column-order_notes{text-align:inherit}.post-type-shop_order .wp-list-table .column-order_notes .note-on{font-size:1.3em;margin:0}.post-type-shop_order .wp-list-table .toggle-row{top:-15px}}@media only screen and (max-width:500px){.woocommerce_options_panel label,.woocommerce_options_panel legend{float:none;width:auto;display:block;margin:0}.woocommerce_options_panel fieldset.form-field,.woocommerce_options_panel p.form-field{padding:5px 20px!important}}.wc-backbone-modal *{box-sizing:border-box}.wc-backbone-modal .wc-backbone-modal-content{position:fixed;top:50%;left:50%;width:500px;background:#fff;z-index:100000}.wc-backbone-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;min-height:360px;background:#000;opacity:.7;z-index:99900}.wc-backbone-modal-main{padding-bottom:51px}.wc-backbone-modal-main article,.wc-backbone-modal-main header{display:block;position:relative}.wc-backbone-modal-main .wc-backbone-modal-header{height:50px;background:#fcfcfc;padding:0 50px 0 16px;border-bottom:1px solid #ddd}.wc-backbone-modal-main .wc-backbone-modal-header h1{margin:0;font-size:18px;font-weight:700;line-height:50px}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link{cursor:pointer;color:#777;height:50px;width:50px;padding:0;position:absolute;top:0;right:0;text-align:center;border:0;border-left:1px solid #ddd;background-color:transparent;-webkit-transition:color .1s ease-in-out,background .1s ease-in-out;transition:color .1s ease-in-out,background .1s ease-in-out}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:before{font:400 22px/50px dashicons!important;color:#666;display:block;content:'\f335';font-weight:300}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus,.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:hover{background:#ddd;border-color:#ccc;color:#000}.wc-backbone-modal-main .wc-backbone-modal-header .modal-close-link:focus{outline:0}.wc-backbone-modal-main article{padding:10px 16px}.wc-backbone-modal-main article .pagination{padding:10px 0 0;text-align:center}.wc-backbone-modal-main footer{position:absolute;left:0;right:0;bottom:0;z-index:100;padding:10px 16px;background:#fcfcfc;border-top:1px solid #dfdfdf;box-shadow:0 -4px 4px -4px rgba(0,0,0,.1)}.wc-backbone-modal-main footer .inner{float:right;line-height:23px}.wc-backbone-modal-main footer .inner .button{margin-bottom:0}.select2-drop{z-index:999999!important}.select2-container-multi .select2-choices .select2-search-field input{font-family:inherit;font-size:inherit;font-weight:inherit;padding:3px 5px}.select2-container{line-height:1.85em;font-size:14px} \ No newline at end of file diff --git a/assets/css/admin.scss b/assets/css/admin.scss index d154e0f71a0..01e476ce863 100644 --- a/assets/css/admin.scss +++ b/assets/css/admin.scss @@ -1880,6 +1880,13 @@ a.import_rates { font-size: 1.2em; } } +#rates-pagination { + float: right; + margin-right: .5em; + .tablenav { + margin: 0; + } +} table.wc_tax_rates, table.wc_input_table { diff --git a/assets/js/admin/settings-views-html-settings-tax.js b/assets/js/admin/settings-views-html-settings-tax.js index c3f27e496d0..ae578fc5351 100644 --- a/assets/js/admin/settings-views-html-settings-tax.js +++ b/assets/js/admin/settings-views-html-settings-tax.js @@ -173,6 +173,9 @@ current_page: this.page, qty_pages: qty_pages } ) ); + } else { + $pagination.empty(); + view.page = 1; } // Disable sorting if there is a search term filtering the items. @@ -243,6 +246,8 @@ return parseInt( val, 10 ); } ); + // Move the last page + view.page = view.qty_pages; } rates[ newRow.tax_rate_id ] = newRow; @@ -258,27 +263,13 @@ model = view.model, rates = _.indexBy( model.get( 'rates' ), 'tax_rate_id' ), changes = {}, - $current, current_id, current_order, rates_to_reorder, reordered_rates; + $current, current_id; event.preventDefault(); if ( $current = $tbody.children( '.current' ) ) { $current.each(function(){ current_id = $( this ).data('id'); - current_order = parseInt( rates[ current_id ].tax_rate_order, 10 ); - - rates_to_reorder = _.filter( rates, function( rate ) { - if ( parseInt( rate.tax_rate_order, 10 ) > current_order ) { - return true; - } - return false; - } ); - - reordered_rates = _.map( rates_to_reorder, function( rate ) { - rate.tax_rate_order--; - changes[ rate.tax_rate_id ] = _.extend( changes[ rate.tax_rate_id ] || {}, { tax_rate_order : rate.tax_rate_order } ); - return rate; - } ); delete rates[ current_id ]; @@ -368,53 +359,29 @@ model.setRateAttribute( id, attribute, val ); }, - updateModelOnSort: function( event, ui ) { + updateModelOnSort: function( event ) { var view = event.data.view, model = view.model, - $tr = ui.item, - tax_rate_id = $tr.data( 'id' ), rates = _.indexBy( model.get( 'rates' ), 'tax_rate_id' ), - old_position = rates[ tax_rate_id ].tax_rate_order, - new_position = $tr.index() + ( ( view.page - 1 ) * view.per_page ), - which_way = ( new_position > old_position ) ? 'higher' : 'lower', - changes = {}, - rates_to_reorder, reordered_rates; + changes = {}; - rates_to_reorder = _.filter( rates, function( rate ) { - var order = parseInt( rate.tax_rate_order, 10 ), - limits = [ old_position, new_position ]; + _.each( rates, function( rate ) { + var new_position = 0; + var old_position = parseInt( rate.tax_rate_order, 10 ); - if ( parseInt( rate.tax_rate_id, 10 ) === parseInt( tax_rate_id, 10 ) ) { - return true; - } else if ( order > _.min( limits ) && order < _.max( limits ) ) { - return true; - } else if ( 'higher' === which_way && order === _.max( limits ) ) { - return true; - } else if ( 'lower' === which_way && order === _.min( limits ) ) { - return true; - } - return false; - } ); - - reordered_rates = _.map( rates_to_reorder, function( rate ) { - var order = parseInt( rate.tax_rate_order, 10 ); - - if ( parseInt( rate.tax_rate_id, 10 ) === parseInt( tax_rate_id, 10 ) ) { - rate.tax_rate_order = new_position; - } else if ( 'higher' === which_way ) { - rate.tax_rate_order = order - 1; - } else if ( 'lower' === which_way ) { - rate.tax_rate_order = order + 1; + if ( $table.find( 'tr[data-id="' + rate.tax_rate_id + '"]').size() ) { + new_position = parseInt( $table.find( 'tr[data-id="' + rate.tax_rate_id + '"]').index(), 10 ) + parseInt( ( view.page - 1 ) * view.per_page, 10 ); + } else { + new_position = old_position; } - changes[ rate.tax_rate_id ] = _.extend( changes[ rate.tax_rate_id ] || {}, { tax_rate_order : rate.tax_rate_order } ); - - return rate; + if ( old_position !== new_position ) { + changes[ rate.tax_rate_id ] = _.extend( changes[ rate.tax_rate_id ] || {}, { tax_rate_order : new_position } ); + } } ); - if ( reordered_rates.length ) { + if ( _.size( changes ) ) { model.logChanges( changes ); - view.render(); // temporary, probably should get yanked. } }, sanitizePage: function( page_num ) { @@ -432,8 +399,6 @@ } ), WCTaxTableInstance = new WCTaxTableViewConstructor({ model: WCTaxTableModelInstance, - // page: data.page, // I'd prefer to have these two specified down here in the instance, - // per_page: data.limit, // but it doesn't seem to recognize them in render if I do. :\ el: '#rates' } ); diff --git a/assets/js/admin/settings-views-html-settings-tax.min.js b/assets/js/admin/settings-views-html-settings-tax.min.js index b84d811b8a0..818fca62c0b 100644 --- a/assets/js/admin/settings-views-html-settings-tax.min.js +++ b/assets/js/admin/settings-views-html-settings-tax.min.js @@ -1 +1 @@ -!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates")),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1&&k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f,g,h,j=c.data.view,k=j.model,l=_.indexBy(k.get("rates"),"tax_rate_id"),m={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),f=parseInt(l[e].tax_rate_order,10),g=_.filter(l,function(a){return parseInt(a.tax_rate_order,10)>f?!0:!1}),h=_.map(g,function(a){return a.tax_rate_order--,m[a.tax_rate_id]=_.extend(m[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a}),delete l[e],m[e]=_.extend(m[e]||{},{deleted:"deleted"})}),k.set("rates",l),k.logChanges(m),j.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a,b){var c,d,e=a.data.view,f=e.model,g=b.item,h=g.data("id"),i=_.indexBy(f.get("rates"),"tax_rate_id"),j=i[h].tax_rate_order,k=g.index()+(e.page-1)*e.per_page,l=k>j?"higher":"lower",m={};c=_.filter(i,function(a){var b=parseInt(a.tax_rate_order,10),c=[j,k];return parseInt(a.tax_rate_id,10)===parseInt(h,10)?!0:b>_.min(c)&&b<_.max(c)?!0:"higher"===l&&b===_.max(c)?!0:"lower"===l&&b===_.min(c)?!0:!1}),d=_.map(c,function(a){var b=parseInt(a.tax_rate_order,10);return parseInt(a.tax_rate_id,10)===parseInt(h,10)?a.tax_rate_order=k:"higher"===l?a.tax_rate_order=b-1:"lower"===l&&(a.tax_rate_order=b+1),m[a.tax_rate_id]=_.extend(m[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a}),d.length&&(f.logChanges(m),e.render())},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file +!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates")),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1?k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})):(k.empty(),n.page=1),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):(n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),h.page=h.qty_pages),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f=c.data.view,g=f.model,h=_.indexBy(g.get("rates"),"tax_rate_id"),j={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),delete h[e],j[e]=_.extend(j[e]||{},{deleted:"deleted"})}),g.set("rates",h),g.logChanges(j),f.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a){var b=a.data.view,c=b.model,d=_.indexBy(c.get("rates"),"tax_rate_id"),e={};_.each(d,function(a){var c=0,d=parseInt(a.tax_rate_order,10);c=h.find('tr[data-id="'+a.tax_rate_id+'"]').size()?parseInt(h.find('tr[data-id="'+a.tax_rate_id+'"]').index(),10)+parseInt((b.page-1)*b.per_page,10):d,d!==c&&(e[a.tax_rate_id]=_.extend(e[a.tax_rate_id]||{},{tax_rate_order:c}))}),_.size(e)&&c.logChanges(e)},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file diff --git a/includes/admin/settings/views/html-settings-tax.php b/includes/admin/settings/views/html-settings-tax.php index 278ff2ed485..55d51c37071 100644 --- a/includes/admin/settings/views/html-settings-tax.php +++ b/includes/admin/settings/views/html-settings-tax.php @@ -5,9 +5,11 @@ if ( ! defined( 'ABSPATH' ) ) { ?> +
    +

    From 636e2389aa139939af4d75d34b02f1f9480a4721 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Tue, 12 Jan 2016 14:03:01 -0200 Subject: [PATCH 069/162] =?UTF-8?q?Changed=20=E2=80=A6=20to=20…?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- includes/admin/settings/views/html-settings-tax.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/settings/views/html-settings-tax.php b/includes/admin/settings/views/html-settings-tax.php index 55d51c37071..c660c3891d6 100644 --- a/includes/admin/settings/views/html-settings-tax.php +++ b/includes/admin/settings/views/html-settings-tax.php @@ -39,7 +39,7 @@ if ( ! defined( 'ABSPATH' ) ) { - +
    From 626c1a127a31d3ae45c8b4134821f8a212f9ad5a Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Tue, 12 Jan 2016 14:03:20 -0200 Subject: [PATCH 070/162] POT --- i18n/languages/woocommerce.pot | 110 ++++++++++++++++----------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/i18n/languages/woocommerce.pot b/i18n/languages/woocommerce.pot index a0c22acdb3b..515cd2caa0a 100644 --- a/i18n/languages/woocommerce.pot +++ b/i18n/languages/woocommerce.pot @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: WooCommerce 2.5.0-RC2\n" "Report-Msgid-Bugs-To: https://github.com/woothemes/woocommerce/issues\n" -"POT-Creation-Date: 2016-01-11 16:30:45+00:00\n" +"POT-Creation-Date: 2016-01-12 16:03:14+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -6863,7 +6863,7 @@ msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:63 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:112 #: includes/admin/settings/class-wc-settings-tax.php:170 -#: includes/admin/settings/views/html-settings-tax.php:20 +#: includes/admin/settings/views/html-settings-tax.php:22 #: templates/cart/shipping-calculator.php:82 msgid "City" msgstr "" @@ -8290,7 +8290,7 @@ msgstr "" #: includes/admin/meta-boxes/views/html-order-shipping.php:20 #: includes/admin/settings/class-wc-settings-shipping.php:27 #: includes/admin/settings/class-wc-settings-tax.php:175 -#: includes/admin/settings/views/html-settings-tax.php:25 +#: includes/admin/settings/views/html-settings-tax.php:27 #: includes/wc-cart-functions.php:180 templates/cart/cart-totals.php:54 #: templates/cart/cart-totals.php:55 msgid "Shipping" @@ -8463,7 +8463,7 @@ msgstr "" #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:270 #: includes/admin/meta-boxes/views/html-order-items.php:21 -#: includes/admin/settings/views/html-settings-tax.php:11 +#: includes/admin/settings/views/html-settings-tax.php:13 #: includes/admin/settings/views/settings-tax.php:53 #: includes/admin/views/html-bulk-edit-product.php:95 #: includes/admin/views/html-quick-edit-product.php:73 @@ -9379,7 +9379,7 @@ msgstr "" #: includes/admin/reports/class-wc-report-sales-by-product.php:390 #: includes/admin/reports/class-wc-report-taxes-by-code.php:38 #: includes/admin/reports/class-wc-report-taxes-by-date.php:38 -#: includes/admin/settings/views/html-settings-tax.php:33 +#: includes/admin/settings/views/html-settings-tax.php:35 msgid "Export CSV" msgstr "" @@ -10695,7 +10695,7 @@ msgid "State Code" msgstr "" #: includes/admin/settings/class-wc-settings-tax.php:169 -#: includes/admin/settings/views/html-settings-tax.php:19 +#: includes/admin/settings/views/html-settings-tax.php:21 msgid "ZIP/Postcode" msgstr "" @@ -10704,12 +10704,12 @@ msgid "Tax Name" msgstr "" #: includes/admin/settings/class-wc-settings-tax.php:173 -#: includes/admin/settings/views/html-settings-tax.php:23 +#: includes/admin/settings/views/html-settings-tax.php:25 msgid "Priority" msgstr "" #: includes/admin/settings/class-wc-settings-tax.php:174 -#: includes/admin/settings/views/html-settings-tax.php:24 +#: includes/admin/settings/views/html-settings-tax.php:26 msgid "Compound" msgstr "" @@ -10762,116 +10762,116 @@ msgid "QRCode" msgstr "" #: includes/admin/settings/views/html-settings-tax.php:8 -msgid "Search…" +msgid "Search…" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:11 +#: includes/admin/settings/views/html-settings-tax.php:13 msgid "\"%s\" Tax Rates" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:17 +#: includes/admin/settings/views/html-settings-tax.php:19 msgid "Country Code" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:17 +#: includes/admin/settings/views/html-settings-tax.php:19 msgid "A 2 digit country code, e.g. US. Leave blank to apply to all." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:18 +#: includes/admin/settings/views/html-settings-tax.php:20 msgid "State Code" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:18 +#: includes/admin/settings/views/html-settings-tax.php:20 msgid "A 2 digit state code, e.g. AL. Leave blank to apply to all." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:19 +#: includes/admin/settings/views/html-settings-tax.php:21 msgid "" "Postcode for this rule. Semi-colon (;) separate multiple values. Leave " "blank to apply to all areas. Wildcards (*) can be used. Ranges for numeric " "postcodes (e.g. 12345-12350) will be expanded into individual postcodes." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:20 +#: includes/admin/settings/views/html-settings-tax.php:22 msgid "" "Cities for this rule. Semi-colon (;) separate multiple values. Leave blank " "to apply to all cities." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:21 +#: includes/admin/settings/views/html-settings-tax.php:23 msgid "Rate %" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:21 +#: includes/admin/settings/views/html-settings-tax.php:23 msgid "Enter a tax rate (percentage) to 4 decimal places." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:22 +#: includes/admin/settings/views/html-settings-tax.php:24 msgid "Tax Name" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:22 +#: includes/admin/settings/views/html-settings-tax.php:24 msgid "Enter a name for this tax rate." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:23 +#: includes/admin/settings/views/html-settings-tax.php:25 msgid "" "Choose a priority for this tax rate. Only 1 matching rate per priority will " "be used. To define multiple tax rates for a single area you need to specify " "a different priority per rate." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:24 +#: includes/admin/settings/views/html-settings-tax.php:26 msgid "" "Choose whether or not this is a compound rate. Compound tax rates are " "applied on top of other tax rates." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:25 +#: includes/admin/settings/views/html-settings-tax.php:27 msgid "Choose whether or not this tax rate also gets applied to shipping." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:31 +#: includes/admin/settings/views/html-settings-tax.php:33 msgid "Insert row" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:32 +#: includes/admin/settings/views/html-settings-tax.php:34 msgid "Remove selected row(s)" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:34 +#: includes/admin/settings/views/html-settings-tax.php:36 msgid "Import CSV" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:40 -msgid "Loading…" +#: includes/admin/settings/views/html-settings-tax.php:42 +msgid "Loading…" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:46 +#: includes/admin/settings/views/html-settings-tax.php:48 msgid "Tax rate ID: %s" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:89 +#: includes/admin/settings/views/html-settings-tax.php:91 msgid "No Matching Tax Rates Found." msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:100 +#: includes/admin/settings/views/html-settings-tax.php:102 msgid "First page" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:104 +#: includes/admin/settings/views/html-settings-tax.php:106 msgid "Previous page" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:109 +#: includes/admin/settings/views/html-settings-tax.php:111 msgid "Current Page" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:116 +#: includes/admin/settings/views/html-settings-tax.php:118 msgid "Next page" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:120 +#: includes/admin/settings/views/html-settings-tax.php:122 msgid "Last page" msgstr "" @@ -13420,81 +13420,81 @@ msgstr "" msgid "Email Address" msgstr "" -#: includes/class-wc-coupon.php:761 +#: includes/class-wc-coupon.php:787 msgid "Coupon code applied successfully." msgstr "" -#: includes/class-wc-coupon.php:764 +#: includes/class-wc-coupon.php:790 msgid "Coupon code removed successfully." msgstr "" -#: includes/class-wc-coupon.php:782 +#: includes/class-wc-coupon.php:808 msgid "Coupon is not valid." msgstr "" -#: includes/class-wc-coupon.php:785 +#: includes/class-wc-coupon.php:811 msgid "Coupon \"%s\" does not exist!" msgstr "" -#: includes/class-wc-coupon.php:788 +#: includes/class-wc-coupon.php:814 msgid "" "Sorry, it seems the coupon \"%s\" is invalid - it has now been removed from " "your order." msgstr "" -#: includes/class-wc-coupon.php:791 +#: includes/class-wc-coupon.php:817 msgid "" "Sorry, it seems the coupon \"%s\" is not yours - it has now been removed " "from your order." msgstr "" -#: includes/class-wc-coupon.php:794 +#: includes/class-wc-coupon.php:820 msgid "Coupon code already applied!" msgstr "" -#: includes/class-wc-coupon.php:797 +#: includes/class-wc-coupon.php:823 msgid "" "Sorry, coupon \"%s\" has already been applied and cannot be used in " "conjunction with other coupons." msgstr "" -#: includes/class-wc-coupon.php:800 +#: includes/class-wc-coupon.php:826 msgid "Coupon usage limit has been reached." msgstr "" -#: includes/class-wc-coupon.php:803 +#: includes/class-wc-coupon.php:829 msgid "This coupon has expired." msgstr "" -#: includes/class-wc-coupon.php:806 +#: includes/class-wc-coupon.php:832 msgid "The minimum spend for this coupon is %s." msgstr "" -#: includes/class-wc-coupon.php:809 +#: includes/class-wc-coupon.php:835 msgid "The maximum spend for this coupon is %s." msgstr "" -#: includes/class-wc-coupon.php:812 +#: includes/class-wc-coupon.php:838 msgid "Sorry, this coupon is not applicable to your cart contents." msgstr "" -#: includes/class-wc-coupon.php:825 +#: includes/class-wc-coupon.php:851 msgid "Sorry, this coupon is not applicable to the products: %s." msgstr "" -#: includes/class-wc-coupon.php:844 +#: includes/class-wc-coupon.php:870 msgid "Sorry, this coupon is not applicable to the categories: %s." msgstr "" -#: includes/class-wc-coupon.php:847 +#: includes/class-wc-coupon.php:873 msgid "Sorry, this coupon is not valid for sale items." msgstr "" -#: includes/class-wc-coupon.php:867 +#: includes/class-wc-coupon.php:893 msgid "Coupon does not exist!" msgstr "" -#: includes/class-wc-coupon.php:870 +#: includes/class-wc-coupon.php:896 msgid "Please enter a coupon code." msgstr "" @@ -17510,12 +17510,12 @@ msgctxt "Settings group label" msgid "Checkout" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:96 +#: includes/admin/settings/views/html-settings-tax.php:98 msgctxt "%s will be a number eventually, but must be a string for now." msgid "%s items" msgstr "" -#: includes/admin/settings/views/html-settings-tax.php:110 +#: includes/admin/settings/views/html-settings-tax.php:112 msgctxt "Pagination, like `1 of 3`" msgid "%1$s of %2$s" msgstr "" From ece376bac1ad36dd7da18a155183157502cc0359 Mon Sep 17 00:00:00 2001 From: Joey Kudish Date: Tue, 12 Jan 2016 22:45:05 -0800 Subject: [PATCH 071/162] weight/dim normalization: allow custom from unit Add a third optional parameter to the weight and dimension normalization functions in order to be able to specify a specific "from unit" instead of using the site option. This allows arbitrary conversions between different units of measure; which is particularly useful for extensions that need to perform arbitrary unit conversions (e.g. shipping extension that specifies custom box formats). Also includes updated tests. --- includes/wc-formatting-functions.php | 14 ++++++++++---- tests/unit-tests/formatting/functions.php | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/includes/wc-formatting-functions.php b/includes/wc-formatting-functions.php index a0667b78cec..b35c66ef59e 100644 --- a/includes/wc-formatting-functions.php +++ b/includes/wc-formatting-functions.php @@ -46,11 +46,14 @@ function wc_get_filename_from_url( $file_url ) { * * @param mixed $dim * @param mixed $to_unit 'in', 'm', 'cm', 'm' + * @param mixed $from_unit (optional) 'in', 'm', 'cm', 'm' * @return float */ -function wc_get_dimension( $dim, $to_unit ) { +function wc_get_dimension( $dim, $to_unit, $from_unit = null ) { - $from_unit = strtolower( get_option( 'woocommerce_dimension_unit' ) ); + if ( empty( $from_unit ) ) { + $from_unit = strtolower( get_option( 'woocommerce_dimension_unit' ) ); + } $to_unit = strtolower( $to_unit ); // Unify all units to cm first @@ -97,11 +100,14 @@ function wc_get_dimension( $dim, $to_unit ) { * * @param mixed $weight * @param mixed $to_unit 'g', 'kg', 'lbs' + * @param mixed $from_unit (optional) 'g', 'kg', 'lbs' * @return float */ -function wc_get_weight( $weight, $to_unit ) { +function wc_get_weight( $weight, $to_unit, $from_unit = null ) { - $from_unit = strtolower( get_option('woocommerce_weight_unit') ); + if ( empty( $from_unit ) ) { + $from_unit = strtolower( get_option( 'woocommerce_weight_unit' ) ); + } $to_unit = strtolower( $to_unit ); //Unify all units to kg first diff --git a/tests/unit-tests/formatting/functions.php b/tests/unit-tests/formatting/functions.php index 10107b09883..92b1490c071 100644 --- a/tests/unit-tests/formatting/functions.php +++ b/tests/unit-tests/formatting/functions.php @@ -95,10 +95,17 @@ class Functions extends \WC_Unit_Test_Case { array( 0, wc_get_dimension( -10, 'mm' ) ), ); + $custom = array( + array( 25.4, wc_get_dimension( 10, 'cm', 'in' ) ), + array( 914.4, wc_get_dimension( 10, 'cm', 'yd' ) ), + array( 393.7, wc_get_dimension( 10, 'in', 'm' ) ), + array( 0.010936133, wc_get_dimension( 10, 'yd', 'mm' ) ) + ); + // restore default update_option( 'woocommerce_dimension_unit', $default_unit ); - return array_merge( $cm, $in, $m, $mm, $yd, $n ); + return array_merge( $cm, $in, $m, $mm, $yd, $n, $custom ); } @@ -152,6 +159,12 @@ class Functions extends \WC_Unit_Test_Case { $this->assertEquals( 0.6249987469, wc_get_weight( 10, 'lbs' ) ); $this->assertEquals( 10, wc_get_weight( 10, 'oz' ) ); + // custom from unit + $this->assertEquals( 0.283495, wc_get_weight( 10, 'kg', 'oz' ) ); + $this->assertEquals( 0.01, wc_get_weight( 10, 'kg', 'g' ) ); + $this->assertEquals( 4.53592, wc_get_weight( 10, 'kg', 'lbs' ) ); + $this->assertEquals( 10, wc_get_weight( 10, 'kg', 'kg' ) ); + // negative $this->assertEquals( 0, wc_get_weight( -10, 'g' ) ); From 0d569948fda62a2d7a1cbf4050817d465458f74f Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 13 Jan 2016 10:33:07 +0000 Subject: [PATCH 072/162] spacing --- includes/class-wc-query.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index e4e3c76039c..fe6d01d9166 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -212,7 +212,7 @@ class WC_Query { } // Fix for verbose page rules - if ( $GLOBALS['wp_rewrite']->use_verbose_page_rules && isset( $q->queried_object->ID ) && $q->queried_object->ID === wc_get_page_id('shop') ) { + if ( $GLOBALS['wp_rewrite']->use_verbose_page_rules && isset( $q->queried_object->ID ) && $q->queried_object->ID === wc_get_page_id( 'shop' ) ) { $q->set( 'post_type', 'product' ); $q->set( 'page', '' ); $q->set( 'pagename', '' ); @@ -225,7 +225,7 @@ class WC_Query { } // Fix for endpoints on the homepage - if ( $q->is_home() && 'page' == get_option('show_on_front') && get_option('page_on_front') != $q->get('page_id') ) { + if ( $q->is_home() && 'page' == get_option( 'show_on_front' ) && get_option( 'page_on_front' ) != $q->get('page_id') ) { $_query = wp_parse_args( $q->query ); if ( ! empty( $_query ) && array_intersect( array_keys( $_query ), array_keys( $this->query_vars ) ) ) { $q->is_page = true; @@ -237,7 +237,7 @@ class WC_Query { } // When orderby is set, WordPress shows posts. Get around that here. - if ( $q->is_home() && 'page' == get_option('show_on_front') && get_option('page_on_front') == wc_get_page_id('shop') ) { + if ( $q->is_home() && 'page' == get_option( 'show_on_front' ) && get_option( 'page_on_front' ) == wc_get_page_id( 'shop' ) ) { $_query = wp_parse_args( $q->query ); if ( empty( $_query ) || ! array_diff( array_keys( $_query ), array( 'preview', 'page', 'paged', 'cpage', 'orderby' ) ) ) { $q->is_page = true; From 133e7686b5b54491131f5f55e3d2c93bde74af02 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 13 Jan 2016 11:01:08 +0000 Subject: [PATCH 073/162] Stop canonical redirect breaking front page endpoints Fixes #10062 --- includes/class-wc-query.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index fe6d01d9166..2c67700a781 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -225,30 +225,30 @@ class WC_Query { } // Fix for endpoints on the homepage - if ( $q->is_home() && 'page' == get_option( 'show_on_front' ) && get_option( 'page_on_front' ) != $q->get('page_id') ) { + if ( $q->is_home() && 'page' === get_option( 'show_on_front' ) && absint( get_option( 'page_on_front' ) ) !== $q->get( 'page_id' ) ) { $_query = wp_parse_args( $q->query ); if ( ! empty( $_query ) && array_intersect( array_keys( $_query ), array_keys( $this->query_vars ) ) ) { $q->is_page = true; $q->is_home = false; $q->is_singular = true; - - $q->set( 'page_id', get_option('page_on_front') ); + $q->set( 'page_id', (int) get_option( 'page_on_front' ) ); + add_filter( 'redirect_canonical', '__return_false' ); } } // When orderby is set, WordPress shows posts. Get around that here. - if ( $q->is_home() && 'page' == get_option( 'show_on_front' ) && get_option( 'page_on_front' ) == wc_get_page_id( 'shop' ) ) { + if ( $q->is_home() && 'page' === get_option( 'show_on_front' ) && absint( get_option( 'page_on_front' ) ) === wc_get_page_id( 'shop' ) ) { $_query = wp_parse_args( $q->query ); if ( empty( $_query ) || ! array_diff( array_keys( $_query ), array( 'preview', 'page', 'paged', 'cpage', 'orderby' ) ) ) { $q->is_page = true; $q->is_home = false; - $q->set( 'page_id', get_option('page_on_front') ); + $q->set( 'page_id', (int) get_option( 'page_on_front' ) ); $q->set( 'post_type', 'product' ); } } // Special check for shops with the product archive on front - if ( $q->is_page() && 'page' == get_option( 'show_on_front' ) && $q->get( 'page_id' ) == wc_get_page_id( 'shop' ) ) { + if ( $q->is_page() && 'page' === get_option( 'show_on_front' ) && $q->get( 'page_id' ) === wc_get_page_id( 'shop' ) ) { // This is a front-page shop $q->set( 'post_type', 'product' ); From 37003b23703cbf0fcf6920f1f016cef9bf96ee98 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 13 Jan 2016 11:07:05 +0000 Subject: [PATCH 074/162] Round get_remaining_refund_amount Fixes #10060 --- includes/class-wc-order.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/class-wc-order.php b/includes/class-wc-order.php index 12e5b8780f1..d6e2d0abf35 100644 --- a/includes/class-wc-order.php +++ b/includes/class-wc-order.php @@ -289,7 +289,7 @@ class WC_Order extends WC_Abstract_Order { * @return string */ public function get_remaining_refund_amount() { - return wc_format_decimal( $this->get_total() - $this->get_total_refunded() ); + return wc_format_decimal( $this->get_total() - $this->get_total_refunded(), wc_get_price_decimals() ); } /** From 35d20f61a8104b815837c73b9da58b940290c928 Mon Sep 17 00:00:00 2001 From: Diego Zanella Date: Wed, 13 Jan 2016 13:35:24 +0000 Subject: [PATCH 075/162] Added shipping class instance to woocommerce_evaluate_shipping_cost_args The instance is going to be useful if any 3rd party needs to read any other property of the shipping class, which might not have been passed through the $args variable. --- includes/shipping/flat-rate/class-wc-shipping-flat-rate.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php index 4c68b819158..b346dbe4200 100644 --- a/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php +++ b/includes/shipping/flat-rate/class-wc-shipping-flat-rate.php @@ -68,7 +68,7 @@ class WC_Shipping_Flat_Rate extends WC_Shipping_Method { include_once( 'includes/class-wc-eval-math.php' ); // Allow 3rd parties to process shipping cost arguments - $args = apply_filters( 'woocommerce_evaluate_shipping_cost_args', $args, $sum ); + $args = apply_filters( 'woocommerce_evaluate_shipping_cost_args', $args, $sum, $this ); $locale = localeconv(); $decimals = array( wc_get_price_decimal_separator(), $locale['decimal_point'], $locale['mon_decimal_point'] ); $this->fee_cost = $args['cost']; From 35e45e60756b4604095d879402d9f4715fdf6af4 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 13 Jan 2016 15:07:47 +0000 Subject: [PATCH 076/162] Make price function clearer @tamarazuk @franticpsyx @daigo75 Hopefully this makes it clearer which values are returned and when the filter is ran. --- includes/class-wc-product-variable.php | 116 +++++++++++++------------ 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/includes/class-wc-product-variable.php b/includes/class-wc-product-variable.php index 013195e229b..800102ce5e1 100644 --- a/includes/class-wc-product-variable.php +++ b/includes/class-wc-product-variable.php @@ -263,73 +263,77 @@ class WC_Product_Variable extends WC_Product { $price_hash = md5( json_encode( apply_filters( 'woocommerce_get_variation_prices_hash', $price_hash, $this, $display ) ) ); - // If the value has already been generated, return it now - if ( ! empty( $this->prices_array[ $price_hash ] ) ) { - return $this->prices_array[ $price_hash ]; - } - - // Get value of transient - $this->prices_array = array_filter( (array) json_decode( strval( get_transient( $transient_name ) ), true ) ); - - // If the product version has changed, reset cache - if ( empty( $this->prices_array['version'] ) || $this->prices_array['version'] !== WC_Cache_Helper::get_transient_version( 'product' ) ) { - $this->prices_array = array( 'version' => WC_Cache_Helper::get_transient_version( 'product' ) ); - } - - // If the prices are not stored for this hash, generate them + // If the value has already been generated, we don't need to grab the values again. if ( empty( $this->prices_array[ $price_hash ] ) ) { - $prices = array(); - $regular_prices = array(); - $sale_prices = array(); - $variation_ids = $this->get_children( true ); - foreach ( $variation_ids as $variation_id ) { - if ( $variation = $this->get_child( $variation_id ) ) { - $price = apply_filters( 'woocommerce_variation_prices_price', $variation->price, $variation, $this ); - $regular_price = apply_filters( 'woocommerce_variation_prices_regular_price', $variation->regular_price, $variation, $this ); - $sale_price = apply_filters( 'woocommerce_variation_prices_sale_price', $variation->sale_price, $variation, $this ); + // Get value of transient + $this->prices_array = array_filter( (array) json_decode( strval( get_transient( $transient_name ) ), true ) ); - // If sale price does not equal price, the product is not yet on sale - if ( $sale_price === $regular_price || $sale_price !== $price ) { - $sale_price = $regular_price; - } - - // If we are getting prices for display, we need to account for taxes - if ( $display ) { - if ( 'incl' === get_option( 'woocommerce_tax_display_shop' ) ) { - $price = '' === $price ? '' : $variation->get_price_including_tax( 1, $price ); - $regular_price = '' === $regular_price ? '' : $variation->get_price_including_tax( 1, $regular_price ); - $sale_price = '' === $sale_price ? '' : $variation->get_price_including_tax( 1, $sale_price ); - } else { - $price = '' === $price ? '' : $variation->get_price_excluding_tax( 1, $price ); - $regular_price = '' === $regular_price ? '' : $variation->get_price_excluding_tax( 1, $regular_price ); - $sale_price = '' === $sale_price ? '' : $variation->get_price_excluding_tax( 1, $sale_price ); - } - } - - $prices[ $variation_id ] = $price; - $regular_prices[ $variation_id ] = $regular_price; - $sale_prices[ $variation_id ] = $sale_price; - } + // If the product version has changed, reset cache + if ( empty( $this->prices_array['version'] ) || $this->prices_array['version'] !== WC_Cache_Helper::get_transient_version( 'product' ) ) { + $this->prices_array = array( 'version' => WC_Cache_Helper::get_transient_version( 'product' ) ); } - asort( $prices ); - asort( $regular_prices ); - asort( $sale_prices ); + // If the prices are not stored for this hash, generate them + if ( empty( $this->prices_array[ $price_hash ] ) ) { + $prices = array(); + $regular_prices = array(); + $sale_prices = array(); + $variation_ids = $this->get_children( true ); - $this->prices_array[ $price_hash ] = array( - 'price' => $prices, - 'regular_price' => $regular_prices, - 'sale_price' => $sale_prices - ); + foreach ( $variation_ids as $variation_id ) { + if ( $variation = $this->get_child( $variation_id ) ) { + $price = apply_filters( 'woocommerce_variation_prices_price', $variation->price, $variation, $this ); + $regular_price = apply_filters( 'woocommerce_variation_prices_regular_price', $variation->regular_price, $variation, $this ); + $sale_price = apply_filters( 'woocommerce_variation_prices_sale_price', $variation->sale_price, $variation, $this ); - set_transient( $transient_name, json_encode( $this->prices_array ), DAY_IN_SECONDS * 30 ); + // If sale price does not equal price, the product is not yet on sale + if ( $sale_price === $regular_price || $sale_price !== $price ) { + $sale_price = $regular_price; + } + + // If we are getting prices for display, we need to account for taxes + if ( $display ) { + if ( 'incl' === get_option( 'woocommerce_tax_display_shop' ) ) { + $price = '' === $price ? '' : $variation->get_price_including_tax( 1, $price ); + $regular_price = '' === $regular_price ? '' : $variation->get_price_including_tax( 1, $regular_price ); + $sale_price = '' === $sale_price ? '' : $variation->get_price_including_tax( 1, $sale_price ); + } else { + $price = '' === $price ? '' : $variation->get_price_excluding_tax( 1, $price ); + $regular_price = '' === $regular_price ? '' : $variation->get_price_excluding_tax( 1, $regular_price ); + $sale_price = '' === $sale_price ? '' : $variation->get_price_excluding_tax( 1, $sale_price ); + } + } + + $prices[ $variation_id ] = $price; + $regular_prices[ $variation_id ] = $regular_price; + $sale_prices[ $variation_id ] = $sale_price; + } + } + + asort( $prices ); + asort( $regular_prices ); + asort( $sale_prices ); + + $this->prices_array[ $price_hash ] = array( + 'price' => $prices, + 'regular_price' => $regular_prices, + 'sale_price' => $sale_prices + ); + + set_transient( $transient_name, json_encode( $this->prices_array ), DAY_IN_SECONDS * 30 ); + } + + /** + * Give plugins one last chance to filter the variation prices array which has been generated. + */ + $this->prices_array[ $price_hash ] = apply_filters( 'woocommerce_variation_prices', $this->prices_array[ $price_hash ], $this, $display ); } /** - * Give plugins one last chance to filter the variation prices array which is being returned. + * Return the values. */ - return $this->prices_array[ $price_hash ] = apply_filters( 'woocommerce_variation_prices', $this->prices_array[ $price_hash ], $this, $display ); + return $this->prices_array[ $price_hash ]; } /** From 9499d561d3f801caa8f72e205904482ef42059f7 Mon Sep 17 00:00:00 2001 From: Nicola Mustone Date: Thu, 14 Jan 2016 08:01:22 +0100 Subject: [PATCH 077/162] add WP_CRON to the system status --- includes/admin/views/html-admin-page-status-report.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index 8f04d2aa307..b8b1c95e053 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -83,6 +83,11 @@ if ( ! defined( 'ABSPATH' ) ) { ✔'; else echo ''; ?> + + : + + ✔'; else echo ''; ?> + : From f457d1c453341d79336c992207918ab8481ba3b2 Mon Sep 17 00:00:00 2001 From: Nicola Mustone Date: Thu, 14 Jan 2016 10:42:57 +0100 Subject: [PATCH 078/162] use the correct constant --- includes/admin/views/html-admin-page-status-report.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index b8b1c95e053..48f530be777 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -86,7 +86,7 @@ if ( ! defined( 'ABSPATH' ) ) { : - ✔'; else echo ''; ?> + ✔'; else echo ''; ?> : From 03e3f7ca3dbf55b8cc13f9744c10cede8870cb63 Mon Sep 17 00:00:00 2001 From: Nicola Mustone Date: Thu, 14 Jan 2016 10:51:56 +0100 Subject: [PATCH 079/162] better wording --- includes/admin/views/html-admin-page-status-report.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index 48f530be777..88160cc1567 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -84,7 +84,7 @@ if ( ! defined( 'ABSPATH' ) ) { ✔'; else echo ''; ?> - : + : ✔'; else echo ''; ?> From ff82b623bdb5a7834f7e42c714e2d9a2db92d27f Mon Sep 17 00:00:00 2001 From: Nicola Mustone Date: Thu, 14 Jan 2016 11:09:30 +0100 Subject: [PATCH 080/162] invert signs --- includes/admin/views/html-admin-page-status-report.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index 88160cc1567..e0d36244d55 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -84,9 +84,9 @@ if ( ! defined( 'ABSPATH' ) ) { ✔'; else echo ''; ?> - : + : - ✔'; else echo ''; ?> + –'; else echo ''; ?> : From b788418283465e1dbde18d465531db40ec63822a Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 14 Jan 2016 13:23:59 +0000 Subject: [PATCH 081/162] Load shipping methods during save Fixes #10072 --- includes/admin/settings/class-wc-settings-shipping.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/settings/class-wc-settings-shipping.php b/includes/admin/settings/class-wc-settings-shipping.php index 4abde90b474..1edd7e095c7 100644 --- a/includes/admin/settings/class-wc-settings-shipping.php +++ b/includes/admin/settings/class-wc-settings-shipping.php @@ -244,7 +244,7 @@ class WC_Settings_Shipping extends WC_Settings_Page { $wc_shipping->process_admin_options(); } else { - foreach ( $wc_shipping->get_shipping_methods() as $method_id => $method ) { + foreach ( $wc_shipping->load_shipping_methods() as $method_id => $method ) { if ( $current_section === sanitize_title( get_class( $method ) ) ) { do_action( 'woocommerce_update_options_' . $this->id . '_' . $method->id ); } From 31975f59801fff56c7c22272a4c3a2247389a55b Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 14 Jan 2016 11:35:01 -0200 Subject: [PATCH 082/162] Fixed coding standards for #10063 --- includes/wc-formatting-functions.php | 114 ++++++++++++++------------- 1 file changed, 59 insertions(+), 55 deletions(-) diff --git a/includes/wc-formatting-functions.php b/includes/wc-formatting-functions.php index b35c66ef59e..d9e469de9e8 100644 --- a/includes/wc-formatting-functions.php +++ b/includes/wc-formatting-functions.php @@ -42,102 +42,106 @@ function wc_get_filename_from_url( $file_url ) { /** * Normalise dimensions, unify to cm then convert to wanted unit value. * - * Usage: wc_get_dimension(55, 'in'); + * Usage: + * wc_get_dimension(55, 'in'); + * wc_get_dimension(55, 'in', 'm'); * - * @param mixed $dim - * @param mixed $to_unit 'in', 'm', 'cm', 'm' - * @param mixed $from_unit (optional) 'in', 'm', 'cm', 'm' + * @param int|float $dimension + * @param string $to_unit 'in', 'm', 'cm', 'm' + * @param string $from_unit (optional) 'in', 'm', 'cm', 'm' * @return float */ -function wc_get_dimension( $dim, $to_unit, $from_unit = null ) { +function wc_get_dimension( $dimension, $to_unit, $from_unit = '' ) { + $to_unit = strtolower( $to_unit ); if ( empty( $from_unit ) ) { $from_unit = strtolower( get_option( 'woocommerce_dimension_unit' ) ); } - $to_unit = strtolower( $to_unit ); - // Unify all units to cm first + // Unify all units to cm first. if ( $from_unit !== $to_unit ) { - switch ( $from_unit ) { - case 'in': - $dim *= 2.54; - break; - case 'm': - $dim *= 100; - break; - case 'mm': - $dim *= 0.1; - break; - case 'yd': - $dim *= 91.44; - break; + case 'in' : + $dimension *= 2.54; + break; + case 'm' : + $dimension *= 100; + break; + case 'mm' : + $dimension *= 0.1; + break; + case 'yd' : + $dimension *= 91.44; + break; } - // Output desired unit + // Output desired unit. switch ( $to_unit ) { - case 'in': - $dim *= 0.3937; - break; - case 'm': - $dim *= 0.01; - break; - case 'mm': - $dim *= 10; - break; - case 'yd': - $dim *= 0.010936133; - break; + case 'in' : + $dimension *= 0.3937; + break; + case 'm' : + $dimension *= 0.01; + break; + case 'mm' : + $dimension *= 10; + break; + case 'yd' : + $dimension *= 0.010936133; + break; } } - return ( $dim < 0 ) ? 0 : $dim; + + return ( $dimension < 0 ) ? 0 : $dimension; } /** * Normalise weights, unify to kg then convert to wanted unit value. * - * Usage: wc_get_weight(55, 'kg'); + * Usage: + * wc_get_weight(55, 'kg'); + * wc_get_weight(55, 'kg', 'lbs'); * - * @param mixed $weight - * @param mixed $to_unit 'g', 'kg', 'lbs' - * @param mixed $from_unit (optional) 'g', 'kg', 'lbs' + * @param int|float $weight + * @param string $to_unit 'g', 'kg', 'lbs', 'oz' + * @param string $from_unit (optional) 'g', 'kg', 'lbs', 'oz' * @return float */ -function wc_get_weight( $weight, $to_unit, $from_unit = null ) { +function wc_get_weight( $weight, $to_unit, $from_unit = '' ) { + $to_unit = strtolower( $to_unit ); if ( empty( $from_unit ) ) { $from_unit = strtolower( get_option( 'woocommerce_weight_unit' ) ); } - $to_unit = strtolower( $to_unit ); - //Unify all units to kg first + // Unify all units to kg first. if ( $from_unit !== $to_unit ) { - switch ( $from_unit ) { - case 'g': + case 'g' : $weight *= 0.001; - break; - case 'lbs': + break; + case 'lbs' : $weight *= 0.453592; - break; - case 'oz': + break; + case 'oz' : $weight *= 0.0283495; - break; + break; } - // Output desired unit + // Output desired unit. switch ( $to_unit ) { - case 'g': + case 'g' : $weight *= 1000; - break; - case 'lbs': + break; + case 'lbs' : $weight *= 2.20462; - break; - case 'oz': + break; + case 'oz' : $weight *= 35.274; - break; + break; } } + return ( $weight < 0 ) ? 0 : $weight; } From 29058e47d146d387fdd6355f5c7999e011871c39 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 14 Jan 2016 15:25:21 +0000 Subject: [PATCH 083/162] Fix comparison types --- includes/class-wc-query.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index 2c67700a781..258f84cc5b1 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -225,7 +225,7 @@ class WC_Query { } // Fix for endpoints on the homepage - if ( $q->is_home() && 'page' === get_option( 'show_on_front' ) && absint( get_option( 'page_on_front' ) ) !== $q->get( 'page_id' ) ) { + if ( $q->is_home() && 'page' === get_option( 'show_on_front' ) && absint( get_option( 'page_on_front' ) ) !== absint( $q->get( 'page_id' ) ) ) { $_query = wp_parse_args( $q->query ); if ( ! empty( $_query ) && array_intersect( array_keys( $_query ), array_keys( $this->query_vars ) ) ) { $q->is_page = true; @@ -248,7 +248,7 @@ class WC_Query { } // Special check for shops with the product archive on front - if ( $q->is_page() && 'page' === get_option( 'show_on_front' ) && $q->get( 'page_id' ) === wc_get_page_id( 'shop' ) ) { + if ( $q->is_page() && 'page' === get_option( 'show_on_front' ) && absint( $q->get( 'page_id' ) ) === wc_get_page_id( 'shop' ) ) { // This is a front-page shop $q->set( 'post_type', 'product' ); From ea7b0adcc754cf32b262c456ef5eaa4e205e58c2 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 14 Jan 2016 16:02:29 +0000 Subject: [PATCH 084/162] Readme tags --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index 57429ea8535..3f04776853c 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,6 @@ === WooCommerce - excelling eCommerce === Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothemes -Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, affiliate, store, sales, sell, shop, shopping, cart, checkout, configurable, variable, widgets, reports, download, downloadable, digital, inventory, stock, reports, shipping, tax +Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, shipping, storefront Requires at least: 4.1 Tested up to: 4.4 Stable tag: 2.4.13 From b4fda08091ff2a533350c2d7d50de3b3ce40d358 Mon Sep 17 00:00:00 2001 From: Taylor Lovett Date: Fri, 15 Jan 2016 00:36:11 -0500 Subject: [PATCH 085/162] Add unfiltered product ids filter --- includes/class-wc-query.php | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index 258f84cc5b1..ed9afa0428b 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -489,24 +489,24 @@ class WC_Query { if ( false === ( $unfiltered_product_ids = get_transient( $transient_name ) ) ) { // Get all visible posts, regardless of filters - $unfiltered_product_ids = get_posts( - array_merge( - $current_wp_query, - array( - 'post_type' => 'product', - 'numberposts' => -1, - 'post_status' => 'publish', - 'meta_query' => $this->meta_query, - 'fields' => 'ids', - 'no_found_rows' => true, - 'update_post_meta_cache' => false, - 'update_post_term_cache' => false, - 'pagename' => '', - 'wc_query' => 'get_products_in_view' - ) + $unfiltered_args = array_merge( + $current_wp_query, + array( + 'post_type' => 'product', + 'numberposts' => -1, + 'post_status' => 'publish', + 'meta_query' => $this->meta_query, + 'fields' => 'ids', + 'no_found_rows' => true, + 'update_post_meta_cache' => false, + 'update_post_term_cache' => false, + 'pagename' => '', + 'wc_query' => 'get_products_in_view' ) ); + $unfiltered_product_ids = apply_filters( 'woocommerce_unfiltered_product_ids', get_posts( $unfiltered_args ), $unfiltered_args ); + set_transient( $transient_name, $unfiltered_product_ids, DAY_IN_SECONDS * 30 ); } From 8702f806ad2e7963b7fe5047d20ae820d23d9f28 Mon Sep 17 00:00:00 2001 From: Taylor Lovett Date: Fri, 15 Jan 2016 00:47:52 -0500 Subject: [PATCH 086/162] Add layered nav query posts filter --- includes/class-wc-query.php | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index 258f84cc5b1..9d3c7c3facf 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -753,23 +753,23 @@ class WC_Query { if ( sizeof( $data['terms'] ) > 0 ) { foreach ( $data['terms'] as $value ) { - $posts = get_posts( - array( - 'post_type' => 'product', - 'numberposts' => -1, - 'post_status' => 'publish', - 'fields' => 'ids', - 'no_found_rows' => true, - 'tax_query' => array( - array( - 'taxonomy' => $attribute, - 'terms' => $value, - 'field' => 'term_id' - ) + $args = array( + 'post_type' => 'product', + 'numberposts' => -1, + 'post_status' => 'publish', + 'fields' => 'ids', + 'no_found_rows' => true, + 'tax_query' => array( + array( + 'taxonomy' => $attribute, + 'terms' => $value, + 'field' => 'term_id' ) ) ); + $posts = apply_filters( 'woocommerce_layered_nav_query_posts', get_posts( $args ), $args, $attribute, $value ); + if ( ! is_wp_error( $posts ) ) { if ( sizeof( $matched_products_from_attribute ) > 0 || $filtered ) { From 7bb99af12395aa2dc5ff90ba6ba7017e18a18edf Mon Sep 17 00:00:00 2001 From: Joey Kudish Date: Thu, 14 Jan 2016 22:07:31 -0800 Subject: [PATCH 087/162] Settings API: enhance multiselect fileds Add optional "select all"/"select none" buttons to multiselect fields, similarly to what already exists for the country field. --- includes/abstracts/abstract-wc-settings-api.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/abstracts/abstract-wc-settings-api.php b/includes/abstracts/abstract-wc-settings-api.php index 418bb74663b..4ae18a92a93 100644 --- a/includes/abstracts/abstract-wc-settings-api.php +++ b/includes/abstracts/abstract-wc-settings-api.php @@ -666,6 +666,7 @@ abstract class WC_Settings_API { 'desc_tip' => false, 'description' => '', 'custom_attributes' => array(), + 'allbuttons' => false, 'options' => array() ); @@ -688,6 +689,9 @@ abstract class WC_Settings_API { get_description_html( $data ); ?> + +
    + From 2c7501944b612322bd84ee75f5a7f800c48836a0 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 15 Jan 2016 09:51:42 +0000 Subject: [PATCH 088/162] Use post_ids terminology to reflect whats being queried --- includes/class-wc-query.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-query.php b/includes/class-wc-query.php index 9d3c7c3facf..48967e0ca2c 100644 --- a/includes/class-wc-query.php +++ b/includes/class-wc-query.php @@ -768,14 +768,14 @@ class WC_Query { ) ); - $posts = apply_filters( 'woocommerce_layered_nav_query_posts', get_posts( $args ), $args, $attribute, $value ); + $post_ids = apply_filters( 'woocommerce_layered_nav_query_post_ids', get_posts( $args ), $args, $attribute, $value ); - if ( ! is_wp_error( $posts ) ) { + if ( ! is_wp_error( $post_ids ) ) { if ( sizeof( $matched_products_from_attribute ) > 0 || $filtered ) { - $matched_products_from_attribute = $data['query_type'] == 'or' ? array_merge( $posts, $matched_products_from_attribute ) : array_intersect( $posts, $matched_products_from_attribute ); + $matched_products_from_attribute = $data['query_type'] == 'or' ? array_merge( $post_ids, $matched_products_from_attribute ) : array_intersect( $post_ids, $matched_products_from_attribute ); } else { - $matched_products_from_attribute = $posts; + $matched_products_from_attribute = $post_ids; } $filtered = true; From 734bde83f9f464aff75eaa82951e266c975bfc77 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 15 Jan 2016 09:59:04 +0000 Subject: [PATCH 089/162] Strip tags in cart messages and breadcrumbs Fixes #10074 --- includes/class-wc-breadcrumb.php | 2 +- includes/wc-cart-functions.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/class-wc-breadcrumb.php b/includes/class-wc-breadcrumb.php index a08194f2c33..0b324c41f3c 100644 --- a/includes/class-wc-breadcrumb.php +++ b/includes/class-wc-breadcrumb.php @@ -30,7 +30,7 @@ class WC_Breadcrumb { */ public function add_crumb( $name, $link = '' ) { $this->crumbs[] = array( - $name, + strip_tags( $name ), $link ); } diff --git a/includes/wc-cart-functions.php b/includes/wc-cart-functions.php index 6e2646e637b..6be85caa18c 100644 --- a/includes/wc-cart-functions.php +++ b/includes/wc-cart-functions.php @@ -97,7 +97,7 @@ function wc_format_list_of_items( $items ) { $item_string = ''; foreach ( $items as $key => $item ) { - $item_string .= sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), $item ); + $item_string .= sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), strip_tags( $item ) ); if ( $key + 2 === sizeof( $items ) ) { $item_string .= ' ' . __( 'and', 'woocommerce' ) . ' '; From 2de38180d375d6f5978af83a01b8ba558902dade Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 15 Jan 2016 11:43:06 +0000 Subject: [PATCH 090/162] Remove isolation levels causing issue on some servers --- includes/wc-core-functions.php | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/includes/wc-core-functions.php b/includes/wc-core-functions.php index f3ecd9108c1..a9d602c8584 100644 --- a/includes/wc-core-functions.php +++ b/includes/wc-core-functions.php @@ -858,16 +858,10 @@ function wc_array_cartesian( $input ) { function wc_transaction_query( $type = 'start' ) { global $wpdb; - if ( ! defined( 'WC_USE_TRANSACTIONS' ) ) { - // Try to set isolation level to support dirty reads - if this is unsupported, do not use transactions - $wpdb->hide_errors(); - $result = $wpdb->query( 'SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;' ); + $wpdb->hide_errors(); - if ( false === $result ) { - define( 'WC_USE_TRANSACTIONS', false ); - } else { - define( 'WC_USE_TRANSACTIONS', true ); - } + if ( ! defined( 'WC_USE_TRANSACTIONS' ) ) { + define( 'WC_USE_TRANSACTIONS', true ); } if ( WC_USE_TRANSACTIONS ) { From 64a176920d5e25ed282484038a826a625430b110 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 15 Jan 2016 13:54:49 -0200 Subject: [PATCH 091/162] RC3 tag and POT --- i18n/languages/woocommerce.pot | 12 ++++++------ woocommerce.php | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/i18n/languages/woocommerce.pot b/i18n/languages/woocommerce.pot index 515cd2caa0a..1b7e1135db2 100644 --- a/i18n/languages/woocommerce.pot +++ b/i18n/languages/woocommerce.pot @@ -2,9 +2,9 @@ # This file is distributed under the same license as the WooCommerce package. msgid "" msgstr "" -"Project-Id-Version: WooCommerce 2.5.0-RC2\n" +"Project-Id-Version: WooCommerce 2.5.0-RC3\n" "Report-Msgid-Bugs-To: https://github.com/woothemes/woocommerce/issues\n" -"POT-Creation-Date: 2016-01-12 16:03:14+00:00\n" +"POT-Creation-Date: 2016-01-15 15:54:41+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4861,7 +4861,7 @@ msgstr "" #: includes/abstracts/abstract-wc-order.php:1778 #: includes/abstracts/abstract-wc-product.php:1018 #: includes/abstracts/abstract-wc-product.php:1024 -#: includes/class-wc-cart.php:1605 includes/class-wc-product-variable.php:360 +#: includes/class-wc-cart.php:1605 includes/class-wc-product-variable.php:364 #: includes/class-wc-product-variation.php:318 msgid "Free!" msgstr "" @@ -14188,7 +14188,7 @@ msgstr "" msgid "Select options" msgstr "" -#: includes/class-wc-product-variable.php:737 +#: includes/class-wc-product-variable.php:741 msgid "" "This variable product has no active variations. Add or enable variations to " "allow this product to be purchased." @@ -17616,8 +17616,8 @@ msgid "Failed" msgstr "" #: includes/class-wc-product-grouped.php:156 -#: includes/class-wc-product-variable.php:351 -#: includes/class-wc-product-variable.php:357 +#: includes/class-wc-product-variable.php:355 +#: includes/class-wc-product-variable.php:361 msgctxt "Price range: from-to" msgid "%1$s–%2$s" msgstr "" diff --git a/woocommerce.php b/woocommerce.php index 8d1b82ce19c..e17e6c58464 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce * Plugin URI: http://www.woothemes.com/woocommerce/ * Description: An e-commerce toolkit that helps you sell anything. Beautifully. - * Version: 2.5.0-RC2 + * Version: 2.5.0-RC3 * Author: WooThemes * Author URI: http://woothemes.com * Requires at least: 4.1 From 70be00cbf761a15e4d78336bb6be74fbb41a0e76 Mon Sep 17 00:00:00 2001 From: Shohei Tanaka Date: Sat, 16 Jan 2016 14:15:42 +0900 Subject: [PATCH 092/162] Modification of PayPal link errors and redirect Those countries are redirect from paypal-popup to home. BE,CZ,DK,IT,NL,NO,SE,ES Those countries are error happened. HU, JP, TR --- includes/gateways/paypal/class-wc-gateway-paypal.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/gateways/paypal/class-wc-gateway-paypal.php b/includes/gateways/paypal/class-wc-gateway-paypal.php index 69ddefc05fc..879a3b7e753 100644 --- a/includes/gateways/paypal/class-wc-gateway-paypal.php +++ b/includes/gateways/paypal/class-wc-gateway-paypal.php @@ -106,9 +106,12 @@ class WC_Gateway_Paypal extends WC_Payment_Gateway { * @return string */ protected function get_icon_url( $country ) { - $countries = array( 'DZ', 'AU', 'BH', 'BE', 'BQ', 'BW', 'CA', 'CN', 'CW', 'CZ', 'DK', 'FI', 'FR', 'DE', 'GR', 'HK', 'HU', 'IN', 'ID', 'IT', 'JO', 'KE', 'KW', 'LU', 'MY', 'MA', 'NL', 'NO', 'OM', 'PH', 'PL', 'PT', 'QA', 'IE', 'RU', 'BL', 'SX', 'MF', 'SA', 'SG', 'SK', 'KR', 'SS', 'ES', 'SE', 'TW', 'TH', 'TR', 'AE', 'GB', 'US', 'VN' ); + $home_counties = array( 'BE', 'CZ', 'DK', 'HU', 'IT', 'JP', 'NL', 'NO', 'ES', 'SE', 'TR'); + $countries = array( 'DZ', 'AU', 'BH', 'BQ', 'BW', 'CA', 'CN', 'CW', 'FI', 'FR', 'DE', 'GR', 'HK', 'IN', 'ID', 'JO', 'KE', 'KW', 'LU', 'MY', 'MA', 'OM', 'PH', 'PL', 'PT', 'QA', 'IE', 'RU', 'BL', 'SX', 'MF', 'SA', 'SG', 'SK', 'KR', 'SS', 'TW', 'TH', 'AE', 'GB', 'US', 'VN' ); - if ( in_array( $country, $countries ) ) { + if ( in_array( $country, $home_counties ) ) { + return 'https://www.paypal.com/' . strtolower( $country ) . '/webapps/mpp/home'; + }elseif ( in_array( $country, $countries ) ) { return 'https://www.paypal.com/' . strtolower( $country ) . '/webapps/mpp/paypal-popup'; } From 141414f04810a7b3d0a1337ca3148f42ddbe674f Mon Sep 17 00:00:00 2001 From: Shohei Tanaka Date: Sat, 16 Jan 2016 14:46:51 +0900 Subject: [PATCH 093/162] No setup num_decimals in Setup Wizard num_decimals is not set in Setup Wizard, but set in locale-info.php and Javascript code. --- includes/admin/class-wc-admin-setup-wizard.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/includes/admin/class-wc-admin-setup-wizard.php b/includes/admin/class-wc-admin-setup-wizard.php index be86ff6a007..f6dbb0ca601 100644 --- a/includes/admin/class-wc-admin-setup-wizard.php +++ b/includes/admin/class-wc-admin-setup-wizard.php @@ -286,6 +286,7 @@ class WC_Admin_Setup_Wizard { $currency = get_option( 'woocommerce_currency', 'GBP' ); $currency_pos = get_option( 'woocommerce_currency_pos', 'left' ); $decimal_sep = get_option( 'woocommerce_price_decimal_sep', '.' ); + $num_decimals = get_option( 'woocommerce_price_num_decimals', '.' ); $thousand_sep = get_option( 'woocommerce_price_thousand_sep', ',' ); $dimension_unit = get_option( 'woocommerce_dimension_unit', 'cm' ); $weight_unit = get_option( 'woocommerce_weight_unit', 'kg' ); @@ -338,6 +339,12 @@ class WC_Admin_Setup_Wizard { + + + + + + @@ -381,6 +388,7 @@ class WC_Admin_Setup_Wizard { $currency_code = sanitize_text_field( $_POST['currency_code'] ); $currency_pos = sanitize_text_field( $_POST['currency_pos'] ); $decimal_sep = sanitize_text_field( $_POST['decimal_sep'] ); + $num_decimals = sanitize_text_field( $_POST['num_decimals'] ); $thousand_sep = sanitize_text_field( $_POST['thousand_sep'] ); $weight_unit = sanitize_text_field( $_POST['weight_unit'] ); $dimension_unit = sanitize_text_field( $_POST['dimension_unit'] ); @@ -389,6 +397,7 @@ class WC_Admin_Setup_Wizard { update_option( 'woocommerce_currency', $currency_code ); update_option( 'woocommerce_currency_pos', $currency_pos ); update_option( 'woocommerce_price_decimal_sep', $decimal_sep ); + update_option( 'woocommerce_price_num_decimals', $num_decimals ); update_option( 'woocommerce_price_thousand_sep', $thousand_sep ); update_option( 'woocommerce_weight_unit', $weight_unit ); update_option( 'woocommerce_dimension_unit', $dimension_unit ); From b76813d36920ab4de6d4603b51b9c21f42e968d8 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 09:47:10 +0000 Subject: [PATCH 094/162] Add ID to search field Fixes #10090 --- templates/product-searchform.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/product-searchform.php b/templates/product-searchform.php index a31d8e0c3a8..39a8a4e1991 100644 --- a/templates/product-searchform.php +++ b/templates/product-searchform.php @@ -23,8 +23,8 @@ if ( ! defined( 'ABSPATH' ) ) { ?> From e86a159fd0835aacae3a6fb72b4f78fdf7d3f4b4 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 10:24:59 +0000 Subject: [PATCH 095/162] Correct option name --- includes/admin/class-wc-admin-setup-wizard.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/admin/class-wc-admin-setup-wizard.php b/includes/admin/class-wc-admin-setup-wizard.php index f6dbb0ca601..7fe4201db91 100644 --- a/includes/admin/class-wc-admin-setup-wizard.php +++ b/includes/admin/class-wc-admin-setup-wizard.php @@ -286,7 +286,7 @@ class WC_Admin_Setup_Wizard { $currency = get_option( 'woocommerce_currency', 'GBP' ); $currency_pos = get_option( 'woocommerce_currency_pos', 'left' ); $decimal_sep = get_option( 'woocommerce_price_decimal_sep', '.' ); - $num_decimals = get_option( 'woocommerce_price_num_decimals', '.' ); + $num_decimals = get_option( 'woocommerce_price_num_decimals', '2' ); $thousand_sep = get_option( 'woocommerce_price_thousand_sep', ',' ); $dimension_unit = get_option( 'woocommerce_dimension_unit', 'cm' ); $weight_unit = get_option( 'woocommerce_weight_unit', 'kg' ); @@ -340,7 +340,7 @@ class WC_Admin_Setup_Wizard { - + From 6c8709f4b53e6ac04eb4c48249967f9e86a9b05a Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 10:34:06 +0000 Subject: [PATCH 096/162] Return false if cookie_hash is not set. --- includes/class-wc-session-handler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/class-wc-session-handler.php b/includes/class-wc-session-handler.php index 40f9cc7c99a..e841e75c056 100644 --- a/includes/class-wc-session-handler.php +++ b/includes/class-wc-session-handler.php @@ -140,7 +140,7 @@ class WC_Session_Handler extends WC_Session { $to_hash = $customer_id . '|' . $session_expiration; $hash = hash_hmac( 'md5', $to_hash, wp_hash( $to_hash ) ); - if ( ! hash_equals( $hash, $cookie_hash ) ) { + if ( empty( $cookie_hash ) || ! hash_equals( $hash, $cookie_hash ) ) { return false; } From aa66f282fa45057df6ce28121b8de4c6878d90df Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 10:39:29 +0000 Subject: [PATCH 097/162] Changelog and stable tags --- CHANGELOG.txt | 4 ++++ readme.txt | 8 ++++---- woocommerce.php | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index a7a57476294..928c9852ff7 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,9 @@ == Changelog == += 2.4.13 - 11/01/2016 = +* Fix - Potential redirect loop when using 'unforce ssl' setting and a https home URL. +* Fix - Escape option names when cleaning up sessions. + = 2.4.12 - 9/12/2015 = * Fix - 4.4 - Permission error when editing attribute terms. * Fix - 4.4 - Missing variation images when wp_get_attachment_image_srcset() returns false instead of a string. diff --git a/readme.txt b/readme.txt index 3f04776853c..a8b8dbc2565 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothe Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, shipping, storefront Requires at least: 4.1 Tested up to: 4.4 -Stable tag: 2.4.13 +Stable tag: 2.5.0 License: GPLv3 License URI: http://www.gnu.org/licenses/gpl-3.0.html @@ -158,7 +158,7 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc == Changelog == -= 2.5.0 - TBD = += 2.5.0 - 18/01/2016 = * Feature - New default session handler. Uses custom table to store data rather than the options table for performance and scalability reasons. https://woocommerce.wordpress.com/2015/10/07/new-session-handler-in-2-5/ * Feature - New tax settings UI - faster, enhanced with ajax, searchable. * Feature - WP CLI Support. https://woocommerce.wordpress.com/2015/10/01/sneak-peek-wp-cli-support-in-woocommerce/ @@ -215,5 +215,5 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc == Upgrade Notice == -= 2.4.0 = -2.4.0 is a major update so it is important that you make backups, and ensure themes and extensions are 2.4 compatible. Developers should catch up with [the development blog](https://woocommerce.wordpress.com/) to see what has been happening in core. += 2.5.0 = +2.5.0 is a major update so it is important that you make backups, and ensure themes and extensions are 2.5 compatible. Developers should catch up with [the development blog](https://woocommerce.wordpress.com/) to see what has been happening in core. diff --git a/woocommerce.php b/woocommerce.php index e17e6c58464..e8596749f86 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce * Plugin URI: http://www.woothemes.com/woocommerce/ * Description: An e-commerce toolkit that helps you sell anything. Beautifully. - * Version: 2.5.0-RC3 + * Version: 2.5.0 * Author: WooThemes * Author URI: http://woothemes.com * Requires at least: 4.1 From 17d004d5a5d85a10fbeb15b4978794bf899655ae Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 11:34:57 +0000 Subject: [PATCH 098/162] Simplify the plugin name :) --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index a8b8dbc2565..dc306531ba6 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -=== WooCommerce - excelling eCommerce === +=== WooCommerce === Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothemes Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, shipping, storefront Requires at least: 4.1 From 267c280a6b5ad706e52b92e3f9a12ca2a522cf06 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 18 Jan 2016 11:48:53 -0200 Subject: [PATCH 099/162] POT for 2.5 --- i18n/languages/woocommerce.pot | 171 +++++++++++++++++---------------- 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/i18n/languages/woocommerce.pot b/i18n/languages/woocommerce.pot index 1b7e1135db2..aefcec82d4f 100644 --- a/i18n/languages/woocommerce.pot +++ b/i18n/languages/woocommerce.pot @@ -2,9 +2,9 @@ # This file is distributed under the same license as the WooCommerce package. msgid "" msgstr "" -"Project-Id-Version: WooCommerce 2.5.0-RC3\n" +"Project-Id-Version: WooCommerce 2.5.0\n" "Report-Msgid-Bugs-To: https://github.com/woothemes/woocommerce/issues\n" -"POT-Creation-Date: 2016-01-15 15:54:41+00:00\n" +"POT-Creation-Date: 2016-01-18 13:48:14+00:00\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5292,7 +5292,7 @@ msgstr "" #: includes/admin/class-wc-admin-attributes.php:435 #: includes/admin/class-wc-admin-attributes.php:476 #: includes/admin/class-wc-admin-post-types.php:219 -#: includes/admin/class-wc-admin-setup-wizard.php:493 +#: includes/admin/class-wc-admin-setup-wizard.php:502 #: includes/admin/class-wc-admin-webhooks-table-list.php:40 #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:193 #: includes/admin/meta-boxes/views/html-product-attribute.php:12 @@ -5692,7 +5692,7 @@ msgid "Webhook Settings" msgstr "" #: includes/admin/class-wc-admin-help.php:73 -#: includes/admin/class-wc-admin-setup-wizard.php:640 +#: includes/admin/class-wc-admin-setup-wizard.php:649 msgid "PayPal Standard" msgstr "" @@ -6880,7 +6880,7 @@ msgstr "" #: includes/admin/class-wc-admin-profile.php:125 #: includes/admin/class-wc-admin-settings.php:574 #: includes/admin/class-wc-admin-settings.php:599 -#: includes/admin/class-wc-admin-setup-wizard.php:490 +#: includes/admin/class-wc-admin-setup-wizard.php:499 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:71 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:120 #: includes/class-wc-countries.php:509 @@ -7002,7 +7002,7 @@ msgid "Select a page…" msgstr "" #: includes/admin/class-wc-admin-settings.php:574 -#: includes/admin/class-wc-admin-setup-wizard.php:299 +#: includes/admin/class-wc-admin-setup-wizard.php:300 msgid "Choose a country…" msgstr "" @@ -7038,7 +7038,7 @@ msgid "Shipping & Tax" msgstr "" #: includes/admin/class-wc-admin-setup-wizard.php:79 -#: includes/admin/class-wc-admin-setup-wizard.php:634 +#: includes/admin/class-wc-admin-setup-wizard.php:643 msgid "Payments" msgstr "" @@ -7118,137 +7118,143 @@ msgid "" msgstr "" #: includes/admin/class-wc-admin-setup-wizard.php:257 -#: includes/admin/class-wc-admin-setup-wizard.php:366 -#: includes/admin/class-wc-admin-setup-wizard.php:523 -#: includes/admin/class-wc-admin-setup-wizard.php:676 +#: includes/admin/class-wc-admin-setup-wizard.php:373 +#: includes/admin/class-wc-admin-setup-wizard.php:532 +#: includes/admin/class-wc-admin-setup-wizard.php:685 msgid "Continue" msgstr "" #: includes/admin/class-wc-admin-setup-wizard.php:258 -#: includes/admin/class-wc-admin-setup-wizard.php:367 -#: includes/admin/class-wc-admin-setup-wizard.php:524 -#: includes/admin/class-wc-admin-setup-wizard.php:677 +#: includes/admin/class-wc-admin-setup-wizard.php:374 +#: includes/admin/class-wc-admin-setup-wizard.php:533 +#: includes/admin/class-wc-admin-setup-wizard.php:686 msgid "Skip this step" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:293 +#: includes/admin/class-wc-admin-setup-wizard.php:294 msgid "Store Locale Setup" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:297 +#: includes/admin/class-wc-admin-setup-wizard.php:298 msgid "Where is your store based?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:305 +#: includes/admin/class-wc-admin-setup-wizard.php:306 msgid "Which currency will your store use?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:307 #: includes/admin/class-wc-admin-setup-wizard.php:308 +#: includes/admin/class-wc-admin-setup-wizard.php:309 msgid "Choose a currency…" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:315 +#: includes/admin/class-wc-admin-setup-wizard.php:316 msgid "If your currency is not listed you can %sadd it later%s." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:319 +#: includes/admin/class-wc-admin-setup-wizard.php:320 #: includes/admin/settings/class-wc-settings-general.php:137 #: includes/admin/views/html-admin-page-status-report.php:421 msgid "Currency Position" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:322 +#: includes/admin/class-wc-admin-setup-wizard.php:323 #: includes/admin/settings/class-wc-settings-general.php:145 msgid "Left" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:323 +#: includes/admin/class-wc-admin-setup-wizard.php:324 #: includes/admin/settings/class-wc-settings-general.php:146 msgid "Right" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:324 +#: includes/admin/class-wc-admin-setup-wizard.php:325 #: includes/admin/settings/class-wc-settings-general.php:147 msgid "Left with space" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:325 +#: includes/admin/class-wc-admin-setup-wizard.php:326 #: includes/admin/settings/class-wc-settings-general.php:148 msgid "Right with space" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:330 +#: includes/admin/class-wc-admin-setup-wizard.php:331 #: includes/admin/settings/class-wc-settings-general.php:154 #: includes/admin/views/html-admin-page-status-report.php:426 msgid "Thousand Separator" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:336 +#: includes/admin/class-wc-admin-setup-wizard.php:337 #: includes/admin/settings/class-wc-settings-general.php:164 #: includes/admin/views/html-admin-page-status-report.php:431 msgid "Decimal Separator" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:342 +#: includes/admin/class-wc-admin-setup-wizard.php:343 +#: includes/admin/settings/class-wc-settings-general.php:174 +#: includes/admin/views/html-admin-page-status-report.php:436 +msgid "Number of Decimals" +msgstr "" + +#: includes/admin/class-wc-admin-setup-wizard.php:349 msgid "Which unit should be used for product weights?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:345 +#: includes/admin/class-wc-admin-setup-wizard.php:352 #: includes/admin/settings/class-wc-settings-products.php:431 msgid "kg" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:346 +#: includes/admin/class-wc-admin-setup-wizard.php:353 #: includes/admin/settings/class-wc-settings-products.php:432 msgid "g" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:347 +#: includes/admin/class-wc-admin-setup-wizard.php:354 #: includes/admin/settings/class-wc-settings-products.php:433 msgid "lbs" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:348 +#: includes/admin/class-wc-admin-setup-wizard.php:355 #: includes/admin/settings/class-wc-settings-products.php:434 msgid "oz" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:353 +#: includes/admin/class-wc-admin-setup-wizard.php:360 msgid "Which unit should be used for product dimensions?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:356 +#: includes/admin/class-wc-admin-setup-wizard.php:363 #: includes/admin/meta-boxes/class-wc-meta-box-order-data.php:195 #: includes/admin/settings/class-wc-settings-products.php:448 msgid "m" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:357 +#: includes/admin/class-wc-admin-setup-wizard.php:364 #: includes/admin/settings/class-wc-settings-products.php:449 msgid "cm" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:358 +#: includes/admin/class-wc-admin-setup-wizard.php:365 #: includes/admin/settings/class-wc-settings-products.php:450 msgid "mm" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:359 +#: includes/admin/class-wc-admin-setup-wizard.php:366 #: includes/admin/settings/class-wc-settings-products.php:451 msgid "in" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:360 +#: includes/admin/class-wc-admin-setup-wizard.php:367 #: includes/admin/settings/class-wc-settings-products.php:452 msgid "yd" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:417 +#: includes/admin/class-wc-admin-setup-wizard.php:426 msgid "Shipping & Tax Setup" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:419 +#: includes/admin/class-wc-admin-setup-wizard.php:428 msgid "" "If you will be charging sales tax, or shipping physical goods to customers, " "you can configure the basic options below. This is optional and can be " @@ -7256,146 +7262,146 @@ msgid "" "> Settings > Shipping%3$s." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:423 +#: includes/admin/class-wc-admin-setup-wizard.php:432 msgid "Basic Shipping Setup" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:427 +#: includes/admin/class-wc-admin-setup-wizard.php:436 msgid "Will you be shipping products?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:430 +#: includes/admin/class-wc-admin-setup-wizard.php:439 msgid "Yes, I will be shipping physical goods to customers" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:434 +#: includes/admin/class-wc-admin-setup-wizard.php:443 msgid "Domestic shipping costs:" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:436 -#: includes/admin/class-wc-admin-setup-wizard.php:442 +#: includes/admin/class-wc-admin-setup-wizard.php:445 +#: includes/admin/class-wc-admin-setup-wizard.php:451 msgid "A total of %s per order and/or %s per item" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:440 +#: includes/admin/class-wc-admin-setup-wizard.php:449 msgid "International shipping costs:" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:447 +#: includes/admin/class-wc-admin-setup-wizard.php:456 msgid "Basic Tax Setup" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:451 +#: includes/admin/class-wc-admin-setup-wizard.php:460 msgid "Will you be charging sales tax?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:454 +#: includes/admin/class-wc-admin-setup-wizard.php:463 msgid "Yes, I will be charging sales tax" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:458 +#: includes/admin/class-wc-admin-setup-wizard.php:467 msgid "How will you enter product prices?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:460 +#: includes/admin/class-wc-admin-setup-wizard.php:469 msgid "I will enter prices inclusive of tax" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:461 +#: includes/admin/class-wc-admin-setup-wizard.php:470 msgid "I will enter prices exclusive of tax" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:483 +#: includes/admin/class-wc-admin-setup-wizard.php:492 msgid "Import Tax Rates?" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:485 +#: includes/admin/class-wc-admin-setup-wizard.php:494 msgid "Yes, please import some starter tax rates" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:491 +#: includes/admin/class-wc-admin-setup-wizard.php:500 #: includes/class-wc-countries.php:598 includes/class-wc-countries.php:851 msgid "State" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:492 +#: includes/admin/class-wc-admin-setup-wizard.php:501 msgid "Rate (%)" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:494 +#: includes/admin/class-wc-admin-setup-wizard.php:503 msgid "Tax Shipping" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:513 +#: includes/admin/class-wc-admin-setup-wizard.php:522 msgid "" "Please note: you may still need to add local and product specific tax rates " "depending on your business location. If in doubt, speak to an accountant." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:515 +#: includes/admin/class-wc-admin-setup-wizard.php:524 msgid "" "You can edit tax rates later from the %1$stax settings%3$s screen and read " "more about taxes in %2$sour documentation%3$s." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:636 +#: includes/admin/class-wc-admin-setup-wizard.php:645 msgid "" "WooCommerce can accept both online and offline payments. %2$sAdditional " "payment methods%3$s can be installed later and managed from the " "%1$scheckout settings%3$s screen." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:641 +#: includes/admin/class-wc-admin-setup-wizard.php:650 msgid "" "To accept payments via PayPal on your store, simply enter your PayPal email " "address below." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:645 +#: includes/admin/class-wc-admin-setup-wizard.php:654 msgid "PayPal Email Address:" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:652 +#: includes/admin/class-wc-admin-setup-wizard.php:661 msgid "Offline Payments" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:653 +#: includes/admin/class-wc-admin-setup-wizard.php:662 msgid "" "Offline gateways require manual processing, but can be useful in certain " "circumstances or for testing payments." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:657 +#: includes/admin/class-wc-admin-setup-wizard.php:666 msgid "Cheque Payments" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:659 +#: includes/admin/class-wc-admin-setup-wizard.php:668 msgid "Enable payment via Cheques" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:663 +#: includes/admin/class-wc-admin-setup-wizard.php:672 #: includes/gateways/cod/class-wc-gateway-cod.php:26 #: includes/gateways/cod/class-wc-gateway-cod.php:71 msgid "Cash on Delivery" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:665 +#: includes/admin/class-wc-admin-setup-wizard.php:674 msgid "Enable cash on delivery" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:669 +#: includes/admin/class-wc-admin-setup-wizard.php:678 msgid "Bank Transfer (BACS)" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:671 +#: includes/admin/class-wc-admin-setup-wizard.php:680 msgid "Enable BACS payments" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:738 +#: includes/admin/class-wc-admin-setup-wizard.php:747 msgid "Your Store is Ready!" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:742 +#: includes/admin/class-wc-admin-setup-wizard.php:751 #: includes/admin/views/html-notice-tracking.php:11 msgid "" "Want to help make WooCommerce even more awesome? Allow WooThemes to collect " @@ -7403,7 +7409,7 @@ msgid "" "your next WooThemes purchase. %sFind out more%s." msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:744 +#: includes/admin/class-wc-admin-setup-wizard.php:753 #: includes/admin/meta-boxes/class-wc-meta-box-product-data.php:328 #: includes/admin/views/html-bulk-edit-product.php:284 #: includes/admin/views/html-notice-tracking.php:13 @@ -7412,35 +7418,35 @@ msgstr "" msgid "Allow" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:745 +#: includes/admin/class-wc-admin-setup-wizard.php:754 msgid "No thanks" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:752 +#: includes/admin/class-wc-admin-setup-wizard.php:761 msgid "Next Steps" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:754 +#: includes/admin/class-wc-admin-setup-wizard.php:763 msgid "Create your first product!" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:758 +#: includes/admin/class-wc-admin-setup-wizard.php:767 msgid "Learn More" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:760 +#: includes/admin/class-wc-admin-setup-wizard.php:769 msgid "Watch the WC 101 video walkthroughs" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:761 +#: includes/admin/class-wc-admin-setup-wizard.php:770 msgid "Get eCommerce advice in your inbox" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:762 +#: includes/admin/class-wc-admin-setup-wizard.php:771 msgid "Follow Sidekick interactive walkthroughs" msgstr "" -#: includes/admin/class-wc-admin-setup-wizard.php:763 +#: includes/admin/class-wc-admin-setup-wizard.php:772 msgid "Read more about getting started" msgstr "" @@ -10259,11 +10265,6 @@ msgstr "" msgid "This sets the decimal separator of displayed prices." msgstr "" -#: includes/admin/settings/class-wc-settings-general.php:174 -#: includes/admin/views/html-admin-page-status-report.php:436 -msgid "Number of Decimals" -msgstr "" - #: includes/admin/settings/class-wc-settings-general.php:175 msgid "This sets the number of decimal points shown in displayed prices." msgstr "" From c505b37ec52c46ce25f5513f0872706b8274b966 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 14:37:35 +0000 Subject: [PATCH 100/162] Master branch is now 2.6 :) --- CHANGELOG.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 53 +------------------------------------------------ woocommerce.php | 4 ++-- 3 files changed, 56 insertions(+), 54 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 928c9852ff7..fcae134591e 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,58 @@ == Changelog == += 2.5.0 - 18/01/2016 = +* Feature - New default session handler. Uses custom table to store data rather than the options table for performance and scalability reasons. https://woocommerce.wordpress.com/2015/10/07/new-session-handler-in-2-5/ +* Feature - New tax settings UI - faster, enhanced with ajax, searchable. +* Feature - WP CLI Support. https://woocommerce.wordpress.com/2015/10/01/sneak-peek-wp-cli-support-in-woocommerce/ +* Feature - Added terms and conditions checkbox to pay page. +* Feature - Password strength indicators. +* Feature - Added 'pay' link to order screen. +* Feature - Added admin order/payment failed notification. +* Fix - Check for existence of global attribute when you get_attributes() for a product. +* Fix - Show order by template on product search. +* Fix - Search variation skus in backend search. +* Tweak - For coupons with category restrictions, respect the category hierarchy. +* Tweak - Added wc_array_cartesian function to generate variations in a logical order. +* Tweak - Revised email settings screens to show emails in a table and avoid a long sub-nav. +* Tweak - Default customer role capabilities. +* Tweak - Expire mini-cart cache after 24 hours. +* Tweak - Improved refund error messages in PayPal standard. +* Tweak - Removed language pack downloader in favour of translate.wordpress.org. +* Tweak - Added onboarding wizard button to the contextual help so it can be accessed again. +* Tweak - When a WordPress user is deleted, turn any orders they have into Guest orders. +* Tweak - When calculating order taxes, respect tax settings and default to base country. +* Tweak - Fade in variation images to avoid flicker during load. +* Tweak - Display 2 averages on report (net and gross). +* Tweak - Improve product search and use WPDB instead of several get_posts queries for performance. +* Tweak - Use SKU for stock order notes. +* Tweak - Added order notes for manual email sends. +* Tweak - Sanitize shipping method labels/titles. +* Tweak - Only display the coupon form on the checkout if a coupon hasn't been applied. +* Tweak - Added billing address column to order screen (off for new users). +* Tweak - Created function to disable author archives for customers. +* Tweak - When updating cart hash, refresh all open tabs. +* Tweak - Use new "question" mark icon font for help tips. +* Tweak - Improved review verification status retrieval. +* Tweak - Improve appearance when only 1 gateway is active. +* Tweak - Aligned terms box left and added required asterisk. +* Tweak - Removed dropdown display mode for cart shipping methods - radios are more flexible. +* Dev - API - Added /products/shipping_classes endpoint. +* Dev - API - Added support to POST, PUT, and DELETE categories and tags. +* Dev - API - Added support to filter products by tag, category, shipping class, and attribute. +* Dev - API - Added tax and tax_class endpoints. +* Dev - Template - New star ratings. The old one was 5 separate buttons. This new one consolidates the 5 options into one element making it leaner visually and more intuitive. Works in IE9+ with a graceful degradation for IE8. +* Dev - Template - Added `data-title` attribute to cart table. +* Dev - Template - Product archive anchors are now hooked into templates rather than hard coded. +* Dev - Template - Added template files for the customer details list in emails. emails/email-customer-details.php +* Dev - Template - Revised single variation cart template. Template files now exist for variations, and the cart button will display (disabled) when no selections are made. +* Dev - Template - Made "my orders" columns fully customizable with filters. +* Dev - Template - Unified email template order details tables to use a single template. +* Dev - Allow wc_clean to support arrays. +* Dev - Added a manual update trigger for checkout. +* Dev - Added woocommerce_is_price_filter_active filter to Query class. +* Dev - Replaced some cart methods with dedicated functions. e.g. wc_ship_to_billing_address_only(). +* Localisation - Add Kenyan currency and symbol. + = 2.4.13 - 11/01/2016 = * Fix - Potential redirect loop when using 'unforce ssl' setting and a https home URL. * Fix - Escape option names when cleaning up sessions. diff --git a/readme.txt b/readme.txt index dc306531ba6..a8df924bca9 100644 --- a/readme.txt +++ b/readme.txt @@ -158,58 +158,7 @@ Yes you can! Join in on our [GitHub repository](http://github.com/woothemes/wooc == Changelog == -= 2.5.0 - 18/01/2016 = -* Feature - New default session handler. Uses custom table to store data rather than the options table for performance and scalability reasons. https://woocommerce.wordpress.com/2015/10/07/new-session-handler-in-2-5/ -* Feature - New tax settings UI - faster, enhanced with ajax, searchable. -* Feature - WP CLI Support. https://woocommerce.wordpress.com/2015/10/01/sneak-peek-wp-cli-support-in-woocommerce/ -* Feature - Added terms and conditions checkbox to pay page. -* Feature - Password strength indicators. -* Feature - Added 'pay' link to order screen. -* Feature - Added admin order/payment failed notification. -* Fix - Check for existence of global attribute when you get_attributes() for a product. -* Fix - Show order by template on product search. -* Fix - Search variation skus in backend search. -* Tweak - For coupons with category restrictions, respect the category hierarchy. -* Tweak - Added wc_array_cartesian function to generate variations in a logical order. -* Tweak - Revised email settings screens to show emails in a table and avoid a long sub-nav. -* Tweak - Default customer role capabilities. -* Tweak - Expire mini-cart cache after 24 hours. -* Tweak - Improved refund error messages in PayPal standard. -* Tweak - Removed language pack downloader in favour of translate.wordpress.org. -* Tweak - Added onboarding wizard button to the contextual help so it can be accessed again. -* Tweak - When a WordPress user is deleted, turn any orders they have into Guest orders. -* Tweak - When calculating order taxes, respect tax settings and default to base country. -* Tweak - Fade in variation images to avoid flicker during load. -* Tweak - Display 2 averages on report (net and gross). -* Tweak - Improve product search and use WPDB instead of several get_posts queries for performance. -* Tweak - Use SKU for stock order notes. -* Tweak - Added order notes for manual email sends. -* Tweak - Sanitize shipping method labels/titles. -* Tweak - Only display the coupon form on the checkout if a coupon hasn't been applied. -* Tweak - Added billing address column to order screen (off for new users). -* Tweak - Created function to disable author archives for customers. -* Tweak - When updating cart hash, refresh all open tabs. -* Tweak - Use new "question" mark icon font for help tips. -* Tweak - Improved review verification status retrieval. -* Tweak - Improve appearance when only 1 gateway is active. -* Tweak - Aligned terms box left and added required asterisk. -* Tweak - Removed dropdown display mode for cart shipping methods - radios are more flexible. -* Dev - API - Added /products/shipping_classes endpoint. -* Dev - API - Added support to POST, PUT, and DELETE categories and tags. -* Dev - API - Added support to filter products by tag, category, shipping class, and attribute. -* Dev - API - Added tax and tax_class endpoints. -* Dev - Template - New star ratings. The old one was 5 separate buttons. This new one consolidates the 5 options into one element making it leaner visually and more intuitive. Works in IE9+ with a graceful degradation for IE8. -* Dev - Template - Added `data-title` attribute to cart table. -* Dev - Template - Product archive anchors are now hooked into templates rather than hard coded. -* Dev - Template - Added template files for the customer details list in emails. emails/email-customer-details.php -* Dev - Template - Revised single variation cart template. Template files now exist for variations, and the cart button will display (disabled) when no selections are made. -* Dev - Template - Made "my orders" columns fully customizable with filters. -* Dev - Template - Unified email template order details tables to use a single template. -* Dev - Allow wc_clean to support arrays. -* Dev - Added a manual update trigger for checkout. -* Dev - Added woocommerce_is_price_filter_active filter to Query class. -* Dev - Replaced some cart methods with dedicated functions. e.g. wc_ship_to_billing_address_only(). -* Localisation - Add Kenyan currency and symbol. += 2.6.0 - TBD = [See changelog for all versions](https://raw.githubusercontent.com/woothemes/woocommerce/master/CHANGELOG.txt). diff --git a/woocommerce.php b/woocommerce.php index e8596749f86..ac42ee67af9 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce * Plugin URI: http://www.woothemes.com/woocommerce/ * Description: An e-commerce toolkit that helps you sell anything. Beautifully. - * Version: 2.5.0 + * Version: 2.6.0 * Author: WooThemes * Author URI: http://woothemes.com * Requires at least: 4.1 @@ -35,7 +35,7 @@ final class WooCommerce { * * @var string */ - public $version = '2.5.0'; + public $version = '2.6.0'; /** * The single instance of the class. From 0049415797c05ec11baa57e2a91fddcc19975525 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 14:41:58 +0000 Subject: [PATCH 101/162] [2.5] get_currentuserinfo() is deprecated in WP 4.5 --- includes/admin/class-wc-admin-assets.php | 4 +--- includes/shortcodes/class-wc-shortcode-my-account.php | 6 +----- templates/myaccount/form-edit-address.php | 7 +------ 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/includes/admin/class-wc-admin-assets.php b/includes/admin/class-wc-admin-assets.php index 6c20089c771..6a942d3576b 100644 --- a/includes/admin/class-wc-admin-assets.php +++ b/includes/admin/class-wc-admin-assets.php @@ -77,9 +77,7 @@ class WC_Admin_Assets { * Enqueue scripts. */ public function admin_scripts() { - global $wp_query, $post, $current_user; - - get_currentuserinfo(); + global $wp_query, $post; $screen = get_current_screen(); $wc_screen_id = sanitize_title( __( 'WooCommerce', 'woocommerce' ) ); diff --git a/includes/shortcodes/class-wc-shortcode-my-account.php b/includes/shortcodes/class-wc-shortcode-my-account.php index bc725a25faf..a2a73e5a1d8 100644 --- a/includes/shortcodes/class-wc-shortcode-my-account.php +++ b/includes/shortcodes/class-wc-shortcode-my-account.php @@ -134,11 +134,7 @@ class WC_Shortcode_My_Account { * @param string $load_address */ private static function edit_address( $load_address = 'billing' ) { - - // Current user - global $current_user; - get_currentuserinfo(); - + $current_user = wp_get_current_user(); $load_address = sanitize_key( $load_address ); $address = WC()->countries->get_address_fields( get_user_meta( get_current_user_id(), $load_address . '_country', true ), $load_address . '_' ); diff --git a/templates/myaccount/form-edit-address.php b/templates/myaccount/form-edit-address.php index b1362090689..3bfc4047318 100644 --- a/templates/myaccount/form-edit-address.php +++ b/templates/myaccount/form-edit-address.php @@ -19,12 +19,7 @@ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } -global $current_user; - -$page_title = ( $load_address === 'billing' ) ? __( 'Billing Address', 'woocommerce' ) : __( 'Shipping Address', 'woocommerce' ); - -get_currentuserinfo(); - +$page_title = ( $load_address === 'billing' ) ? __( 'Billing Address', 'woocommerce' ) : __( 'Shipping Address', 'woocommerce' ); ?> From 5481820668b05737fa361c3e4af076007611d4cc Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 18 Jan 2016 18:32:06 +0000 Subject: [PATCH 102/162] [2.5] Fix responsive product sizes when columns class is missing. --- assets/css/woocommerce-smallscreen.css | 2 +- assets/css/woocommerce-smallscreen.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/css/woocommerce-smallscreen.css b/assets/css/woocommerce-smallscreen.css index bdaffbfa3c2..b95032a90ea 100644 --- a/assets/css/woocommerce-smallscreen.css +++ b/assets/css/woocommerce-smallscreen.css @@ -1 +1 @@ -.woocommerce table.shop_table_responsive tbody th,.woocommerce table.shop_table_responsive thead,.woocommerce-page table.shop_table_responsive tbody th,.woocommerce-page table.shop_table_responsive thead{display:none}.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child{border-top:0}.woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block}.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:block;text-align:right!important}.woocommerce #content table.cart .product-thumbnail,.woocommerce table.cart .product-thumbnail,.woocommerce table.my_account_orders tr td.order-actions:before,.woocommerce table.shop_table_responsive tr td.actions:before,.woocommerce table.shop_table_responsive tr td.product-remove:before,.woocommerce-page #content table.cart .product-thumbnail,.woocommerce-page table.cart .product-thumbnail,.woocommerce-page table.my_account_orders tr td.order-actions:before,.woocommerce-page table.shop_table_responsive tr td.actions:before,.woocommerce-page table.shop_table_responsive tr td.product-remove:before{display:none}.woocommerce table.shop_table_responsive tr td.order-actions,.woocommerce-page table.shop_table_responsive tr td.order-actions{text-align:left!important}.woocommerce table.shop_table_responsive tr td:before,.woocommerce-page table.shop_table_responsive tr td:before{content:attr(data-title) ": ";font-weight:700;float:left}.woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background-color:rgba(0,0,0,.025)}.woocommerce table.my_account_orders tr td.order-actions,.woocommerce-page table.my_account_orders tr td.order-actions{text-align:left}.woocommerce table.my_account_orders tr td.order-actions .button,.woocommerce-page table.my_account_orders tr td.order-actions .button{float:none;margin:.125em .25em .125em 0}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none;width:100%}.woocommerce-page[class*=columns-] ul.products li.product,.woocommerce[class*=columns-] ul.products li.product{width:48%;float:left;clear:both;margin:0 0 2.992em}.woocommerce-page[class*=columns-] ul.products li.product:nth-child(2n),.woocommerce[class*=columns-] ul.products li.product:nth-child(2n){float:right;clear:none!important}.woocommerce #content div.product div.images,.woocommerce #content div.product div.summary,.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.images,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.images,.woocommerce-page div.product div.summary{float:none;width:100%}.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions{text-align:left}.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon{float:none;padding-bottom:.5em}.woocommerce #content table.cart td.actions .coupon:after,.woocommerce #content table.cart td.actions .coupon:before,.woocommerce table.cart td.actions .coupon:after,.woocommerce table.cart td.actions .coupon:before,.woocommerce-page #content table.cart td.actions .coupon:after,.woocommerce-page #content table.cart td.actions .coupon:before,.woocommerce-page table.cart td.actions .coupon:after,.woocommerce-page table.cart td.actions .coupon:before{content:" ";display:table}.woocommerce #content table.cart td.actions .coupon:after,.woocommerce table.cart td.actions .coupon:after,.woocommerce-page #content table.cart td.actions .coupon:after,.woocommerce-page table.cart td.actions .coupon:after{clear:both}.woocommerce #content table.cart td.actions .button,.woocommerce #content table.cart td.actions .input-text,.woocommerce #content table.cart td.actions input,.woocommerce table.cart td.actions .button,.woocommerce table.cart td.actions .input-text,.woocommerce table.cart td.actions input,.woocommerce-page #content table.cart td.actions .button,.woocommerce-page #content table.cart td.actions .input-text,.woocommerce-page #content table.cart td.actions input,.woocommerce-page table.cart td.actions .button,.woocommerce-page table.cart td.actions .input-text,.woocommerce-page table.cart td.actions input{width:48%;box-sizing:border-box}.woocommerce #content table.cart td.actions .button.alt,.woocommerce #content table.cart td.actions .input-text+.button,.woocommerce table.cart td.actions .button.alt,.woocommerce table.cart td.actions .input-text+.button,.woocommerce-page #content table.cart td.actions .button.alt,.woocommerce-page #content table.cart td.actions .input-text+.button,.woocommerce-page table.cart td.actions .button.alt,.woocommerce-page table.cart td.actions .input-text+.button{float:right}.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cross-sells,.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .shipping_calculator{width:100%;float:none;text-align:left}.woocommerce-page.woocommerce-checkout form.login .form-row,.woocommerce.woocommerce-checkout form.login .form-row{width:100%;float:none}.woocommerce #payment .terms,.woocommerce-page #payment .terms{text-align:left;padding:0}.woocommerce #payment #place_order,.woocommerce-page #payment #place_order{float:none;width:100%;box-sizing:border-box;margin-bottom:1em}.woocommerce .lost_reset_password .form-row-first,.woocommerce .lost_reset_password .form-row-last,.woocommerce-page .lost_reset_password .form-row-first,.woocommerce-page .lost_reset_password .form-row-last{width:100%;float:none;margin-right:0}.single-product .twentythirteen .panel{padding-left:20px!important;padding-right:20px!important} \ No newline at end of file +.woocommerce table.shop_table_responsive tbody th,.woocommerce table.shop_table_responsive thead,.woocommerce-page table.shop_table_responsive tbody th,.woocommerce-page table.shop_table_responsive thead{display:none}.woocommerce table.shop_table_responsive tbody tr:first-child td:first-child,.woocommerce-page table.shop_table_responsive tbody tr:first-child td:first-child{border-top:0}.woocommerce table.shop_table_responsive tr,.woocommerce-page table.shop_table_responsive tr{display:block}.woocommerce table.shop_table_responsive tr td,.woocommerce-page table.shop_table_responsive tr td{display:block;text-align:right!important}.woocommerce #content table.cart .product-thumbnail,.woocommerce table.cart .product-thumbnail,.woocommerce table.my_account_orders tr td.order-actions:before,.woocommerce table.shop_table_responsive tr td.actions:before,.woocommerce table.shop_table_responsive tr td.product-remove:before,.woocommerce-page #content table.cart .product-thumbnail,.woocommerce-page table.cart .product-thumbnail,.woocommerce-page table.my_account_orders tr td.order-actions:before,.woocommerce-page table.shop_table_responsive tr td.actions:before,.woocommerce-page table.shop_table_responsive tr td.product-remove:before{display:none}.woocommerce table.shop_table_responsive tr td.order-actions,.woocommerce-page table.shop_table_responsive tr td.order-actions{text-align:left!important}.woocommerce table.shop_table_responsive tr td:before,.woocommerce-page table.shop_table_responsive tr td:before{content:attr(data-title) ": ";font-weight:700;float:left}.woocommerce table.shop_table_responsive tr:nth-child(2n) td,.woocommerce-page table.shop_table_responsive tr:nth-child(2n) td{background-color:rgba(0,0,0,.025)}.woocommerce table.my_account_orders tr td.order-actions,.woocommerce-page table.my_account_orders tr td.order-actions{text-align:left}.woocommerce table.my_account_orders tr td.order-actions .button,.woocommerce-page table.my_account_orders tr td.order-actions .button{float:none;margin:.125em .25em .125em 0}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-1,.woocommerce-page .col2-set .col-2{float:none;width:100%}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product,.woocommerce-page[class*=columns-] ul.products li.product,.woocommerce[class*=columns-] ul.products li.product{width:48%;float:left;clear:both;margin:0 0 2.992em}.woocommerce ul.products li.product:nth-child(2n),.woocommerce-page ul.products li.product:nth-child(2n),.woocommerce-page[class*=columns-] ul.products li.product:nth-child(2n),.woocommerce[class*=columns-] ul.products li.product:nth-child(2n){float:right;clear:none!important}.woocommerce #content div.product div.images,.woocommerce #content div.product div.summary,.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.images,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.images,.woocommerce-page div.product div.summary{float:none;width:100%}.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions{text-align:left}.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon{float:none;padding-bottom:.5em}.woocommerce #content table.cart td.actions .coupon:after,.woocommerce #content table.cart td.actions .coupon:before,.woocommerce table.cart td.actions .coupon:after,.woocommerce table.cart td.actions .coupon:before,.woocommerce-page #content table.cart td.actions .coupon:after,.woocommerce-page #content table.cart td.actions .coupon:before,.woocommerce-page table.cart td.actions .coupon:after,.woocommerce-page table.cart td.actions .coupon:before{content:" ";display:table}.woocommerce #content table.cart td.actions .coupon:after,.woocommerce table.cart td.actions .coupon:after,.woocommerce-page #content table.cart td.actions .coupon:after,.woocommerce-page table.cart td.actions .coupon:after{clear:both}.woocommerce #content table.cart td.actions .button,.woocommerce #content table.cart td.actions .input-text,.woocommerce #content table.cart td.actions input,.woocommerce table.cart td.actions .button,.woocommerce table.cart td.actions .input-text,.woocommerce table.cart td.actions input,.woocommerce-page #content table.cart td.actions .button,.woocommerce-page #content table.cart td.actions .input-text,.woocommerce-page #content table.cart td.actions input,.woocommerce-page table.cart td.actions .button,.woocommerce-page table.cart td.actions .input-text,.woocommerce-page table.cart td.actions input{width:48%;box-sizing:border-box}.woocommerce #content table.cart td.actions .button.alt,.woocommerce #content table.cart td.actions .input-text+.button,.woocommerce table.cart td.actions .button.alt,.woocommerce table.cart td.actions .input-text+.button,.woocommerce-page #content table.cart td.actions .button.alt,.woocommerce-page #content table.cart td.actions .input-text+.button,.woocommerce-page table.cart td.actions .button.alt,.woocommerce-page table.cart td.actions .input-text+.button{float:right}.woocommerce .cart-collaterals .cart_totals,.woocommerce .cart-collaterals .cross-sells,.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .shipping_calculator{width:100%;float:none;text-align:left}.woocommerce-page.woocommerce-checkout form.login .form-row,.woocommerce.woocommerce-checkout form.login .form-row{width:100%;float:none}.woocommerce #payment .terms,.woocommerce-page #payment .terms{text-align:left;padding:0}.woocommerce #payment #place_order,.woocommerce-page #payment #place_order{float:none;width:100%;box-sizing:border-box;margin-bottom:1em}.woocommerce .lost_reset_password .form-row-first,.woocommerce .lost_reset_password .form-row-last,.woocommerce-page .lost_reset_password .form-row-first,.woocommerce-page .lost_reset_password .form-row-last{width:100%;float:none;margin-right:0}.single-product .twentythirteen .panel{padding-left:20px!important;padding-right:20px!important} \ No newline at end of file diff --git a/assets/css/woocommerce-smallscreen.scss b/assets/css/woocommerce-smallscreen.scss index 1882ebb2b8d..010bafc498f 100644 --- a/assets/css/woocommerce-smallscreen.scss +++ b/assets/css/woocommerce-smallscreen.scss @@ -99,7 +99,7 @@ /** * Products */ - &[class*="columns-"] { + &, &[class*="columns-"] { ul.products { li.product { width: 48%; From e75a4b300c620c0aac5e4d35574e268707f4c58f Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 18 Jan 2016 16:45:14 -0200 Subject: [PATCH 103/162] dev --- woocommerce.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/woocommerce.php b/woocommerce.php index ac42ee67af9..f87bca1bfd3 100644 --- a/woocommerce.php +++ b/woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: WooCommerce * Plugin URI: http://www.woothemes.com/woocommerce/ * Description: An e-commerce toolkit that helps you sell anything. Beautifully. - * Version: 2.6.0 + * Version: 2.6.0-dev * Author: WooThemes * Author URI: http://woothemes.com * Requires at least: 4.1 From 5afca4525271be1bc9ea9b0db605dfbd380b2707 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Tue, 19 Jan 2016 09:39:53 +0000 Subject: [PATCH 104/162] [2.5] Wrong function exists check. Fixes #10100 --- includes/wc-template-functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index 3a05eac938f..5a412677c0d 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -524,7 +524,7 @@ if ( ! function_exists( 'woocommerce_template_loop_product_title' ) ) { echo '

    ' . get_the_title() . '

    '; } } -if ( ! function_exists( 'woocommerce_template_loop_subcategory_title' ) ) { +if ( ! function_exists( 'woocommerce_template_loop_category_title' ) ) { /** * Show the subcategory title in the product loop. From 44eac248b34455c7d2cc7f09792730563cd787c9 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Tue, 19 Jan 2016 10:05:44 +0000 Subject: [PATCH 105/162] [2.5] check_version on all requests cc @allendav Closes #10091 --- includes/class-wc-install.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/includes/class-wc-install.php b/includes/class-wc-install.php index b8f355af26a..8493ef1f42a 100644 --- a/includes/class-wc-install.php +++ b/includes/class-wc-install.php @@ -33,7 +33,7 @@ class WC_Install { * Hook in tabs. */ public static function init() { - add_action( 'admin_init', array( __CLASS__, 'check_version' ), 5 ); + add_action( 'init', array( __CLASS__, 'check_version' ), 5 ); add_action( 'admin_init', array( __CLASS__, 'install_actions' ) ); add_action( 'in_plugin_update_message-woocommerce/woocommerce.php', array( __CLASS__, 'in_plugin_update_message' ) ); add_filter( 'plugin_action_links_' . WC_PLUGIN_BASENAME, array( __CLASS__, 'plugin_action_links' ) ); @@ -43,17 +43,21 @@ class WC_Install { } /** - * Check WooCommerce version. + * Check WooCommerce version and run the updater is required. + * + * This check is done on all requests and runs if he versions do not match. */ public static function check_version() { - if ( ! defined( 'IFRAME_REQUEST' ) && ( get_option( 'woocommerce_version' ) != WC()->version ) ) { + if ( ! defined( 'IFRAME_REQUEST' ) && get_option( 'woocommerce_version' ) !== WC()->version ) { self::install(); do_action( 'woocommerce_updated' ); } } /** - * Install actions when a update button is clicked. + * Install actions when a update button is clicked within the admin area. + * + * This function is hooked into admin_init to affect admin only. */ public static function install_actions() { if ( ! empty( $_GET['do_update_woocommerce'] ) ) { From a16b1bbac48b343743f8e153358b3f36292c2209 Mon Sep 17 00:00:00 2001 From: Keijo Hyttinen Date: Tue, 19 Jan 2016 20:24:26 +0200 Subject: [PATCH 106/162] API: thousand and decimal separators corrected --- includes/api/class-wc-api-server.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/api/class-wc-api-server.php b/includes/api/class-wc-api-server.php index 3a86ba1eb27..12a21e96d35 100644 --- a/includes/api/class-wc-api-server.php +++ b/includes/api/class-wc-api-server.php @@ -454,8 +454,8 @@ class WC_API_Server { 'currency' => get_woocommerce_currency(), 'currency_format' => get_woocommerce_currency_symbol(), 'currency_position' => get_option( 'woocommerce_currency_pos' ), - 'thousand_separator' => get_option( 'woocommerce_price_decimal_sep' ), - 'decimal_separator' => get_option( 'woocommerce_price_thousand_sep' ), + 'thousand_separator' => get_option( 'woocommerce_price_thousand_sep' ), + 'decimal_separator' => get_option( 'woocommerce_price_decimal_sep' ), 'price_num_decimals' => wc_get_price_decimals(), 'tax_included' => wc_prices_include_tax(), 'weight_unit' => get_option( 'woocommerce_weight_unit' ), From c3ed6baeed209c55e2a92f2802796426fecdc25a Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Tue, 19 Jan 2016 16:52:58 -0200 Subject: [PATCH 107/162] [2.5] Fix index decimal and thousand values #10105 --- includes/api/v2/class-wc-api-server.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/api/v2/class-wc-api-server.php b/includes/api/v2/class-wc-api-server.php index 8ed3013ac1f..b657c4f32a8 100644 --- a/includes/api/v2/class-wc-api-server.php +++ b/includes/api/v2/class-wc-api-server.php @@ -453,8 +453,8 @@ class WC_API_Server { 'currency' => get_woocommerce_currency(), 'currency_format' => get_woocommerce_currency_symbol(), 'currency_position' => get_option( 'woocommerce_currency_pos' ), - 'thousand_separator' => get_option( 'woocommerce_price_decimal_sep' ), - 'decimal_separator' => get_option( 'woocommerce_price_thousand_sep' ), + 'thousand_separator' => get_option( 'woocommerce_price_thousand_sep' ), + 'decimal_separator' => get_option( 'woocommerce_price_decimal_sep' ), 'price_num_decimals' => wc_get_price_decimals(), 'tax_included' => wc_prices_include_tax(), 'weight_unit' => get_option( 'woocommerce_weight_unit' ), From a772457a321fa655cd92b3810876bf8ad7a62ad2 Mon Sep 17 00:00:00 2001 From: Brett Date: Wed, 20 Jan 2016 12:30:56 +1300 Subject: [PATCH 108/162] remove unnecessary use of ternary operator --- includes/abstracts/abstract-wc-payment-gateway.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/abstracts/abstract-wc-payment-gateway.php b/includes/abstracts/abstract-wc-payment-gateway.php index 2048887808d..4b6f5844954 100644 --- a/includes/abstracts/abstract-wc-payment-gateway.php +++ b/includes/abstracts/abstract-wc-payment-gateway.php @@ -153,7 +153,7 @@ abstract class WC_Payment_Gateway extends WC_Settings_API { */ public function is_available() { - $is_available = ( 'yes' === $this->enabled ) ? true : false; + $is_available = ( 'yes' === $this->enabled ); if ( WC()->cart && 0 < $this->get_order_total() && 0 < $this->max_amount && $this->max_amount < $this->get_order_total() ) { $is_available = false; From b5d7f1de1074585f657a7318b22b2b41ef8c47a3 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 20 Jan 2016 10:47:33 +0000 Subject: [PATCH 109/162] [2.5] Only show payment method button when needed, and check for required fields Fixes #10112 @thenbrent @claudiosmweb --- includes/class-wc-form-handler.php | 2 +- .../myaccount/form-add-payment-method.php | 66 +++++++++---------- 2 files changed, 31 insertions(+), 37 deletions(-) diff --git a/includes/class-wc-form-handler.php b/includes/class-wc-form-handler.php index 3bb5569b2e3..bedeeb9dff7 100644 --- a/includes/class-wc-form-handler.php +++ b/includes/class-wc-form-handler.php @@ -346,7 +346,7 @@ class WC_Form_Handler { * Process the add payment method form. */ public static function add_payment_method_action() { - if ( isset( $_POST['woocommerce_add_payment_method'] ) && isset( $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-add-payment-method' ) ) { + if ( isset( $_POST['woocommerce_add_payment_method'], $_POST['payment_method'], $_POST['_wpnonce'] ) && wp_verify_nonce( $_POST['_wpnonce'], 'woocommerce-add-payment-method' ) ) { ob_start(); diff --git a/templates/myaccount/form-add-payment-method.php b/templates/myaccount/form-add-payment-method.php index e1a9813ec2b..f1d21a123ff 100644 --- a/templates/myaccount/form-add-payment-method.php +++ b/templates/myaccount/form-add-payment-method.php @@ -16,48 +16,42 @@ */ if ( ! defined( 'ABSPATH' ) ) { - exit; // Exit if accessed directly + exit; } ?>
    -
      - payment_gateways->get_available_payment_gateways() ) { - // Chosen Method - if ( sizeof( $available_gateways ) ) - current( $available_gateways )->set_current(); - - foreach ( $available_gateways as $gateway ) { - ?> -
    • - chosen, true ); ?> /> - - has_fields() || $gateway->get_description() ) { - echo ''; - } - ?> -
    • - ' . __( 'Sorry, it seems that there are no payment methods which support adding a new payment method. Please contact us if you require assistance or wish to make alternate arrangements.', 'woocommerce' ) . '

      '; - + payment_gateways->get_available_payment_gateways() ) : ?> +
        set_current(); } - ?> -
      - -
      - - - -
      + foreach ( $available_gateways as $gateway ) { + ?> +
    • + chosen, true ); ?> /> + + has_fields() || $gateway->get_description() ) { + echo ''; + } + ?> +
    • +
    +
    + + + +
    + +

    +
    -
    From cc68fdc89a8bf09353058c60e3032a42e677098e Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 20 Jan 2016 11:01:18 +0000 Subject: [PATCH 110/162] [2.5] Correctly block UI to prevent attribute issues Fixes #10115 --- assets/js/admin/meta-boxes-product.js | 7 ++++--- assets/js/admin/meta-boxes-product.min.js | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/assets/js/admin/meta-boxes-product.js b/assets/js/admin/meta-boxes-product.js index 776d8ae64a6..d9ced76f872 100644 --- a/assets/js/admin/meta-boxes-product.js +++ b/assets/js/admin/meta-boxes-product.js @@ -270,7 +270,8 @@ jQuery( function( $ ) { $( 'button.add_attribute' ).on( 'click', function() { var size = $( '.product_attributes .woocommerce_attribute' ).size(); var attribute = $( 'select.attribute_taxonomy' ).val(); - var $wrapper = $( this ).closest( '#product_attributes' ).find( '.product_attributes' ); + var $wrapper = $( this ).closest( '#product_attributes' ); + var $attributes = $wrapper.find( '.product_attributes' ); var product_type = $( 'select#product-type' ).val(); var data = { action: 'woocommerce_add_attribute', @@ -288,10 +289,10 @@ jQuery( function( $ ) { }); $.post( woocommerce_admin_meta_boxes.ajax_url, data, function( response ) { - $wrapper.append( response ); + $attributes.append( response ); if ( product_type !== 'variable' ) { - $wrapper.find( '.enable_variation' ).hide(); + $attributes.find( '.enable_variation' ).hide(); } $( document.body ).trigger( 'wc-enhanced-select-init' ); diff --git a/assets/js/admin/meta-boxes-product.min.js b/assets/js/admin/meta-boxes-product.min.js index baa86423913..c1059aaff41 100644 --- a/assets/js/admin/meta-boxes-product.min.js +++ b/assets/js/admin/meta-boxes-product.min.js @@ -1 +1 @@ -jQuery(function(a){function b(){var b=a("select#product-type").val(),c=a("input#_virtual:checked").size(),d=a("input#_downloadable:checked").size(),e=".hide_if_downloadable, .hide_if_virtual",f=".show_if_downloadable, .show_if_virtual";a.each(woocommerce_admin_meta_boxes.product_types,function(a,b){e=e+", .hide_if_"+b,f=f+", .show_if_"+b}),a(e).show(),a(f).hide(),d&&a(".show_if_downloadable").show(),c&&a(".show_if_virtual").show(),a(".show_if_"+b).show(),d&&a(".hide_if_downloadable").hide(),c&&a(".hide_if_virtual").hide(),a(".hide_if_"+b).hide(),a("input#_manage_stock").change()}function c(){a(".product_attributes .woocommerce_attribute").each(function(b,c){a(".attribute_position",c).val(parseInt(a(c).index(".product_attributes .woocommerce_attribute"),10))})}a(function(){a('[id$="-all"] > ul.categorychecklist').each(function(){var b=a(this),c=b.find(":checked").first();if(c.length){var d=b.find("input").position().top,e=c.position().top;b.closest(".tabs-panel").scrollTop(e-d+5)}})}),a("#upsell_product_data").bind("keypress",function(a){return 13===a.keyCode?!1:void 0}),a(".type_box").appendTo("#woocommerce-product-data .hndle span"),a(function(){a("#woocommerce-product-data").find(".hndle").unbind("click.postboxes"),jQuery("#woocommerce-product-data").on("click",".hndle",function(b){a(b.target).filter("input, option, label, select").length||a("#woocommerce-product-data").toggleClass("closed")})}),a("#catalog-visibility").find(".edit-catalog-visibility").click(function(){return a("#catalog-visibility-select").is(":hidden")&&(a("#catalog-visibility-select").slideDown("fast"),a(this).hide()),!1}),a("#catalog-visibility").find(".save-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("input[name=_visibility]:checked").attr("data-label");return a("input[name=_featured]").is(":checked")&&(b=b+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")),a("#catalog-visibility-display").text(b),!1}),a("#catalog-visibility").find(".cancel-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("#current_visibility").val(),c=a("#current_featured").val();a("input[name=_visibility]").removeAttr("checked"),a("input[name=_visibility][value="+b+"]").attr("checked","checked");var d=a("input[name=_visibility]:checked").attr("data-label");return"yes"===c?(d=d+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")):a("input[name=_featured]").removeAttr("checked"),a("#catalog-visibility-display").text(d),!1}),a("select#product-type").change(function(){var c=a(this).val();"variable"===c?(a("input#_manage_stock").change(),a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"grouped"===c?(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"external"===c&&(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")),b(),a("ul.wc-tabs li:visible").eq(0).find("a").click(),a(document.body).trigger("woocommerce-product-type-change",c,a(this))}).change(),a(document.body).on("woocommerce-product-type-change",function(b,c){"variable"!==c&&0d?-1:d>e?1:0}),a(d).each(function(b,c){a(".product_attributes").append(c)}),a(".product_attributes .woocommerce_attribute").each(function(b,c){"none"!==a(c).css("display")&&a(c).is(".taxonomy")&&a("select.attribute_taxonomy").find('option[value="'+a(c).data("taxonomy")+'"]').attr("disabled","disabled")}),a("button.add_attribute").on("click",function(){var b=a(".product_attributes .woocommerce_attribute").size(),d=a("select.attribute_taxonomy").val(),e=a(this).closest("#product_attributes").find(".product_attributes"),f=a("select#product-type").val(),g={action:"woocommerce_add_attribute",taxonomy:d,i:b,security:woocommerce_admin_meta_boxes.add_attribute_nonce};return e.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),a.post(woocommerce_admin_meta_boxes.ajax_url,g,function(b){e.append(b),"variable"!==f&&e.find(".enable_variation").hide(),a(document.body).trigger("wc-enhanced-select-init"),c(),e.unblock(),a(document.body).trigger("woocommerce_added_attribute")}),d&&(a("select.attribute_taxonomy").find('option[value="'+d+'"]').attr("disabled","disabled"),a("select.attribute_taxonomy").val("")),!1}),a(".product_attributes").on("blur","input.attribute_name",function(){a(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(a(this).val())}),a(".product_attributes").on("click","button.select_all_attributes",function(){return a(this).closest("td").find("select option").attr("selected","selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click","button.select_no_attributes",function(){return a(this).closest("td").find("select option").removeAttr("selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click",".remove_row",function(){if(window.confirm(woocommerce_admin_meta_boxes.remove_attribute)){var b=a(this).parent().parent();b.is(".taxonomy")?(b.find("select, input[type=text]").val(""),b.hide(),a("select.attribute_taxonomy").find('option[value="'+b.data("taxonomy")+'"]').removeAttr("disabled")):(b.find("select, input[type=text]").val(""),b.hide(),c())}return!1}),a(".product_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style"),c()}}),a(".product_attributes").on("click","button.add_new_attribute",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b=a(this).closest(".woocommerce_attribute"),c=b.data("taxonomy"),d=window.prompt(woocommerce_admin_meta_boxes.new_attribute_prompt);if(d){var e={action:"woocommerce_add_new_attribute",taxonomy:c,term:d,security:woocommerce_admin_meta_boxes.add_attribute_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,e,function(c){c.error?window.alert(c.error):c.slug&&(b.find("select.attribute_values").append('"),b.find("select.attribute_values").change()),a(".product_attributes").unblock()})}else a(".product_attributes").unblock();return!1}),a(".save_attributes").on("click",function(){a("#woocommerce-product-data").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b={post_id:woocommerce_admin_meta_boxes.post_id,data:a(".product_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,b,function(){var b=window.location.toString();b=b.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&"),a("#variable_product_options").load(b+" #variable_product_options_inner",function(){a("#variable_product_options").trigger("reload")})})});var e,f;jQuery(document.body).on("click",".upload_file_button",function(b){var c=a(this);if(f=c.closest("tr").find("td.file_url input"),b.preventDefault(),e)return void e.open();var d=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:c.data("choose"),priority:20,filterable:"uploaded"})];e=wp.media.frames.downloadable_file=wp.media({title:c.data("choose"),library:{type:""},button:{text:c.data("update")},multiple:!0,states:d}),e.on("select",function(){var a="",b=e.state().get("selection");b.map(function(b){b=b.toJSON(),b.url&&(a=b.url)}),f.val(a).change()}),e.on("ready",function(){e.uploader.options.uploader.params={type:"downloadable_product"}}),e.open()}),jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65});var g,h=a("#product_image_gallery"),i=a("#product_images_container").find("ul.product_images");jQuery(".add_product_images").on("click","a",function(b){var c=a(this);return b.preventDefault(),g?void g.open():(g=wp.media.frames.product_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]}),g.on("select",function(){var a=g.state().get("selection"),b=h.val();a.map(function(a){if(a=a.toJSON(),a.id){b=b?b+","+a.id:a.id;var d=a.sizes&&a.sizes.thumbnail?a.sizes.thumbnail.url:a.url;i.append('
  • ")}}),h.val(b)}),void g.open())}),i.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(){var b="";a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b)}}),a("#product_images_container").on("click","a.delete",function(){a(this).closest("li.image").remove();var b="";return a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b),a("#tiptip_holder").removeAttr("style"),a("#tiptip_arrow").removeAttr("style"),!1})}); \ No newline at end of file +jQuery(function(a){function b(){var b=a("select#product-type").val(),c=a("input#_virtual:checked").size(),d=a("input#_downloadable:checked").size(),e=".hide_if_downloadable, .hide_if_virtual",f=".show_if_downloadable, .show_if_virtual";a.each(woocommerce_admin_meta_boxes.product_types,function(a,b){e=e+", .hide_if_"+b,f=f+", .show_if_"+b}),a(e).show(),a(f).hide(),d&&a(".show_if_downloadable").show(),c&&a(".show_if_virtual").show(),a(".show_if_"+b).show(),d&&a(".hide_if_downloadable").hide(),c&&a(".hide_if_virtual").hide(),a(".hide_if_"+b).hide(),a("input#_manage_stock").change()}function c(){a(".product_attributes .woocommerce_attribute").each(function(b,c){a(".attribute_position",c).val(parseInt(a(c).index(".product_attributes .woocommerce_attribute"),10))})}a(function(){a('[id$="-all"] > ul.categorychecklist').each(function(){var b=a(this),c=b.find(":checked").first();if(c.length){var d=b.find("input").position().top,e=c.position().top;b.closest(".tabs-panel").scrollTop(e-d+5)}})}),a("#upsell_product_data").bind("keypress",function(a){return 13===a.keyCode?!1:void 0}),a(".type_box").appendTo("#woocommerce-product-data .hndle span"),a(function(){a("#woocommerce-product-data").find(".hndle").unbind("click.postboxes"),jQuery("#woocommerce-product-data").on("click",".hndle",function(b){a(b.target).filter("input, option, label, select").length||a("#woocommerce-product-data").toggleClass("closed")})}),a("#catalog-visibility").find(".edit-catalog-visibility").click(function(){return a("#catalog-visibility-select").is(":hidden")&&(a("#catalog-visibility-select").slideDown("fast"),a(this).hide()),!1}),a("#catalog-visibility").find(".save-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("input[name=_visibility]:checked").attr("data-label");return a("input[name=_featured]").is(":checked")&&(b=b+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")),a("#catalog-visibility-display").text(b),!1}),a("#catalog-visibility").find(".cancel-post-visibility").click(function(){a("#catalog-visibility-select").slideUp("fast"),a("#catalog-visibility").find(".edit-catalog-visibility").show();var b=a("#current_visibility").val(),c=a("#current_featured").val();a("input[name=_visibility]").removeAttr("checked"),a("input[name=_visibility][value="+b+"]").attr("checked","checked");var d=a("input[name=_visibility]:checked").attr("data-label");return"yes"===c?(d=d+", "+woocommerce_admin_meta_boxes.featured_label,a("input[name=_featured]").attr("checked","checked")):a("input[name=_featured]").removeAttr("checked"),a("#catalog-visibility-display").text(d),!1}),a("select#product-type").change(function(){var c=a(this).val();"variable"===c?(a("input#_manage_stock").change(),a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"grouped"===c?(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")):"external"===c&&(a("input#_downloadable").prop("checked",!1),a("input#_virtual").removeAttr("checked")),b(),a("ul.wc-tabs li:visible").eq(0).find("a").click(),a(document.body).trigger("woocommerce-product-type-change",c,a(this))}).change(),a(document.body).on("woocommerce-product-type-change",function(b,c){"variable"!==c&&0d?-1:d>e?1:0}),a(d).each(function(b,c){a(".product_attributes").append(c)}),a(".product_attributes .woocommerce_attribute").each(function(b,c){"none"!==a(c).css("display")&&a(c).is(".taxonomy")&&a("select.attribute_taxonomy").find('option[value="'+a(c).data("taxonomy")+'"]').attr("disabled","disabled")}),a("button.add_attribute").on("click",function(){var b=a(".product_attributes .woocommerce_attribute").size(),d=a("select.attribute_taxonomy").val(),e=a(this).closest("#product_attributes"),f=e.find(".product_attributes"),g=a("select#product-type").val(),h={action:"woocommerce_add_attribute",taxonomy:d,i:b,security:woocommerce_admin_meta_boxes.add_attribute_nonce};return e.block({message:null,overlayCSS:{background:"#fff",opacity:.6}}),a.post(woocommerce_admin_meta_boxes.ajax_url,h,function(b){f.append(b),"variable"!==g&&f.find(".enable_variation").hide(),a(document.body).trigger("wc-enhanced-select-init"),c(),e.unblock(),a(document.body).trigger("woocommerce_added_attribute")}),d&&(a("select.attribute_taxonomy").find('option[value="'+d+'"]').attr("disabled","disabled"),a("select.attribute_taxonomy").val("")),!1}),a(".product_attributes").on("blur","input.attribute_name",function(){a(this).closest(".woocommerce_attribute").find("strong.attribute_name").text(a(this).val())}),a(".product_attributes").on("click","button.select_all_attributes",function(){return a(this).closest("td").find("select option").attr("selected","selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click","button.select_no_attributes",function(){return a(this).closest("td").find("select option").removeAttr("selected"),a(this).closest("td").find("select").change(),!1}),a(".product_attributes").on("click",".remove_row",function(){if(window.confirm(woocommerce_admin_meta_boxes.remove_attribute)){var b=a(this).parent().parent();b.is(".taxonomy")?(b.find("select, input[type=text]").val(""),b.hide(),a("select.attribute_taxonomy").find('option[value="'+b.data("taxonomy")+'"]').removeAttr("disabled")):(b.find("select, input[type=text]").val(""),b.hide(),c())}return!1}),a(".product_attributes").sortable({items:".woocommerce_attribute",cursor:"move",axis:"y",handle:"h3",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style"),c()}}),a(".product_attributes").on("click","button.add_new_attribute",function(){a(".product_attributes").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b=a(this).closest(".woocommerce_attribute"),c=b.data("taxonomy"),d=window.prompt(woocommerce_admin_meta_boxes.new_attribute_prompt);if(d){var e={action:"woocommerce_add_new_attribute",taxonomy:c,term:d,security:woocommerce_admin_meta_boxes.add_attribute_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,e,function(c){c.error?window.alert(c.error):c.slug&&(b.find("select.attribute_values").append('"),b.find("select.attribute_values").change()),a(".product_attributes").unblock()})}else a(".product_attributes").unblock();return!1}),a(".save_attributes").on("click",function(){a("#woocommerce-product-data").block({message:null,overlayCSS:{background:"#fff",opacity:.6}});var b={post_id:woocommerce_admin_meta_boxes.post_id,data:a(".product_attributes").find("input, select, textarea").serialize(),action:"woocommerce_save_attributes",security:woocommerce_admin_meta_boxes.save_attributes_nonce};a.post(woocommerce_admin_meta_boxes.ajax_url,b,function(){var b=window.location.toString();b=b.replace("post-new.php?","post.php?post="+woocommerce_admin_meta_boxes.post_id+"&action=edit&"),a("#variable_product_options").load(b+" #variable_product_options_inner",function(){a("#variable_product_options").trigger("reload")})})});var e,f;jQuery(document.body).on("click",".upload_file_button",function(b){var c=a(this);if(f=c.closest("tr").find("td.file_url input"),b.preventDefault(),e)return void e.open();var d=[new wp.media.controller.Library({library:wp.media.query(),multiple:!0,title:c.data("choose"),priority:20,filterable:"uploaded"})];e=wp.media.frames.downloadable_file=wp.media({title:c.data("choose"),library:{type:""},button:{text:c.data("update")},multiple:!0,states:d}),e.on("select",function(){var a="",b=e.state().get("selection");b.map(function(b){b=b.toJSON(),b.url&&(a=b.url)}),f.val(a).change()}),e.on("ready",function(){e.uploader.options.uploader.params={type:"downloadable_product"}}),e.open()}),jQuery(".downloadable_files tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65});var g,h=a("#product_image_gallery"),i=a("#product_images_container").find("ul.product_images");jQuery(".add_product_images").on("click","a",function(b){var c=a(this);return b.preventDefault(),g?void g.open():(g=wp.media.frames.product_gallery=wp.media({title:c.data("choose"),button:{text:c.data("update")},states:[new wp.media.controller.Library({title:c.data("choose"),filterable:"all",multiple:!0})]}),g.on("select",function(){var a=g.state().get("selection"),b=h.val();a.map(function(a){if(a=a.toJSON(),a.id){b=b?b+","+a.id:a.id;var d=a.sizes&&a.sizes.thumbnail?a.sizes.thumbnail.url:a.url;i.append('
  • ")}}),h.val(b)}),void g.open())}),i.sortable({items:"li.image",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")},update:function(){var b="";a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b)}}),a("#product_images_container").on("click","a.delete",function(){a(this).closest("li.image").remove();var b="";return a("#product_images_container").find("ul li.image").css("cursor","default").each(function(){var a=jQuery(this).attr("data-attachment_id");b=b+a+","}),h.val(b),a("#tiptip_holder").removeAttr("style"),a("#tiptip_arrow").removeAttr("style"),!1})}); \ No newline at end of file From f5e2717b6f4e5cd752b6b05b9d097eee187634e9 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 20 Jan 2016 11:05:10 +0000 Subject: [PATCH 111/162] [2.5] Show sku in admin emails Closes #10107 --- templates/emails/email-order-details.php | 2 +- templates/emails/plain/email-order-details.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/emails/email-order-details.php b/templates/emails/email-order-details.php index a178b824a58..0752d1d221d 100644 --- a/templates/emails/email-order-details.php +++ b/templates/emails/email-order-details.php @@ -37,7 +37,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai email_order_items_table( array( - 'show_sku' => false, + 'show_sku' => $sent_to_admin, 'show_image' => false, '$image_size' => array( 32, 32 ), 'plain_text' => $plain_text diff --git a/templates/emails/plain/email-order-details.php b/templates/emails/plain/email-order-details.php index 6577872542a..f8033df42cf 100644 --- a/templates/emails/plain/email-order-details.php +++ b/templates/emails/plain/email-order-details.php @@ -24,7 +24,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai echo strtoupper( sprintf( __( 'Order number: %s', 'woocommerce' ), $order->get_order_number() ) ) . "\n"; echo date_i18n( __( 'jS F Y', 'woocommerce' ), strtotime( $order->order_date ) ) . "\n"; echo "\n" . $order->email_order_items_table( array( - 'show_sku' => false, + 'show_sku' => $sent_to_admin, 'show_image' => false, '$image_size' => array( 32, 32 ), 'plain_text' => true From 6050b204fc7774f46bbec2b9ced317a0b60fb641 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 20 Jan 2016 11:32:49 +0000 Subject: [PATCH 112/162] Support qty display in cart messages Closes #10114 --- includes/class-wc-ajax.php | 2 +- includes/class-wc-form-handler.php | 6 +++--- includes/wc-cart-functions.php | 28 ++++++++++++++++++---------- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index a1de58b530e..5ae0da53370 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -414,7 +414,7 @@ class WC_AJAX { do_action( 'woocommerce_ajax_added_to_cart', $product_id ); if ( get_option( 'woocommerce_cart_redirect_after_add' ) == 'yes' ) { - wc_add_to_cart_message( $product_id ); + wc_add_to_cart_message( array( $product_id => $quantity ), true ); } // Return fragments diff --git a/includes/class-wc-form-handler.php b/includes/class-wc-form-handler.php index bedeeb9dff7..4335d0c7486 100644 --- a/includes/class-wc-form-handler.php +++ b/includes/class-wc-form-handler.php @@ -648,7 +648,7 @@ class WC_Form_Handler { $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity ); if ( $passed_validation && WC()->cart->add_to_cart( $product_id, $quantity ) !== false ) { - wc_add_to_cart_message( $product_id ); + wc_add_to_cart_message( array( $product_id => $quantity ), true ); return true; } return false; @@ -678,7 +678,7 @@ class WC_Form_Handler { if ( $passed_validation && WC()->cart->add_to_cart( $item, $quantity ) !== false ) { $was_added_to_cart = true; - $added_to_cart[] = $item; + $added_to_cart[ $item ] = $quantity; } } @@ -752,7 +752,7 @@ class WC_Form_Handler { $passed_validation = apply_filters( 'woocommerce_add_to_cart_validation', true, $product_id, $quantity, $variation_id, $variations ); if ( $passed_validation && WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variations ) !== false ) { - wc_add_to_cart_message( $product_id ); + wc_add_to_cart_message( array( $product_id => $quantity ), true ); return true; } } diff --git a/includes/wc-cart-functions.php b/includes/wc-cart-functions.php index 6be85caa18c..a02e8b53a6b 100644 --- a/includes/wc-cart-functions.php +++ b/includes/wc-cart-functions.php @@ -61,21 +61,29 @@ function wc_load_persistent_cart( $user_login, $user ) { * Add to cart messages. * * @access public - * @param int|array $product_id + * @param int|array $products + * @param bool $show_qty Should qty's be shown? Added in 2.6.0 */ -function wc_add_to_cart_message( $product_id ) { +function wc_add_to_cart_message( $products, $show_qty = false ) { $titles = array(); + $count = 0; - if ( is_array( $product_id ) ) { - foreach ( $product_id as $id ) { - $titles[] = get_the_title( $id ); - } - } else { - $titles[] = get_the_title( $product_id ); + if ( ! is_array( $products ) ) { + $products = array( $products ); + $show_qty = false; + } + + if ( ! $show_qty ) { + $products = array_fill_keys( array_values( $products ), 1 ); + } + + foreach ( $products as $product_id => $qty ) { + $titles[] = ( $qty > 1 ? absint( $qty ) . ' × ' : '' ) . sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), strip_tags( get_the_title( $product_id ) ) ); + $count += $qty; } $titles = array_filter( $titles ); - $added_text = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', sizeof( $titles ), 'woocommerce' ), wc_format_list_of_items( $titles ) ); + $added_text = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', $count, 'woocommerce' ), wc_format_list_of_items( $titles ) ); // Output success messages if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) { @@ -97,7 +105,7 @@ function wc_format_list_of_items( $items ) { $item_string = ''; foreach ( $items as $key => $item ) { - $item_string .= sprintf( _x( '“%s”', 'Item name in quotes', 'woocommerce' ), strip_tags( $item ) ); + $item_string .= $item; if ( $key + 2 === sizeof( $items ) ) { $item_string .= ' ' . __( 'and', 'woocommerce' ) . ' '; From ddd5f9fb9b6fb518aa147638be71a7dfbc9bad4d Mon Sep 17 00:00:00 2001 From: Florian Ludwig Date: Wed, 20 Jan 2016 15:53:51 +0100 Subject: [PATCH 113/162] Fixed attribute check for PHP 7 compatibility --- includes/abstracts/abstract-wc-product.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/abstracts/abstract-wc-product.php b/includes/abstracts/abstract-wc-product.php index f0f1d580796..2354b12fbfd 100644 --- a/includes/abstracts/abstract-wc-product.php +++ b/includes/abstracts/abstract-wc-product.php @@ -1343,7 +1343,7 @@ class WC_Product { $attribute = isset( $attributes[ $attr ] ) ? $attributes[ $attr ] : $attributes[ 'pa_' . $attr ]; - if ( $attribute['is_taxonomy'] ) { + if ( isset( $attribute['is_taxonomy'] ) && $attribute['is_taxonomy'] ) { return implode( ', ', wc_get_product_terms( $this->id, $attribute['name'], array( 'fields' => 'names' ) ) ); From 4cfd8ff21433e53742d1d87cb3c8ac0b50d28763 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 20 Jan 2016 16:58:55 +0000 Subject: [PATCH 114/162] [2.5] Don't show downloads in admin email --- includes/abstracts/abstract-wc-order.php | 12 +++++++----- templates/emails/email-order-details.php | 9 +++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/includes/abstracts/abstract-wc-order.php b/includes/abstracts/abstract-wc-order.php index bc25c7f06e1..02a6573987f 100644 --- a/includes/abstracts/abstract-wc-order.php +++ b/includes/abstracts/abstract-wc-order.php @@ -1948,10 +1948,11 @@ abstract class WC_Abstract_Order { } $defaults = array( - 'show_sku' => false, - 'show_image' => false, - 'image_size' => array( 32, 32 ), - 'plain_text' => false + 'show_sku' => false, + 'show_image' => false, + 'image_size' => array( 32, 32 ), + 'plain_text' => false, + 'sent_to_admin' => false ); $args = wp_parse_args( $args, $defaults ); @@ -1960,11 +1961,12 @@ abstract class WC_Abstract_Order { wc_get_template( $template, array( 'order' => $this, 'items' => $this->get_items(), - 'show_download_links' => $this->is_download_permitted(), + 'show_download_links' => $this->is_download_permitted() && ! $args['sent_to_admin'], 'show_sku' => $args['show_sku'], 'show_purchase_note' => $this->is_paid(), 'show_image' => $args['show_image'], 'image_size' => $args['image_size'], + 'sent_to_admin' => $args['sent_to_admin'] ) ); return apply_filters( 'woocommerce_email_order_items_table', ob_get_clean(), $this ); diff --git a/templates/emails/email-order-details.php b/templates/emails/email-order-details.php index 0752d1d221d..1db01711720 100644 --- a/templates/emails/email-order-details.php +++ b/templates/emails/email-order-details.php @@ -37,10 +37,11 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai email_order_items_table( array( - 'show_sku' => $sent_to_admin, - 'show_image' => false, - '$image_size' => array( 32, 32 ), - 'plain_text' => $plain_text + 'show_sku' => $sent_to_admin, + 'show_image' => false, + '$image_size' => array( 32, 32 ), + 'plain_text' => $plain_text, + 'sent_to_admin' => $sent_to_admin ) ); ?> From 6074ea3355ce39ae2222536e96183ecb846153d8 Mon Sep 17 00:00:00 2001 From: Florian Ludwig Date: Wed, 20 Jan 2016 23:37:22 +0100 Subject: [PATCH 115/162] Formatted variation stock with wc_stock_amount --- includes/class-wc-ajax.php | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 5ae0da53370..b6dda198ca2 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -2531,6 +2531,7 @@ class WC_AJAX { $variation_data['image'] = $variation_data['_thumbnail_id'] ? wp_get_attachment_thumb_url( $variation_data['_thumbnail_id'] ) : ''; $variation_data['shipping_class'] = $shipping_classes && ! is_wp_error( $shipping_classes ) ? current( $shipping_classes )->term_id : ''; $variation_data['menu_order'] = $variation->menu_order; + $variation_data['_stock'] = wc_stock_amount( $variation_data['_stock'] ); // Stock BW compat if ( '' !== $variation_data['_stock'] ) { From 4899d9947513839f0545360e6fe03f4a825539fc Mon Sep 17 00:00:00 2001 From: Simon Prosser Date: Thu, 21 Jan 2016 00:12:19 +0000 Subject: [PATCH 116/162] Videon only load when help is needed. --- assets/js/admin/woocommerce_admin.js | 6 ++++++ assets/js/admin/woocommerce_admin.min.js | 2 +- includes/admin/class-wc-admin-help.php | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/assets/js/admin/woocommerce_admin.js b/assets/js/admin/woocommerce_admin.js index 3283efb10c6..115b0d9dfa8 100644 --- a/assets/js/admin/woocommerce_admin.js +++ b/assets/js/admin/woocommerce_admin.js @@ -222,4 +222,10 @@ jQuery( function ( $ ) { // Attribute term table $( 'table.attributes-table tbody tr:nth-child(odd)' ).addClass( 'alternate' ); + + // load videos when help button is clicked. + $('#contextual-help-link').click(function(){ + var src = $('#tab-panel-woocommerce_101_tab iframe').data('src'); + $('#tab-panel-woocommerce_101_tab iframe').attr('src', src); + }); }); diff --git a/assets/js/admin/woocommerce_admin.min.js b/assets/js/admin/woocommerce_admin.min.js index 22fb56fe0b9..a77e139c153 100644 --- a/assets/js/admin/woocommerce_admin.min.js +++ b/assets/js/admin/woocommerce_admin.min.js @@ -1 +1 @@ -jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([A-Z])?([A-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate")}); \ No newline at end of file +jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([A-Z])?([A-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a("#contextual-help-link").click(function(){var b=a("#tab-panel-woocommerce_101_tab iframe").data("src");a("#tab-panel-woocommerce_101_tab iframe").attr("src",b)})}); \ No newline at end of file diff --git a/includes/admin/class-wc-admin-help.php b/includes/admin/class-wc-admin-help.php index 4042c0730b9..870509df08e 100644 --- a/includes/admin/class-wc-admin-help.php +++ b/includes/admin/class-wc-admin-help.php @@ -160,7 +160,7 @@ class WC_Admin_Help { 'title' => __( 'WooCommerce 101', 'woocommerce' ), 'content' => '

    ' . __( 'WooCommerce 101', 'woocommerce' ) . ' – ' . esc_html( $video_map[ $video_key ]['title'] ) . '

    ' . - '' + '' ) ); } From 3fb84f91c18b820d7778cb520cf6a18189005313 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Wed, 20 Jan 2016 22:54:29 -0200 Subject: [PATCH 117/162] Improved code for #10127 --- assets/js/admin/woocommerce_admin.js | 13 +++++++------ assets/js/admin/woocommerce_admin.min.js | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/assets/js/admin/woocommerce_admin.js b/assets/js/admin/woocommerce_admin.js index 115b0d9dfa8..ba0e6084513 100644 --- a/assets/js/admin/woocommerce_admin.js +++ b/assets/js/admin/woocommerce_admin.js @@ -222,10 +222,11 @@ jQuery( function ( $ ) { // Attribute term table $( 'table.attributes-table tbody tr:nth-child(odd)' ).addClass( 'alternate' ); - - // load videos when help button is clicked. - $('#contextual-help-link').click(function(){ - var src = $('#tab-panel-woocommerce_101_tab iframe').data('src'); - $('#tab-panel-woocommerce_101_tab iframe').attr('src', src); - }); + + // Load videos when help button is clicked. + $( '#contextual-help-link' ).on( 'click', function() { + var frame = $( '#tab-panel-woocommerce_101_tab iframe' ); + + frame.attr( 'src', frame.data( 'src' ) ); + }); }); diff --git a/assets/js/admin/woocommerce_admin.min.js b/assets/js/admin/woocommerce_admin.min.js index a77e139c153..732fe708fe6 100644 --- a/assets/js/admin/woocommerce_admin.min.js +++ b/assets/js/admin/woocommerce_admin.min.js @@ -1 +1 @@ -jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([A-Z])?([A-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a("#contextual-help-link").click(function(){var b=a("#tab-panel-woocommerce_101_tab iframe").data("src");a("#tab-panel-woocommerce_101_tab iframe").attr("src",b)})}); \ No newline at end of file +jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([A-Z])?([A-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a("#contextual-help-link").on("click",function(){var b=a("#tab-panel-woocommerce_101_tab iframe");b.attr("src",b.data("src"))})}); \ No newline at end of file From f9d019df87d9af83143cf6eac4a4b0639c7a75ff Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 21 Jan 2016 19:06:37 +0000 Subject: [PATCH 118/162] [2.5] Fix query/missing variable in validate_user_usage_limit Closes #10122 --- includes/class-wc-coupon.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/includes/class-wc-coupon.php b/includes/class-wc-coupon.php index 9452387a177..9c7c942f435 100644 --- a/includes/class-wc-coupon.php +++ b/includes/class-wc-coupon.php @@ -366,11 +366,7 @@ class WC_Coupon { } if ( $this->usage_limit_per_user > 0 && is_user_logged_in() && $this->id ) { global $wpdb; - $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( `meta_id` ) - FROM {$wpdb->postmeta} - WHERE `post_id` = %d - AND `meta_key` = '_used_by' - AND `meta_value` = %d", $this->id, $user_id ) ); + $usage_count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT( meta_id ) FROM {$wpdb->postmeta} WHERE post_id = %d AND meta_key = '_used_by' AND meta_value = %d;", $this->id, $user_id ) ); if ( $usage_count >= $this->usage_limit_per_user ) { throw new Exception( self::E_WC_COUPON_USAGE_LIMIT_REACHED ); From a26af7b801e1eca3d47279ccc99b16f1c340d7c8 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Thu, 21 Jan 2016 20:29:14 +0000 Subject: [PATCH 119/162] [2.5] Unset reload_checkout once processed. Fixes #10134 --- includes/class-wc-ajax.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index b6dda198ca2..6382450ab06 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -393,6 +393,8 @@ class WC_AJAX { ) ) ); + unset( WC()->session->refresh_totals, WC()->session->reload_checkout ); + wp_send_json( $data ); die(); From c62388b64ba4d76b47e3c5d2d498f428c83a28b3 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 21 Jan 2016 19:10:46 -0200 Subject: [PATCH 120/162] [API] Introduces woocommerce_api_check_permission filter, closes #10119 --- includes/api/class-wc-api-resource.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/includes/api/class-wc-api-resource.php b/includes/api/class-wc-api-resource.php index 725294c7841..5d19546a65a 100644 --- a/includes/api/class-wc-api-resource.php +++ b/includes/api/class-wc-api-resource.php @@ -438,26 +438,27 @@ class WC_API_Resource { * @return bool true if the current user has the permissions to perform the context on the post */ private function check_permission( $post, $context ) { + $permission = false; if ( ! is_a( $post, 'WP_Post' ) ) { $post = get_post( $post ); } if ( is_null( $post ) ) { - return false; + return $permission; } $post_type = get_post_type_object( $post->post_type ); if ( 'read' === $context ) { - return ( 'revision' !== $post->post_type && current_user_can( $post_type->cap->read_private_posts, $post->ID ) ); + $permission = 'revision' !== $post->post_type && current_user_can( $post_type->cap->read_private_posts, $post->ID ); } elseif ( 'edit' === $context ) { - return current_user_can( $post_type->cap->edit_post, $post->ID ); + $permission = current_user_can( $post_type->cap->edit_post, $post->ID ); } elseif ( 'delete' === $context ) { - return current_user_can( $post_type->cap->delete_post, $post->ID ); - } else { - return false; + $permission = current_user_can( $post_type->cap->delete_post, $post->ID ); } + + return apply_filters( 'woocommerce_api_check_permission', $permission, $context, $post, $post_type ); } } From 899d961dd99b3c730c59919a1e305cb46ecfe8c7 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 21 Jan 2016 19:28:14 -0200 Subject: [PATCH 121/162] Improved WC_Gateway_Paypal::get_icon_url() for #10084 --- .../gateways/paypal/class-wc-gateway-paypal.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/includes/gateways/paypal/class-wc-gateway-paypal.php b/includes/gateways/paypal/class-wc-gateway-paypal.php index 879a3b7e753..680bc84aa95 100644 --- a/includes/gateways/paypal/class-wc-gateway-paypal.php +++ b/includes/gateways/paypal/class-wc-gateway-paypal.php @@ -106,16 +106,17 @@ class WC_Gateway_Paypal extends WC_Payment_Gateway { * @return string */ protected function get_icon_url( $country ) { + $url = 'https://www.paypal.com/' . strtolower( $country ); $home_counties = array( 'BE', 'CZ', 'DK', 'HU', 'IT', 'JP', 'NL', 'NO', 'ES', 'SE', 'TR'); - $countries = array( 'DZ', 'AU', 'BH', 'BQ', 'BW', 'CA', 'CN', 'CW', 'FI', 'FR', 'DE', 'GR', 'HK', 'IN', 'ID', 'JO', 'KE', 'KW', 'LU', 'MY', 'MA', 'OM', 'PH', 'PL', 'PT', 'QA', 'IE', 'RU', 'BL', 'SX', 'MF', 'SA', 'SG', 'SK', 'KR', 'SS', 'TW', 'TH', 'AE', 'GB', 'US', 'VN' ); + $countries = array( 'DZ', 'AU', 'BH', 'BQ', 'BW', 'CA', 'CN', 'CW', 'FI', 'FR', 'DE', 'GR', 'HK', 'IN', 'ID', 'JO', 'KE', 'KW', 'LU', 'MY', 'MA', 'OM', 'PH', 'PL', 'PT', 'QA', 'IE', 'RU', 'BL', 'SX', 'MF', 'SA', 'SG', 'SK', 'KR', 'SS', 'TW', 'TH', 'AE', 'GB', 'US', 'VN' ); if ( in_array( $country, $home_counties ) ) { - return 'https://www.paypal.com/' . strtolower( $country ) . '/webapps/mpp/home'; - }elseif ( in_array( $country, $countries ) ) { - return 'https://www.paypal.com/' . strtolower( $country ) . '/webapps/mpp/paypal-popup'; + return $url . '/webapps/mpp/home'; + } else if ( in_array( $country, $countries ) ) { + return $url . '/webapps/mpp/paypal-popup'; + } else { + return $url . '/cgi-bin/webscr?cmd=xpt/Marketing/general/WIPaypal-outside'; } - - return 'https://www.paypal.com/' . strtolower( $country ) . '/cgi-bin/webscr?cmd=xpt/Marketing/general/WIPaypal-outside'; } /** From 2790307489e7a499bc498f86384ddd4ef873b8c1 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 21 Jan 2016 19:33:49 -0200 Subject: [PATCH 122/162] Changed allbuttons to select_buttons for multiselect #10079 --- includes/abstracts/abstract-wc-settings-api.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/abstracts/abstract-wc-settings-api.php b/includes/abstracts/abstract-wc-settings-api.php index 4ae18a92a93..7d836b5ae70 100644 --- a/includes/abstracts/abstract-wc-settings-api.php +++ b/includes/abstracts/abstract-wc-settings-api.php @@ -666,7 +666,7 @@ abstract class WC_Settings_API { 'desc_tip' => false, 'description' => '', 'custom_attributes' => array(), - 'allbuttons' => false, + 'select_buttons' => false, 'options' => array() ); @@ -689,7 +689,7 @@ abstract class WC_Settings_API { get_description_html( $data ); ?> - +
    From 1626d2941424504e7e0a8a51f48d31e8471703dc Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 21 Jan 2016 19:38:15 -0200 Subject: [PATCH 123/162] Fixed coding standards and improved code for #10070 --- .../views/html-admin-page-status-report.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/includes/admin/views/html-admin-page-status-report.php b/includes/admin/views/html-admin-page-status-report.php index e0d36244d55..2dd9aef1c37 100644 --- a/includes/admin/views/html-admin-page-status-report.php +++ b/includes/admin/views/html-admin-page-status-report.php @@ -81,17 +81,29 @@ if ( ! defined( 'ABSPATH' ) ) { : - ✔'; else echo ''; ?> + + + + + + + : - –'; else echo ''; ?> + + + + + + + : - + From 2cc13b6409cc68a78b5f19ed32e055a1703d4337 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Thu, 21 Jan 2016 20:19:03 -0200 Subject: [PATCH 124/162] Fixed unit tests #10114 --- tests/unit-tests/cart/functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit-tests/cart/functions.php b/tests/unit-tests/cart/functions.php index 6c494219911..f4b8639b7c5 100644 --- a/tests/unit-tests/cart/functions.php +++ b/tests/unit-tests/cart/functions.php @@ -110,7 +110,7 @@ class Functions extends \WC_Unit_Test_Case { public function test_wc_format_list_of_items() { $items = array( 'Title 1', 'Title 2' ); - $this->assertEquals( "“Title 1” and “Title 2”", wc_format_list_of_items( $items ) ); + $this->assertEquals( 'Title 1 and Title 2', wc_format_list_of_items( $items ) ); } /** From f5140af918ec28aff8034a835379d6d7ec9abcc5 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 22 Jan 2016 15:50:23 +0000 Subject: [PATCH 125/162] [2.5] Report on partial refunds/refunds items rather than full refunds to ensure they are reported when refunded @claudiosmweb your testing + approval welcome. Closes #10138 --- .../reports/class-wc-report-sales-by-date.php | 65 ++++++++++--------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/includes/admin/reports/class-wc-report-sales-by-date.php b/includes/admin/reports/class-wc-report-sales-by-date.php index a51f80fa562..40a6d6ff65b 100644 --- a/includes/admin/reports/class-wc-report-sales-by-date.php +++ b/includes/admin/reports/class-wc-report-sales-by-date.php @@ -266,19 +266,22 @@ class WC_Report_Sales_By_Date extends WC_Admin_Report { 'name' => 'total_sales' ), '_order_shipping' => array( - 'type' => 'meta', - 'function' => '', - 'name' => 'total_shipping' + 'type' => 'meta', + 'function' => '', + 'name' => 'total_shipping', + 'join_type' => 'LEFT' ), '_order_tax' => array( - 'type' => 'meta', - 'function' => '', - 'name' => 'total_tax' + 'type' => 'meta', + 'function' => '', + 'name' => 'total_tax', + 'join_type' => 'LEFT' ), '_order_shipping_tax' => array( - 'type' => 'meta', - 'function' => '', - 'name' => 'total_shipping_tax' + 'type' => 'meta', + 'function' => '', + 'name' => 'total_shipping_tax', + 'join_type' => 'LEFT' ), '_qty' => array( 'type' => 'order_item_meta', @@ -292,34 +295,32 @@ class WC_Report_Sales_By_Date extends WC_Admin_Report { 'query_type' => 'get_results', 'filter_range' => true, 'order_status' => false, - 'parent_order_status' => array( 'completed', 'processing', 'on-hold' ), + 'parent_order_status' => array( 'completed', 'processing', 'on-hold', 'refunded' ), ) ); /** - * Total up values by combining full refunds and partial refunds for line items. + * Total up refunds. Note: when an order is fully refunded, a refund line will be added. */ - $this->report_data->total_tax_refunded = wc_format_decimal( array_sum( wp_list_pluck( $this->report_data->full_refunds, 'total_tax' ) ), 2 ); - $this->report_data->total_shipping_refunded = wc_format_decimal( array_sum( wp_list_pluck( $this->report_data->full_refunds, 'total_shipping' ) ), 2 ); - $this->report_data->total_shipping_tax_refunded = wc_format_decimal( array_sum( wp_list_pluck( $this->report_data->full_refunds, 'total_shipping_tax' ) ), 2 ); - $this->report_data->total_refunds = wc_format_decimal( array_sum( wp_list_pluck( $this->report_data->full_refunds, 'total_refund' ) ), 2 ); + $this->report_data->total_tax_refunded = 0; + $this->report_data->total_shipping_refunded = 0; + $this->report_data->total_shipping_tax_refunded = 0; + $this->report_data->total_refunds = 0; - /** - * Loop over partial refunds and increase the above values. - */ foreach ( $this->report_data->partial_refunds as $key => $value ) { - switch ( $value->item_type ) { - case 'shipping' : - $this->report_data->total_shipping_tax_refunded += ( $value->total_shipping_tax * -1 ); - $this->report_data->total_shipping_refunded += wc_format_decimal( $value->total_refund, 2 ); - $this->report_data->total_refunds += $value->total_refund; - - - break; - case 'line_item' : - $this->report_data->total_tax_refunded += ( $value->total_tax * -1 ); - $this->report_data->refunded_order_items += absint( $value->order_item_count ); - $this->report_data->total_refunds += $value->total_refund; - break; + if ( is_null( $value->item_type ) ) { + // Null when the order was refunded, but not the line items themselves. + $this->report_data->total_tax_refunded += ( $value->total_tax * -1 ); + $this->report_data->total_refunds += $value->total_refund; + } + elseif( 'shipping' === $value->item_type ) { + $this->report_data->total_shipping_tax_refunded += ( $value->total_shipping_tax * -1 ); + $this->report_data->total_shipping_refunded += wc_format_decimal( $value->total_refund, 2 ); + $this->report_data->total_refunds += $value->total_refund; + } + elseif( 'line_item' === $value->item_type ) { + $this->report_data->total_tax_refunded += ( $value->total_tax * -1 ); + $this->report_data->refunded_order_items += absint( $value->order_item_count ); + $this->report_data->total_refunds += $value->total_refund; } } @@ -504,7 +505,7 @@ class WC_Report_Sales_By_Date extends WC_Admin_Report { $order_amounts = $this->prepare_chart_data( $this->report_data->orders, 'post_date', 'total_sales', $this->chart_interval, $this->start_date, $this->chart_groupby ); $coupon_amounts = $this->prepare_chart_data( $this->report_data->coupons, 'post_date', 'discount_amount', $this->chart_interval, $this->start_date, $this->chart_groupby ); $shipping_amounts = $this->prepare_chart_data( $this->report_data->orders, 'post_date', 'total_shipping', $this->chart_interval, $this->start_date, $this->chart_groupby ); - $refund_amounts = $this->prepare_chart_data( array_merge( $this->report_data->partial_refunds, $this->report_data->full_refunds ), 'post_date', 'total_refund', $this->chart_interval, $this->start_date, $this->chart_groupby ); + $refund_amounts = $this->prepare_chart_data( $this->report_data->partial_refunds, 'post_date', 'total_refund', $this->chart_interval, $this->start_date, $this->chart_groupby ); $shipping_tax_amounts = $this->prepare_chart_data( $this->report_data->orders, 'post_date', 'total_shipping_tax', $this->chart_interval, $this->start_date, $this->chart_groupby ); $tax_amounts = $this->prepare_chart_data( $this->report_data->orders, 'post_date', 'total_tax', $this->chart_interval, $this->start_date, $this->chart_groupby ); From 8093194a44b03dee693ad657c3a5617c70b5bd1a Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Fri, 22 Jan 2016 17:53:09 +0000 Subject: [PATCH 126/162] [2.5] Qty button can be hidden for variables sold individually --- .../add-to-cart/variation-add-to-cart-button.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/templates/single-product/add-to-cart/variation-add-to-cart-button.php b/templates/single-product/add-to-cart/variation-add-to-cart-button.php index 51f1a100514..7ce8ece277c 100644 --- a/templates/single-product/add-to-cart/variation-add-to-cart-button.php +++ b/templates/single-product/add-to-cart/variation-add-to-cart-button.php @@ -14,7 +14,9 @@ if ( ! defined( 'ABSPATH' ) ) { global $product; ?>
    - isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 ) ); ?> + is_sold_individually() ) : ?> + isset( $_POST['quantity'] ) ? wc_stock_amount( $_POST['quantity'] ) : 1 ) ); ?> + From e0881121a3dfa2dd03694bae593ccb38fb3513a5 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 16:43:52 -0200 Subject: [PATCH 127/162] [API] Fixed image title and alt Fixed image title and alt for single products Added support for title and alt for variable products Fixed category image upload method Closes #10131 --- includes/api/class-wc-api-products.php | 53 ++++++++++++++++---------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index f4aecfc8434..be23698029d 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -685,7 +685,7 @@ class WC_API_Products extends WC_API_Resource { if ( is_numeric( $image ) ) { $image_id = absint( $image ); } else if ( ! empty( $image ) ) { - $upload = $this->upload_product_image( esc_url_raw( $image ) ); + $upload = $this->upload_product_category_image( esc_url_raw( $image ) ); $image_id = $this->set_product_category_image_as_attachment( $upload ); } @@ -751,7 +751,7 @@ class WC_API_Products extends WC_API_Resource { if ( is_numeric( $image ) ) { $image_id = absint( $image ); } else if ( ! empty( $image ) ) { - $upload = $this->upload_product_image( esc_url_raw( $image ) ); + $upload = $this->upload_product_category_image( esc_url_raw( $image ) ); $image_id = $this->set_product_category_image_as_attachment( $upload ); } @@ -1757,16 +1757,29 @@ class WC_API_Products extends WC_API_Resource { } } - // Thumbnail + // Thumbnail. if ( isset( $variation['image'] ) && is_array( $variation['image'] ) ) { $image = current( $variation['image'] ); if ( $image && is_array( $image ) ) { if ( isset( $image['position'] ) && isset( $image['src'] ) && $image['position'] == 0 ) { $upload = $this->upload_product_image( wc_clean( $image['src'] ) ); + if ( is_wp_error( $upload ) ) { throw new WC_API_Exception( 'woocommerce_api_cannot_upload_product_image', $upload->get_error_message(), 400 ); } + $attachment_id = $this->set_product_image_as_attachment( $upload, $id ); + + // Set the image alt if present. + if ( ! empty( $image['alt'] ) ) { + update_post_meta( $attachment_id, '_wp_attachment_image_alt', wc_clean( $image['alt'] ) ); + } + + // Set the image title if present. + if ( ! empty( $image['title'] ) ) { + wp_update_post( array( 'ID' => $attachment_id, 'post_title' => $image['title'] ) ); + } + update_post_meta( $variation_id, '_thumbnail_id', $attachment_id ); } } else { @@ -2190,7 +2203,7 @@ class WC_API_Products extends WC_API_Resource { } /** - * Save product images + * Save product images. * * @since 2.2 * @param array $images @@ -2226,19 +2239,19 @@ class WC_API_Products extends WC_API_Resource { throw new WC_API_Exception( 'woocommerce_api_cannot_upload_product_image', $upload->get_error_message(), 400 ); } - $gallery[] = $this->set_product_image_as_attachment( $upload, $id ); - } else { - $gallery[] = $attachment_id; + $attachment_id = $this->set_product_image_as_attachment( $upload, $id ); } + + $gallery[] = $attachment_id; } // Set the image alt if present. - if ( ! empty( $image['alt'] ) ) { + if ( ! empty( $image['alt'] ) && $attachment_id ) { update_post_meta( $attachment_id, '_wp_attachment_image_alt', wc_clean( $image['alt'] ) ); } // Set the image title if present. - if ( ! empty( $image['title'] ) ) { + if ( ! empty( $image['title'] ) && $attachment_id ) { wp_update_post( array( 'ID' => $attachment_id, 'post_title' => $image['title'] ) ); } } @@ -2260,14 +2273,14 @@ class WC_API_Products extends WC_API_Resource { * @return int|WP_Error attachment id */ public function upload_product_image( $image_url ) { - return $this->upload_image_from_url( $image_url ); + return $this->upload_image_from_url( $image_url, 'product_image' ); } /** * Upload product category image from URL. * - * @since 2.5.0 - * @param string $image_url + * @since 2.5.0 + * @param string $image_url * @return int|WP_Error attachment id */ public function upload_product_category_image( $image_url ) { @@ -2279,9 +2292,9 @@ class WC_API_Products extends WC_API_Resource { * * @throws WC_API_Exception * - * @since 2.5.0 - * @param string $image_url - * @param string $upload_for + * @since 2.5.0 + * @param string $image_url + * @param string $upload_for * @return int|WP_Error Attachment id */ protected function upload_image_from_url( $image_url, $upload_for = 'product_image' ) { @@ -2294,10 +2307,10 @@ class WC_API_Products extends WC_API_Resource { throw new WC_API_Exception( 'woocommerce_api_invalid_' . $upload_for, sprintf( __( 'Invalid URL %s', 'woocommerce' ), $image_url ), 400 ); } - // Ensure url is valid + // Ensure url is valid. $image_url = str_replace( ' ', '%20', $image_url ); - // Get the file + // Get the file. $response = wp_safe_remote_get( $image_url, array( 'timeout' => 10 ) ); @@ -2306,7 +2319,7 @@ class WC_API_Products extends WC_API_Resource { throw new WC_API_Exception( 'woocommerce_api_invalid_remote_' . $upload_for, sprintf( __( 'Error getting remote image %s', 'woocommerce' ), $image_url ), 400 ); } - // Ensure we have a file name and type + // Ensure we have a file name and type. if ( ! $wp_filetype['type'] ) { $headers = wp_remote_retrieve_headers( $response ); if ( isset( $headers['content-disposition'] ) && strstr( $headers['content-disposition'], 'filename=' ) ) { @@ -2319,14 +2332,14 @@ class WC_API_Products extends WC_API_Resource { unset( $headers ); } - // Upload the file + // Upload the file. $upload = wp_upload_bits( $file_name, '', wp_remote_retrieve_body( $response ) ); if ( $upload['error'] ) { throw new WC_API_Exception( 'woocommerce_api_' . $upload_for . '_upload_error', $upload['error'], 400 ); } - // Get filesize + // Get filesize. $filesize = filesize( $upload['file'] ); if ( 0 == $filesize ) { From 578a5515e4c73bdc02d19f85fd31f634fd75ccb7 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 17:30:10 -0200 Subject: [PATCH 128/162] Introduces the is_edit_account_page() function For #10103 --- includes/wc-conditional-functions.php | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/includes/wc-conditional-functions.php b/includes/wc-conditional-functions.php index b84fbe37805..37cb8921c25 100644 --- a/includes/wc-conditional-functions.php +++ b/includes/wc-conditional-functions.php @@ -170,6 +170,22 @@ if ( ! function_exists( 'is_view_order_page' ) ) { } } +if ( ! function_exists( 'is_edit_account_page' ) ) { + + /** + * Check for edit account page. + * Returns true when viewing the edit account page. + * + * @since 2.5.1 + * @return bool + */ + function is_edit_account_page() { + global $wp; + + return ( is_page( wc_get_page_id( 'myaccount' ) ) && isset( $wp->query_vars['edit-account'] ) ); + } +} + if ( ! function_exists( 'is_order_received_page' ) ) { /** From 4f3ef79b8c39fee3b8606d982811d7732c65403e Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 17:33:35 -0200 Subject: [PATCH 129/162] Added password strength meter to my account > edit account page Closes #10103 --- assets/js/frontend/password-strength-meter.js | 18 +++++++++--------- .../js/frontend/password-strength-meter.min.js | 2 +- includes/class-wc-frontend-scripts.php | 5 +++-- templates/myaccount/form-edit-account.php | 4 ++-- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/assets/js/frontend/password-strength-meter.js b/assets/js/frontend/password-strength-meter.js index 7c501e0d519..0fa261c6cfe 100644 --- a/assets/js/frontend/password-strength-meter.js +++ b/assets/js/frontend/password-strength-meter.js @@ -2,28 +2,28 @@ jQuery( function( $ ) { /** - * Password Strength Meter class + * Password Strength Meter class. */ var wc_password_strength_meter = { /** - * Initialize strength meter actions + * Initialize strength meter actions. */ init: function() { $( document.body ) - .on( 'keyup', 'form.register #reg_password, form.checkout #account_password', this.strengthMeter ) + .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1', this.strengthMeter ) .on( 'change', 'form.checkout #createaccount', this.checkoutNeedsRegistration ); $( 'form.checkout #createaccount' ).change(); }, /** - * Strength Meter + * Strength Meter. */ strengthMeter: function() { - var wrapper = $( 'form.register, form.checkout' ), + var wrapper = $( 'form.register, form.checkout, form.edit-account' ), submit = $( 'input[type="submit"]', wrapper ), - field = $( '#reg_password, #account_password', wrapper ), + field = $( '#reg_password, #account_password, #password_1', wrapper ), strength = 1; wc_password_strength_meter.includeMeter( wrapper, field ); @@ -38,7 +38,7 @@ jQuery( function( $ ) { }, /** - * Include meter HTML + * Include meter HTML. * * @param {Object} wrapper * @param {Object} field @@ -54,9 +54,9 @@ jQuery( function( $ ) { }, /** - * Check password strength + * Check password strength. * - * @param {Object} field + * @param {Object} field * * @return {Int} */ diff --git a/assets/js/frontend/password-strength-meter.min.js b/assets/js/frontend/password-strength-meter.min.js index e3ce9ea41c7..eb75d695c13 100644 --- a/assets/js/frontend/password-strength-meter.min.js +++ b/assets/js/frontend/password-strength-meter.min.js @@ -1 +1 @@ -jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password",this.strengthMeter).on("change","form.checkout #createaccount",this.checkoutNeedsRegistration),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d},checkoutNeedsRegistration:function(){var b=a('form.checkout input[type="submit"]');a(this).is(":checked")?b.attr("disabled","disabled"):b.removeAttr("disabled")}};b.init()}); \ No newline at end of file +jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1",this.strengthMeter).on("change","form.checkout #createaccount",this.checkoutNeedsRegistration),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d},checkoutNeedsRegistration:function(){var b=a('form.checkout input[type="submit"]');a(this).is(":checked")?b.attr("disabled","disabled"):b.removeAttr("disabled")}};b.init()}); \ No newline at end of file diff --git a/includes/class-wc-frontend-scripts.php b/includes/class-wc-frontend-scripts.php index fb4d739b305..79fd27772e8 100644 --- a/includes/class-wc-frontend-scripts.php +++ b/includes/class-wc-frontend-scripts.php @@ -183,8 +183,9 @@ class WC_Frontend_Scripts { self::enqueue_script( 'select2' ); self::enqueue_style( 'select2', $assets_path . 'css/select2.css' ); - // Password strength meter js called for checkout page. - if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) && ! is_user_logged_in() ) { + // Password strength meter. + // Load in checkout, account login and edit account page. + if ( ( 'no' === get_option( 'woocommerce_registration_generate_password' ) && ! is_user_logged_in() ) || is_edit_account_page() ) { self::enqueue_script( 'wc-password-strength-meter' ); } } diff --git a/templates/myaccount/form-edit-account.php b/templates/myaccount/form-edit-account.php index be085c403cc..53ea0d8c3e5 100644 --- a/templates/myaccount/form-edit-account.php +++ b/templates/myaccount/form-edit-account.php @@ -12,7 +12,7 @@ * @see http://docs.woothemes.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates - * @version 2.2.7 + * @version 2.5.1 */ if ( ! defined( 'ABSPATH' ) ) { @@ -22,7 +22,7 @@ if ( ! defined( 'ABSPATH' ) ) { -
    + From c1c6ef027158bf56a603ddd3b0e0b0a1a09130c0 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 17:37:34 -0200 Subject: [PATCH 130/162] Added support password strength meter lost password page Still part of #10103 --- assets/js/frontend/password-strength-meter.js | 4 ++-- assets/js/frontend/password-strength-meter.min.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/js/frontend/password-strength-meter.js b/assets/js/frontend/password-strength-meter.js index 0fa261c6cfe..d0c0585969c 100644 --- a/assets/js/frontend/password-strength-meter.js +++ b/assets/js/frontend/password-strength-meter.js @@ -11,7 +11,7 @@ jQuery( function( $ ) { */ init: function() { $( document.body ) - .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1', this.strengthMeter ) + .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1', this.strengthMeter ) .on( 'change', 'form.checkout #createaccount', this.checkoutNeedsRegistration ); $( 'form.checkout #createaccount' ).change(); @@ -21,7 +21,7 @@ jQuery( function( $ ) { * Strength Meter. */ strengthMeter: function() { - var wrapper = $( 'form.register, form.checkout, form.edit-account' ), + var wrapper = $( 'form.register, form.checkout, form.edit-account, form.lost_reset_password' ), submit = $( 'input[type="submit"]', wrapper ), field = $( '#reg_password, #account_password, #password_1', wrapper ), strength = 1; diff --git a/assets/js/frontend/password-strength-meter.min.js b/assets/js/frontend/password-strength-meter.min.js index eb75d695c13..bc50e0b40f4 100644 --- a/assets/js/frontend/password-strength-meter.min.js +++ b/assets/js/frontend/password-strength-meter.min.js @@ -1 +1 @@ -jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1",this.strengthMeter).on("change","form.checkout #createaccount",this.checkoutNeedsRegistration),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d},checkoutNeedsRegistration:function(){var b=a('form.checkout input[type="submit"]');a(this).is(":checked")?b.attr("disabled","disabled"):b.removeAttr("disabled")}};b.init()}); \ No newline at end of file +jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1",this.strengthMeter).on("change","form.checkout #createaccount",this.checkoutNeedsRegistration),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account, form.lost_reset_password"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d},checkoutNeedsRegistration:function(){var b=a('form.checkout input[type="submit"]');a(this).is(":checked")?b.attr("disabled","disabled"):b.removeAttr("disabled")}};b.init()}); \ No newline at end of file From 12c641b0d4f1643c8bd1dccd5f6d802c6aaeae69 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 17:42:05 -0200 Subject: [PATCH 131/162] Added "js" grunt task --- Gruntfile.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Gruntfile.js b/Gruntfile.js index 9b68e9972f7..06a7706b63a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -235,6 +235,12 @@ module.exports = function( grunt ) { 'css' ]); + grunt.registerTask( 'js', [ + 'jshint', + 'uglify:admin', + 'uglify:frontend' + ]); + grunt.registerTask( 'css', [ 'sass', 'cssmin' From 7d627e105c6aeffb378c5c5c3b8402ed8a1d451b Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 22 Jan 2016 17:46:15 -0200 Subject: [PATCH 132/162] Don't stop conversions because password strength meter cc @mikejolley --- assets/js/frontend/password-strength-meter.js | 19 +++---------------- .../frontend/password-strength-meter.min.js | 2 +- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/assets/js/frontend/password-strength-meter.js b/assets/js/frontend/password-strength-meter.js index d0c0585969c..c9ea096794c 100644 --- a/assets/js/frontend/password-strength-meter.js +++ b/assets/js/frontend/password-strength-meter.js @@ -11,8 +11,7 @@ jQuery( function( $ ) { */ init: function() { $( document.body ) - .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1', this.strengthMeter ) - .on( 'change', 'form.checkout #createaccount', this.checkoutNeedsRegistration ); + .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1', this.strengthMeter ); $( 'form.checkout #createaccount' ).change(); }, @@ -30,9 +29,10 @@ jQuery( function( $ ) { strength = wc_password_strength_meter.checkPasswordStrength( field ); + // Stop form if password is weak... But not in checkout form! if ( 3 === strength || 4 === strength ) { submit.removeAttr( 'disabled' ); - } else { + } else if ( ! wrapper.hasClass( 'checkout' ) ) { submit.attr( 'disabled', 'disabled' ); } }, @@ -86,19 +86,6 @@ jQuery( function( $ ) { } return strength; - }, - - /** - * Check if user wants register on checkout. - */ - checkoutNeedsRegistration: function() { - var submit = $( 'form.checkout input[type="submit"]' ); - - if ( $( this ).is( ':checked' ) ) { - submit.attr( 'disabled', 'disabled' ); - } else { - submit.removeAttr( 'disabled' ); - } } }; diff --git a/assets/js/frontend/password-strength-meter.min.js b/assets/js/frontend/password-strength-meter.min.js index bc50e0b40f4..4fe9dccb2ca 100644 --- a/assets/js/frontend/password-strength-meter.min.js +++ b/assets/js/frontend/password-strength-meter.min.js @@ -1 +1 @@ -jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1",this.strengthMeter).on("change","form.checkout #createaccount",this.checkoutNeedsRegistration),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account, form.lost_reset_password"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d},checkoutNeedsRegistration:function(){var b=a('form.checkout input[type="submit"]');a(this).is(":checked")?b.attr("disabled","disabled"):b.removeAttr("disabled")}};b.init()}); \ No newline at end of file +jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1",this.strengthMeter),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account, form.lost_reset_password"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):c.hasClass("checkout")||d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d}};b.init()}); \ No newline at end of file From e87007d5cdab93820c970be15e936e2f11d384dd Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Sat, 23 Jan 2016 14:32:09 -0200 Subject: [PATCH 133/162] [2.5] Fixed tax row autocomplete htmlentity, closes #10149 --- includes/admin/settings/class-wc-settings-tax.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/includes/admin/settings/class-wc-settings-tax.php b/includes/admin/settings/class-wc-settings-tax.php index f1c35101653..6435109690d 100644 --- a/includes/admin/settings/class-wc-settings-tax.php +++ b/includes/admin/settings/class-wc-settings-tax.php @@ -109,16 +109,15 @@ class WC_Settings_Tax extends WC_Settings_Page { * Output tax rate tables. */ public function output_tax_rates() { - global $wpdb, - $current_section; + global $wpdb, $current_section; $current_class = $this->get_current_tax_class(); $countries = array(); foreach ( WC()->countries->get_allowed_countries() as $value => $label ) { $countries[] = array( - 'label' => $label, 'value' => $value, + 'label' => esc_js( html_entity_decode( $label ) ), ); } @@ -126,8 +125,8 @@ class WC_Settings_Tax extends WC_Settings_Page { foreach ( WC()->countries->get_allowed_country_states() as $label ) { foreach ( $label as $code => $state ) { $states[] = array( - 'label' => $state, 'value' => $code, + 'label' => esc_js( html_entity_decode( $state ) ), ); } } From 9c9fab33da924ff5664adb27f924a38d07648d50 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Sat, 23 Jan 2016 14:51:43 -0200 Subject: [PATCH 134/162] [2.5] Reload tax backbone view when save, closes #10150 --- assets/js/admin/settings-views-html-settings-tax.js | 9 +++++++-- assets/js/admin/settings-views-html-settings-tax.min.js | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/assets/js/admin/settings-views-html-settings-tax.js b/assets/js/admin/settings-views-html-settings-tax.js index ae578fc5351..5301b25d17e 100644 --- a/assets/js/admin/settings-views-html-settings-tax.js +++ b/assets/js/admin/settings-views-html-settings-tax.js @@ -1,8 +1,8 @@ /* global htmlSettingsTaxLocalizeScript, ajaxurl */ + /** * Used by woocommerce/includes/admin/settings/views/html-settings-tax.php */ - ( function( $, data, wp, ajaxurl ) { $( function() { @@ -39,7 +39,9 @@ var changes = this.changes || {}; _.each( changedRows, function( row, id ) { - changes[ id ] = _.extend( changes[ id ] || { tax_rate_id : id }, row ); + changes[ id ] = _.extend( changes[ id ] || { + tax_rate_id : id + }, row ); } ); this.changes = changes; @@ -95,6 +97,9 @@ WCTaxTableModelInstance.changes = {}; WCTaxTableModelInstance.trigger( 'saved:rates' ); + + // Reload view. + WCTaxTableInstance.render(); } self.unblock(); diff --git a/assets/js/admin/settings-views-html-settings-tax.min.js b/assets/js/admin/settings-views-html-settings-tax.min.js index 818fca62c0b..f0763c7ddba 100644 --- a/assets/js/admin/settings-views-html-settings-tax.min.js +++ b/assets/js/admin/settings-views-html-settings-tax.min.js @@ -1 +1 @@ -!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates")),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1?k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})):(k.empty(),n.page=1),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):(n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),h.page=h.qty_pages),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f=c.data.view,g=f.model,h=_.indexBy(g.get("rates"),"tax_rate_id"),j={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),delete h[e],j[e]=_.extend(j[e]||{},{deleted:"deleted"})}),g.set("rates",h),g.logChanges(j),f.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a){var b=a.data.view,c=b.model,d=_.indexBy(c.get("rates"),"tax_rate_id"),e={};_.each(d,function(a){var c=0,d=parseInt(a.tax_rate_order,10);c=h.find('tr[data-id="'+a.tax_rate_id+'"]').size()?parseInt(h.find('tr[data-id="'+a.tax_rate_id+'"]').index(),10)+parseInt((b.page-1)*b.per_page,10):d,d!==c&&(e[a.tax_rate_id]=_.extend(e[a.tax_rate_id]||{},{tax_rate_order:c}))}),_.size(e)&&c.logChanges(e)},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file +!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates"),q.render()),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1?k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})):(k.empty(),n.page=1),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):(n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),h.page=h.qty_pages),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f=c.data.view,g=f.model,h=_.indexBy(g.get("rates"),"tax_rate_id"),j={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),delete h[e],j[e]=_.extend(j[e]||{},{deleted:"deleted"})}),g.set("rates",h),g.logChanges(j),f.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a){var b=a.data.view,c=b.model,d=_.indexBy(c.get("rates"),"tax_rate_id"),e={};_.each(d,function(a){var c=0,d=parseInt(a.tax_rate_order,10);c=h.find('tr[data-id="'+a.tax_rate_id+'"]').size()?parseInt(h.find('tr[data-id="'+a.tax_rate_id+'"]').index(),10)+parseInt((b.page-1)*b.per_page,10):d,d!==c&&(e[a.tax_rate_id]=_.extend(e[a.tax_rate_id]||{},{tax_rate_order:c}))}),_.size(e)&&c.logChanges(e)},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file From 472e8d4618ee3a5f37f2ca006486676f9e336101 Mon Sep 17 00:00:00 2001 From: Kathy Darling Date: Sat, 23 Jan 2016 15:03:47 -0500 Subject: [PATCH 135/162] pass $args to woocommerce_dropdown_variation_attribute_options_html hook --- includes/wc-template-functions.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index 3a05eac938f..a63fb0d93fb 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -2021,7 +2021,7 @@ if ( ! function_exists( 'wc_dropdown_variation_attribute_options' ) ) { $html .= ''; - echo apply_filters( 'woocommerce_dropdown_variation_attribute_options_html', $html ); + echo apply_filters( 'woocommerce_dropdown_variation_attribute_options_html', $html, $args ); } } From 31948045f8fddffc6f3084c5cf13919340af1427 Mon Sep 17 00:00:00 2001 From: sergeyrozenblat Date: Mon, 25 Jan 2016 00:03:55 +0600 Subject: [PATCH 136/162] Removed extra space Removed extra space from 'a href' tag which in some cases may influence proper styling of elements --- templates/cart/cart.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/cart/cart.php b/templates/cart/cart.php index 2d335e76242..2c49b22c358 100644 --- a/templates/cart/cart.php +++ b/templates/cart/cart.php @@ -79,7 +79,7 @@ do_action( 'woocommerce_before_cart' ); ?> if ( ! $_product->is_visible() ) { echo apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key ) . ' '; } else { - echo apply_filters( 'woocommerce_cart_item_name', sprintf( '%s ', esc_url( $_product->get_permalink( $cart_item ) ), $_product->get_title() ), $cart_item, $cart_item_key ); + echo apply_filters( 'woocommerce_cart_item_name', sprintf( '%s', esc_url( $_product->get_permalink( $cart_item ) ), $_product->get_title() ), $cart_item, $cart_item_key ); } // Meta data From a2fbfec5bf1f6b694fb7355ffdc5750f13682d5b Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 10:06:53 +0000 Subject: [PATCH 137/162] [2.5] Show user country rather than base country in "estimated for" messages #10148 --- includes/class-wc-countries.php | 18 ++++++++++-------- includes/wc-cart-functions.php | 5 +++-- templates/cart/cart-totals.php | 7 ++++--- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/includes/class-wc-countries.php b/includes/class-wc-countries.php index 6af0a193c88..755abb9fc58 100644 --- a/includes/class-wc-countries.php +++ b/includes/class-wc-countries.php @@ -264,22 +264,24 @@ class WC_Countries { * Gets the correct string for shipping - either 'to the' or 'to' * @return string */ - public function shipping_to_prefix() { - $countries = array( 'GB', 'US', 'AE', 'CZ', 'DO', 'NL', 'PH', 'USAF' ); - $return = in_array( WC()->customer->get_shipping_country(), $countries ) ? __( 'to the', 'woocommerce' ) : __( 'to', 'woocommerce' ); + public function shipping_to_prefix( $country_code = '' ) { + $country_code = $country_code ? $country_code : WC()->customer->get_shipping_country(); + $countries = array( 'GB', 'US', 'AE', 'CZ', 'DO', 'NL', 'PH', 'USAF' ); + $return = in_array( $country_code, $countries ) ? __( 'to the', 'woocommerce' ) : __( 'to', 'woocommerce' ); - return apply_filters( 'woocommerce_countries_shipping_to_prefix', $return, WC()->customer->get_shipping_country() ); + return apply_filters( 'woocommerce_countries_shipping_to_prefix', $return, $country_code ); } /** * Prefix certain countries with 'the' * @return string */ - public function estimated_for_prefix() { - $countries = array( 'GB', 'US', 'AE', 'CZ', 'DO', 'NL', 'PH', 'USAF' ); - $return = in_array( $this->get_base_country(), $countries ) ? __( 'the', 'woocommerce' ) . ' ' : ''; + public function estimated_for_prefix( $country_code = '' ) { + $country_code = $country_code ? $country_code : $this->get_base_country(); + $countries = array( 'GB', 'US', 'AE', 'CZ', 'DO', 'NL', 'PH', 'USAF' ); + $return = in_array( $country_code, $countries ) ? __( 'the', 'woocommerce' ) . ' ' : ''; - return apply_filters( 'woocommerce_countries_estimated_for_prefix', $return, $this->get_base_country() ); + return apply_filters( 'woocommerce_countries_estimated_for_prefix', $return, $country_code ); } /** diff --git a/includes/wc-cart-functions.php b/includes/wc-cart-functions.php index a02e8b53a6b..860bf3f035b 100644 --- a/includes/wc-cart-functions.php +++ b/includes/wc-cart-functions.php @@ -266,8 +266,9 @@ function wc_cart_totals_order_total_html() { } if ( ! empty( $tax_string_array ) ) { - $estimated_text = WC()->customer->is_customer_outside_base() && ! WC()->customer->has_calculated_shipping() - ? sprintf( ' ' . __( 'estimated for %s', 'woocommerce' ), WC()->countries->estimated_for_prefix() . __( WC()->countries->countries[ WC()->countries->get_base_country() ], 'woocommerce' ) ) + $taxable_address = WC()->customer->get_taxable_address(); + $estimated_text = WC()->customer->is_customer_outside_base() && ! WC()->customer->has_calculated_shipping() + ? sprintf( ' ' . __( 'estimated for %s', 'woocommerce' ), WC()->countries->estimated_for_prefix( $taxable_address[0] ) . WC()->countries->countries[ $taxable_address[0] ] ) : ''; $value .= '' . sprintf( __( '(includes %s%s)', 'woocommerce' ), implode( ', ', $tax_string_array ), $estimated_text ) . ''; } diff --git a/templates/cart/cart-totals.php b/templates/cart/cart-totals.php index 51bc22c8530..99c8d93375f 100644 --- a/templates/cart/cart-totals.php +++ b/templates/cart/cart-totals.php @@ -65,9 +65,10 @@ if ( ! defined( 'ABSPATH' ) ) { cart->tax_display_cart ) : - $estimated_text = 1||WC()->customer->is_customer_outside_base() && ! WC()->customer->has_calculated_shipping() - ? sprintf( ' (' . __( 'estimated for %s', 'woocommerce' ) . ')', WC()->countries->estimated_for_prefix() . __( WC()->countries->countries[ WC()->countries->get_base_country() ], 'woocommerce' ) ) - : ''; + $taxable_address = WC()->customer->get_taxable_address(); + $estimated_text = WC()->customer->is_customer_outside_base() && ! WC()->customer->has_calculated_shipping() + ? sprintf( ' (' . __( 'estimated for %s', 'woocommerce' ) . ')', WC()->countries->estimated_for_prefix( $taxable_address[0] ) . WC()->countries->countries[ $taxable_address[0] ] ) + : ''; if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : ?> cart->get_tax_totals() as $code => $tax ) : ?> From 55c8f91c14c2873bc294308f4bf993c349cdcd09 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 10:16:36 +0000 Subject: [PATCH 138/162] [2.5] Set has calculated shipping to true when setting country Closes #10148 --- includes/class-wc-ajax.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index 6382450ab06..bf3e41ea36d 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -315,6 +315,7 @@ class WC_AJAX { if ( isset( $_POST['country'] ) ) { WC()->customer->set_shipping_country( $_POST['country'] ); + WC()->customer->calculated_shipping( true ); } if ( isset( $_POST['state'] ) ) { @@ -340,6 +341,7 @@ class WC_AJAX { if ( isset( $_POST['s_country'] ) ) { WC()->customer->set_shipping_country( $_POST['s_country'] ); + WC()->customer->calculated_shipping( true ); } if ( isset( $_POST['s_state'] ) ) { From 76840ae3d48acac558f9d73d0378ae2e093536fe Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 11:07:01 +0000 Subject: [PATCH 139/162] [2.5] Clear cron on uninstall Closes #10161 --- uninstall.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/uninstall.php b/uninstall.php index 34e903218a6..18a40a03693 100644 --- a/uninstall.php +++ b/uninstall.php @@ -14,12 +14,17 @@ if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) { exit; } +global $wpdb; + +wp_clear_scheduled_hook( 'woocommerce_scheduled_sales' ); +wp_clear_scheduled_hook( 'woocommerce_cancel_unpaid_orders' ); +wp_clear_scheduled_hook( 'woocommerce_cleanup_sessions' ); +wp_clear_scheduled_hook( 'woocommerce_geoip_updater' ); +wp_clear_scheduled_hook( 'woocommerce_tracker_send_event' ); + $status_options = get_option( 'woocommerce_status_options', array() ); if ( ! empty( $status_options['uninstall_data'] ) ) { - - global $wpdb; - // Roles + caps. include_once( 'includes/class-wc-install.php' ); WC_Install::remove_roles(); @@ -41,6 +46,7 @@ if ( ! empty( $status_options['uninstall_data'] ) ) { $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woocommerce_termmeta" ); $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woocommerce_tax_rates" ); $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woocommerce_tax_rate_locations" ); + $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}woocommerce_sessions" ); // Delete options. $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'woocommerce\_%';"); From 793d86c9c361b1af9d129334bd36545c2d80b5f9 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 11:31:22 +0000 Subject: [PATCH 140/162] [2.5] Fix scroll on ios Closes #10145 --- assets/js/select2/select2.js | 45 +++++++++++++++++++++++--------- assets/js/select2/select2.min.js | 4 +-- 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/assets/js/select2/select2.js b/assets/js/select2/select2.js index 195ccee5bb0..4aa7e9f17f6 100644 --- a/assets/js/select2/select2.js +++ b/assets/js/select2/select2.js @@ -2399,22 +2399,41 @@ the specific language governing permissions and limitations under the Apache Lic } })); - selection.on("mousedown touchstart", this.bind(function (e) { - // Prevent IE from generating a click event on the body - reinsertElement(selection); + if(this.supportsTouchEvents) { + selection.on("mousedown touchstart", this.bind(function (e) { + // Prevent IE from generating a click event on the body + reinsertElement(selection); - if (!this.container.hasClass("select2-container-active")) { - this.opts.element.trigger($.Event("select2-focus")); - } + if (!this.container.hasClass("select2-container-active")) { + this.opts.element.trigger($.Event("select2-focus")); + } - if (this.opened()) { - this.close(); - } else if (this.isInterfaceEnabled()) { - this.open(); - } + if (this.opened()) { + this.close(); + } else if (this.isInterfaceEnabled()) { + this.open(); + } - killEvent(e); - })); + killEvent(e); + })); + } else { + selection.on("mousedown", this.bind(function (e) { + // Prevent IE from generating a click event on the body + reinsertElement(selection); + + if (!this.container.hasClass("select2-container-active")) { + this.opts.element.trigger($.Event("select2-focus")); + } + + if (this.opened()) { + this.close(); + } else if (this.isInterfaceEnabled()) { + this.open(); + } + + killEvent(e); + })); + } dropdown.on("mousedown touchstart", this.bind(function() { if (this.opts.shouldFocusInput(this)) { diff --git a/assets/js/select2/select2.min.js b/assets/js/select2/select2.min.js index 4273f044139..d084ea01656 100644 --- a/assets/js/select2/select2.min.js +++ b/assets/js/select2/select2.min.js @@ -1,3 +1,3 @@ !function(a){"undefined"==typeof a.fn.each2&&a.extend(a.fn,{each2:function(b){for(var c=a([0]),d=-1,e=this.length;++dc;c+=1)if(g(a,b[c]))return c;return-1}function f(){var b=a(N);b.appendTo(document.body);var c={width:b.width()-b[0].clientWidth,height:b.height()-b[0].clientHeight};return b.remove(),c}function g(a,c){return a===c?!0:a===b||c===b?!1:null===a||null===c?!1:a.constructor===String?a+""==c+"":c.constructor===String?c+""==a+"":!1}function h(a,b,c){var d,e,f;if(null===a||a.length<1)return[];for(d=a.split(b),e=0,f=d.length;f>e;e+=1)d[e]=c(d[e]);return d}function i(a){return a.outerWidth(!1)-a.width()}function j(c){var d="keyup-change-value";c.on("keydown",function(){a.data(c,d)===b&&a.data(c,d,c.val())}),c.on("keyup",function(){var e=a.data(c,d);e!==b&&c.val()!==e&&(a.removeData(c,d),c.trigger("keyup-change"))})}function k(c){c.on("mousemove",function(c){var d=L;(d===b||d.x!==c.pageX||d.y!==c.pageY)&&a(c.target).trigger("mousemove-filtered",c)})}function l(a,c,d){d=d||b;var e;return function(){var b=arguments;window.clearTimeout(e),e=window.setTimeout(function(){c.apply(d,b)},a)}}function m(a,b){var c=l(a,function(a){b.trigger("scroll-debounced",a)});b.on("scroll",function(a){e(a.target,b.get())>=0&&c(a)})}function n(a){a[0]!==document.activeElement&&window.setTimeout(function(){var b,c=a[0],d=a.val().length;a.focus();var e=c.offsetWidth>0||c.offsetHeight>0;e&&c===document.activeElement&&(c.setSelectionRange?c.setSelectionRange(d,d):c.createTextRange&&(b=c.createTextRange(),b.collapse(!1),b.select()))},0)}function o(b){b=a(b)[0];var c=0,d=0;if("selectionStart"in b)c=b.selectionStart,d=b.selectionEnd-c;else if("selection"in document){b.focus();var e=document.selection.createRange();d=document.selection.createRange().text.length,e.moveStart("character",-b.value.length),c=e.text.length-d}return{offset:c,length:d}}function p(a){a.preventDefault(),a.stopPropagation()}function q(a){a.preventDefault(),a.stopImmediatePropagation()}function r(b){if(!I){var c=b[0].currentStyle||window.getComputedStyle(b[0],null);I=a(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:c.fontSize,fontFamily:c.fontFamily,fontStyle:c.fontStyle,fontWeight:c.fontWeight,letterSpacing:c.letterSpacing,textTransform:c.textTransform,whiteSpace:"nowrap"}),I.attr("class","select2-sizer"),a(document.body).append(I)}return I.text(b.val()),I.width()}function s(b,c,d){var e,f,g=[];e=a.trim(b.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&g.push(this)})),e=a.trim(c.attr("class")),e&&(e=""+e,a(e.split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(f=d(this),f&&g.push(f))})),b.attr("class",g.join(" "))}function t(a,b,c,e){var f=d(a.toUpperCase()).indexOf(d(b.toUpperCase())),g=b.length;return 0>f?void c.push(e(a)):(c.push(e(a.substring(0,f))),c.push(""),c.push(e(a.substring(f,f+g))),c.push(""),void c.push(e(a.substring(f+g,a.length))))}function u(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})}function v(c){var d,e=null,f=c.quietMillis||100,g=c.url,h=this;return function(i){window.clearTimeout(d),d=window.setTimeout(function(){var d=c.data,f=g,j=c.transport||a.fn.select2.ajaxDefaults.transport,k={type:c.type||"GET",cache:c.cache||!1,jsonpCallback:c.jsonpCallback||b,dataType:c.dataType||"json"},l=a.extend({},a.fn.select2.ajaxDefaults.params,k);d=d?d.call(h,i.term,i.page,i.context):null,f="function"==typeof f?f.call(h,i.term,i.page,i.context):f,e&&"function"==typeof e.abort&&e.abort(),c.params&&(a.isFunction(c.params)?a.extend(l,c.params.call(h)):a.extend(l,c.params)),a.extend(l,{url:f,dataType:c.dataType,data:d,success:function(a){var b=c.results(a,i.page,i);i.callback(b)},error:function(a,b,c){var d={hasError:!0,jqXHR:a,textStatus:b,errorThrown:c};i.callback(d)}}),e=j.call(h,l)},f)}}function w(b){var c,d,e=b,f=function(a){return""+a.text};a.isArray(e)&&(d=e,e={results:d}),a.isFunction(e)===!1&&(d=e,e=function(){return d});var g=e();return g.text&&(f=g.text,a.isFunction(f)||(c=g.text,f=function(a){return a[c]})),function(b){var c,d=b.term,g={results:[]};return""===d?void b.callback(e()):(c=function(e,g){var h,i;if(e=e[0],e.children){h={};for(i in e)e.hasOwnProperty(i)&&(h[i]=e[i]);h.children=[],a(e.children).each2(function(a,b){c(b,h.children)}),(h.children.length||b.matcher(d,f(h),e))&&g.push(h)}else b.matcher(d,f(e),e)&&g.push(e)},a(e().results).each2(function(a,b){c(b,g.results)}),void b.callback(g))}}function x(c){var d=a.isFunction(c);return function(e){var f=e.term,g={results:[]},h=d?c(e):c;a.isArray(h)&&(a(h).each(function(){var a=this.text!==b,c=a?this.text:this;(""===f||e.matcher(f,c))&&g.results.push(a?this:{id:this,text:this})}),e.callback(g))}}function y(b,c){if(a.isFunction(b))return!0;if(!b)return!1;if("string"==typeof b)return!0;throw new Error(c+" must be a string, function, or falsy value")}function z(b,c){if(a.isFunction(b)){var d=Array.prototype.slice.call(arguments,2);return b.apply(c,d)}return b}function A(b){var c=0;return a.each(b,function(a,b){b.children?c+=A(b.children):c++}),c}function B(a,c,d,e){var f,h,i,j,k,l=a,m=!1;if(!e.createSearchChoice||!e.tokenSeparators||e.tokenSeparators.length<1)return b;for(;;){for(h=-1,i=0,j=e.tokenSeparators.length;j>i&&(k=e.tokenSeparators[i],h=a.indexOf(k),!(h>=0));i++);if(0>h)break;if(f=a.substring(0,h),a=a.substring(h+k.length),f.length>0&&(f=e.createSearchChoice.call(this,f,c),f!==b&&null!==f&&e.id(f)!==b&&null!==e.id(f))){for(m=!1,i=0,j=c.length;j>i;i++)if(g(e.id(f),e.id(c[i]))){m=!0;break}m||d(f)}}return l!==a?a:void 0}function C(){var b=this;a.each(arguments,function(a,c){b[c].remove(),b[c]=null})}function D(b,c){var d=function(){};return d.prototype=new b,d.prototype.constructor=d,d.prototype.parent=b.prototype,d.prototype=a.extend(d.prototype,c),d}if(window.Select2===b){var E,F,G,H,I,J,K,L={x:0,y:0},M={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(a){switch(a=a.which?a.which:a){case M.LEFT:case M.RIGHT:case M.UP:case M.DOWN:return!0}return!1},isControl:function(a){var b=a.which;switch(b){case M.SHIFT:case M.CTRL:case M.ALT:return!0}return a.metaKey?!0:!1},isFunctionKey:function(a){return a=a.which?a.which:a,a>=112&&123>=a}},N="
    ",O={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};J=a(document),H=function(){var a=1;return function(){return a++}}(),E=D(Object,{bind:function(a){var b=this;return function(){a.apply(b,arguments)}},init:function(c){var d,e,g=".select2-results";this.opts=c=this.prepareOpts(c),this.id=c.id,c.element.data("select2")!==b&&null!==c.element.data("select2")&&c.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=a(".select2-hidden-accessible"),0==this.liveRegion.length&&(this.liveRegion=a("",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body)),this.containerId="s2id_"+(c.element.attr("id")||"autogen"+H()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",c.element.attr("title")),this.body=a(document.body),s(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",c.element.attr("style")),this.container.css(z(c.containerCss,this.opts.element)),this.container.addClass(z(c.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",p),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),s(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(z(c.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",p),this.results=d=this.container.find(g),this.search=e=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",p),k(this.results),this.dropdown.on("mousemove-filtered",g,this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",g,this.bind(function(a){this._touchEvent=!0,this.highlightUnderEvent(a)})),this.dropdown.on("touchmove",g,this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",g,this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(a){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),m(80,this.results),this.dropdown.on("scroll-debounced",g,this.bind(this.loadMoreIfNeeded)),a(this.container).on("change",".select2-input",function(a){a.stopPropagation()}),a(this.dropdown).on("change",".select2-input",function(a){a.stopPropagation()}),a.fn.mousewheel&&d.mousewheel(function(a,b,c,e){var f=d.scrollTop();e>0&&0>=f-e?(d.scrollTop(0),p(a)):0>e&&d.get(0).scrollHeight-d.scrollTop()+e<=d.height()&&(d.scrollTop(d.get(0).scrollHeight-d.height()),p(a))}),j(e),e.on("keyup-change input paste",this.bind(this.updateResults)),e.on("focus",function(){e.addClass("select2-focused")}),e.on("blur",function(){e.removeClass("select2-focused")}),this.dropdown.on("mouseup",g,this.bind(function(b){a(b.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(b),this.selectHighlighted(b))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(a){a.stopPropagation()}),this.lastSearchTerm=b,a.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==c.maximumInputLength&&this.search.attr("maxlength",c.maximumInputLength);var h=c.element.prop("disabled");h===b&&(h=!1),this.enable(!h);var i=c.element.prop("readonly");i===b&&(i=!1),this.readonly(i),K=K||f(),this.autofocus=c.element.prop("autofocus"),c.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",c.searchInputPlaceholder)},destroy:function(){var a=this.opts.element,c=a.data("select2"),d=this;this.close(),a.length&&a[0].detachEvent&&d._sync&&a.each(function(){d._sync&&this.detachEvent("onpropertychange",d._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,c!==b&&(c.container.remove(),c.liveRegion.remove(),c.dropdown.remove(),a.removeData("select2").off(".select2"),a.is("input[type='hidden']")?a.css("display",""):(a.show().prop("autofocus",this.autofocus||!1),this.elementTabIndex?a.attr({tabindex:this.elementTabIndex}):a.removeAttr("tabindex"),a.show())),C.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(a){return a.is("option")?{id:a.prop("value"),text:a.text(),element:a.get(),css:a.attr("class"),disabled:a.prop("disabled"),locked:g(a.attr("locked"),"locked")||g(a.data("locked"),!0)}:a.is("optgroup")?{text:a.attr("label"),children:[],element:a.get(),css:a.attr("class")}:void 0},prepareOpts:function(c){var d,e,f,i,j=this;if(d=c.element,"select"===d.get(0).tagName.toLowerCase()&&(this.select=e=c.element),e&&a.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in c)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a ","
    "," ","
      ","
    ","
    "].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var b,c,d;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),b=this.search.get(0),b.createTextRange?(c=b.createTextRange(),c.collapse(!1),c.select()):b.setSelectionRange&&(d=this.search.val().length,b.setSelectionRange(d,d))),this.prefillNextSearchTerm(),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),C.call(this,"selection","focusser")},initContainer:function(){var b,d,e=this.container,f=this.dropdown,g=H();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=e.find(".select2-choice"),this.focusser=e.find(".select2-focusser"),b.find(".select2-chosen").attr("id","select2-chosen-"+g),this.focusser.attr("aria-labelledby","select2-chosen-"+g),this.results.attr("id","select2-results-"+g),this.search.attr("aria-owns","select2-results-"+g),this.focusser.attr("id","s2id_autogen"+g),d=a("label[for='"+this.opts.element.attr("id")+"']"),this.opts.element.on("focus.select2",this.bind(function(){this.focus()})),this.focusser.prev().text(d.text()).attr("for",this.focusser.attr("id"));var h=this.opts.element.attr("title");this.opts.element.attr("title",h||d.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(a("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&229!=a.keyCode){if(a.which===M.PAGE_UP||a.which===M.PAGE_DOWN)return void p(a);switch(a.which){case M.UP:case M.DOWN:return this.moveHighlight(a.which===M.UP?-1:1),void p(a);case M.ENTER:return this.selectHighlighted(),void p(a);case M.TAB:return void this.selectHighlighted({noFocus:!0});case M.ESC:return this.cancel(a),void p(a)}}})),this.search.on("blur",this.bind(function(a){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.results&&this.results.length>1&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==M.TAB&&!M.isControl(a)&&!M.isFunctionKey(a)&&a.which!==M.ESC){if(this.opts.openOnEnter===!1&&a.which===M.ENTER)return void p(a);if(a.which==M.DOWN||a.which==M.UP||a.which==M.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),void p(a)}return a.which==M.DELETE||a.which==M.BACKSPACE?(this.opts.allowClear&&this.clear(),void p(a)):void 0}})),j(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown touchstart","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),q(a),this.close(),this.selection&&this.selection.focus())})),b.on("mousedown touchstart",this.bind(function(d){c(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),p(d)})),f.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),b.on("focus",this.bind(function(a){p(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.hide(),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var a=this;this.opts.initSelection.call(null,this.opts.element,function(c){c!==b&&null!==c&&(a.updateSelection(c),a.close(),a.setPlaceholder(),a.lastSearchTerm=a.search.val())})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()===b?!1:(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var h=g(e,b.id(d));return h&&(f=d),h},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return g(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var f=this.opts.minimumResultsForSearch;f>=0&&this.showSearch(A(a.results)>=f)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.lastSearchTerm=this.search.val(),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),g(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var c,d,e=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),e.empty(),null!==a&&(c=this.opts.formatSelection(a,e,this.opts.escapeMarkup)),c!==b&&e.append(c),d=this.opts.formatSelectionCssClass(a,e),d!==b&&e.addClass(d),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1],this.opts.debug&&console&&console.warn&&console.warn('Select2: The second option to `select2("val")` is not supported in Select2 4.0.0. The `change` event will always be triggered in 4.0.0.')),this.select)this.opts.debug&&console&&console.warn&&console.warn('Select2: Setting the value on a "," ","","
    ","
      ","
    ","
    "].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=h(c.val(),b.separator,b.transformVal),f=[];b.query({matcher:function(c,d,h){var i=a.grep(e,function(a){return g(a,b.id(h))}).length;return i&&f.push(h),i},callback:a.isFunction(d)?function(){for(var a=[],c=0;c0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",c,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.hide(),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var a=this;this.opts.initSelection.call(null,this.opts.element,function(c){c!==b&&null!==c&&(a.updateSelection(c),a.close(),a.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.prefillNextSearchTerm(),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c={},d=[],e=this;a(b).each(function(){e.id(this)in c||(c[e.id(this)]=0,d.push(this))}),this.selection.find(".select2-search-choice").remove(),this.addSelectedChoice(d),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&""!==a.text&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),this.lastSearchTerm=this.search.val(),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.prefillNextSearchTerm()&&this.updateResults(),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(b){var c=this.getVal(),d=this;a(b).each(function(){c.push(d.createChoice(this))}),this.setVal(c)},createChoice:function(c){var d,e,f=!c.locked,g=a("
  • "),h=a("
  • "),i=f?g:h,j=this.id(c);return d=this.opts.formatSelection(c,i.find("div"),this.opts.escapeMarkup),d!=b&&i.find("div").replaceWith(a("
    ").html(d)),e=this.opts.formatSelectionCssClass(c,i.find("div")),e!=b&&i.addClass(e),f&&i.find(".select2-search-choice-close").on("mousedown",p).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),p(b),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),i.data("select2-data",c),i.insertBefore(this.searchContainer),j},unselect:function(b){var c,d,f=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(c=b.data("select2-data")){var g=a.Event("select2-removing");if(g.val=this.id(c),g.choice=c,this.opts.element.trigger(g),g.isDefaultPrevented())return!1;for(;(d=e(this.id(c),f))>=0;)f.splice(d,1),this.setVal(f),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),f=this.results.find(".select2-result"),g=this.results.find(".select2-result-with-children"),h=this;f.each2(function(a,b){var c=h.id(b.data("select2-data"));e(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),g.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&this.opts.closeOnSelect===!0&&h.highlight(0),!this.opts.createSearchChoice&&!f.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&y(h.opts.formatNoMatches,"formatNoMatches")&&this.results.append("
  • "+z(h.opts.formatNoMatches,h.opts.element,h.search.val())+"
  • ")},getMaxSearchWidth:function(){return this.selection.width()-i(this.search)},resizeSearch:function(){var a,b,c,d,e,f=i(this.search);a=r(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),h(a,this.opts.separator,this.opts.transformVal))},setVal:function(b){if(this.select)this.select.val(b);else{var c=[],d={};a(b).each(function(){this in d||(c.push(this),d[this]=0)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator))}},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c. Attach to instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var d,e,f=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(e=this.data(),b||(b=[]),d=a.map(b,function(a){return f.opts.id(a)}),this.setVal(d),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(e,this.data())),void 0)}}),a.fn.select2=function(){var c,d,f,g,h,i=Array.prototype.slice.call(arguments,0),j=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],k=["opened","isFocused","container","dropdown"],l=["val","data"],m={search:"externalSearch"};return this.each(function(){if(0===i.length||"object"==typeof i[0])c=0===i.length?{}:a.extend({},i[0]),c.element=a(this),"select"===c.element.get(0).tagName.toLowerCase()?h=c.element.prop("multiple"):(h=c.multiple||!1,"tags"in c&&(c.multiple=h=!0)),d=h?new window.Select2["class"].multi:new window.Select2["class"].single,d.init(c);else{if("string"!=typeof i[0])throw"Invalid arguments to select2 plugin: "+i;if(e(i[0],j)<0)throw"Unknown method: "+i[0];if(g=b,d=a(this).data("select2"),d===b)return;if(f=i[0],"container"===f?g=d.container:"dropdown"===f?g=d.dropdown:(m[f]&&(f=m[f]),g=d[f].apply(d,i.slice(1))),e(i[0],k)>=0||e(i[0],l)>=0&&1==i.length)return!1}}),g===b?this:g},a.fn.select2.defaults={debug:!1,width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return t(this.text(a),c.term,e,d),e.join("")},transformVal:function(b){return a.trim(b)},formatSelection:function(a,c,d){return a?d(this.text(a)):b},sortResults:function(a,b,c){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(a,c){return b},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},text:function(b){return b&&this.data&&this.data.text?a.isFunction(this.data.text)?this.data.text(b):b[this.data.text]:b.text},matcher:function(a,b){return d(""+b).toUpperCase().indexOf(d(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:B,escapeMarkup:u,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(a){return null},nextSearchTerm:function(a,c){return b},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(a){var b="ontouchstart"in window||navigator.msMaxTouchPoints>0;return b&&a.opts.minimumResultsForSearch<0?!1:!0}},a.fn.select2.locales=[],a.fn.select2.locales.en={formatMatches:function(a){ -return 1===a?"One result is available, press enter to select it.":a+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(a,b,c){return"Loading failed"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" or more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(a){return"Loading more results…"},formatSearching:function(){return"Searching…"}},a.extend(a.fn.select2.defaults,a.fn.select2.locales.en),a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:v,local:w,tags:x},util:{debounce:l,markMatch:t,escapeMarkup:u,stripDiacritics:d},"class":{"abstract":E,single:F,multi:G}}}}(jQuery); \ No newline at end of file +var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var a,b=this.results,c=b.find("li.select2-more-results"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==c.length&&(a=c.offset().top-b.offset().top-b.height(),a<=this.opts.loadMorePadding&&(c.addClass("select2-active"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(a){e.opened()&&(e.opts.populateResults.call(this,b,a.results,{term:f,page:d,context:g}),e.postprocessResults(a,!1,!1),a.more===!0?(c.detach().appendTo(b).html(e.opts.escapeMarkup(z(e.opts.formatLoadMore,e.opts.element,d+1))),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):c.remove(),e.positionDropdown(),e.resultsPage=d,e.context=a.context,this.opts.element.trigger({type:"select2-loaded",items:a}))})})))},tokenize:function(){},updateResults:function(c){function d(){j.removeClass("select2-active"),m.positionDropdown(),k.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?m.liveRegion.text(k.text()):m.liveRegion.text(m.opts.formatMatches(k.find('.select2-result-selectable:not(".select2-selected")').length))}function e(a){k.html(a),d()}var f,h,i,j=this.search,k=this.results,l=this.opts,m=this,n=j.val(),o=a.data(this.container,"select2-last-term");if((c===!0||!o||!g(n,o))&&(a.data(this.container,"select2-last-term",n),c===!0||this.showSearchInput!==!1&&this.opened())){i=++this.queryCount;var p=this.getMaximumSelectionSize();if(p>=1&&(f=this.data(),a.isArray(f)&&f.length>=p&&y(l.formatSelectionTooBig,"formatSelectionTooBig")))return void e("
  • "+z(l.formatSelectionTooBig,l.element,p)+"
  • ");if(j.val().length"+z(l.formatInputTooShort,l.element,j.val(),l.minimumInputLength)+"":""),void(c&&this.showSearch&&this.showSearch(!0));if(l.maximumInputLength&&j.val().length>l.maximumInputLength)return void e(y(l.formatInputTooLong,"formatInputTooLong")?"
  • "+z(l.formatInputTooLong,l.element,j.val(),l.maximumInputLength)+"
  • ":"");l.formatSearching&&0===this.findHighlightableChoices().length&&e("
  • "+z(l.formatSearching,l.element)+"
  • "),j.addClass("select2-active"),this.removeHighlight(),h=this.tokenize(),h!=b&&null!=h&&j.val(h),this.resultsPage=1,l.query({element:l.element,term:j.val(),page:this.resultsPage,context:null,matcher:l.matcher,callback:this.bind(function(f){var h;if(i==this.queryCount){if(!this.opened())return void this.search.removeClass("select2-active");if(f.hasError!==b&&y(l.formatAjaxError,"formatAjaxError"))return void e("
  • "+z(l.formatAjaxError,l.element,f.jqXHR,f.textStatus,f.errorThrown)+"
  • ");if(this.context=f.context===b?null:f.context,this.opts.createSearchChoice&&""!==j.val()&&(h=this.opts.createSearchChoice.call(m,j.val(),f.results),h!==b&&null!==h&&m.id(h)!==b&&null!==m.id(h)&&0===a(f.results).filter(function(){return g(m.id(this),m.id(h))}).length&&this.opts.createSearchChoicePosition(f.results,h)),0===f.results.length&&y(l.formatNoMatches,"formatNoMatches"))return e("
  • "+z(l.formatNoMatches,l.element,j.val())+"
  • "),void(this.showSearch&&this.showSearch(j.val()));k.empty(),m.opts.populateResults.call(this,k,f.results,{term:j.val(),page:this.resultsPage,context:null}),f.more===!0&&y(l.formatLoadMore,"formatLoadMore")&&(k.append("
  • "+l.escapeMarkup(z(l.formatLoadMore,l.element,this.resultsPage))+"
  • "),window.setTimeout(function(){m.loadMoreIfNeeded()},10)),this.postprocessResults(f,c),d(),this.opts.element.trigger({type:"select2-loaded",items:f})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){n(this.search)},selectHighlighted:function(a){if(this._touchMoved)return void this.clearTouchMoved();var b=this.highlight(),c=this.results.find(".select2-highlighted"),d=c.closest(".select2-result").data("select2-data");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var c=this.select.children("option").first();if(this.opts.placeholderOption!==b)return"first"===this.opts.placeholderOption&&c||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===a.trim(c.text())&&""===c.val())return c}},initContainerWidth:function(){function b(){var b,c,d,e,f,g;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if(b=this.opts.element.attr("style"),"string"==typeof b)for(c=b.split(";"),e=0,f=c.length;f>e;e+=1)if(g=c[e].replace(/\s/g,""),d=g.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==d&&d.length>=1)return d[1];return"resolve"===this.opts.width?(b=this.opts.element.css("width"),b.indexOf("%")>0?b:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var c=b.call(this);null!==c&&this.container.css("width",c)}}),F=D(E,{createContainer:function(){var b=a(document.createElement("div")).attr({"class":"select2-container"}).html(["","  "," ","","","","
    "," ","
      ","
    ","
    "].join(""));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var b,c,d;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),b=this.search.get(0),b.createTextRange?(c=b.createTextRange(),c.collapse(!1),c.select()):b.setSelectionRange&&(d=this.search.val().length,b.setSelectionRange(d,d))),this.prefillNextSearchTerm(),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),C.call(this,"selection","focusser")},initContainer:function(){var b,d,e=this.container,f=this.dropdown,g=H();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=e.find(".select2-choice"),this.focusser=e.find(".select2-focusser"),b.find(".select2-chosen").attr("id","select2-chosen-"+g),this.focusser.attr("aria-labelledby","select2-chosen-"+g),this.results.attr("id","select2-results-"+g),this.search.attr("aria-owns","select2-results-"+g),this.focusser.attr("id","s2id_autogen"+g),d=a("label[for='"+this.opts.element.attr("id")+"']"),this.opts.element.on("focus.select2",this.bind(function(){this.focus()})),this.focusser.prev().text(d.text()).attr("for",this.focusser.attr("id"));var h=this.opts.element.attr("title");this.opts.element.attr("title",h||d.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(a("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&229!=a.keyCode){if(a.which===M.PAGE_UP||a.which===M.PAGE_DOWN)return void p(a);switch(a.which){case M.UP:case M.DOWN:return this.moveHighlight(a.which===M.UP?-1:1),void p(a);case M.ENTER:return this.selectHighlighted(),void p(a);case M.TAB:return void this.selectHighlighted({noFocus:!0});case M.ESC:return this.cancel(a),void p(a)}}})),this.search.on("blur",this.bind(function(a){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.results&&this.results.length>1&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==M.TAB&&!M.isControl(a)&&!M.isFunctionKey(a)&&a.which!==M.ESC){if(this.opts.openOnEnter===!1&&a.which===M.ENTER)return void p(a);if(a.which==M.DOWN||a.which==M.UP||a.which==M.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),void p(a)}return a.which==M.DELETE||a.which==M.BACKSPACE?(this.opts.allowClear&&this.clear(),void p(a)):void 0}})),j(this.focusser),this.focusser.on("keyup-change input",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on("mousedown touchstart","abbr",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),q(a),this.close(),this.selection&&this.selection.focus())})),this.supportsTouchEvents?b.on("mousedown touchstart",this.bind(function(d){c(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),p(d)})):b.on("mousedown",this.bind(function(d){c(b),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),p(d)})),f.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),b.on("focus",this.bind(function(a){p(a)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(a.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.hide(),this.setPlaceholder()},clear:function(b){var c=this.selection.data("select2-data");if(c){var d=a.Event("select2-clearing");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var a=this;this.opts.initSelection.call(null,this.opts.element,function(c){c!==b&&null!==c&&(a.updateSelection(c),a.close(),a.setPlaceholder(),a.lastSearchTerm=a.search.val())})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()===b?!1:(a=this.getPlaceholderOption())!==b&&a.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find("option").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var h=g(e,b.id(d));return h&&(f=d),h},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(a)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return g(e.id(b.data("select2-data")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var f=this.opts.minimumResultsForSearch;f>=0&&this.showSearch(A(a.results)>=f)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!b),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!b),a(this.dropdown,this.container).toggleClass("select2-with-searchbox",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:"select2-selected",val:this.id(a),choice:a}),this.lastSearchTerm=this.search.val(),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),g(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var c,d,e=this.selection.find(".select2-chosen");this.selection.data("select2-data",a),e.empty(),null!==a&&(c=this.opts.formatSelection(a,e,this.opts.escapeMarkup)),c!==b&&e.append(c),d=this.opts.formatSelectionCssClass(a,e),d!==b&&e.addClass(d),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass("select2-allowclear")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1],this.opts.debug&&console&&console.warn&&console.warn('Select2: The second option to `select2("val")` is not supported in Select2 4.0.0. The `change` event will always be triggered in 4.0.0.')),this.select)this.opts.debug&&console&&console.warn&&console.warn('Select2: Setting the value on a "," ","","
    ","
      ","
    ","
    "].join(""));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return"select"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:"data"in b&&(b.initSelection=b.initSelection||function(c,d){var e=h(c.val(),b.separator,b.transformVal),f=[];b.query({matcher:function(c,d,h){var i=a.grep(e,function(a){return g(a,b.id(h))}).length;return i&&f.push(h),i},callback:a.isFunction(d)?function(){for(var a=[],c=0;c0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on("focus",c,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(a.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.hide(),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var a=this;this.opts.initSelection.call(null,this.opts.element,function(c){c!==b&&null!==c&&(a.updateSelection(c),a.close(),a.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass("select2-focused")===!1?(this.search.val(a).addClass("select2-default"),this.search.width(c>0?c:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.prefillNextSearchTerm(),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(a.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(b){var c={},d=[],e=this;a(b).each(function(){e.id(this)in c||(c[e.id(this)]=0,d.push(this))}),this.selection.find(".select2-search-choice").remove(),this.addSelectedChoice(d),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,b){this.triggerSelect(a)&&""!==a.text&&(this.addSelectedChoice(a),this.opts.element.trigger({type:"selected",val:this.id(a),choice:a}),this.lastSearchTerm=this.search.val(),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.prefillNextSearchTerm()&&this.updateResults(),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),b&&b.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(b){var c=this.getVal(),d=this;a(b).each(function(){c.push(d.createChoice(this))}),this.setVal(c)},createChoice:function(c){var d,e,f=!c.locked,g=a("
  • "),h=a("
  • "),i=f?g:h,j=this.id(c);return d=this.opts.formatSelection(c,i.find("div"),this.opts.escapeMarkup),d!=b&&i.find("div").replaceWith(a("
    ").html(d)),e=this.opts.formatSelectionCssClass(c,i.find("div")),e!=b&&i.addClass(e),f&&i.find(".select2-search-choice-close").on("mousedown",p).on("click dblclick",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),p(b),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),i.data("select2-data",c),i.insertBefore(this.searchContainer),j},unselect:function(b){var c,d,f=this.getVal();if(b=b.closest(".select2-search-choice"),0===b.length)throw"Invalid argument: "+b+". Must be .select2-search-choice";if(c=b.data("select2-data")){var g=a.Event("select2-removing");if(g.val=this.id(c),g.choice=c,this.opts.element.trigger(g),g.isDefaultPrevented())return!1;for(;(d=e(this.id(c),f))>=0;)f.splice(d,1),this.setVal(f),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(c),choice:c}),this.triggerChange({removed:c}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),f=this.results.find(".select2-result"),g=this.results.find(".select2-result-with-children"),h=this;f.each2(function(a,b){var c=h.id(b.data("select2-data"));e(c,d)>=0&&(b.addClass("select2-selected"),b.find(".select2-result-selectable").addClass("select2-selected"))}),g.each2(function(a,b){b.is(".select2-result-selectable")||0!==b.find(".select2-result-selectable:not(.select2-selected)").length||b.addClass("select2-selected")}),-1==this.highlight()&&c!==!1&&this.opts.closeOnSelect===!0&&h.highlight(0),!this.opts.createSearchChoice&&!f.filter(".select2-result:not(.select2-selected)").length>0&&(!a||a&&!a.more&&0===this.results.find(".select2-no-results").length)&&y(h.opts.formatNoMatches,"formatNoMatches")&&this.results.append("
  • "+z(h.opts.formatNoMatches,h.opts.element,h.search.val())+"
  • ")},getMaxSearchWidth:function(){return this.selection.width()-i(this.search)},resizeSearch:function(){var a,b,c,d,e,f=i(this.search);a=r(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),h(a,this.opts.separator,this.opts.transformVal))},setVal:function(b){if(this.select)this.select.val(b);else{var c=[],d={};a(b).each(function(){this in d||(c.push(this),d[this]=0)}),this.opts.element.val(0===c.length?"":c.join(this.opts.separator))}},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c. Attach to instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){b.push(c.opts.id(a(this).data("select2-data")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var d,e,f=this;return 0===arguments.length?this.selection.children(".select2-search-choice").map(function(){return a(this).data("select2-data")}).get():(e=this.data(),b||(b=[]),d=a.map(b,function(a){return f.opts.id(a)}),this.setVal(d),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(e,this.data())),void 0)}}),a.fn.select2=function(){var c,d,f,g,h,i=Array.prototype.slice.call(arguments,0),j=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],k=["opened","isFocused","container","dropdown"],l=["val","data"],m={search:"externalSearch"};return this.each(function(){if(0===i.length||"object"==typeof i[0])c=0===i.length?{}:a.extend({},i[0]),c.element=a(this),"select"===c.element.get(0).tagName.toLowerCase()?h=c.element.prop("multiple"):(h=c.multiple||!1,"tags"in c&&(c.multiple=h=!0)),d=h?new window.Select2["class"].multi:new window.Select2["class"].single,d.init(c);else{if("string"!=typeof i[0])throw"Invalid arguments to select2 plugin: "+i;if(e(i[0],j)<0)throw"Unknown method: "+i[0];if(g=b,d=a(this).data("select2"),d===b)return;if(f=i[0],"container"===f?g=d.container:"dropdown"===f?g=d.dropdown:(m[f]&&(f=m[f]),g=d[f].apply(d,i.slice(1))),e(i[0],k)>=0||e(i[0],l)>=0&&1==i.length)return!1}}),g===b?this:g},a.fn.select2.defaults={debug:!1,width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(a,b,c,d){var e=[];return t(this.text(a),c.term,e,d),e.join("")},transformVal:function(b){return a.trim(b)},formatSelection:function(a,c,d){return a?d(this.text(a)):b},sortResults:function(a,b,c){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(a,c){return b},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},text:function(b){return b&&this.data&&this.data.text?a.isFunction(this.data.text)?this.data.text(b):b[this.data.text]:b.text},matcher:function(a,b){return d(""+b).toUpperCase().indexOf(d(""+a).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:B,escapeMarkup:u,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(a){return null},nextSearchTerm:function(a,c){return b},searchInputPlaceholder:"", +createSearchChoicePosition:"top",shouldFocusInput:function(a){var b="ontouchstart"in window||navigator.msMaxTouchPoints>0;return b&&a.opts.minimumResultsForSearch<0?!1:!0}},a.fn.select2.locales=[],a.fn.select2.locales.en={formatMatches:function(a){return 1===a?"One result is available, press enter to select it.":a+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(a,b,c){return"Loading failed"},formatInputTooShort:function(a,b){var c=b-a.length;return"Please enter "+c+" or more character"+(1==c?"":"s")},formatInputTooLong:function(a,b){var c=a.length-b;return"Please delete "+c+" character"+(1==c?"":"s")},formatSelectionTooBig:function(a){return"You can only select "+a+" item"+(1==a?"":"s")},formatLoadMore:function(a){return"Loading more results…"},formatSearching:function(){return"Searching…"}},a.extend(a.fn.select2.defaults,a.fn.select2.locales.en),a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:v,local:w,tags:x},util:{debounce:l,markMatch:t,escapeMarkup:u,stripDiacritics:d},"class":{"abstract":E,single:F,multi:G}}}}(jQuery); \ No newline at end of file From b26a13ec47b7b086e917aebb6482e7914d3da3ba Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 14:55:41 +0000 Subject: [PATCH 141/162] [2.5] tracking text --- includes/admin/class-wc-admin-setup-wizard.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/class-wc-admin-setup-wizard.php b/includes/admin/class-wc-admin-setup-wizard.php index 7fe4201db91..741c7bb272f 100644 --- a/includes/admin/class-wc-admin-setup-wizard.php +++ b/includes/admin/class-wc-admin-setup-wizard.php @@ -748,7 +748,7 @@ class WC_Admin_Setup_Wizard {
    -

    ', '' ); ?>

    +

    ', '' ); ?>

    From 57c643c93e58275d8d6168c23e1fd4dc0541210e Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 15:18:49 +0000 Subject: [PATCH 142/162] [2.5] Round tax/tax refunded amounts on display. Closes #10162 --- includes/admin/meta-boxes/views/html-order-items.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/admin/meta-boxes/views/html-order-items.php b/includes/admin/meta-boxes/views/html-order-items.php index 92d09ccb759..bb497900dba 100644 --- a/includes/admin/meta-boxes/views/html-order-items.php +++ b/includes/admin/meta-boxes/views/html-order-items.php @@ -172,7 +172,7 @@ if ( wc_tax_enabled() ) { label; ?>: get_total_tax_refunded_by_rate_id( $tax->rate_id ) ) > 0 ) { - echo '' . strip_tags( $tax->formatted_amount ) . ' ' . wc_price( $tax->amount - $refunded, array( 'currency' => $order->get_order_currency() ) ) . ''; + echo '' . strip_tags( $tax->formatted_amount ) . ' ' . wc_price( WC_Tax::round( $tax->amount, wc_get_price_decimals() ) - WC_Tax::round( $refunded, wc_get_price_decimals() ), array( 'currency' => $order->get_order_currency() ) ) . ''; } else { echo $tax->formatted_amount; } From 8e787c3433583753501cf1767f61d9484074598c Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 25 Jan 2016 13:32:24 -0200 Subject: [PATCH 143/162] Changelog for 2.5.1 --- CHANGELOG.txt | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index fcae134591e..037704dd9d6 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,5 +1,27 @@ == Changelog == += 2.5.1 - 25/01/2016 = +* Fix - Remove usage of get_currentuserinfo() which is deprecated in WordPress 4.5. +* Fix - Fix responsive product sizes when the columns class is missing. +* Fix - Fix function exists check for woocommerce_template_loop_category_title. +* Fix - check_version on all requests so that the installer runs after remote plugin updates. +* Fix - Only show the "add payment method" button when needed, and check for required fields on the add payment method page. +* Fix - Correctly block UI to prevent attribute issues in backend when adding multiple attributes in quick succession. +* Fix - Show SKU in admin emails. +* Fix - Don't show downloads in admin emails. +* Fix - Fix query/missing variable in validate_user_usage_limit function. +* Fix - Prevent endless loading on checkout when reload_checkout session variable was used. +* Fix - Correctly display html entities in tax screen autocomplete. +* Fix - Do sales reports based on refund line items rather than fully refunded orders to prevent double refunds being reported. +* Fix - Qty button can be hidden for variable products sold individually. +* Fix - Show the taxable country rather than base country in "estimated for" text during checkout. +* Fix - Prevent select2 gaining focus on IOS7 scroll. +* Fix - API - Fix indexes on decimal and thousand values. +* Tweak - Clear cron jobs on uninstall
. +* Tweak - Don't disable place order button on checkout if a weak password is used. +* Tweak - Added password strength meter in lost password and edit accout pages. +* Tweak - Pass $args to woocommerce_dropdown_variation_attribute_options_html hook. + = 2.5.0 - 18/01/2016 = * Feature - New default session handler. Uses custom table to store data rather than the options table for performance and scalability reasons. https://woocommerce.wordpress.com/2015/10/07/new-session-handler-in-2-5/ * Feature - New tax settings UI - faster, enhanced with ajax, searchable. From 7de89fddb4c0d1a27f50faa3b251da17ea0e1434 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 25 Jan 2016 13:46:56 -0200 Subject: [PATCH 144/162] Fixed extensions list --- readme.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/readme.txt b/readme.txt index a8df924bca9..a250d3757c1 100644 --- a/readme.txt +++ b/readme.txt @@ -55,22 +55,22 @@ We also support WooCommerce and all its extensions with comprehensive, easily-ac WordPress.org is home to some amazing extensions for WooCommerce, including: -[Google Analytics](https://wordpress.org/plugins/woocommerce-google-analytics-integration/) -[Delivery Notes](https://wordpress.org/plugins/woocommerce-delivery-notes/) -[PDF Invoices and Packing Slips](https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/) -[Affiliates Integration Light](https://wordpress.org/plugins/affiliates-woocommerce-light/) -[New Product Badges](https://wordpress.org/plugins/woocommerce-new-product-badge/) +- [Google Analytics](https://wordpress.org/plugins/woocommerce-google-analytics-integration/) +- [Delivery Notes](https://wordpress.org/plugins/woocommerce-delivery-notes/) +- [PDF Invoices and Packing Slips](https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/) +- [Affiliates Integration Light](https://wordpress.org/plugins/affiliates-woocommerce-light/) +- [New Product Badges](https://wordpress.org/plugins/woocommerce-new-product-badge/) Keen to see them all? Search WordPress.org for ‘WooCommerce’ to dive in. If you’re looking for something endorsed and maintained by the developers who built WooCommerce, there are a plethora of premium eCommerce extensions, the most popular of which include: -[WooCommerce Subscriptions](http://www.woothemes.com/products/woocommerce-subscriptions/) -[WooCommerce Memberships](http://www.woothemes.com/products/woocommerce-memberships/) -[WooCommerce Bookings](http://www.woothemes.com/products/woocommerce-bookings/) -[Dynamic Pricing](http://www.woothemes.com/products/dynamic-pricing/) -[Table Rate Shipping](http://www.woothemes.com/products/table-rate-shipping/) -[Product CSV Import Suite](http://www.woothemes.com/products/product-csv-import-suite/) +- [WooCommerce Subscriptions](http://www.woothemes.com/products/woocommerce-subscriptions/) +- [WooCommerce Memberships](http://www.woothemes.com/products/woocommerce-memberships/) +- [WooCommerce Bookings](http://www.woothemes.com/products/woocommerce-bookings/) +- [Dynamic Pricing](http://www.woothemes.com/products/dynamic-pricing/) +- [Table Rate Shipping](http://www.woothemes.com/products/table-rate-shipping/) +- [Product CSV Import Suite](http://www.woothemes.com/products/product-csv-import-suite/) And there’s plenty more where they came from. Visit our [extensions page](http://www.woothemes.com/product-category/woocommerce-extensions/) to find out everything you’re capable of and all that's possible with premium WooCommerce extensions. From a550c77dbadfea6d9766878846d7577f46b96382 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 18:17:26 +0000 Subject: [PATCH 145/162] [2.5] Remove stock bw compat code which was preventing manage stock being disabled. Fixes #10167 --- includes/class-wc-ajax.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/includes/class-wc-ajax.php b/includes/class-wc-ajax.php index bf3e41ea36d..7267f38f945 100644 --- a/includes/class-wc-ajax.php +++ b/includes/class-wc-ajax.php @@ -2537,11 +2537,6 @@ class WC_AJAX { $variation_data['menu_order'] = $variation->menu_order; $variation_data['_stock'] = wc_stock_amount( $variation_data['_stock'] ); - // Stock BW compat - if ( '' !== $variation_data['_stock'] ) { - $variation_data['_manage_stock'] = 'yes'; - } - include( 'admin/meta-boxes/views/html-variation-admin.php' ); $loop++; From 5db85c6ef75b46f70baf42bd92db840b47826c98 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Mon, 25 Jan 2016 20:14:45 +0000 Subject: [PATCH 146/162] [2.5] Compatibility with w3 total cache inline minification --- assets/js/frontend/add-to-cart-variation.js | 16 +++++++++++++--- assets/js/frontend/add-to-cart-variation.min.js | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/assets/js/frontend/add-to-cart-variation.js b/assets/js/frontend/add-to-cart-variation.js index c9e1cd30795..a6451e1a9dd 100644 --- a/assets/js/frontend/add-to-cart-variation.js +++ b/assets/js/frontend/add-to-cart-variation.js @@ -181,13 +181,23 @@ $form.wc_variations_image_update( variation ); // Output correct templates + var $template_html = ''; + if ( ! variation.variation_is_visible ) { - $single_variation.html( unavailable_template ); + $template_html = unavailable_template; + // w3 total cache inline minification adds CDATA tags around our HTML (sigh) + $template_html = $template_html.replace( '/**/', '' ); + $single_variation.html( $template_html ); $form.find( 'input[name="variation_id"], input.variation_id' ).val( '' ).change(); } else { - $single_variation.html( template( { + $template_html = template( { variation: variation - } ) ); + } ); + // w3 total cache inline minification adds CDATA tags around our HTML (sigh) + $template_html = $template_html.replace( '/**/', '' ); + $single_variation.html( $template_html ); $form.find( 'input[name="variation_id"], input.variation_id' ).val( variation.variation_id ).change(); } diff --git a/assets/js/frontend/add-to-cart-variation.min.js b/assets/js/frontend/add-to-cart-variation.min.js index 670af940209..40c29c11be0 100644 --- a/assets/js/frontend/add-to-cart-variation.min.js +++ b/assets/js/frontend/add-to-cart-variation.min.js @@ -1,4 +1,4 @@ /*! * Variations Plugin */ -!function(a,b,c,d){a.fn.wc_variation_form=function(){var c=this,d=c.find(".single_variation"),f=c.closest(".product"),g=parseInt(c.data("product_id"),10),h=c.data("product_variations"),i=h===!1,j=!1,k=c.find(".reset_variations"),l=wp.template("variation-template"),m=wp.template("unavailable-variation-template"),n=c.find(".single_variation_wrap");return n.show(),c.unbind("check_variations update_variation_values found_variation"),c.find(".reset_variations").unbind("click"),c.find(".variations select").unbind("change focusin"),c.on("click",".reset_variations",function(){return c.find(".variations select").val("").change(),c.trigger("reset_data"),!1}).on("hide_variation",function(){return c.find(".single_add_to_cart_button").attr("disabled","disabled").attr("title",wc_add_to_cart_variation_params.i18n_make_a_selection_text),!1}).on("show_variation",function(a,b,d){return d?c.find(".single_add_to_cart_button").removeAttr("disabled").removeAttr("title"):c.find(".single_add_to_cart_button").attr("disabled","disabled").attr("title",wc_add_to_cart_variation_params.i18n_unavailable_text),!1}).on("reload_product_variations",function(){h=c.data("product_variations"),i=h===!1}).on("reset_data",function(){a(".sku").wc_reset_content(),a(".product_weight").wc_reset_content(),a(".product_dimensions").wc_reset_content(),c.trigger("reset_image"),d.slideUp(200).trigger("hide_variation")}).on("reset_image",function(){c.wc_variations_image_update(!1)}).on("change",".variations select",function(){if(c.find('input[name="variation_id"], input.variation_id').val("").change(),c.find(".wc-no-matching-variations").remove(),i){j&&j.abort();var b=!0,d=!1,e={};c.find(".variations select").each(function(){var c=a(this).data("attribute_name")||a(this).attr("name");0===a(this).val().length?b=!1:d=!0,e[c]=a(this).val()}),b?(e.product_id=g,j=a.ajax({url:wc_cart_fragments_params.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:e,success:function(a){a?c.trigger("found_variation",[a]):(c.trigger("reset_data"),c.find(".single_variation").after('

    '+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"

    "),c.find(".wc-no-matching-variations").slideDown(200))}})):c.trigger("reset_data"),d?"hidden"===k.css("visibility")&&k.css("visibility","visible").hide().fadeIn():k.css("visibility","hidden")}else c.trigger("woocommerce_variation_select_change"),c.trigger("check_variations",["",!1]),a(this).blur();a(".product.has-default-attributes > .images").fadeTo(200,1),c.trigger("woocommerce_variation_has_changed")}).on("focusin touchstart",".variations select",function(){a(this).find("option:selected").attr("selected","selected"),i||(c.trigger("woocommerce_variation_select_focusin"),c.trigger("check_variations",[a(this).data("attribute_name")||a(this).attr("name"),!0]))}).on("found_variation",function(b,e){var g=f.find(".product_meta").find(".sku"),h=f.find(".product_weight"),i=f.find(".product_dimensions"),j=n.find(".quantity"),k=!0;e.sku?g.wc_set_content(e.sku):g.wc_reset_content(),e.weight?h.wc_set_content(e.weight):h.wc_reset_content(),e.dimensions?i.wc_set_content(e.dimensions):i.wc_reset_content(),c.wc_variations_image_update(e),e.variation_is_visible?(d.html(l({variation:e})),c.find('input[name="variation_id"], input.variation_id').val(e.variation_id).change()):(d.html(m),c.find('input[name="variation_id"], input.variation_id').val("").change()),"yes"===e.is_sold_individually?(j.find("input.qty").val("1").attr("min","1").attr("max",""),j.hide()):(j.find("input.qty").attr("min",e.min_qty).attr("max",e.max_qty),j.show()),e.is_purchasable&&e.is_in_stock&&e.variation_is_visible||(k=!1),a.trim(d.text())?d.slideDown(200).trigger("show_variation",[e,k]):d.show().trigger("show_variation",[e,k])}).on("check_variations",function(c,f,g){if(!i){var j=!0,k=!1,l={},m=a(this),n=m.find(".reset_variations");m.find(".variations select").each(function(){var b=a(this).data("attribute_name")||a(this).attr("name");0===a(this).val().length?j=!1:k=!0,f&&b===f?(j=!1,l[b]=""):l[b]=a(this).val()});var o=e.find_matching_variations(h,l);if(j){var p=o.shift();p?m.trigger("found_variation",[p]):(m.find(".variations select").val(""),g||m.trigger("reset_data"),b.alert(wc_add_to_cart_variation_params.i18n_no_matching_variations_text))}else m.trigger("update_variation_values",[o]),g||m.trigger("reset_data"),f||d.slideUp(200).trigger("hide_variation");k?"hidden"===n.css("visibility")&&n.css("visibility","visible").hide().fadeIn():n.css("visibility","hidden")}}).on("update_variation_values",function(b,d){i||(c.find(".variations select").each(function(b,c){var e,f=a(c);f.data("attribute_options")||f.data("attribute_options",f.find("option:gt(0)").get()),f.find("option:gt(0)").remove(),f.append(f.data("attribute_options")),f.find("option:gt(0)").removeClass("attached"),f.find("option:gt(0)").removeClass("enabled"),f.find("option:gt(0)").removeAttr("disabled"),e="undefined"!=typeof f.data("attribute_name")?f.data("attribute_name"):f.attr("name");for(var g in d)if("undefined"!=typeof d[g]){var h=d[g].attributes;for(var i in h)if(h.hasOwnProperty(i)){var j=h[i];if(i===e){var k="";d[g].variation_is_active&&(k="enabled"),j?(j=a("
    ").html(j).text(),j=j.replace(/'/g,"\\'"),j=j.replace(/"/g,'\\"'),f.find('option[value="'+j+'"]').addClass("attached "+k)):f.find("option:gt(0)").addClass("attached "+k)}}}f.find("option:gt(0):not(.attached)").remove(),f.find("option:gt(0):not(.enabled)").attr("disabled","disabled")}),c.trigger("woocommerce_update_variation_values"))}),c.trigger("wc_variation_form"),c};var e={find_matching_variations:function(a,b){for(var c=[],d=0;d1?(d.wc_set_variation_attr("src",a.image_src),d.wc_set_variation_attr("title",a.image_title),d.wc_set_variation_attr("alt",a.image_title),d.wc_set_variation_attr("srcset",a.image_srcset),d.wc_set_variation_attr("sizes",a.image_sizes),e.wc_set_variation_attr("href",a.image_link),e.wc_set_variation_attr("title",a.image_caption)):(d.wc_reset_variation_attr("src"),d.wc_reset_variation_attr("title"),d.wc_reset_variation_attr("alt"),d.wc_reset_variation_attr("srcset"),d.wc_reset_variation_attr("sizes"),e.wc_reset_variation_attr("href"),e.wc_reset_variation_attr("title"))},a(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&a(".variations_form").each(function(){a(this).wc_variation_form().find(".variations select:eq(0)").change()})})}(jQuery,window,document); \ No newline at end of file +!function(a,b,c,d){a.fn.wc_variation_form=function(){var c=this,d=c.find(".single_variation"),f=c.closest(".product"),g=parseInt(c.data("product_id"),10),h=c.data("product_variations"),i=h===!1,j=!1,k=c.find(".reset_variations"),l=wp.template("variation-template"),m=wp.template("unavailable-variation-template"),n=c.find(".single_variation_wrap");return n.show(),c.unbind("check_variations update_variation_values found_variation"),c.find(".reset_variations").unbind("click"),c.find(".variations select").unbind("change focusin"),c.on("click",".reset_variations",function(){return c.find(".variations select").val("").change(),c.trigger("reset_data"),!1}).on("hide_variation",function(){return c.find(".single_add_to_cart_button").attr("disabled","disabled").attr("title",wc_add_to_cart_variation_params.i18n_make_a_selection_text),!1}).on("show_variation",function(a,b,d){return d?c.find(".single_add_to_cart_button").removeAttr("disabled").removeAttr("title"):c.find(".single_add_to_cart_button").attr("disabled","disabled").attr("title",wc_add_to_cart_variation_params.i18n_unavailable_text),!1}).on("reload_product_variations",function(){h=c.data("product_variations"),i=h===!1}).on("reset_data",function(){a(".sku").wc_reset_content(),a(".product_weight").wc_reset_content(),a(".product_dimensions").wc_reset_content(),c.trigger("reset_image"),d.slideUp(200).trigger("hide_variation")}).on("reset_image",function(){c.wc_variations_image_update(!1)}).on("change",".variations select",function(){if(c.find('input[name="variation_id"], input.variation_id').val("").change(),c.find(".wc-no-matching-variations").remove(),i){j&&j.abort();var b=!0,d=!1,e={};c.find(".variations select").each(function(){var c=a(this).data("attribute_name")||a(this).attr("name");0===a(this).val().length?b=!1:d=!0,e[c]=a(this).val()}),b?(e.product_id=g,j=a.ajax({url:wc_cart_fragments_params.wc_ajax_url.toString().replace("%%endpoint%%","get_variation"),type:"POST",data:e,success:function(a){a?c.trigger("found_variation",[a]):(c.trigger("reset_data"),c.find(".single_variation").after('

    '+wc_add_to_cart_variation_params.i18n_no_matching_variations_text+"

    "),c.find(".wc-no-matching-variations").slideDown(200))}})):c.trigger("reset_data"),d?"hidden"===k.css("visibility")&&k.css("visibility","visible").hide().fadeIn():k.css("visibility","hidden")}else c.trigger("woocommerce_variation_select_change"),c.trigger("check_variations",["",!1]),a(this).blur();a(".product.has-default-attributes > .images").fadeTo(200,1),c.trigger("woocommerce_variation_has_changed")}).on("focusin touchstart",".variations select",function(){a(this).find("option:selected").attr("selected","selected"),i||(c.trigger("woocommerce_variation_select_focusin"),c.trigger("check_variations",[a(this).data("attribute_name")||a(this).attr("name"),!0]))}).on("found_variation",function(b,e){var g=f.find(".product_meta").find(".sku"),h=f.find(".product_weight"),i=f.find(".product_dimensions"),j=n.find(".quantity"),k=!0;e.sku?g.wc_set_content(e.sku):g.wc_reset_content(),e.weight?h.wc_set_content(e.weight):h.wc_reset_content(),e.dimensions?i.wc_set_content(e.dimensions):i.wc_reset_content(),c.wc_variations_image_update(e);var o="";e.variation_is_visible?(o=l({variation:e}),o=o.replace("/**/",""),d.html(o),c.find('input[name="variation_id"], input.variation_id').val(e.variation_id).change()):(o=m,o=o.replace("/**/",""),d.html(o),c.find('input[name="variation_id"], input.variation_id').val("").change()),"yes"===e.is_sold_individually?(j.find("input.qty").val("1").attr("min","1").attr("max",""),j.hide()):(j.find("input.qty").attr("min",e.min_qty).attr("max",e.max_qty),j.show()),e.is_purchasable&&e.is_in_stock&&e.variation_is_visible||(k=!1),a.trim(d.text())?d.slideDown(200).trigger("show_variation",[e,k]):d.show().trigger("show_variation",[e,k])}).on("check_variations",function(c,f,g){if(!i){var j=!0,k=!1,l={},m=a(this),n=m.find(".reset_variations");m.find(".variations select").each(function(){var b=a(this).data("attribute_name")||a(this).attr("name");0===a(this).val().length?j=!1:k=!0,f&&b===f?(j=!1,l[b]=""):l[b]=a(this).val()});var o=e.find_matching_variations(h,l);if(j){var p=o.shift();p?m.trigger("found_variation",[p]):(m.find(".variations select").val(""),g||m.trigger("reset_data"),b.alert(wc_add_to_cart_variation_params.i18n_no_matching_variations_text))}else m.trigger("update_variation_values",[o]),g||m.trigger("reset_data"),f||d.slideUp(200).trigger("hide_variation");k?"hidden"===n.css("visibility")&&n.css("visibility","visible").hide().fadeIn():n.css("visibility","hidden")}}).on("update_variation_values",function(b,d){i||(c.find(".variations select").each(function(b,c){var e,f=a(c);f.data("attribute_options")||f.data("attribute_options",f.find("option:gt(0)").get()),f.find("option:gt(0)").remove(),f.append(f.data("attribute_options")),f.find("option:gt(0)").removeClass("attached"),f.find("option:gt(0)").removeClass("enabled"),f.find("option:gt(0)").removeAttr("disabled"),e="undefined"!=typeof f.data("attribute_name")?f.data("attribute_name"):f.attr("name");for(var g in d)if("undefined"!=typeof d[g]){var h=d[g].attributes;for(var i in h)if(h.hasOwnProperty(i)){var j=h[i];if(i===e){var k="";d[g].variation_is_active&&(k="enabled"),j?(j=a("
    ").html(j).text(),j=j.replace(/'/g,"\\'"),j=j.replace(/"/g,'\\"'),f.find('option[value="'+j+'"]').addClass("attached "+k)):f.find("option:gt(0)").addClass("attached "+k)}}}f.find("option:gt(0):not(.attached)").remove(),f.find("option:gt(0):not(.enabled)").attr("disabled","disabled")}),c.trigger("woocommerce_update_variation_values"))}),c.trigger("wc_variation_form"),c};var e={find_matching_variations:function(a,b){for(var c=[],d=0;d1?(d.wc_set_variation_attr("src",a.image_src),d.wc_set_variation_attr("title",a.image_title),d.wc_set_variation_attr("alt",a.image_title),d.wc_set_variation_attr("srcset",a.image_srcset),d.wc_set_variation_attr("sizes",a.image_sizes),e.wc_set_variation_attr("href",a.image_link),e.wc_set_variation_attr("title",a.image_caption)):(d.wc_reset_variation_attr("src"),d.wc_reset_variation_attr("title"),d.wc_reset_variation_attr("alt"),d.wc_reset_variation_attr("srcset"),d.wc_reset_variation_attr("sizes"),e.wc_reset_variation_attr("href"),e.wc_reset_variation_attr("title"))},a(function(){"undefined"!=typeof wc_add_to_cart_variation_params&&a(".variations_form").each(function(){a(this).wc_variation_form().find(".variations select:eq(0)").change()})})}(jQuery,window,document); \ No newline at end of file From 6110c8316e4df87ea6ac2d793d9127f8b65374e2 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Mon, 25 Jan 2016 20:59:19 -0200 Subject: [PATCH 147/162] Added Saudi Riyal currency Request from: https://wordpress.org/support/topic/saudi-riyal-support?replies=1 --- includes/wc-core-functions.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/includes/wc-core-functions.php b/includes/wc-core-functions.php index a9d602c8584..cf9508ad022 100644 --- a/includes/wc-core-functions.php +++ b/includes/wc-core-functions.php @@ -297,8 +297,8 @@ function get_woocommerce_currencies() { 'ISK' => __( 'Icelandic krona', 'woocommerce' ), 'JPY' => __( 'Japanese Yen', 'woocommerce' ), 'KES' => __( 'Kenyan shilling', 'woocommerce' ), - 'LAK' => __( 'Lao Kip', 'woocommerce' ), 'KRW' => __( 'South Korean Won', 'woocommerce' ), + 'LAK' => __( 'Lao Kip', 'woocommerce' ), 'MXN' => __( 'Mexican Peso', 'woocommerce' ), 'MYR' => __( 'Malaysian Ringgits', 'woocommerce' ), 'NGN' => __( 'Nigerian Naira', 'woocommerce' ), @@ -311,6 +311,7 @@ function get_woocommerce_currencies() { 'PYG' => __( 'Paraguayan Guaraní', 'woocommerce' ), 'RON' => __( 'Romanian Leu', 'woocommerce' ), 'RUB' => __( 'Russian Ruble', 'woocommerce' ), + 'SAR' => __( 'Saudi Riyal', 'woocommerce' ), 'SEK' => __( 'Swedish Krona', 'woocommerce' ), 'SGD' => __( 'Singapore Dollar', 'woocommerce' ), 'THB' => __( 'Thai Baht', 'woocommerce' ), @@ -363,8 +364,8 @@ function get_woocommerce_currency_symbol( $currency = '' ) { 'ISK' => 'Kr.', 'JPY' => '¥', 'KES' => 'KSh', - 'LAK' => '₭', 'KRW' => '₩', + 'LAK' => '₭', 'MXN' => '$', 'MYR' => 'RM', 'NGN' => '₦', @@ -378,6 +379,7 @@ function get_woocommerce_currency_symbol( $currency = '' ) { 'RMB' => '¥', 'RON' => 'lei', 'RUB' => 'руб.', + 'SAR' => 'ر.س', 'SEK' => 'kr', 'SGD' => '$', 'THB' => '฿', From 17b16b4dd2db53c13f3d396b6344f996c07c2f2f Mon Sep 17 00:00:00 2001 From: Gregory Karpinsky Date: Tue, 26 Jan 2016 18:35:24 -0500 Subject: [PATCH 148/162] Omit closing PHP tag to avoid "Headers already sent" issues. --- templates/single-product/add-to-cart/variable.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/single-product/add-to-cart/variable.php b/templates/single-product/add-to-cart/variable.php index 4d606d89af2..266299ff4ae 100644 --- a/templates/single-product/add-to-cart/variable.php +++ b/templates/single-product/add-to-cart/variable.php @@ -77,4 +77,5 @@ do_action( 'woocommerce_before_add_to_cart_form' ); ?> - + Date: Wed, 27 Jan 2016 12:02:43 +0545 Subject: [PATCH 149/162] Fix - Unit test for woocommerce currencies --- tests/unit-tests/util/core-functions.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit-tests/util/core-functions.php b/tests/unit-tests/util/core-functions.php index 84f5661ad80..00d1c424a0f 100644 --- a/tests/unit-tests/util/core-functions.php +++ b/tests/unit-tests/util/core-functions.php @@ -53,8 +53,8 @@ class Core_Functions extends \WC_Unit_Test_Case { 'ISK' => __( 'Icelandic krona', 'woocommerce' ), 'JPY' => __( 'Japanese Yen', 'woocommerce' ), 'KES' => __( 'Kenyan shilling', 'woocommerce' ), - 'LAK' => __( 'Lao Kip', 'woocommerce' ), 'KRW' => __( 'South Korean Won', 'woocommerce' ), + 'LAK' => __( 'Lao Kip', 'woocommerce' ), 'MXN' => __( 'Mexican Peso', 'woocommerce' ), 'MYR' => __( 'Malaysian Ringgits', 'woocommerce' ), 'NGN' => __( 'Nigerian Naira', 'woocommerce' ), @@ -67,6 +67,7 @@ class Core_Functions extends \WC_Unit_Test_Case { 'PYG' => __( 'Paraguayan Guaraní', 'woocommerce' ), 'RON' => __( 'Romanian Leu', 'woocommerce' ), 'RUB' => __( 'Russian Ruble', 'woocommerce' ), + 'SAR' => __( 'Saudi Riyal', 'woocommerce' ), 'SEK' => __( 'Swedish Krona', 'woocommerce' ), 'SGD' => __( 'Singapore Dollar', 'woocommerce' ), 'THB' => __( 'Thai Baht', 'woocommerce' ), @@ -78,7 +79,6 @@ class Core_Functions extends \WC_Unit_Test_Case { 'ZAR' => __( 'South African rand', 'woocommerce' ), ); - $this->assertEquals( $expected_currencies, get_woocommerce_currencies() ); } From bf2be97dd0c92129356675170b31f5b060e08276 Mon Sep 17 00:00:00 2001 From: Shiva Poudel Date: Wed, 27 Jan 2016 15:55:56 +0545 Subject: [PATCH 150/162] Use get_charset_collate of WP --- includes/class-wc-install.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/includes/class-wc-install.php b/includes/class-wc-install.php index 8493ef1f42a..1170cb5f4e2 100644 --- a/includes/class-wc-install.php +++ b/includes/class-wc-install.php @@ -360,12 +360,7 @@ class WC_Install { $collate = ''; if ( $wpdb->has_cap( 'collation' ) ) { - if ( ! empty( $wpdb->charset ) ) { - $collate .= "DEFAULT CHARACTER SET $wpdb->charset"; - } - if ( ! empty( $wpdb->collate ) ) { - $collate .= " COLLATE $wpdb->collate"; - } + $collate = $wpdb->get_charset_collate(); } return " From a2843c03c7fdded94bd2b48e0155d4857fdf0d27 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 10:53:59 +0000 Subject: [PATCH 151/162] [2.5] Added password hint text and error messages --- assets/css/woocommerce.css | 2 +- assets/css/woocommerce.scss | 5 +++ assets/js/frontend/password-strength-meter.js | 40 ++++++++++++++----- .../frontend/password-strength-meter.min.js | 2 +- includes/class-wc-frontend-scripts.php | 10 ++++- 5 files changed, 46 insertions(+), 13 deletions(-) diff --git a/assets/css/woocommerce.css b/assets/css/woocommerce.css index 8b8c9e1311c..a5651f34eaf 100644 --- a/assets/css/woocommerce.css +++ b/assets/css/woocommerce.css @@ -1 +1 @@ -@charset "UTF-8";.clear,.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-message:after{clear:both}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}p.demo_store{position:fixed;top:0;left:0;right:0;margin:0;width:100%;font-size:1em;padding:1em 0;text-align:center;background-color:#a46497;color:#fff;z-index:99998;box-shadow:0 1px 1em rgba(0,0,0,.2)}p.demo_store a{color:#fff}.admin-bar p.demo_store{top:32px}.woocommerce .blockUI.blockOverlay{position:relative}.woocommerce .blockUI.blockOverlay:before,.woocommerce .loader:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.woocommerce a.remove{display:block;font-size:1.5em;height:1em;width:1em;text-align:center;line-height:1;border-radius:100%;color:red!important;text-decoration:none;font-weight:700;border:0}.woocommerce a.remove:hover{color:#fff!important;background:red}.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#f7f6f7;color:#515151;border-top:3px solid #a46497;list-style:none!important;width:auto;word-wrap:break-word}.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:after,.woocommerce .woocommerce-message:before{content:" ";display:table}.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:before{font-family:WooCommerce;content:"\e028";display:inline-block;position:absolute;top:1em;left:1.5em}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button{float:right}.woocommerce .woocommerce-error li,.woocommerce .woocommerce-info li,.woocommerce .woocommerce-message li{list-style:none!important;padding-left:0!important;margin-left:0!important}.woocommerce .woocommerce-message{border-top-color:#8fae1b}.woocommerce .woocommerce-message:before{content:"\e015";color:#8fae1b}.woocommerce .woocommerce-info{border-top-color:#1e85be}.woocommerce .woocommerce-info:before{color:#1e85be}.woocommerce .woocommerce-error{border-top-color:#b81c23}.woocommerce .woocommerce-error:before{content:"\e016";color:#b81c23}.woocommerce small.note{display:block;color:#777;font-size:.857em;margin-top:10px}.woocommerce .woocommerce-breadcrumb{margin:0 0 1em;padding:0;font-size:.92em;color:#777}.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-breadcrumb:before{content:" ";display:table}.woocommerce .woocommerce-breadcrumb a{color:#777}.woocommerce .quantity .qty{width:3.631em;text-align:center}.woocommerce div.product{margin-bottom:0;position:relative}.woocommerce div.product .product_title{clear:none;margin-top:0;padding:0}.woocommerce #reviews #comments .add_review:after,.woocommerce .products ul:after,.woocommerce div.product form.cart:after,.woocommerce div.product p.cart:after,.woocommerce nav.woocommerce-pagination ul,.woocommerce ul.products:after{clear:both}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#77a464;font-size:1.25em}.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:inherit;font-weight:700}.woocommerce div.product p.price del,.woocommerce div.product span.price del{opacity:.5}.woocommerce div.product p.stock{font-size:.92em}.woocommerce div.product .stock{color:#77a464}.woocommerce div.product .out-of-stock{color:red}.woocommerce div.product .woocommerce-product-rating{margin-bottom:1.618em}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:2em}.woocommerce div.product div.images img{display:block;width:100%;height:auto;box-shadow:none}.woocommerce div.product div.images div.thumbnails{padding-top:1em}.woocommerce div.product div.social{text-align:right;margin:0 0 1em}.woocommerce div.product div.social span{margin:0 0 0 2px}.woocommerce div.product div.social span span{margin:0}.woocommerce div.product div.social span .stButton .chicklets{padding-left:16px;width:0}.woocommerce div.product div.social iframe{float:left;margin-top:3px}.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;padding:0 0 0 1em;margin:0 0 1.618em;overflow:hidden;position:relative}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid #d3ced2;background-color:#ebe9eb;display:inline-block;position:relative;z-index:0;border-radius:4px 4px 0 0;margin:0 -5px;padding:0 1em}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:inline-block;padding:.5em 0;font-weight:700;color:#515151;text-decoration:none}.woocommerce div.product form.cart:after,.woocommerce div.product form.cart:before,.woocommerce div.product p.cart:after,.woocommerce div.product p.cart:before{display:table;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{text-decoration:none;color:#6b6b6b}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;z-index:2;border-bottom-color:#fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:inherit;text-shadow:inherit}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before{box-shadow:2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after{box-shadow:-2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li:after,.woocommerce div.product .woocommerce-tabs ul.tabs li:before{border:1px solid #d3ced2;position:absolute;bottom:-1px;width:5px;height:5px;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li:before{left:-6px;-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;border-width:0 1px 1px 0;box-shadow:2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs li:after{right:-6px;-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;border-width:0 0 1px 1px;box-shadow:-2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs:before{position:absolute;content:" ";width:100%;bottom:0;left:0;border-bottom:1px solid #d3ced2;z-index:1}.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 2em;padding:0}.woocommerce div.product form.cart,.woocommerce div.product p.cart{margin-bottom:2em}.woocommerce div.product form.cart div.quantity{float:left;margin:0 4px 0 0}.woocommerce div.product form.cart table{border-width:0 0 1px}.woocommerce div.product form.cart table td{padding-left:0}.woocommerce div.product form.cart table div.quantity{float:none;margin:0}.woocommerce div.product form.cart table small.stock{display:block;float:none}.woocommerce div.product form.cart .variations{margin-bottom:1em;border:0;width:100%}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{border:0;vertical-align:top;line-height:2em}.woocommerce div.product form.cart .variations label{font-weight:700}.woocommerce div.product form.cart .variations select{max-width:100%;min-width:75%;display:inline-block;margin-right:1em}.woocommerce div.product form.cart .variations td.label{padding-right:1em}.woocommerce div.product form.cart .woocommerce-variation-description p{margin-bottom:1em}.woocommerce div.product form.cart .reset_variations{visibility:hidden;font-size:.83em}.woocommerce div.product form.cart .wc-no-matching-variations{display:none}.woocommerce div.product form.cart .button{vertical-align:middle;float:left}.woocommerce div.product form.cart .group_table td.label{padding-right:1em;padding-left:1em}.woocommerce div.product form.cart .group_table td{vertical-align:top;padding-bottom:.5em;border:0}.woocommerce span.onsale{min-height:3.236em;min-width:3.236em;padding:.202em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;-webkit-font-smoothing:antialiased}.woocommerce .products ul,.woocommerce ul.products{margin:0 0 1em;padding:0;list-style:none;clear:both}.woocommerce .products ul:after,.woocommerce .products ul:before,.woocommerce ul.products:after,.woocommerce ul.products:before{content:" ";display:table}.woocommerce .products ul li,.woocommerce ul.products li{list-style:none}.woocommerce ul.products li.product .onsale{top:0;right:0;left:auto;margin:-.5em -.5em 0 0}.woocommerce ul.products li.product h3{padding:.5em 0;margin:0;font-size:1em}.woocommerce ul.products li.product a{text-decoration:none}.woocommerce ul.products li.product a img{width:100%;height:auto;display:block;margin:0 0 1em;box-shadow:none}.woocommerce ul.products li.product strong{display:block}.woocommerce ul.products li.product .star-rating{font-size:.857em}.woocommerce ul.products li.product .button{margin-top:1em}.woocommerce ul.products li.product .price{color:#77a464;display:block;font-weight:400;margin-bottom:.5em;font-size:.857em}.woocommerce ul.products li.product .price del{color:inherit;opacity:.5;display:block}.woocommerce ul.products li.product .price ins{background:0 0;font-weight:700}.woocommerce ul.products li.product .price .from{font-size:.67em;margin:-2px 0 0;text-transform:uppercase;color:rgba(132,132,132,.5)}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{margin:0 0 1em}.woocommerce .woocommerce-ordering select{vertical-align:top}.woocommerce nav.woocommerce-pagination{text-align:center}.woocommerce nav.woocommerce-pagination ul{display:inline-block;white-space:nowrap;padding:0;border:1px solid #d3ced2;border-right:0;margin:1px}.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid #d3ced2;padding:0;margin:0;float:left;display:inline;overflow:hidden}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{margin:0;text-decoration:none;line-height:1;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block}.woocommerce nav.woocommerce-pagination ul li a:focus,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#ebe9eb;color:#8a7e88}.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-size:100%;margin:0;line-height:1;cursor:pointer;position:relative;font-family:inherit;text-decoration:none;overflow:visible;padding:.618em 1em;font-weight:700;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;white-space:nowrap;display:inline-block;background-image:none;box-shadow:none;-webkit-box-shadow:none;text-shadow:none}.woocommerce #respond input#submit.loading,.woocommerce a.button.loading,.woocommerce button.button.loading,.woocommerce input.button.loading{opacity:.25;padding-right:2.618em}.woocommerce #respond input#submit.loading:after,.woocommerce a.button.loading:after,.woocommerce button.button.loading:after,.woocommerce input.button.loading:after{font-family:WooCommerce;content:"\e01c";vertical-align:top;-webkit-font-smoothing:antialiased;font-weight:400;position:absolute;top:.618em;right:1em;-webkit-animation:spin 2s linear infinite;-moz-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.woocommerce #respond input#submit.added:after,.woocommerce a.button.added:after,.woocommerce button.button.added:after,.woocommerce input.button.added:after{font-family:WooCommerce;content:"\e017";margin-left:.53em;vertical-align:bottom}.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background-color:#dad8da;text-decoration:none;background-image:none;color:#515151}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background-color:#a46497;color:#fff;-webkit-font-smoothing:antialiased}.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:#935386;color:#fff}.woocommerce #respond input#submit.alt.disabled,.woocommerce #respond input#submit.alt.disabled:hover,.woocommerce #respond input#submit.alt:disabled,.woocommerce #respond input#submit.alt:disabled:hover,.woocommerce #respond input#submit.alt:disabled[disabled],.woocommerce #respond input#submit.alt:disabled[disabled]:hover,.woocommerce a.button.alt.disabled,.woocommerce a.button.alt.disabled:hover,.woocommerce a.button.alt:disabled,.woocommerce a.button.alt:disabled:hover,.woocommerce a.button.alt:disabled[disabled],.woocommerce a.button.alt:disabled[disabled]:hover,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled],.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled],.woocommerce input.button.alt:disabled[disabled]:hover{background-color:#a46497;color:#fff}.woocommerce #respond input#submit.disabled,.woocommerce #respond input#submit:disabled,.woocommerce #respond input#submit:disabled[disabled],.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce a.button:disabled[disabled],.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button.disabled,.woocommerce input.button:disabled,.woocommerce input.button:disabled[disabled]{color:inherit;cursor:not-allowed;opacity:.5}.woocommerce #respond input#submit.disabled:hover,.woocommerce #respond input#submit:disabled:hover,.woocommerce #respond input#submit:disabled[disabled]:hover,.woocommerce a.button.disabled:hover,.woocommerce a.button:disabled:hover,.woocommerce a.button:disabled[disabled]:hover,.woocommerce button.button.disabled:hover,.woocommerce button.button:disabled:hover,.woocommerce button.button:disabled[disabled]:hover,.woocommerce input.button.disabled:hover,.woocommerce input.button:disabled:hover,.woocommerce input.button:disabled[disabled]:hover{color:inherit;background-color:#ebe9eb}.woocommerce .cart .button,.woocommerce .cart input.button{float:none}.woocommerce a.added_to_cart{padding-top:.5em;white-space:nowrap;display:inline-block}.woocommerce #reviews #comments .add_review:after,.woocommerce #reviews #comments .add_review:before,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:before,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce #reviews #comments ol.commentlist:before{content:" ";display:table}.woocommerce #reviews h2 small{float:right;color:#777;font-size:15px;margin:10px 0 0}.woocommerce #reviews h2 small a{text-decoration:none;color:#777}.woocommerce #reviews h3{margin:0}.woocommerce #reviews #respond{margin:0;border:0;padding:0}.woocommerce #reviews #comment{height:75px}.woocommerce #reviews #comments h2{clear:none}.woocommerce #review_form #respond:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce .woocommerce-product-rating:after,.woocommerce td.product-name dl.variation:after{clear:both}.woocommerce #reviews #comments ol.commentlist{margin:0;width:100%;background:0 0;list-style:none}.woocommerce #reviews #comments ol.commentlist li{padding:0;margin:0 0 20px;position:relative;background:0;border:0}.woocommerce #reviews #comments ol.commentlist li .meta{color:#777;font-size:.75em}.woocommerce #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:3px;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;box-shadow:none}.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0}.woocommerce #reviews #comments ol.commentlist li .comment-text p{margin:0 0 1em}.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:.83em}.woocommerce #reviews #comments ol.commentlist ul.children{list-style:none;margin:20px 0 0 50px}.woocommerce #reviews #comments ol.commentlist ul.children .star-rating{display:none}.woocommerce #reviews #comments ol.commentlist #respond{border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0;margin:20px 0 0 50px}.woocommerce #reviews #comments .commentlist>li:before{content:""}.woocommerce .star-rating{float:right;overflow:hidden;position:relative;height:1em;line-height:1;font-size:1em;width:5.4em;font-family:star}.woocommerce .star-rating:before{content:"\73\73\73\73\73";color:#d3ced2;float:left;top:0;left:0;position:absolute}.woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.woocommerce .star-rating span:before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}.woocommerce .woocommerce-product-rating{line-height:2;display:block}.woocommerce .woocommerce-product-rating:after,.woocommerce .woocommerce-product-rating:before{content:" ";display:table}.woocommerce .woocommerce-product-rating .star-rating{margin:.5em 4px 0 0;float:left}.woocommerce .products .star-rating{display:block;margin:0 0 .5em;float:none}.woocommerce .hreview-aggregate .star-rating{margin:10px 0 0}.woocommerce #review_form #respond{position:static;margin:0;width:auto;padding:0;background:0 0;border:0}.woocommerce #review_form #respond:after,.woocommerce #review_form #respond:before{content:" ";display:table}.woocommerce p.stars a:before,.woocommerce p.stars a:hover~a:before{content:"\e021"}.woocommerce #review_form #respond p{margin:0 0 10px}.woocommerce #review_form #respond .form-submit input{left:auto}.woocommerce #review_form #respond textarea{box-sizing:border-box;width:100%}.woocommerce p.stars a{position:relative;height:1em;width:1em;text-indent:-999em;display:inline-block;text-decoration:none}.woocommerce p.stars a:before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;text-indent:0}.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes th{line-height:1.5;border-bottom:1px dotted rgba(0,0,0,.1);border-top:0;margin:0}.woocommerce p.stars.selected a.active:before,.woocommerce p.stars:hover a:before{content:"\e020"}.woocommerce p.stars.selected a.active~a:before{content:"\e021"}.woocommerce p.stars.selected a:not(.active):before{content:"\e020"}.woocommerce table.shop_attributes{border:0;border-top:1px dotted rgba(0,0,0,.1);margin-bottom:1.618em;width:100%}.woocommerce table.shop_attributes th{width:150px;font-weight:700;padding:8px}.woocommerce table.shop_attributes td{font-style:italic;padding:0}.woocommerce table.shop_attributes td p{margin:0;padding:8px 0}.woocommerce table.shop_attributes .alt td,.woocommerce table.shop_attributes .alt th{background:rgba(0,0,0,.025)}.woocommerce table.shop_table{border:1px solid rgba(0,0,0,.1);margin:0 -1px 24px 0;text-align:left;width:100%;border-collapse:separate;border-radius:5px}.woocommerce table.shop_table th{font-weight:700;padding:9px 12px}.woocommerce table.shop_table td{border-top:1px solid rgba(0,0,0,.1);padding:6px 12px;vertical-align:middle}.woocommerce table.shop_table td small{font-weight:400}.woocommerce table.shop_table tbody:first-child tr:first-child td,.woocommerce table.shop_table tbody:first-child tr:first-child th{border-top:0}.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{font-weight:700;border-top:1px solid rgba(0,0,0,.1)}.woocommerce table.my_account_orders{font-size:.85em}.woocommerce table.my_account_orders td,.woocommerce table.my_account_orders th{padding:4px 8px;vertical-align:middle}.woocommerce table.my_account_orders .button{white-space:nowrap}.woocommerce table.my_account_orders .order-actions{text-align:right}.woocommerce table.my_account_orders .order-actions .button{margin:.125em 0 .125em .25em}.woocommerce td.product-name dl.variation{margin:.25em 0}.woocommerce td.product-name dl.variation:after,.woocommerce td.product-name dl.variation:before{content:" ";display:table}.woocommerce td.product-name dl.variation dd,.woocommerce td.product-name dl.variation dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce td.product-name dl.variation dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li:after,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li:after{clear:both}.woocommerce td.product-name dl.variation dd{padding:0 0 .25em}.woocommerce td.product-name dl.variation dd p:last-child{margin-bottom:0}.woocommerce td.product-name p.backorder_notification{font-size:.83em}.woocommerce td.product-quantity{min-width:80px}.woocommerce ul.cart_list,.woocommerce ul.product_list_widget{list-style:none;padding:0;margin:0}.woocommerce ul.cart_list li,.woocommerce ul.product_list_widget li{padding:4px 0;margin:0;list-style:none}.woocommerce ul.cart_list li:after,.woocommerce ul.cart_list li:before,.woocommerce ul.product_list_widget li:after,.woocommerce ul.product_list_widget li:before{content:" ";display:table}.woocommerce ul.cart_list li a,.woocommerce ul.product_list_widget li a{display:block;font-weight:700}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img{float:right;margin-left:4px;width:32px;height:auto;box-shadow:none}.woocommerce ul.cart_list li dl,.woocommerce ul.product_list_widget li dl{margin:0;padding-left:1em;border-left:2px solid rgba(0,0,0,.1)}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li dl:before,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li dl:before{content:" ";display:table}.woocommerce ul.cart_list li dl dd,.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dd,.woocommerce ul.product_list_widget li dl dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce .order_details:after,.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_shopping_cart .buttons:after,.woocommerce-account .addresses .title:after,.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce.widget_shopping_cart .buttons:after{clear:both}.woocommerce ul.cart_list li dl dd,.woocommerce ul.product_list_widget li dl dd{padding:0 0 .25em}.woocommerce ul.cart_list li dl dd p:last-child,.woocommerce ul.product_list_widget li dl dd p:last-child{margin-bottom:0}.woocommerce ul.cart_list li .star-rating,.woocommerce ul.product_list_widget li .star-rating{float:none}.woocommerce .widget_shopping_cart .total,.woocommerce.widget_shopping_cart .total{border-top:3px double #ebe9eb;padding:4px 0 0}.woocommerce .widget_shopping_cart .total strong,.woocommerce.widget_shopping_cart .total strong{min-width:40px;display:inline-block}.woocommerce .widget_shopping_cart .cart_list li,.woocommerce.widget_shopping_cart .cart_list li{padding-left:2em;position:relative;padding-top:0}.woocommerce .widget_shopping_cart .cart_list li a.remove,.woocommerce.widget_shopping_cart .cart_list li a.remove{position:absolute;top:0;left:0}.woocommerce .widget_shopping_cart .buttons:after,.woocommerce .widget_shopping_cart .buttons:before,.woocommerce.widget_shopping_cart .buttons:after,.woocommerce.widget_shopping_cart .buttons:before{content:" ";display:table}.woocommerce form .form-row{padding:3px;margin:0 0 6px}.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder{-webkit-transition:opacity .5s .5s ease;-moz-transition:opacity .5s .5s ease;transition:opacity .5s .5s ease;opacity:0}.woocommerce form .form-row label{line-height:2}.woocommerce form .form-row label.hidden{visibility:hidden}.woocommerce form .form-row label.inline{display:inline}.woocommerce form .form-row select{cursor:pointer;margin:0}.woocommerce form .form-row .required{color:red;font-weight:700;border:0}.woocommerce form .form-row .input-checkbox{display:inline;margin:-2px 8px 0 0;text-align:center;vertical-align:middle}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{box-sizing:border-box;width:100%;margin:0;outline:0;line-height:1}.woocommerce form .form-row textarea{height:4em;line-height:1.5;display:block;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.woocommerce form .form-row .select2-container{width:100%;line-height:2em}.woocommerce form .form-row.woocommerce-invalid label{color:#a00}.woocommerce form .form-row.woocommerce-invalid .select2-container,.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a00}.woocommerce form .form-row.woocommerce-validated .select2-container,.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:#69bf29}.woocommerce form .form-row ::-webkit-input-placeholder{line-height:normal}.woocommerce form .form-row :-moz-placeholder{line-height:normal}.woocommerce form .form-row :-ms-input-placeholder{line-height:normal}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid #d3ced2;padding:20px;margin:2em 0;text-align:left;border-radius:5px}.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}.woocommerce ul#shipping_method li{margin:0;padding:.25em 0 .25em 22px;text-indent:-22px;list-style:none}.woocommerce ul#shipping_method .amount{font-weight:700}.woocommerce p.woocommerce-shipping-contents{margin:0}.woocommerce .order_details{margin:0 0 1.5em;list-style:none}.woocommerce .order_details:after,.woocommerce .order_details:before{content:" ";display:table}.woocommerce .order_details li{float:left;margin-right:2em;text-transform:uppercase;font-size:.715em;line-height:1;border-right:1px dashed #d3ced2;padding-right:2em;margin-left:0;padding-left:0}.woocommerce .order_details li strong{display:block;font-size:1.4em;text-transform:none;line-height:1.5}.woocommerce .order_details li:last-of-type{border:none}.woocommerce .widget_layered_nav ul{margin:0;padding:0;border:0;list-style:none}.woocommerce .widget_layered_nav ul li{padding:0 0 1px;list-style:none}.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_layered_nav ul li:before{content:" ";display:table}.woocommerce .widget_layered_nav ul li.chosen a:before,.woocommerce .widget_layered_nav_filters ul li a:before{font-weight:400;line-height:1;content:"";color:#a00;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-decoration:none}.woocommerce .widget_layered_nav ul li a,.woocommerce .widget_layered_nav ul li span{padding:1px 0}.woocommerce .widget_layered_nav ul li.chosen a:before{margin-right:.618em}.woocommerce .widget_layered_nav_filters ul{margin:0;padding:0;border:0;list-style:none;overflow:hidden;zoom:1}.woocommerce .widget_layered_nav_filters ul li{float:left;padding:0 1px 1px 0;list-style:none}.woocommerce .widget_layered_nav_filters ul li a{text-decoration:none}.woocommerce .widget_layered_nav_filters ul li a:before{margin-right:.618em}.woocommerce .widget_price_filter .price_slider{margin-bottom:1em}.woocommerce .widget_price_filter .price_slider_amount{text-align:right;line-height:2.4;font-size:.8751em}.woocommerce .widget_price_filter .price_slider_amount .button{font-size:1.15em;float:left}.woocommerce .widget_price_filter .ui-slider{position:relative;text-align:left;margin-left:.5em;margin-right:.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1em;height:1em;background-color:#a46497;border-radius:1em;cursor:ew-resize;outline:0;top:-.3em;margin-left:-.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;border-radius:1em;background-color:#a46497}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{border-radius:1em;background-color:#602053;border:0}.woocommerce .widget_price_filter .ui-slider-horizontal{height:.5em}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-min{left:-1px}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-max{right:-1px}.woocommerce-account .addresses .title:after,.woocommerce-account .addresses .title:before{content:" ";display:table}.woocommerce-account .addresses .title h3{float:left}.woocommerce-account .addresses .title .edit,.woocommerce-account ul.digital-downloads li .count{float:right}.woocommerce-account ol.commentlist.notes li.note p.meta{font-weight:700;margin-bottom:0}.woocommerce-account ol.commentlist.notes li.note .description p:last-child{margin-bottom:0}.woocommerce-account ul.digital-downloads{margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li{list-style:none;margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce-cart table.cart .product-thumbnail{min-width:32px}.woocommerce-cart table.cart img{width:32px;box-shadow:none}.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{vertical-align:middle}.woocommerce-cart table.cart td.actions .coupon .input-text{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #d3ced2;padding:6px 6px 5px;margin:0 4px 0 0;outline:0;line-height:1}.woocommerce-cart table.cart input{margin:0;vertical-align:middle;line-height:1}.woocommerce-cart .wc-proceed-to-checkout{padding:1em 0}.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce-cart .wc-proceed-to-checkout:before{content:" ";display:table}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin-bottom:1em;font-size:1.25em;padding:1em}.woocommerce-cart .cart-collaterals .shipping_calculator .button{width:100%;float:none;display:block}.woocommerce-cart .cart-collaterals .shipping_calculator .shipping-calculator-button:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none}.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods li:before,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout #payment ul.payment_methods:before{content:" ";display:table}.woocommerce-cart .cart-collaterals .cart_totals p small{color:#777;font-size:.83em}.woocommerce-cart .cart-collaterals .cart_totals table{border-collapse:separate;margin:0 0 6px;padding:0}.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th{border-top:0}.woocommerce-cart .cart-collaterals .cart_totals table th{width:40%}.woocommerce-cart .cart-collaterals .cart_totals table td,.woocommerce-cart .cart-collaterals .cart_totals table th{vertical-align:top;border-left:0;border-right:0;line-height:1.5em}.woocommerce-cart .cart-collaterals .cart_totals table small{color:#777}.woocommerce-cart .cart-collaterals .cart_totals table select{width:100%}.woocommerce-cart .cart-collaterals .cart_totals .discount td{color:#77a464}.woocommerce-cart .cart-collaterals .cart_totals tr td,.woocommerce-cart .cart-collaterals .cart_totals tr th{border-top:1px solid #ebe9eb}.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{margin-top:0}.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address{float:left;clear:none}.woocommerce-checkout .checkout .col-2 .form-row-first,.woocommerce-checkout .checkout .col-2 .notes{clear:left}.woocommerce-checkout .checkout .create-account small{font-size:11px;color:#777;font-weight:400}.woocommerce-checkout .checkout div.shipping-address{padding:0;clear:left;width:100%}.single-product .twentythirteen p.stars,.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout .checkout .shipping_address{clear:both}.woocommerce-checkout #payment{background:#ebe9eb;border-radius:5px}.woocommerce-checkout #payment ul.payment_methods{text-align:left;padding:1em;border-bottom:1px solid #d3ced2;margin:0;list-style:none}.woocommerce-checkout #payment ul.payment_methods li{line-height:2;text-align:left;margin:0;font-weight:400}.woocommerce-checkout #payment ul.payment_methods li input{margin:0 1em 0 0}.woocommerce-checkout #payment ul.payment_methods li img{vertical-align:middle;margin:-2px 0 0 .5em;padding:0;position:relative;box-shadow:none}.woocommerce-checkout #payment ul.payment_methods li img+img{margin-left:2px}.woocommerce-checkout #payment div.form-row{padding:1em}.woocommerce-checkout #payment div.payment_box{position:relative;box-sizing:border-box;width:100%;padding:1em;margin:1em 0;font-size:.92em;border-radius:2px;line-height:1.5;background-color:#dfdcde;color:#515151}.woocommerce-checkout #payment div.payment_box input.input-text,.woocommerce-checkout #payment div.payment_box textarea{border-color:#bbb3b9 #c7c1c6 #c7c1c6}.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-moz-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number{font-size:1.5em;padding:8px;background-repeat:no-repeat;background-position:right}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.visa{background-image:url(../images/icons/credit-cards/visa.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.mastercard{background-image:url(../images/icons/credit-cards/mastercard.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.laser{background-image:url(../images/icons/credit-cards/laser.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.dinersclub{background-image:url(../images/icons/credit-cards/diners.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.maestro{background-image:url(../images/icons/credit-cards/maestro.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.jcb{background-image:url(../images/icons/credit-cards/jcb.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.amex{background-image:url(../images/icons/credit-cards/amex.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.discover{background-image:url(../images/icons/credit-cards/discover.png)}.woocommerce-checkout #payment div.payment_box span.help{font-size:.857em;color:#777;font-weight:400}.woocommerce-checkout #payment div.payment_box .form-row{margin:0 0 1em}.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}.woocommerce-checkout #payment div.payment_box:before{content:"";display:block;border:1em solid #dfdcde;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-.75em;left:0;margin:-1em 0 0 2em}.woocommerce-checkout #payment .payment_method_paypal .about_paypal{float:right;line-height:52px;font-size:.83em}.woocommerce-checkout #payment .payment_method_paypal img{max-height:52px;vertical-align:middle}.woocommerce-password-strength{text-align:center;font-weight:600;padding:3px 0}.woocommerce-password-strength.strong{background-color:#c1e1b9;border-color:#83c373}.woocommerce-password-strength.short{background-color:#f1adad;border-color:#e35b5b}.woocommerce-password-strength.bad{background-color:#fbc5a9;border-color:#f78b53}.woocommerce-password-strength.good{background-color:#ffe399;border-color:#ffc733}.product.has-default-attributes.has-children>.images{opacity:0}#content.twentyeleven .woocommerce-pagination a{font-size:1em;line-height:1}.single-product .twentythirteen #reply-title,.single-product .twentythirteen #respond #commentform,.single-product .twentythirteen .entry-summary{padding:0}.twentythirteen .woocommerce-breadcrumb{padding-top:40px}.twentyfourteen ul.products li.product{margin-top:0!important}body:not(.search-results) .twentysixteen .entry-summary{color:inherit;font-size:inherit;line-height:inherit}.twentysixteen .price ins{background:inherit;color:inherit} \ No newline at end of file +@charset "UTF-8";.clear,.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-message:after{clear:both}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}p.demo_store{position:fixed;top:0;left:0;right:0;margin:0;width:100%;font-size:1em;padding:1em 0;text-align:center;background-color:#a46497;color:#fff;z-index:99998;box-shadow:0 1px 1em rgba(0,0,0,.2)}p.demo_store a{color:#fff}.admin-bar p.demo_store{top:32px}.woocommerce .blockUI.blockOverlay{position:relative}.woocommerce .blockUI.blockOverlay:before,.woocommerce .loader:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.woocommerce a.remove{display:block;font-size:1.5em;height:1em;width:1em;text-align:center;line-height:1;border-radius:100%;color:red!important;text-decoration:none;font-weight:700;border:0}.woocommerce a.remove:hover{color:#fff!important;background:red}.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#f7f6f7;color:#515151;border-top:3px solid #a46497;list-style:none!important;width:auto;word-wrap:break-word}.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:after,.woocommerce .woocommerce-message:before{content:" ";display:table}.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:before{font-family:WooCommerce;content:"\e028";display:inline-block;position:absolute;top:1em;left:1.5em}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button{float:right}.woocommerce .woocommerce-error li,.woocommerce .woocommerce-info li,.woocommerce .woocommerce-message li{list-style:none!important;padding-left:0!important;margin-left:0!important}.woocommerce .woocommerce-message{border-top-color:#8fae1b}.woocommerce .woocommerce-message:before{content:"\e015";color:#8fae1b}.woocommerce .woocommerce-info{border-top-color:#1e85be}.woocommerce .woocommerce-info:before{color:#1e85be}.woocommerce .woocommerce-error{border-top-color:#b81c23}.woocommerce .woocommerce-error:before{content:"\e016";color:#b81c23}.woocommerce small.note{display:block;color:#777;font-size:.857em;margin-top:10px}.woocommerce .woocommerce-breadcrumb{margin:0 0 1em;padding:0;font-size:.92em;color:#777}.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-breadcrumb:before{content:" ";display:table}.woocommerce .woocommerce-breadcrumb a{color:#777}.woocommerce .quantity .qty{width:3.631em;text-align:center}.woocommerce div.product{margin-bottom:0;position:relative}.woocommerce div.product .product_title{clear:none;margin-top:0;padding:0}.woocommerce #reviews #comments .add_review:after,.woocommerce .products ul:after,.woocommerce div.product form.cart:after,.woocommerce div.product p.cart:after,.woocommerce nav.woocommerce-pagination ul,.woocommerce ul.products:after{clear:both}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#77a464;font-size:1.25em}.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:inherit;font-weight:700}.woocommerce div.product p.price del,.woocommerce div.product span.price del{opacity:.5}.woocommerce div.product p.stock{font-size:.92em}.woocommerce div.product .stock{color:#77a464}.woocommerce div.product .out-of-stock{color:red}.woocommerce div.product .woocommerce-product-rating{margin-bottom:1.618em}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:2em}.woocommerce div.product div.images img{display:block;width:100%;height:auto;box-shadow:none}.woocommerce div.product div.images div.thumbnails{padding-top:1em}.woocommerce div.product div.social{text-align:right;margin:0 0 1em}.woocommerce div.product div.social span{margin:0 0 0 2px}.woocommerce div.product div.social span span{margin:0}.woocommerce div.product div.social span .stButton .chicklets{padding-left:16px;width:0}.woocommerce div.product div.social iframe{float:left;margin-top:3px}.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;padding:0 0 0 1em;margin:0 0 1.618em;overflow:hidden;position:relative}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid #d3ced2;background-color:#ebe9eb;display:inline-block;position:relative;z-index:0;border-radius:4px 4px 0 0;margin:0 -5px;padding:0 1em}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:inline-block;padding:.5em 0;font-weight:700;color:#515151;text-decoration:none}.woocommerce div.product form.cart:after,.woocommerce div.product form.cart:before,.woocommerce div.product p.cart:after,.woocommerce div.product p.cart:before{display:table;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{text-decoration:none;color:#6b6b6b}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;z-index:2;border-bottom-color:#fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:inherit;text-shadow:inherit}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before{box-shadow:2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after{box-shadow:-2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li:after,.woocommerce div.product .woocommerce-tabs ul.tabs li:before{border:1px solid #d3ced2;position:absolute;bottom:-1px;width:5px;height:5px;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li:before{left:-6px;-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;border-width:0 1px 1px 0;box-shadow:2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs li:after{right:-6px;-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;border-width:0 0 1px 1px;box-shadow:-2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs:before{position:absolute;content:" ";width:100%;bottom:0;left:0;border-bottom:1px solid #d3ced2;z-index:1}.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 2em;padding:0}.woocommerce div.product form.cart,.woocommerce div.product p.cart{margin-bottom:2em}.woocommerce div.product form.cart div.quantity{float:left;margin:0 4px 0 0}.woocommerce div.product form.cart table{border-width:0 0 1px}.woocommerce div.product form.cart table td{padding-left:0}.woocommerce div.product form.cart table div.quantity{float:none;margin:0}.woocommerce div.product form.cart table small.stock{display:block;float:none}.woocommerce div.product form.cart .variations{margin-bottom:1em;border:0;width:100%}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{border:0;vertical-align:top;line-height:2em}.woocommerce div.product form.cart .variations label{font-weight:700}.woocommerce div.product form.cart .variations select{max-width:100%;min-width:75%;display:inline-block;margin-right:1em}.woocommerce div.product form.cart .variations td.label{padding-right:1em}.woocommerce div.product form.cart .woocommerce-variation-description p{margin-bottom:1em}.woocommerce div.product form.cart .reset_variations{visibility:hidden;font-size:.83em}.woocommerce div.product form.cart .wc-no-matching-variations{display:none}.woocommerce div.product form.cart .button{vertical-align:middle;float:left}.woocommerce div.product form.cart .group_table td.label{padding-right:1em;padding-left:1em}.woocommerce div.product form.cart .group_table td{vertical-align:top;padding-bottom:.5em;border:0}.woocommerce span.onsale{min-height:3.236em;min-width:3.236em;padding:.202em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;-webkit-font-smoothing:antialiased}.woocommerce .products ul,.woocommerce ul.products{margin:0 0 1em;padding:0;list-style:none;clear:both}.woocommerce .products ul:after,.woocommerce .products ul:before,.woocommerce ul.products:after,.woocommerce ul.products:before{content:" ";display:table}.woocommerce .products ul li,.woocommerce ul.products li{list-style:none}.woocommerce ul.products li.product .onsale{top:0;right:0;left:auto;margin:-.5em -.5em 0 0}.woocommerce ul.products li.product h3{padding:.5em 0;margin:0;font-size:1em}.woocommerce ul.products li.product a{text-decoration:none}.woocommerce ul.products li.product a img{width:100%;height:auto;display:block;margin:0 0 1em;box-shadow:none}.woocommerce ul.products li.product strong{display:block}.woocommerce ul.products li.product .star-rating{font-size:.857em}.woocommerce ul.products li.product .button{margin-top:1em}.woocommerce ul.products li.product .price{color:#77a464;display:block;font-weight:400;margin-bottom:.5em;font-size:.857em}.woocommerce ul.products li.product .price del{color:inherit;opacity:.5;display:block}.woocommerce ul.products li.product .price ins{background:0 0;font-weight:700}.woocommerce ul.products li.product .price .from{font-size:.67em;margin:-2px 0 0;text-transform:uppercase;color:rgba(132,132,132,.5)}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{margin:0 0 1em}.woocommerce .woocommerce-ordering select{vertical-align:top}.woocommerce nav.woocommerce-pagination{text-align:center}.woocommerce nav.woocommerce-pagination ul{display:inline-block;white-space:nowrap;padding:0;border:1px solid #d3ced2;border-right:0;margin:1px}.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid #d3ced2;padding:0;margin:0;float:left;display:inline;overflow:hidden}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{margin:0;text-decoration:none;line-height:1;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block}.woocommerce nav.woocommerce-pagination ul li a:focus,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#ebe9eb;color:#8a7e88}.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-size:100%;margin:0;line-height:1;cursor:pointer;position:relative;font-family:inherit;text-decoration:none;overflow:visible;padding:.618em 1em;font-weight:700;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;white-space:nowrap;display:inline-block;background-image:none;box-shadow:none;-webkit-box-shadow:none;text-shadow:none}.woocommerce #respond input#submit.loading,.woocommerce a.button.loading,.woocommerce button.button.loading,.woocommerce input.button.loading{opacity:.25;padding-right:2.618em}.woocommerce #respond input#submit.loading:after,.woocommerce a.button.loading:after,.woocommerce button.button.loading:after,.woocommerce input.button.loading:after{font-family:WooCommerce;content:"\e01c";vertical-align:top;-webkit-font-smoothing:antialiased;font-weight:400;position:absolute;top:.618em;right:1em;-webkit-animation:spin 2s linear infinite;-moz-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.woocommerce #respond input#submit.added:after,.woocommerce a.button.added:after,.woocommerce button.button.added:after,.woocommerce input.button.added:after{font-family:WooCommerce;content:"\e017";margin-left:.53em;vertical-align:bottom}.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background-color:#dad8da;text-decoration:none;background-image:none;color:#515151}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background-color:#a46497;color:#fff;-webkit-font-smoothing:antialiased}.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:#935386;color:#fff}.woocommerce #respond input#submit.alt.disabled,.woocommerce #respond input#submit.alt.disabled:hover,.woocommerce #respond input#submit.alt:disabled,.woocommerce #respond input#submit.alt:disabled:hover,.woocommerce #respond input#submit.alt:disabled[disabled],.woocommerce #respond input#submit.alt:disabled[disabled]:hover,.woocommerce a.button.alt.disabled,.woocommerce a.button.alt.disabled:hover,.woocommerce a.button.alt:disabled,.woocommerce a.button.alt:disabled:hover,.woocommerce a.button.alt:disabled[disabled],.woocommerce a.button.alt:disabled[disabled]:hover,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled],.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled],.woocommerce input.button.alt:disabled[disabled]:hover{background-color:#a46497;color:#fff}.woocommerce #respond input#submit.disabled,.woocommerce #respond input#submit:disabled,.woocommerce #respond input#submit:disabled[disabled],.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce a.button:disabled[disabled],.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button.disabled,.woocommerce input.button:disabled,.woocommerce input.button:disabled[disabled]{color:inherit;cursor:not-allowed;opacity:.5}.woocommerce #respond input#submit.disabled:hover,.woocommerce #respond input#submit:disabled:hover,.woocommerce #respond input#submit:disabled[disabled]:hover,.woocommerce a.button.disabled:hover,.woocommerce a.button:disabled:hover,.woocommerce a.button:disabled[disabled]:hover,.woocommerce button.button.disabled:hover,.woocommerce button.button:disabled:hover,.woocommerce button.button:disabled[disabled]:hover,.woocommerce input.button.disabled:hover,.woocommerce input.button:disabled:hover,.woocommerce input.button:disabled[disabled]:hover{color:inherit;background-color:#ebe9eb}.woocommerce .cart .button,.woocommerce .cart input.button{float:none}.woocommerce a.added_to_cart{padding-top:.5em;white-space:nowrap;display:inline-block}.woocommerce #reviews #comments .add_review:after,.woocommerce #reviews #comments .add_review:before,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:before,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce #reviews #comments ol.commentlist:before{content:" ";display:table}.woocommerce #reviews h2 small{float:right;color:#777;font-size:15px;margin:10px 0 0}.woocommerce #reviews h2 small a{text-decoration:none;color:#777}.woocommerce #reviews h3{margin:0}.woocommerce #reviews #respond{margin:0;border:0;padding:0}.woocommerce #reviews #comment{height:75px}.woocommerce #reviews #comments h2{clear:none}.woocommerce #review_form #respond:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce .woocommerce-product-rating:after,.woocommerce td.product-name dl.variation:after{clear:both}.woocommerce #reviews #comments ol.commentlist{margin:0;width:100%;background:0 0;list-style:none}.woocommerce #reviews #comments ol.commentlist li{padding:0;margin:0 0 20px;position:relative;background:0;border:0}.woocommerce #reviews #comments ol.commentlist li .meta{color:#777;font-size:.75em}.woocommerce #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:3px;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;box-shadow:none}.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0}.woocommerce #reviews #comments ol.commentlist li .comment-text p{margin:0 0 1em}.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:.83em}.woocommerce #reviews #comments ol.commentlist ul.children{list-style:none;margin:20px 0 0 50px}.woocommerce #reviews #comments ol.commentlist ul.children .star-rating{display:none}.woocommerce #reviews #comments ol.commentlist #respond{border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0;margin:20px 0 0 50px}.woocommerce #reviews #comments .commentlist>li:before{content:""}.woocommerce .star-rating{float:right;overflow:hidden;position:relative;height:1em;line-height:1;font-size:1em;width:5.4em;font-family:star}.woocommerce .star-rating:before{content:"\73\73\73\73\73";color:#d3ced2;float:left;top:0;left:0;position:absolute}.woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.woocommerce .star-rating span:before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}.woocommerce .woocommerce-product-rating{line-height:2;display:block}.woocommerce .woocommerce-product-rating:after,.woocommerce .woocommerce-product-rating:before{content:" ";display:table}.woocommerce .woocommerce-product-rating .star-rating{margin:.5em 4px 0 0;float:left}.woocommerce .products .star-rating{display:block;margin:0 0 .5em;float:none}.woocommerce .hreview-aggregate .star-rating{margin:10px 0 0}.woocommerce #review_form #respond{position:static;margin:0;width:auto;padding:0;background:0 0;border:0}.woocommerce #review_form #respond:after,.woocommerce #review_form #respond:before{content:" ";display:table}.woocommerce p.stars a:before,.woocommerce p.stars a:hover~a:before{content:"\e021"}.woocommerce #review_form #respond p{margin:0 0 10px}.woocommerce #review_form #respond .form-submit input{left:auto}.woocommerce #review_form #respond textarea{box-sizing:border-box;width:100%}.woocommerce p.stars a{position:relative;height:1em;width:1em;text-indent:-999em;display:inline-block;text-decoration:none}.woocommerce p.stars a:before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;text-indent:0}.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes th{line-height:1.5;border-bottom:1px dotted rgba(0,0,0,.1);border-top:0;margin:0}.woocommerce p.stars.selected a.active:before,.woocommerce p.stars:hover a:before{content:"\e020"}.woocommerce p.stars.selected a.active~a:before{content:"\e021"}.woocommerce p.stars.selected a:not(.active):before{content:"\e020"}.woocommerce table.shop_attributes{border:0;border-top:1px dotted rgba(0,0,0,.1);margin-bottom:1.618em;width:100%}.woocommerce table.shop_attributes th{width:150px;font-weight:700;padding:8px}.woocommerce table.shop_attributes td{font-style:italic;padding:0}.woocommerce table.shop_attributes td p{margin:0;padding:8px 0}.woocommerce table.shop_attributes .alt td,.woocommerce table.shop_attributes .alt th{background:rgba(0,0,0,.025)}.woocommerce table.shop_table{border:1px solid rgba(0,0,0,.1);margin:0 -1px 24px 0;text-align:left;width:100%;border-collapse:separate;border-radius:5px}.woocommerce table.shop_table th{font-weight:700;padding:9px 12px}.woocommerce table.shop_table td{border-top:1px solid rgba(0,0,0,.1);padding:6px 12px;vertical-align:middle}.woocommerce table.shop_table td small{font-weight:400}.woocommerce table.shop_table tbody:first-child tr:first-child td,.woocommerce table.shop_table tbody:first-child tr:first-child th{border-top:0}.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{font-weight:700;border-top:1px solid rgba(0,0,0,.1)}.woocommerce table.my_account_orders{font-size:.85em}.woocommerce table.my_account_orders td,.woocommerce table.my_account_orders th{padding:4px 8px;vertical-align:middle}.woocommerce table.my_account_orders .button{white-space:nowrap}.woocommerce table.my_account_orders .order-actions{text-align:right}.woocommerce table.my_account_orders .order-actions .button{margin:.125em 0 .125em .25em}.woocommerce td.product-name dl.variation{margin:.25em 0}.woocommerce td.product-name dl.variation:after,.woocommerce td.product-name dl.variation:before{content:" ";display:table}.woocommerce td.product-name dl.variation dd,.woocommerce td.product-name dl.variation dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce td.product-name dl.variation dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li:after,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li:after{clear:both}.woocommerce td.product-name dl.variation dd{padding:0 0 .25em}.woocommerce td.product-name dl.variation dd p:last-child{margin-bottom:0}.woocommerce td.product-name p.backorder_notification{font-size:.83em}.woocommerce td.product-quantity{min-width:80px}.woocommerce ul.cart_list,.woocommerce ul.product_list_widget{list-style:none;padding:0;margin:0}.woocommerce ul.cart_list li,.woocommerce ul.product_list_widget li{padding:4px 0;margin:0;list-style:none}.woocommerce ul.cart_list li:after,.woocommerce ul.cart_list li:before,.woocommerce ul.product_list_widget li:after,.woocommerce ul.product_list_widget li:before{content:" ";display:table}.woocommerce ul.cart_list li a,.woocommerce ul.product_list_widget li a{display:block;font-weight:700}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img{float:right;margin-left:4px;width:32px;height:auto;box-shadow:none}.woocommerce ul.cart_list li dl,.woocommerce ul.product_list_widget li dl{margin:0;padding-left:1em;border-left:2px solid rgba(0,0,0,.1)}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li dl:before,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li dl:before{content:" ";display:table}.woocommerce ul.cart_list li dl dd,.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dd,.woocommerce ul.product_list_widget li dl dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce .order_details:after,.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_shopping_cart .buttons:after,.woocommerce-account .addresses .title:after,.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce.widget_shopping_cart .buttons:after{clear:both}.woocommerce ul.cart_list li dl dd,.woocommerce ul.product_list_widget li dl dd{padding:0 0 .25em}.woocommerce ul.cart_list li dl dd p:last-child,.woocommerce ul.product_list_widget li dl dd p:last-child{margin-bottom:0}.woocommerce ul.cart_list li .star-rating,.woocommerce ul.product_list_widget li .star-rating{float:none}.woocommerce .widget_shopping_cart .total,.woocommerce.widget_shopping_cart .total{border-top:3px double #ebe9eb;padding:4px 0 0}.woocommerce .widget_shopping_cart .total strong,.woocommerce.widget_shopping_cart .total strong{min-width:40px;display:inline-block}.woocommerce .widget_shopping_cart .cart_list li,.woocommerce.widget_shopping_cart .cart_list li{padding-left:2em;position:relative;padding-top:0}.woocommerce .widget_shopping_cart .cart_list li a.remove,.woocommerce.widget_shopping_cart .cart_list li a.remove{position:absolute;top:0;left:0}.woocommerce .widget_shopping_cart .buttons:after,.woocommerce .widget_shopping_cart .buttons:before,.woocommerce.widget_shopping_cart .buttons:after,.woocommerce.widget_shopping_cart .buttons:before{content:" ";display:table}.woocommerce form .form-row{padding:3px;margin:0 0 6px}.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder{-webkit-transition:opacity .5s .5s ease;-moz-transition:opacity .5s .5s ease;transition:opacity .5s .5s ease;opacity:0}.woocommerce form .form-row label{line-height:2}.woocommerce form .form-row label.hidden{visibility:hidden}.woocommerce form .form-row label.inline{display:inline}.woocommerce form .form-row select{cursor:pointer;margin:0}.woocommerce form .form-row .required{color:red;font-weight:700;border:0}.woocommerce form .form-row .input-checkbox{display:inline;margin:-2px 8px 0 0;text-align:center;vertical-align:middle}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{box-sizing:border-box;width:100%;margin:0;outline:0;line-height:1}.woocommerce form .form-row textarea{height:4em;line-height:1.5;display:block;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.woocommerce form .form-row .select2-container{width:100%;line-height:2em}.woocommerce form .form-row.woocommerce-invalid label{color:#a00}.woocommerce form .form-row.woocommerce-invalid .select2-container,.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a00}.woocommerce form .form-row.woocommerce-validated .select2-container,.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:#69bf29}.woocommerce form .form-row ::-webkit-input-placeholder{line-height:normal}.woocommerce form .form-row :-moz-placeholder{line-height:normal}.woocommerce form .form-row :-ms-input-placeholder{line-height:normal}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid #d3ced2;padding:20px;margin:2em 0;text-align:left;border-radius:5px}.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}.woocommerce ul#shipping_method li{margin:0;padding:.25em 0 .25em 22px;text-indent:-22px;list-style:none}.woocommerce ul#shipping_method .amount{font-weight:700}.woocommerce p.woocommerce-shipping-contents{margin:0}.woocommerce .order_details{margin:0 0 1.5em;list-style:none}.woocommerce .order_details:after,.woocommerce .order_details:before{content:" ";display:table}.woocommerce .order_details li{float:left;margin-right:2em;text-transform:uppercase;font-size:.715em;line-height:1;border-right:1px dashed #d3ced2;padding-right:2em;margin-left:0;padding-left:0}.woocommerce .order_details li strong{display:block;font-size:1.4em;text-transform:none;line-height:1.5}.woocommerce .order_details li:last-of-type{border:none}.woocommerce .widget_layered_nav ul{margin:0;padding:0;border:0;list-style:none}.woocommerce .widget_layered_nav ul li{padding:0 0 1px;list-style:none}.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_layered_nav ul li:before{content:" ";display:table}.woocommerce .widget_layered_nav ul li.chosen a:before,.woocommerce .widget_layered_nav_filters ul li a:before{font-weight:400;line-height:1;content:"";color:#a00;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-decoration:none}.woocommerce .widget_layered_nav ul li a,.woocommerce .widget_layered_nav ul li span{padding:1px 0}.woocommerce .widget_layered_nav ul li.chosen a:before{margin-right:.618em}.woocommerce .widget_layered_nav_filters ul{margin:0;padding:0;border:0;list-style:none;overflow:hidden;zoom:1}.woocommerce .widget_layered_nav_filters ul li{float:left;padding:0 1px 1px 0;list-style:none}.woocommerce .widget_layered_nav_filters ul li a{text-decoration:none}.woocommerce .widget_layered_nav_filters ul li a:before{margin-right:.618em}.woocommerce .widget_price_filter .price_slider{margin-bottom:1em}.woocommerce .widget_price_filter .price_slider_amount{text-align:right;line-height:2.4;font-size:.8751em}.woocommerce .widget_price_filter .price_slider_amount .button{font-size:1.15em;float:left}.woocommerce .widget_price_filter .ui-slider{position:relative;text-align:left;margin-left:.5em;margin-right:.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1em;height:1em;background-color:#a46497;border-radius:1em;cursor:ew-resize;outline:0;top:-.3em;margin-left:-.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;border-radius:1em;background-color:#a46497}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{border-radius:1em;background-color:#602053;border:0}.woocommerce .widget_price_filter .ui-slider-horizontal{height:.5em}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-min{left:-1px}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-max{right:-1px}.woocommerce-account .addresses .title:after,.woocommerce-account .addresses .title:before{content:" ";display:table}.woocommerce-account .addresses .title h3{float:left}.woocommerce-account .addresses .title .edit,.woocommerce-account ul.digital-downloads li .count{float:right}.woocommerce-account ol.commentlist.notes li.note p.meta{font-weight:700;margin-bottom:0}.woocommerce-account ol.commentlist.notes li.note .description p:last-child{margin-bottom:0}.woocommerce-account ul.digital-downloads{margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li{list-style:none;margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce-cart table.cart .product-thumbnail{min-width:32px}.woocommerce-cart table.cart img{width:32px;box-shadow:none}.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{vertical-align:middle}.woocommerce-cart table.cart td.actions .coupon .input-text{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #d3ced2;padding:6px 6px 5px;margin:0 4px 0 0;outline:0;line-height:1}.woocommerce-cart table.cart input{margin:0;vertical-align:middle;line-height:1}.woocommerce-cart .wc-proceed-to-checkout{padding:1em 0}.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce-cart .wc-proceed-to-checkout:before{content:" ";display:table}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin-bottom:1em;font-size:1.25em;padding:1em}.woocommerce-cart .cart-collaterals .shipping_calculator .button{width:100%;float:none;display:block}.woocommerce-cart .cart-collaterals .shipping_calculator .shipping-calculator-button:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none}.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods li:before,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout #payment ul.payment_methods:before{content:" ";display:table}.woocommerce-cart .cart-collaterals .cart_totals p small{color:#777;font-size:.83em}.woocommerce-cart .cart-collaterals .cart_totals table{border-collapse:separate;margin:0 0 6px;padding:0}.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th{border-top:0}.woocommerce-cart .cart-collaterals .cart_totals table th{width:40%}.woocommerce-cart .cart-collaterals .cart_totals table td,.woocommerce-cart .cart-collaterals .cart_totals table th{vertical-align:top;border-left:0;border-right:0;line-height:1.5em}.woocommerce-cart .cart-collaterals .cart_totals table small{color:#777}.woocommerce-cart .cart-collaterals .cart_totals table select{width:100%}.woocommerce-cart .cart-collaterals .cart_totals .discount td{color:#77a464}.woocommerce-cart .cart-collaterals .cart_totals tr td,.woocommerce-cart .cart-collaterals .cart_totals tr th{border-top:1px solid #ebe9eb}.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{margin-top:0}.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address{float:left;clear:none}.woocommerce-checkout .checkout .col-2 .form-row-first,.woocommerce-checkout .checkout .col-2 .notes{clear:left}.woocommerce-checkout .checkout .create-account small{font-size:11px;color:#777;font-weight:400}.woocommerce-checkout .checkout div.shipping-address{padding:0;clear:left;width:100%}.single-product .twentythirteen p.stars,.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout .checkout .shipping_address{clear:both}.woocommerce-checkout #payment{background:#ebe9eb;border-radius:5px}.woocommerce-checkout #payment ul.payment_methods{text-align:left;padding:1em;border-bottom:1px solid #d3ced2;margin:0;list-style:none}.woocommerce-checkout #payment ul.payment_methods li{line-height:2;text-align:left;margin:0;font-weight:400}.woocommerce-checkout #payment ul.payment_methods li input{margin:0 1em 0 0}.woocommerce-checkout #payment ul.payment_methods li img{vertical-align:middle;margin:-2px 0 0 .5em;padding:0;position:relative;box-shadow:none}.woocommerce-checkout #payment ul.payment_methods li img+img{margin-left:2px}.woocommerce-checkout #payment div.form-row{padding:1em}.woocommerce-checkout #payment div.payment_box{position:relative;box-sizing:border-box;width:100%;padding:1em;margin:1em 0;font-size:.92em;border-radius:2px;line-height:1.5;background-color:#dfdcde;color:#515151}.woocommerce-checkout #payment div.payment_box input.input-text,.woocommerce-checkout #payment div.payment_box textarea{border-color:#bbb3b9 #c7c1c6 #c7c1c6}.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-moz-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number{font-size:1.5em;padding:8px;background-repeat:no-repeat;background-position:right}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.visa{background-image:url(../images/icons/credit-cards/visa.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.mastercard{background-image:url(../images/icons/credit-cards/mastercard.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.laser{background-image:url(../images/icons/credit-cards/laser.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.dinersclub{background-image:url(../images/icons/credit-cards/diners.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.maestro{background-image:url(../images/icons/credit-cards/maestro.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.jcb{background-image:url(../images/icons/credit-cards/jcb.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.amex{background-image:url(../images/icons/credit-cards/amex.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.discover{background-image:url(../images/icons/credit-cards/discover.png)}.woocommerce-checkout #payment div.payment_box span.help{font-size:.857em;color:#777;font-weight:400}.woocommerce-checkout #payment div.payment_box .form-row{margin:0 0 1em}.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}.woocommerce-checkout #payment div.payment_box:before{content:"";display:block;border:1em solid #dfdcde;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-.75em;left:0;margin:-1em 0 0 2em}.woocommerce-checkout #payment .payment_method_paypal .about_paypal{float:right;line-height:52px;font-size:.83em}.woocommerce-checkout #payment .payment_method_paypal img{max-height:52px;vertical-align:middle}.woocommerce-password-strength{text-align:center;font-weight:600;padding:3px 0}.woocommerce-password-strength.strong{background-color:#c1e1b9;border-color:#83c373}.woocommerce-password-strength.short{background-color:#f1adad;border-color:#e35b5b}.woocommerce-password-strength.bad{background-color:#fbc5a9;border-color:#f78b53}.woocommerce-password-strength.good{background-color:#ffe399;border-color:#ffc733}.woocommerce-password-hint{margin:.5em 0 0;display:block}.product.has-default-attributes.has-children>.images{opacity:0}#content.twentyeleven .woocommerce-pagination a{font-size:1em;line-height:1}.single-product .twentythirteen #reply-title,.single-product .twentythirteen #respond #commentform,.single-product .twentythirteen .entry-summary{padding:0}.twentythirteen .woocommerce-breadcrumb{padding-top:40px}.twentyfourteen ul.products li.product{margin-top:0!important}body:not(.search-results) .twentysixteen .entry-summary{color:inherit;font-size:inherit;line-height:inherit}.twentysixteen .price ins{background:inherit;color:inherit} \ No newline at end of file diff --git a/assets/css/woocommerce.scss b/assets/css/woocommerce.scss index 2fd25a29184..ea33d091dbf 100644 --- a/assets/css/woocommerce.scss +++ b/assets/css/woocommerce.scss @@ -1908,6 +1908,11 @@ p.demo_store { } } +.woocommerce-password-hint { + margin: .5em 0 0 0; + display: block; +} + /* added to get around variation image flicker issue */ .product.has-default-attributes.has-children { > .images { diff --git a/assets/js/frontend/password-strength-meter.js b/assets/js/frontend/password-strength-meter.js index c9ea096794c..9734130cc8d 100644 --- a/assets/js/frontend/password-strength-meter.js +++ b/assets/js/frontend/password-strength-meter.js @@ -1,4 +1,4 @@ -/* global wp, pwsL10n */ +/* global wp, pwsL10n, wc_password_strength_meter_params */ jQuery( function( $ ) { /** @@ -11,8 +11,8 @@ jQuery( function( $ ) { */ init: function() { $( document.body ) - .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1', this.strengthMeter ); - + .on( 'keyup', 'form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1', this.strengthMeter ) + .on( 'submit', 'form.register, form.edit-account, form.lost_reset_password', this.onSubmit ); $( 'form.checkout #createaccount' ).change(); }, @@ -29,11 +29,29 @@ jQuery( function( $ ) { strength = wc_password_strength_meter.checkPasswordStrength( field ); + // Add class to wrapper + if ( 3 === strength || 4 === strength ) { + wrapper.removeClass( 'has-weak-password' ); + } else { + wrapper.addClass( 'has-weak-password' ); + } + // Stop form if password is weak... But not in checkout form! if ( 3 === strength || 4 === strength ) { - submit.removeAttr( 'disabled' ); + submit.removeClass( 'disabled' ); } else if ( ! wrapper.hasClass( 'checkout' ) ) { - submit.attr( 'disabled', 'disabled' ); + submit.addClass( 'disabled' ); + } + }, + + onSubmit: function() { + $( '.woocommerce-password-error' ).remove(); + + if ( $( this ).is( '.has-weak-password' ) ) { + $( this ).prepend( '
    ' + wc_password_strength_meter_params.i18n_password_error + '
    ' ); + return false; + } else { + return true; } }, @@ -61,15 +79,19 @@ jQuery( function( $ ) { * @return {Int} */ checkPasswordStrength: function( field ) { - var meter = $( '.woocommerce-password-strength' ); - var strength = wp.passwordStrength.meter( field.val(), wp.passwordStrength.userInputBlacklist() ); + var meter = $( '.woocommerce-password-strength' ); + var hint = $( '.woocommerce-password-hint' ); + var hint_html = '' + wc_password_strength_meter_params.i18n_password_hint + ''; + var strength = wp.passwordStrength.meter( field.val(), wp.passwordStrength.userInputBlacklist() ); - // Reset classes + // Reset meter.removeClass( 'short bad good strong' ); + hint.remove(); switch ( strength ) { case 2 : meter.addClass( 'bad' ).html( pwsL10n.bad ); + meter.after( hint_html ); break; case 3 : meter.addClass( 'good' ).html( pwsL10n.good ); @@ -80,9 +102,9 @@ jQuery( function( $ ) { case 5 : meter.addClass( 'short' ).html( pwsL10n.mismatch ); break; - default : meter.addClass( 'short' ).html( pwsL10n['short'] ); + meter.after( hint_html ); } return strength; diff --git a/assets/js/frontend/password-strength-meter.min.js b/assets/js/frontend/password-strength-meter.min.js index 4fe9dccb2ca..fb63f0d411f 100644 --- a/assets/js/frontend/password-strength-meter.min.js +++ b/assets/js/frontend/password-strength-meter.min.js @@ -1 +1 @@ -jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1",this.strengthMeter),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account, form.lost_reset_password"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?d.removeAttr("disabled"):c.hasClass("checkout")||d.attr("disabled","disabled")},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d){case 2:c.addClass("bad").html(pwsL10n.bad);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"])}return d}};b.init()}); \ No newline at end of file +jQuery(function(a){var b={init:function(){a(document.body).on("keyup","form.register #reg_password, form.checkout #account_password, form.edit-account #password_1, form.lost_reset_password #password_1",this.strengthMeter).on("submit","form.register, form.edit-account, form.lost_reset_password",this.onSubmit),a("form.checkout #createaccount").change()},strengthMeter:function(){var c=a("form.register, form.checkout, form.edit-account, form.lost_reset_password"),d=a('input[type="submit"]',c),e=a("#reg_password, #account_password, #password_1",c),f=1;b.includeMeter(c,e),f=b.checkPasswordStrength(e),3===f||4===f?c.removeClass("has-weak-password"):c.addClass("has-weak-password"),3===f||4===f?d.removeClass("disabled"):c.hasClass("checkout")||d.addClass("disabled")},onSubmit:function(){return a(".woocommerce-password-error").remove(),a(this).is(".has-weak-password")?(a(this).prepend('
    '+wc_password_strength_meter_params.i18n_password_error+"
    "),!1):!0},includeMeter:function(a,b){var c=a.find(".woocommerce-password-strength");0===c.length?b.after('
    '):""===b.val()&&c.remove()},checkPasswordStrength:function(b){var c=a(".woocommerce-password-strength"),d=a(".woocommerce-password-hint"),e=''+wc_password_strength_meter_params.i18n_password_hint+"",f=wp.passwordStrength.meter(b.val(),wp.passwordStrength.userInputBlacklist());switch(c.removeClass("short bad good strong"),d.remove(),f){case 2:c.addClass("bad").html(pwsL10n.bad),c.after(e);break;case 3:c.addClass("good").html(pwsL10n.good);break;case 4:c.addClass("strong").html(pwsL10n.strong);break;case 5:c.addClass("short").html(pwsL10n.mismatch);break;default:c.addClass("short").html(pwsL10n["short"]),c.after(e)}return f}};b.init()}); \ No newline at end of file diff --git a/includes/class-wc-frontend-scripts.php b/includes/class-wc-frontend-scripts.php index 79fd27772e8..9204021440f 100644 --- a/includes/class-wc-frontend-scripts.php +++ b/includes/class-wc-frontend-scripts.php @@ -323,8 +323,8 @@ class WC_Frontend_Scripts { break; case 'wc-country-select' : return array( - 'countries' => json_encode( array_merge( WC()->countries->get_allowed_country_states(), WC()->countries->get_shipping_country_states() ) ), - 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'woocommerce' ), + 'countries' => json_encode( array_merge( WC()->countries->get_allowed_country_states(), WC()->countries->get_shipping_country_states() ) ), + 'i18n_select_state_text' => esc_attr__( 'Select an option…', 'woocommerce' ), 'i18n_matches_1' => _x( 'One result is available, press enter to select it.', 'enhanced select', 'woocommerce' ), 'i18n_matches_n' => _x( '%qty% results are available, use up and down arrow keys to navigate.', 'enhanced select', 'woocommerce' ), 'i18n_no_matches' => _x( 'No matches found', 'enhanced select', 'woocommerce' ), @@ -339,6 +339,12 @@ class WC_Frontend_Scripts { 'i18n_searching' => _x( 'Searching…', 'enhanced select', 'woocommerce' ), ); break; + case 'wc-password-strength-meter' : + return array( + 'i18n_password_error' => esc_attr__( 'Please enter a stronger password to continue.', 'woocommerce' ), + 'i18n_password_hint' => esc_attr__( 'The password should be at least seven characters long. To make it stronger, use upper and lower case letters, numbers and symbols like ! " ? $ % ^ & ).', 'woocommerce' ) + ); + break; } return false; } From 9ca216310df814df8e8c5660ed665667a1dafa25 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 11:06:08 +0000 Subject: [PATCH 152/162] [2.5] When totalling up shipping, force round Closes #10076 --- includes/abstracts/abstract-wc-shipping-method.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/abstracts/abstract-wc-shipping-method.php b/includes/abstracts/abstract-wc-shipping-method.php index 80fcf02541b..e334175664b 100644 --- a/includes/abstracts/abstract-wc-shipping-method.php +++ b/includes/abstracts/abstract-wc-shipping-method.php @@ -86,8 +86,8 @@ abstract class WC_Shipping_Method extends WC_Settings_API { return; } - // Handle cost - $total_cost = is_array( $args['cost'] ) ? array_sum( $args['cost'] ) : $args['cost']; + // Total up the cost + $total_cost = wc_format_decimal( is_array( $args['cost'] ) ? array_sum( $args['cost'] ) : $args['cost'], wc_get_price_decimals() ); $taxes = $args['taxes']; // Taxes - if not an array and not set to false, calc tax based on cost and passed calc_tax variable From 32b6e05eb1205caf18b563800beafc2b15006a06 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 11:07:44 +0000 Subject: [PATCH 153/162] [2.5] docblock --- assets/js/frontend/password-strength-meter.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/assets/js/frontend/password-strength-meter.js b/assets/js/frontend/password-strength-meter.js index 9734130cc8d..41ec60fe95d 100644 --- a/assets/js/frontend/password-strength-meter.js +++ b/assets/js/frontend/password-strength-meter.js @@ -44,6 +44,9 @@ jQuery( function( $ ) { } }, + /** + * When the form is submitted, prevent if weak. + */ onSubmit: function() { $( '.woocommerce-password-error' ).remove(); From 47a74f96cd7bdb92da50001f02666c1bf415f4d0 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 11:19:38 +0000 Subject: [PATCH 154/162] [2.5] Add context to category localisation @claudiosmweb Closes #10183 --- includes/walkers/class-product-cat-dropdown-walker.php | 2 +- includes/walkers/class-product-cat-list-walker.php | 2 +- includes/wc-template-functions.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/walkers/class-product-cat-dropdown-walker.php b/includes/walkers/class-product-cat-dropdown-walker.php index d44c75c8ee8..c12f40335fa 100644 --- a/includes/walkers/class-product-cat-dropdown-walker.php +++ b/includes/walkers/class-product-cat-dropdown-walker.php @@ -63,7 +63,7 @@ class WC_Product_Cat_Dropdown_Walker extends Walker { $output .= '>'; - $output .= $pad . __( $cat_name, 'woocommerce' ); + $output .= $pad . _x( $cat_name, 'product category name', 'woocommerce' ); if ( ! empty( $args['show_count'] ) ) $output .= ' (' . $cat->count . ')'; diff --git a/includes/walkers/class-product-cat-list-walker.php b/includes/walkers/class-product-cat-list-walker.php index b5047133712..4d893289e71 100644 --- a/includes/walkers/class-product-cat-list-walker.php +++ b/includes/walkers/class-product-cat-list-walker.php @@ -96,7 +96,7 @@ class WC_Product_Cat_List_Walker extends Walker { $output .= ' current-cat-parent'; } - $output .= '">' . __( $cat->name, 'woocommerce' ) . ''; + $output .= '">' . _x( $cat->name, 'product category name', 'woocommerce' ) . ''; if ( $args['show_count'] ) { $output .= ' (' . $cat->count . ')'; diff --git a/includes/wc-template-functions.php b/includes/wc-template-functions.php index a5094202b78..5ab94a9c1a2 100644 --- a/includes/wc-template-functions.php +++ b/includes/wc-template-functions.php @@ -1764,7 +1764,7 @@ if ( ! function_exists( 'woocommerce_form_field' ) ) { . ''; foreach ( $countries as $ckey => $cvalue ) { - $field .= ''; + $field .= ''; } $field .= ''; From fe0de35537091865cf13623ee61db500d7143808 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 11:21:39 +0000 Subject: [PATCH 155/162] [2.5] 1 too many tags --- readme.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index a250d3757c1..a23604058dc 100644 --- a/readme.txt +++ b/readme.txt @@ -1,6 +1,6 @@ === WooCommerce === Contributors: automattic, mikejolley, jameskoster, claudiosanches, royho, woothemes -Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, shipping, storefront +Tags: ecommerce, e-commerce, store, sales, sell, shop, cart, checkout, downloadable, downloads, paypal, storefront Requires at least: 4.1 Tested up to: 4.4 Stable tag: 2.5.0 From 7fb7120d8e021435d9cff4d1c7dad84e62f0f79d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 11:53:19 +0000 Subject: [PATCH 156/162] [2.5] Move URL functions to core-functions file. Closes #10170 --- includes/wc-cart-functions.php | 30 ------------------------------ includes/wc-core-functions.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/includes/wc-cart-functions.php b/includes/wc-cart-functions.php index 860bf3f035b..8e004eb0145 100644 --- a/includes/wc-cart-functions.php +++ b/includes/wc-cart-functions.php @@ -329,33 +329,3 @@ function wc_cart_round_discount( $value, $precision ) { return round( $value, $precision ); } } - -/** - * Gets the url to the cart page. - * - * @since 2.5.0 - * - * @return string Url to cart page - */ -function wc_get_cart_url() { - return apply_filters( 'woocommerce_get_cart_url', wc_get_page_permalink( 'cart' ) ); -} - -/** - * Gets the url to the checkout page. - * - * @since 2.5.0 - * - * @return string Url to checkout page - */ -function wc_get_checkout_url() { - $checkout_url = wc_get_page_permalink( 'checkout' ); - if ( $checkout_url ) { - // Force SSL if needed - if ( is_ssl() || 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) ) { - $checkout_url = str_replace( 'http:', 'https:', $checkout_url ); - } - } - - return apply_filters( 'woocommerce_get_checkout_url', $checkout_url ); -} diff --git a/includes/wc-core-functions.php b/includes/wc-core-functions.php index cf9508ad022..ef769007a52 100644 --- a/includes/wc-core-functions.php +++ b/includes/wc-core-functions.php @@ -880,3 +880,33 @@ function wc_transaction_query( $type = 'start' ) { } } } + +/** + * Gets the url to the cart page. + * + * @since 2.5.0 + * + * @return string Url to cart page + */ +function wc_get_cart_url() { + return apply_filters( 'woocommerce_get_cart_url', wc_get_page_permalink( 'cart' ) ); +} + +/** + * Gets the url to the checkout page. + * + * @since 2.5.0 + * + * @return string Url to checkout page + */ +function wc_get_checkout_url() { + $checkout_url = wc_get_page_permalink( 'checkout' ); + if ( $checkout_url ) { + // Force SSL if needed + if ( is_ssl() || 'yes' === get_option( 'woocommerce_force_ssl_checkout' ) ) { + $checkout_url = str_replace( 'http:', 'https:', $checkout_url ); + } + } + + return apply_filters( 'woocommerce_get_checkout_url', $checkout_url ); +} From 8c85183d6e23a8adcdc99fd1ba21b1ad750ebb71 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 12:10:36 +0000 Subject: [PATCH 157/162] [2.5] Remove case check from tax rate country REGEX --- assets/js/admin/woocommerce_admin.js | 2 +- assets/js/admin/woocommerce_admin.min.js | 2 +- includes/admin/settings/views/html-settings-tax.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/js/admin/woocommerce_admin.js b/assets/js/admin/woocommerce_admin.js index ba0e6084513..5831ef7b9df 100644 --- a/assets/js/admin/woocommerce_admin.js +++ b/assets/js/admin/woocommerce_admin.js @@ -53,7 +53,7 @@ jQuery( function ( $ ) { }) .on( 'keyup change', '.wc_input_country_iso[type=text]', function() { var value = $( this ).val(); - var regex = new RegExp( '^([A-Z])?([A-Z])$' ); + var regex = new RegExp( '^([a-zA-Z])?([a-zA-Z])$' ); if ( ! regex.test( value ) ) { $( this ).val( '' ); diff --git a/assets/js/admin/woocommerce_admin.min.js b/assets/js/admin/woocommerce_admin.min.js index 732fe708fe6..ac532f9f96c 100644 --- a/assets/js/admin/woocommerce_admin.min.js +++ b/assets/js/admin/woocommerce_admin.min.js @@ -1 +1 @@ -jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([A-Z])?([A-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a("#contextual-help-link").on("click",function(){var b=a("#tab-panel-woocommerce_101_tab iframe");b.attr("src",b.data("src"))})}); \ No newline at end of file +jQuery(function(a){a(document.body).on("wc_add_error_tip",function(b,c,d){var e=c.position();0===c.parent().find(".wc_error_tip").size()&&(c.after('
    '+woocommerce_admin[d]+"
    "),c.parent().find(".wc_error_tip").css("left",e.left+c.width()-c.width()/2-a(".wc_error_tip").width()/2).css("top",e.top+c.height()).fadeIn("100"))}).on("wc_remove_error_tip",function(a,b,c){b.parent().find(".wc_error_tip."+c).remove()}).on("click",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("blur",".wc_input_decimal[type=text], .wc_input_price[type=text], .wc_input_country_iso[type=text]",function(){a(".wc_error_tip").fadeOut("100",function(){a(this).remove()})}).on("keyup change",".wc_input_price[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.mon_decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_mon_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_mon_decimal_error"])}).on("keyup change",".wc_input_decimal[type=text]",function(){var b=a(this).val(),c=new RegExp("[^-0-9%\\"+woocommerce_admin.decimal_point+"]+","gi"),d=b.replace(c,"");b!==d?(a(this).val(d),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_decimal_error"])):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_decimal_error"])}).on("keyup change",".wc_input_country_iso[type=text]",function(){var b=a(this).val(),c=new RegExp("^([a-zA-Z])?([a-zA-Z])$");c.test(b)?a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18n_country_iso_error"]):(a(this).val(""),a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18n_country_iso_error"]))}).on("keyup change","#_sale_price.wc_input_price[type=text], .wc_input_price[name^=variable_sale_price]",function(){var b,c=a(this);b=-1!==c.attr("name").indexOf("variable")?c.parents(".variable_pricing").find(".wc_input_price[name^=variable_regular_price]"):a("#_regular_price");var d=parseFloat(window.accounting.unformat(c.val(),woocommerce_admin.mon_decimal_point)),e=parseFloat(window.accounting.unformat(b.val(),woocommerce_admin.mon_decimal_point));d>=e?a(document.body).triggerHandler("wc_add_error_tip",[a(this),"i18_sale_less_than_regular_error"]):a(document.body).triggerHandler("wc_remove_error_tip",[a(this),"i18_sale_less_than_regular_error"])});var b={attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200};a(".tips, .help_tip, .woocommerce-help-tip").tipTip(b),a(".parent-tips").each(function(){a(this).closest("a, th").attr("data-tip",a(this).data("tip")).tipTip(b).css("cursor","help")}),a(".wc_input_table.sortable tbody").sortable({items:"tr",cursor:"move",axis:"y",scrollSensitivity:40,forcePlaceholderSize:!0,helper:"clone",opacity:.65,placeholder:"wc-metabox-sortable-placeholder",start:function(a,b){b.item.css("background-color","#f6f6f6")},stop:function(a,b){b.item.removeAttr("style")}}),a(".wc_input_table .remove_rows").click(function(){var b=a(this).closest(".wc_input_table").find("tbody");if(b.find("tr.current").size()>0){var c=b.find("tr.current");c.each(function(){a(this).remove()})}return!1});var c=!1,d=!1,e=!1;a(document.body).bind("keyup keydown",function(a){d=a.shiftKey,c=a.ctrlKey||a.metaKey}),a(".wc_input_table").on("focus click","input",function(b){var f=a(this).closest("table, tbody"),g=a(this).closest("tr");("focus"===b.type&&e!==g.index()||"click"===b.type&&a(this).is(":focus"))&&(e=g.index(),d||c?d?(a("tr",f).removeClass("current"),g.addClass("selected_now").addClass("current"),a("tr.last_selected",f).size()>0&&(g.index()>a("tr.last_selected",f).index()?a("tr",f).slice(a("tr.last_selected",f).index(),g.index()).addClass("current"):a("tr",f).slice(g.index(),a("tr.last_selected",f).index()+1).addClass("current")),a("tr",f).removeClass("last_selected"),g.addClass("last_selected")):(a("tr",f).removeClass("last_selected"),c&&a(this).closest("tr").is(".current")?g.removeClass("current"):g.addClass("current").addClass("last_selected")):(a("tr",f).removeClass("current").removeClass("last_selected"),g.addClass("current").addClass("last_selected")),a("tr",f).removeClass("selected_now"))}).on("blur","input",function(){e=!1}),a(".woocommerce_page_wc-settings .shippingrows tbody tr:even, table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a(document.body).on("click",".show_order_items",function(){return a(this).closest("td").find("table").toggle(),!1}),a("select.availability").change(function(){"all"===a(this).val()?a(this).closest("tr").next("tr").hide():a(this).closest("tr").next("tr").show()}).change(),a(".hide_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show()}).change()}),a(".show_options_if_checked").each(function(){a(this).find("input:eq(0)").change(function(){a(this).is(":checked")?a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").show():a(this).closest("fieldset, tr").nextUntil(".hide_options_if_checked, .show_options_if_checked",".hidden_option").hide()}).change()}),a("input#woocommerce_demo_store").change(function(){a(this).is(":checked")?a("#woocommerce_demo_store_notice").closest("tr").show():a("#woocommerce_demo_store_notice").closest("tr").hide()}).change(),a("table.attributes-table tbody tr:nth-child(odd)").addClass("alternate"),a("#contextual-help-link").on("click",function(){var b=a("#tab-panel-woocommerce_101_tab iframe");b.attr("src",b.data("src"))})}); \ No newline at end of file diff --git a/includes/admin/settings/views/html-settings-tax.php b/includes/admin/settings/views/html-settings-tax.php index c660c3891d6..d1b79c2fcc2 100644 --- a/includes/admin/settings/views/html-settings-tax.php +++ b/includes/admin/settings/views/html-settings-tax.php @@ -49,7 +49,7 @@ if ( ! defined( 'ABSPATH' ) ) { - + From 30ee8aaef0b0c660683dfe28c152a5b52e4d33e3 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 12:14:21 +0000 Subject: [PATCH 158/162] [2.5] Bind on autocompletechange event Fixes #10185 --- assets/js/admin/settings-views-html-settings-tax.js | 2 +- assets/js/admin/settings-views-html-settings-tax.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/js/admin/settings-views-html-settings-tax.js b/assets/js/admin/settings-views-html-settings-tax.js index 5301b25d17e..cf8d81e6535 100644 --- a/assets/js/admin/settings-views-html-settings-tax.js +++ b/assets/js/admin/settings-views-html-settings-tax.js @@ -119,7 +119,7 @@ this.listenTo( this.model, 'change:rates', this.setUnloadConfirmation ); this.listenTo( this.model, 'saved:rates', this.clearUnloadConfirmation ); - $tbody.on( 'change', ':input', { view: this }, this.updateModelOnChange ); + $tbody.on( 'change autocompletechange', ':input', { view: this }, this.updateModelOnChange ); $tbody.on( 'sortupdate', { view: this }, this.updateModelOnSort ); $search_field.on( 'keyup search', { view: this }, this.onSearchField ); $pagination.on( 'click', 'a', { view: this }, this.onPageChange ); diff --git a/assets/js/admin/settings-views-html-settings-tax.min.js b/assets/js/admin/settings-views-html-settings-tax.min.js index f0763c7ddba..b8ab800fde3 100644 --- a/assets/js/admin/settings-views-html-settings-tax.min.js +++ b/assets/js/admin/settings-views-html-settings-tax.min.js @@ -1 +1 @@ -!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates"),q.render()),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1?k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})):(k.empty(),n.page=1),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):(n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),h.page=h.qty_pages),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f=c.data.view,g=f.model,h=_.indexBy(g.get("rates"),"tax_rate_id"),j={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),delete h[e],j[e]=_.extend(j[e]||{},{deleted:"deleted"})}),g.set("rates",h),g.logChanges(j),f.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a){var b=a.data.view,c=b.model,d=_.indexBy(c.get("rates"),"tax_rate_id"),e={};_.each(d,function(a){var c=0,d=parseInt(a.tax_rate_order,10);c=h.find('tr[data-id="'+a.tax_rate_id+'"]').size()?parseInt(h.find('tr[data-id="'+a.tax_rate_id+'"]').index(),10)+parseInt((b.page-1)*b.per_page,10):d,d!==c&&(e[a.tax_rate_id]=_.extend(e[a.tax_rate_id]||{},{tax_rate_order:c}))}),_.size(e)&&c.logChanges(e)},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file +!function(a,b,c,d){a(function(){String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")});var e=c.template("wc-tax-table-row"),f=c.template("wc-tax-table-row-empty"),g=c.template("wc-tax-table-pagination"),h=a(".wc_tax_rates"),i=a("#rates"),j=a('input[name="save"]'),k=a("#rates-pagination"),l=a("#rates-search .wc-tax-rates-search-field"),m=a(".submit .button-primary[type=submit]"),n=Backbone.Model.extend({changes:{},setRateAttribute:function(a,b,c){var d=_.indexBy(this.get("rates"),"tax_rate_id"),e={};d[a][b]!==c&&(e[a]={},e[a][b]=c,d[a][b]=c),this.logChanges(e)},logChanges:function(a){var b=this.changes||{};_.each(a,function(a,c){b[c]=_.extend(b[c]||{tax_rate_id:c},a)}),this.changes=b,this.trigger("change:rates")},getFilteredRates:function(){var a=this.get("rates"),b=l.val().toLowerCase();return b.length&&(a=_.filter(a,function(a){var c=_.toArray(a).join(" ").toLowerCase();return-1!==c.indexOf(b)})),a=_.sortBy(a,function(a){return parseInt(a.tax_rate_order,10)})},block:function(){a(".wc_tax_rates").block({message:null,overlayCSS:{background:"#fff",opacity:.6}})},unblock:function(){a(".wc_tax_rates").unblock()},save:function(){var a=this;a.block(),Backbone.ajax({method:"POST",dataType:"json",url:d+"?action=woocommerce_tax_rates_save_changes",data:{current_class:b.current_class,wc_tax_nonce:b.wc_tax_nonce,changes:a.changes},success:function(b,c){"success"===c&&(p.set("rates",b.data.rates),p.trigger("change:rates"),p.changes={},p.trigger("saved:rates"),q.render()),a.unblock()}})}}),o=Backbone.View.extend({rowTemplate:e,per_page:b.limit,page:b.page,initialize:function(){var c=Math.ceil(_.toArray(this.model.get("rates")).length/this.per_page);this.qty_pages=0===c?1:c,this.page=this.sanitizePage(b.page),this.listenTo(this.model,"change:rates",this.setUnloadConfirmation),this.listenTo(this.model,"saved:rates",this.clearUnloadConfirmation),i.on("change autocompletechange",":input",{view:this},this.updateModelOnChange),i.on("sortupdate",{view:this},this.updateModelOnSort),l.on("keyup search",{view:this},this.onSearchField),k.on("click","a",{view:this},this.onPageChange),k.on("change","input",{view:this},this.onPageChange),a(window).on("beforeunload",{view:this},this.unloadConfirmation),m.on("click",{view:this},this.onSubmit),j.attr("disabled","disabled"),h.find(".insert").on("click",{view:this},this.onAddNewRow),h.find(".remove_tax_rates").on("click",{view:this},this.onDeleteRow),h.find(".export").on("click",{view:this},this.onExport)},render:function(){var c=this.model.getFilteredRates(),d=_.size(c),e=Math.ceil(d/this.per_page),h=0===d?0:this.per_page*(this.page-1),j=this.per_page*this.page,m=_.toArray(c).slice(h,j),n=this;this.$el.empty(),m.length?a.each(m,function(a,b){n.$el.append(n.rowTemplate(b))}):n.$el.append(f()),this.$el.find("td.country input").autocomplete({source:b.countries,minLength:2}),this.$el.find("td.state input").autocomplete({source:b.states,minLength:3}),this.$el.find("td.postcode input, td.city input").change(function(){a(this).attr("name",a(this).data("name"))}),e>1?k.html(g({qty_rates:d,current_page:this.page,qty_pages:e})):(k.empty(),n.page=1),l.val()?i.sortable("disable"):i.sortable("enable")},updateUrl:function(){if(window.history.replaceState){var a=b.base_url,c=l.val();1e?!0:!1}),g=_.map(f,function(a){return a.tax_rate_order++,l[a.tax_rate_id]=_.extend(l[a.tax_rate_id]||{},{tax_rate_order:a.tax_rate_order}),a})):(n.tax_rate_order=1+_.max(_.pluck(k,"tax_rate_order"),function(a){return parseInt(a,10)}),h.page=h.qty_pages),k[n.tax_rate_id]=n,l[n.tax_rate_id]=n,j.set("rates",k),j.logChanges(l),h.render()},onDeleteRow:function(c){var d,e,f=c.data.view,g=f.model,h=_.indexBy(g.get("rates"),"tax_rate_id"),j={};c.preventDefault(),(d=i.children(".current"))?(d.each(function(){e=a(this).data("id"),delete h[e],j[e]=_.extend(j[e]||{},{deleted:"deleted"})}),g.set("rates",h),g.logChanges(j),f.render()):window.alert(b.strings.no_rows_selected)},onSearchField:function(a){a.data.view.updateUrl(),a.data.view.render()},onPageChange:function(b){var c=a(b.currentTarget);b.preventDefault(),b.data.view.page=c.data("goto")?c.data("goto"):c.val(),b.data.view.render(),b.data.view.updateUrl()},onExport:function(c){var d="data:application/csv;charset=utf-8,"+b.strings.csv_data_cols.join(",")+"\n";return a.each(c.data.view.model.getFilteredRates(),function(a,c){var e="";e+=c.tax_rate_country+",",e+=c.tax_rate_state+",",e+=(c.postcode?c.postcode.join("; "):"")+",",e+=(c.city?c.city.join("; "):"")+",",e+=c.tax_rate+",",e+=c.tax_rate_name+",",e+=c.tax_rate_priority+",",e+=c.tax_rate_compound+",",e+=c.tax_rate_shipping+",",e+=b.current_class,d+=e+"\n"}),a(this).attr("href",encodeURI(d)),!0},setUnloadConfirmation:function(){this.needsUnloadConfirm=!0,j.removeAttr("disabled")},clearUnloadConfirmation:function(){this.needsUnloadConfirm=!1,j.attr("disabled","disabled")},unloadConfirmation:function(a){return a.data.view.needsUnloadConfirm?(a.returnValue=b.strings.unload_confirmation_msg,window.event.returnValue=b.strings.unload_confirmation_msg,b.strings.unload_confirmation_msg):void 0},updateModelOnChange:function(b){var c=b.data.view.model,d=a(b.target),e=d.closest("tr").data("id"),f=d.data("attribute"),g=d.val();("city"===f||"postcode"===f)&&(g=g.split(";"),g=a.map(g,function(a){return a.trim()})),("tax_rate_compound"===f||"tax_rate_shipping"===f)&&(g=d.is(":checked")?1:0),c.setRateAttribute(e,f,g)},updateModelOnSort:function(a){var b=a.data.view,c=b.model,d=_.indexBy(c.get("rates"),"tax_rate_id"),e={};_.each(d,function(a){var c=0,d=parseInt(a.tax_rate_order,10);c=h.find('tr[data-id="'+a.tax_rate_id+'"]').size()?parseInt(h.find('tr[data-id="'+a.tax_rate_id+'"]').index(),10)+parseInt((b.page-1)*b.per_page,10):d,d!==c&&(e[a.tax_rate_id]=_.extend(e[a.tax_rate_id]||{},{tax_rate_order:c}))}),_.size(e)&&c.logChanges(e)},sanitizePage:function(a){return a=parseInt(a,10),1>a?a=1:a>this.qty_pages&&(a=this.qty_pages),a}}),p=new n({rates:b.rates}),q=new o({model:p,el:"#rates"});q.render()})}(jQuery,htmlSettingsTaxLocalizeScript,wp,ajaxurl); \ No newline at end of file From f8df682f34b7627d89954d92740e514127a6582c Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 13:00:50 +0000 Subject: [PATCH 159/162] Hide stock amount when children are involved Closes #10172 --- includes/abstracts/abstract-wc-product.php | 6 ++++-- includes/admin/class-wc-admin-post-types.php | 9 ++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/includes/abstracts/abstract-wc-product.php b/includes/abstracts/abstract-wc-product.php index 2354b12fbfd..52c032dd021 100644 --- a/includes/abstracts/abstract-wc-product.php +++ b/includes/abstracts/abstract-wc-product.php @@ -222,15 +222,17 @@ class WC_Product { */ public function get_total_stock() { if ( empty( $this->total_stock ) ) { - $this->total_stock = max( 0, $this->get_stock_quantity() ); - if ( sizeof( $this->get_children() ) > 0 ) { + $this->total_stock = max( 0, $this->get_stock_quantity() ); + foreach ( $this->get_children() as $child_id ) { if ( 'yes' === get_post_meta( $child_id, '_manage_stock', true ) ) { $stock = get_post_meta( $child_id, '_stock', true ); $this->total_stock += max( 0, wc_stock_amount( $stock ) ); } } + } else { + $this->total_stock = $this->get_stock_quantity(); } } return wc_stock_amount( $this->total_stock ); diff --git a/includes/admin/class-wc-admin-post-types.php b/includes/admin/class-wc-admin-post-types.php index 36c22214e6a..d616301ecaa 100644 --- a/includes/admin/class-wc-admin-post-types.php +++ b/includes/admin/class-wc-admin-post-types.php @@ -222,7 +222,7 @@ class WC_Admin_Post_Types { $columns['sku'] = __( 'SKU', 'woocommerce' ); } - if ( 'yes' == get_option( 'woocommerce_manage_stock' ) ) { + if ( 'yes' === get_option( 'woocommerce_manage_stock' ) ) { $columns['is_in_stock'] = __( 'Stock', 'woocommerce' ); } @@ -395,19 +395,18 @@ class WC_Admin_Post_Types { echo ''; break; case 'is_in_stock' : - if ( $the_product->is_in_stock() ) { echo '' . __( 'In stock', 'woocommerce' ) . ''; } else { echo '' . __( 'Out of stock', 'woocommerce' ) . ''; } - if ( $the_product->managing_stock() ) { - echo ' × ' . $the_product->get_total_stock(); + // If the product has children, a single stock level would be misleading as some could be -ve and some +ve, some managed/some unmanaged etc so hide stock level in this case. + if ( $the_product->managing_stock() && ! sizeof( $the_product->get_children() ) ) { + echo ' (' . $the_product->get_total_stock() . ')'; } break; - default : break; } From 2a6ea6e137213c1ddbd669eab08357d64f33961d Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 15:29:27 +0000 Subject: [PATCH 160/162] [2.5] Fix passed image_size variable --- templates/emails/email-order-details.php | 2 +- templates/emails/plain/email-order-details.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/emails/email-order-details.php b/templates/emails/email-order-details.php index 1db01711720..80ac2544222 100644 --- a/templates/emails/email-order-details.php +++ b/templates/emails/email-order-details.php @@ -39,7 +39,7 @@ do_action( 'woocommerce_email_before_order_table', $order, $sent_to_admin, $plai email_order_items_table( array( 'show_sku' => $sent_to_admin, 'show_image' => false, - '$image_size' => array( 32, 32 ), + 'image_size' => array( 32, 32 ), 'plain_text' => $plain_text, 'sent_to_admin' => $sent_to_admin ) ); ?> diff --git a/templates/emails/plain/email-order-details.php b/templates/emails/plain/email-order-details.php index f8033df42cf..fe8c824955d 100644 --- a/templates/emails/plain/email-order-details.php +++ b/templates/emails/plain/email-order-details.php @@ -26,7 +26,7 @@ echo date_i18n( __( 'jS F Y', 'woocommerce' ), strtotime( $order->order_date ) ) echo "\n" . $order->email_order_items_table( array( 'show_sku' => $sent_to_admin, 'show_image' => false, - '$image_size' => array( 32, 32 ), + 'image_size' => array( 32, 32 ), 'plain_text' => true ) ); From 657521ffa445cd25d0ae0d7759f7ae4c92b7a87c Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 15:30:07 +0000 Subject: [PATCH 161/162] [2.5] Don't show purchase note to admin --- includes/abstracts/abstract-wc-order.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/abstracts/abstract-wc-order.php b/includes/abstracts/abstract-wc-order.php index 02a6573987f..a3dfd5ec471 100644 --- a/includes/abstracts/abstract-wc-order.php +++ b/includes/abstracts/abstract-wc-order.php @@ -1963,7 +1963,7 @@ abstract class WC_Abstract_Order { 'items' => $this->get_items(), 'show_download_links' => $this->is_download_permitted() && ! $args['sent_to_admin'], 'show_sku' => $args['show_sku'], - 'show_purchase_note' => $this->is_paid(), + 'show_purchase_note' => $this->is_paid() && ! $args['sent_to_admin'], 'show_image' => $args['show_image'], 'image_size' => $args['image_size'], 'sent_to_admin' => $args['sent_to_admin'] From 3093572f5b2497a1156e0a65e6f92b0920cace76 Mon Sep 17 00:00:00 2001 From: Mike Jolley Date: Wed, 27 Jan 2016 21:43:55 +0000 Subject: [PATCH 162/162] [2.5] Set input margin and label display for compatibility with themes using bootstrap CSS --- assets/css/woocommerce.css | 2 +- assets/css/woocommerce.scss | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/css/woocommerce.css b/assets/css/woocommerce.css index a5651f34eaf..5053ff54830 100644 --- a/assets/css/woocommerce.css +++ b/assets/css/woocommerce.css @@ -1 +1 @@ -@charset "UTF-8";.clear,.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-message:after{clear:both}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}p.demo_store{position:fixed;top:0;left:0;right:0;margin:0;width:100%;font-size:1em;padding:1em 0;text-align:center;background-color:#a46497;color:#fff;z-index:99998;box-shadow:0 1px 1em rgba(0,0,0,.2)}p.demo_store a{color:#fff}.admin-bar p.demo_store{top:32px}.woocommerce .blockUI.blockOverlay{position:relative}.woocommerce .blockUI.blockOverlay:before,.woocommerce .loader:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.woocommerce a.remove{display:block;font-size:1.5em;height:1em;width:1em;text-align:center;line-height:1;border-radius:100%;color:red!important;text-decoration:none;font-weight:700;border:0}.woocommerce a.remove:hover{color:#fff!important;background:red}.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#f7f6f7;color:#515151;border-top:3px solid #a46497;list-style:none!important;width:auto;word-wrap:break-word}.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:after,.woocommerce .woocommerce-message:before{content:" ";display:table}.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:before{font-family:WooCommerce;content:"\e028";display:inline-block;position:absolute;top:1em;left:1.5em}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button{float:right}.woocommerce .woocommerce-error li,.woocommerce .woocommerce-info li,.woocommerce .woocommerce-message li{list-style:none!important;padding-left:0!important;margin-left:0!important}.woocommerce .woocommerce-message{border-top-color:#8fae1b}.woocommerce .woocommerce-message:before{content:"\e015";color:#8fae1b}.woocommerce .woocommerce-info{border-top-color:#1e85be}.woocommerce .woocommerce-info:before{color:#1e85be}.woocommerce .woocommerce-error{border-top-color:#b81c23}.woocommerce .woocommerce-error:before{content:"\e016";color:#b81c23}.woocommerce small.note{display:block;color:#777;font-size:.857em;margin-top:10px}.woocommerce .woocommerce-breadcrumb{margin:0 0 1em;padding:0;font-size:.92em;color:#777}.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-breadcrumb:before{content:" ";display:table}.woocommerce .woocommerce-breadcrumb a{color:#777}.woocommerce .quantity .qty{width:3.631em;text-align:center}.woocommerce div.product{margin-bottom:0;position:relative}.woocommerce div.product .product_title{clear:none;margin-top:0;padding:0}.woocommerce #reviews #comments .add_review:after,.woocommerce .products ul:after,.woocommerce div.product form.cart:after,.woocommerce div.product p.cart:after,.woocommerce nav.woocommerce-pagination ul,.woocommerce ul.products:after{clear:both}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#77a464;font-size:1.25em}.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:inherit;font-weight:700}.woocommerce div.product p.price del,.woocommerce div.product span.price del{opacity:.5}.woocommerce div.product p.stock{font-size:.92em}.woocommerce div.product .stock{color:#77a464}.woocommerce div.product .out-of-stock{color:red}.woocommerce div.product .woocommerce-product-rating{margin-bottom:1.618em}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:2em}.woocommerce div.product div.images img{display:block;width:100%;height:auto;box-shadow:none}.woocommerce div.product div.images div.thumbnails{padding-top:1em}.woocommerce div.product div.social{text-align:right;margin:0 0 1em}.woocommerce div.product div.social span{margin:0 0 0 2px}.woocommerce div.product div.social span span{margin:0}.woocommerce div.product div.social span .stButton .chicklets{padding-left:16px;width:0}.woocommerce div.product div.social iframe{float:left;margin-top:3px}.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;padding:0 0 0 1em;margin:0 0 1.618em;overflow:hidden;position:relative}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid #d3ced2;background-color:#ebe9eb;display:inline-block;position:relative;z-index:0;border-radius:4px 4px 0 0;margin:0 -5px;padding:0 1em}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:inline-block;padding:.5em 0;font-weight:700;color:#515151;text-decoration:none}.woocommerce div.product form.cart:after,.woocommerce div.product form.cart:before,.woocommerce div.product p.cart:after,.woocommerce div.product p.cart:before{display:table;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{text-decoration:none;color:#6b6b6b}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;z-index:2;border-bottom-color:#fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:inherit;text-shadow:inherit}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before{box-shadow:2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after{box-shadow:-2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li:after,.woocommerce div.product .woocommerce-tabs ul.tabs li:before{border:1px solid #d3ced2;position:absolute;bottom:-1px;width:5px;height:5px;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li:before{left:-6px;-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;border-width:0 1px 1px 0;box-shadow:2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs li:after{right:-6px;-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;border-width:0 0 1px 1px;box-shadow:-2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs:before{position:absolute;content:" ";width:100%;bottom:0;left:0;border-bottom:1px solid #d3ced2;z-index:1}.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 2em;padding:0}.woocommerce div.product form.cart,.woocommerce div.product p.cart{margin-bottom:2em}.woocommerce div.product form.cart div.quantity{float:left;margin:0 4px 0 0}.woocommerce div.product form.cart table{border-width:0 0 1px}.woocommerce div.product form.cart table td{padding-left:0}.woocommerce div.product form.cart table div.quantity{float:none;margin:0}.woocommerce div.product form.cart table small.stock{display:block;float:none}.woocommerce div.product form.cart .variations{margin-bottom:1em;border:0;width:100%}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{border:0;vertical-align:top;line-height:2em}.woocommerce div.product form.cart .variations label{font-weight:700}.woocommerce div.product form.cart .variations select{max-width:100%;min-width:75%;display:inline-block;margin-right:1em}.woocommerce div.product form.cart .variations td.label{padding-right:1em}.woocommerce div.product form.cart .woocommerce-variation-description p{margin-bottom:1em}.woocommerce div.product form.cart .reset_variations{visibility:hidden;font-size:.83em}.woocommerce div.product form.cart .wc-no-matching-variations{display:none}.woocommerce div.product form.cart .button{vertical-align:middle;float:left}.woocommerce div.product form.cart .group_table td.label{padding-right:1em;padding-left:1em}.woocommerce div.product form.cart .group_table td{vertical-align:top;padding-bottom:.5em;border:0}.woocommerce span.onsale{min-height:3.236em;min-width:3.236em;padding:.202em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;-webkit-font-smoothing:antialiased}.woocommerce .products ul,.woocommerce ul.products{margin:0 0 1em;padding:0;list-style:none;clear:both}.woocommerce .products ul:after,.woocommerce .products ul:before,.woocommerce ul.products:after,.woocommerce ul.products:before{content:" ";display:table}.woocommerce .products ul li,.woocommerce ul.products li{list-style:none}.woocommerce ul.products li.product .onsale{top:0;right:0;left:auto;margin:-.5em -.5em 0 0}.woocommerce ul.products li.product h3{padding:.5em 0;margin:0;font-size:1em}.woocommerce ul.products li.product a{text-decoration:none}.woocommerce ul.products li.product a img{width:100%;height:auto;display:block;margin:0 0 1em;box-shadow:none}.woocommerce ul.products li.product strong{display:block}.woocommerce ul.products li.product .star-rating{font-size:.857em}.woocommerce ul.products li.product .button{margin-top:1em}.woocommerce ul.products li.product .price{color:#77a464;display:block;font-weight:400;margin-bottom:.5em;font-size:.857em}.woocommerce ul.products li.product .price del{color:inherit;opacity:.5;display:block}.woocommerce ul.products li.product .price ins{background:0 0;font-weight:700}.woocommerce ul.products li.product .price .from{font-size:.67em;margin:-2px 0 0;text-transform:uppercase;color:rgba(132,132,132,.5)}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{margin:0 0 1em}.woocommerce .woocommerce-ordering select{vertical-align:top}.woocommerce nav.woocommerce-pagination{text-align:center}.woocommerce nav.woocommerce-pagination ul{display:inline-block;white-space:nowrap;padding:0;border:1px solid #d3ced2;border-right:0;margin:1px}.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid #d3ced2;padding:0;margin:0;float:left;display:inline;overflow:hidden}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{margin:0;text-decoration:none;line-height:1;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block}.woocommerce nav.woocommerce-pagination ul li a:focus,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#ebe9eb;color:#8a7e88}.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-size:100%;margin:0;line-height:1;cursor:pointer;position:relative;font-family:inherit;text-decoration:none;overflow:visible;padding:.618em 1em;font-weight:700;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;white-space:nowrap;display:inline-block;background-image:none;box-shadow:none;-webkit-box-shadow:none;text-shadow:none}.woocommerce #respond input#submit.loading,.woocommerce a.button.loading,.woocommerce button.button.loading,.woocommerce input.button.loading{opacity:.25;padding-right:2.618em}.woocommerce #respond input#submit.loading:after,.woocommerce a.button.loading:after,.woocommerce button.button.loading:after,.woocommerce input.button.loading:after{font-family:WooCommerce;content:"\e01c";vertical-align:top;-webkit-font-smoothing:antialiased;font-weight:400;position:absolute;top:.618em;right:1em;-webkit-animation:spin 2s linear infinite;-moz-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.woocommerce #respond input#submit.added:after,.woocommerce a.button.added:after,.woocommerce button.button.added:after,.woocommerce input.button.added:after{font-family:WooCommerce;content:"\e017";margin-left:.53em;vertical-align:bottom}.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background-color:#dad8da;text-decoration:none;background-image:none;color:#515151}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background-color:#a46497;color:#fff;-webkit-font-smoothing:antialiased}.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:#935386;color:#fff}.woocommerce #respond input#submit.alt.disabled,.woocommerce #respond input#submit.alt.disabled:hover,.woocommerce #respond input#submit.alt:disabled,.woocommerce #respond input#submit.alt:disabled:hover,.woocommerce #respond input#submit.alt:disabled[disabled],.woocommerce #respond input#submit.alt:disabled[disabled]:hover,.woocommerce a.button.alt.disabled,.woocommerce a.button.alt.disabled:hover,.woocommerce a.button.alt:disabled,.woocommerce a.button.alt:disabled:hover,.woocommerce a.button.alt:disabled[disabled],.woocommerce a.button.alt:disabled[disabled]:hover,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled],.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled],.woocommerce input.button.alt:disabled[disabled]:hover{background-color:#a46497;color:#fff}.woocommerce #respond input#submit.disabled,.woocommerce #respond input#submit:disabled,.woocommerce #respond input#submit:disabled[disabled],.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce a.button:disabled[disabled],.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button.disabled,.woocommerce input.button:disabled,.woocommerce input.button:disabled[disabled]{color:inherit;cursor:not-allowed;opacity:.5}.woocommerce #respond input#submit.disabled:hover,.woocommerce #respond input#submit:disabled:hover,.woocommerce #respond input#submit:disabled[disabled]:hover,.woocommerce a.button.disabled:hover,.woocommerce a.button:disabled:hover,.woocommerce a.button:disabled[disabled]:hover,.woocommerce button.button.disabled:hover,.woocommerce button.button:disabled:hover,.woocommerce button.button:disabled[disabled]:hover,.woocommerce input.button.disabled:hover,.woocommerce input.button:disabled:hover,.woocommerce input.button:disabled[disabled]:hover{color:inherit;background-color:#ebe9eb}.woocommerce .cart .button,.woocommerce .cart input.button{float:none}.woocommerce a.added_to_cart{padding-top:.5em;white-space:nowrap;display:inline-block}.woocommerce #reviews #comments .add_review:after,.woocommerce #reviews #comments .add_review:before,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:before,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce #reviews #comments ol.commentlist:before{content:" ";display:table}.woocommerce #reviews h2 small{float:right;color:#777;font-size:15px;margin:10px 0 0}.woocommerce #reviews h2 small a{text-decoration:none;color:#777}.woocommerce #reviews h3{margin:0}.woocommerce #reviews #respond{margin:0;border:0;padding:0}.woocommerce #reviews #comment{height:75px}.woocommerce #reviews #comments h2{clear:none}.woocommerce #review_form #respond:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce .woocommerce-product-rating:after,.woocommerce td.product-name dl.variation:after{clear:both}.woocommerce #reviews #comments ol.commentlist{margin:0;width:100%;background:0 0;list-style:none}.woocommerce #reviews #comments ol.commentlist li{padding:0;margin:0 0 20px;position:relative;background:0;border:0}.woocommerce #reviews #comments ol.commentlist li .meta{color:#777;font-size:.75em}.woocommerce #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:3px;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;box-shadow:none}.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0}.woocommerce #reviews #comments ol.commentlist li .comment-text p{margin:0 0 1em}.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:.83em}.woocommerce #reviews #comments ol.commentlist ul.children{list-style:none;margin:20px 0 0 50px}.woocommerce #reviews #comments ol.commentlist ul.children .star-rating{display:none}.woocommerce #reviews #comments ol.commentlist #respond{border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0;margin:20px 0 0 50px}.woocommerce #reviews #comments .commentlist>li:before{content:""}.woocommerce .star-rating{float:right;overflow:hidden;position:relative;height:1em;line-height:1;font-size:1em;width:5.4em;font-family:star}.woocommerce .star-rating:before{content:"\73\73\73\73\73";color:#d3ced2;float:left;top:0;left:0;position:absolute}.woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.woocommerce .star-rating span:before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}.woocommerce .woocommerce-product-rating{line-height:2;display:block}.woocommerce .woocommerce-product-rating:after,.woocommerce .woocommerce-product-rating:before{content:" ";display:table}.woocommerce .woocommerce-product-rating .star-rating{margin:.5em 4px 0 0;float:left}.woocommerce .products .star-rating{display:block;margin:0 0 .5em;float:none}.woocommerce .hreview-aggregate .star-rating{margin:10px 0 0}.woocommerce #review_form #respond{position:static;margin:0;width:auto;padding:0;background:0 0;border:0}.woocommerce #review_form #respond:after,.woocommerce #review_form #respond:before{content:" ";display:table}.woocommerce p.stars a:before,.woocommerce p.stars a:hover~a:before{content:"\e021"}.woocommerce #review_form #respond p{margin:0 0 10px}.woocommerce #review_form #respond .form-submit input{left:auto}.woocommerce #review_form #respond textarea{box-sizing:border-box;width:100%}.woocommerce p.stars a{position:relative;height:1em;width:1em;text-indent:-999em;display:inline-block;text-decoration:none}.woocommerce p.stars a:before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;text-indent:0}.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes th{line-height:1.5;border-bottom:1px dotted rgba(0,0,0,.1);border-top:0;margin:0}.woocommerce p.stars.selected a.active:before,.woocommerce p.stars:hover a:before{content:"\e020"}.woocommerce p.stars.selected a.active~a:before{content:"\e021"}.woocommerce p.stars.selected a:not(.active):before{content:"\e020"}.woocommerce table.shop_attributes{border:0;border-top:1px dotted rgba(0,0,0,.1);margin-bottom:1.618em;width:100%}.woocommerce table.shop_attributes th{width:150px;font-weight:700;padding:8px}.woocommerce table.shop_attributes td{font-style:italic;padding:0}.woocommerce table.shop_attributes td p{margin:0;padding:8px 0}.woocommerce table.shop_attributes .alt td,.woocommerce table.shop_attributes .alt th{background:rgba(0,0,0,.025)}.woocommerce table.shop_table{border:1px solid rgba(0,0,0,.1);margin:0 -1px 24px 0;text-align:left;width:100%;border-collapse:separate;border-radius:5px}.woocommerce table.shop_table th{font-weight:700;padding:9px 12px}.woocommerce table.shop_table td{border-top:1px solid rgba(0,0,0,.1);padding:6px 12px;vertical-align:middle}.woocommerce table.shop_table td small{font-weight:400}.woocommerce table.shop_table tbody:first-child tr:first-child td,.woocommerce table.shop_table tbody:first-child tr:first-child th{border-top:0}.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{font-weight:700;border-top:1px solid rgba(0,0,0,.1)}.woocommerce table.my_account_orders{font-size:.85em}.woocommerce table.my_account_orders td,.woocommerce table.my_account_orders th{padding:4px 8px;vertical-align:middle}.woocommerce table.my_account_orders .button{white-space:nowrap}.woocommerce table.my_account_orders .order-actions{text-align:right}.woocommerce table.my_account_orders .order-actions .button{margin:.125em 0 .125em .25em}.woocommerce td.product-name dl.variation{margin:.25em 0}.woocommerce td.product-name dl.variation:after,.woocommerce td.product-name dl.variation:before{content:" ";display:table}.woocommerce td.product-name dl.variation dd,.woocommerce td.product-name dl.variation dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce td.product-name dl.variation dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li:after,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li:after{clear:both}.woocommerce td.product-name dl.variation dd{padding:0 0 .25em}.woocommerce td.product-name dl.variation dd p:last-child{margin-bottom:0}.woocommerce td.product-name p.backorder_notification{font-size:.83em}.woocommerce td.product-quantity{min-width:80px}.woocommerce ul.cart_list,.woocommerce ul.product_list_widget{list-style:none;padding:0;margin:0}.woocommerce ul.cart_list li,.woocommerce ul.product_list_widget li{padding:4px 0;margin:0;list-style:none}.woocommerce ul.cart_list li:after,.woocommerce ul.cart_list li:before,.woocommerce ul.product_list_widget li:after,.woocommerce ul.product_list_widget li:before{content:" ";display:table}.woocommerce ul.cart_list li a,.woocommerce ul.product_list_widget li a{display:block;font-weight:700}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img{float:right;margin-left:4px;width:32px;height:auto;box-shadow:none}.woocommerce ul.cart_list li dl,.woocommerce ul.product_list_widget li dl{margin:0;padding-left:1em;border-left:2px solid rgba(0,0,0,.1)}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li dl:before,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li dl:before{content:" ";display:table}.woocommerce ul.cart_list li dl dd,.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dd,.woocommerce ul.product_list_widget li dl dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce .order_details:after,.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_shopping_cart .buttons:after,.woocommerce-account .addresses .title:after,.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce.widget_shopping_cart .buttons:after{clear:both}.woocommerce ul.cart_list li dl dd,.woocommerce ul.product_list_widget li dl dd{padding:0 0 .25em}.woocommerce ul.cart_list li dl dd p:last-child,.woocommerce ul.product_list_widget li dl dd p:last-child{margin-bottom:0}.woocommerce ul.cart_list li .star-rating,.woocommerce ul.product_list_widget li .star-rating{float:none}.woocommerce .widget_shopping_cart .total,.woocommerce.widget_shopping_cart .total{border-top:3px double #ebe9eb;padding:4px 0 0}.woocommerce .widget_shopping_cart .total strong,.woocommerce.widget_shopping_cart .total strong{min-width:40px;display:inline-block}.woocommerce .widget_shopping_cart .cart_list li,.woocommerce.widget_shopping_cart .cart_list li{padding-left:2em;position:relative;padding-top:0}.woocommerce .widget_shopping_cart .cart_list li a.remove,.woocommerce.widget_shopping_cart .cart_list li a.remove{position:absolute;top:0;left:0}.woocommerce .widget_shopping_cart .buttons:after,.woocommerce .widget_shopping_cart .buttons:before,.woocommerce.widget_shopping_cart .buttons:after,.woocommerce.widget_shopping_cart .buttons:before{content:" ";display:table}.woocommerce form .form-row{padding:3px;margin:0 0 6px}.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder{-webkit-transition:opacity .5s .5s ease;-moz-transition:opacity .5s .5s ease;transition:opacity .5s .5s ease;opacity:0}.woocommerce form .form-row label{line-height:2}.woocommerce form .form-row label.hidden{visibility:hidden}.woocommerce form .form-row label.inline{display:inline}.woocommerce form .form-row select{cursor:pointer;margin:0}.woocommerce form .form-row .required{color:red;font-weight:700;border:0}.woocommerce form .form-row .input-checkbox{display:inline;margin:-2px 8px 0 0;text-align:center;vertical-align:middle}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{box-sizing:border-box;width:100%;margin:0;outline:0;line-height:1}.woocommerce form .form-row textarea{height:4em;line-height:1.5;display:block;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.woocommerce form .form-row .select2-container{width:100%;line-height:2em}.woocommerce form .form-row.woocommerce-invalid label{color:#a00}.woocommerce form .form-row.woocommerce-invalid .select2-container,.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a00}.woocommerce form .form-row.woocommerce-validated .select2-container,.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:#69bf29}.woocommerce form .form-row ::-webkit-input-placeholder{line-height:normal}.woocommerce form .form-row :-moz-placeholder{line-height:normal}.woocommerce form .form-row :-ms-input-placeholder{line-height:normal}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid #d3ced2;padding:20px;margin:2em 0;text-align:left;border-radius:5px}.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}.woocommerce ul#shipping_method li{margin:0;padding:.25em 0 .25em 22px;text-indent:-22px;list-style:none}.woocommerce ul#shipping_method .amount{font-weight:700}.woocommerce p.woocommerce-shipping-contents{margin:0}.woocommerce .order_details{margin:0 0 1.5em;list-style:none}.woocommerce .order_details:after,.woocommerce .order_details:before{content:" ";display:table}.woocommerce .order_details li{float:left;margin-right:2em;text-transform:uppercase;font-size:.715em;line-height:1;border-right:1px dashed #d3ced2;padding-right:2em;margin-left:0;padding-left:0}.woocommerce .order_details li strong{display:block;font-size:1.4em;text-transform:none;line-height:1.5}.woocommerce .order_details li:last-of-type{border:none}.woocommerce .widget_layered_nav ul{margin:0;padding:0;border:0;list-style:none}.woocommerce .widget_layered_nav ul li{padding:0 0 1px;list-style:none}.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_layered_nav ul li:before{content:" ";display:table}.woocommerce .widget_layered_nav ul li.chosen a:before,.woocommerce .widget_layered_nav_filters ul li a:before{font-weight:400;line-height:1;content:"";color:#a00;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-decoration:none}.woocommerce .widget_layered_nav ul li a,.woocommerce .widget_layered_nav ul li span{padding:1px 0}.woocommerce .widget_layered_nav ul li.chosen a:before{margin-right:.618em}.woocommerce .widget_layered_nav_filters ul{margin:0;padding:0;border:0;list-style:none;overflow:hidden;zoom:1}.woocommerce .widget_layered_nav_filters ul li{float:left;padding:0 1px 1px 0;list-style:none}.woocommerce .widget_layered_nav_filters ul li a{text-decoration:none}.woocommerce .widget_layered_nav_filters ul li a:before{margin-right:.618em}.woocommerce .widget_price_filter .price_slider{margin-bottom:1em}.woocommerce .widget_price_filter .price_slider_amount{text-align:right;line-height:2.4;font-size:.8751em}.woocommerce .widget_price_filter .price_slider_amount .button{font-size:1.15em;float:left}.woocommerce .widget_price_filter .ui-slider{position:relative;text-align:left;margin-left:.5em;margin-right:.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1em;height:1em;background-color:#a46497;border-radius:1em;cursor:ew-resize;outline:0;top:-.3em;margin-left:-.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;border-radius:1em;background-color:#a46497}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{border-radius:1em;background-color:#602053;border:0}.woocommerce .widget_price_filter .ui-slider-horizontal{height:.5em}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-min{left:-1px}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-max{right:-1px}.woocommerce-account .addresses .title:after,.woocommerce-account .addresses .title:before{content:" ";display:table}.woocommerce-account .addresses .title h3{float:left}.woocommerce-account .addresses .title .edit,.woocommerce-account ul.digital-downloads li .count{float:right}.woocommerce-account ol.commentlist.notes li.note p.meta{font-weight:700;margin-bottom:0}.woocommerce-account ol.commentlist.notes li.note .description p:last-child{margin-bottom:0}.woocommerce-account ul.digital-downloads{margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li{list-style:none;margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce-cart table.cart .product-thumbnail{min-width:32px}.woocommerce-cart table.cart img{width:32px;box-shadow:none}.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{vertical-align:middle}.woocommerce-cart table.cart td.actions .coupon .input-text{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #d3ced2;padding:6px 6px 5px;margin:0 4px 0 0;outline:0;line-height:1}.woocommerce-cart table.cart input{margin:0;vertical-align:middle;line-height:1}.woocommerce-cart .wc-proceed-to-checkout{padding:1em 0}.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce-cart .wc-proceed-to-checkout:before{content:" ";display:table}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin-bottom:1em;font-size:1.25em;padding:1em}.woocommerce-cart .cart-collaterals .shipping_calculator .button{width:100%;float:none;display:block}.woocommerce-cart .cart-collaterals .shipping_calculator .shipping-calculator-button:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none}.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods li:before,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout #payment ul.payment_methods:before{content:" ";display:table}.woocommerce-cart .cart-collaterals .cart_totals p small{color:#777;font-size:.83em}.woocommerce-cart .cart-collaterals .cart_totals table{border-collapse:separate;margin:0 0 6px;padding:0}.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th{border-top:0}.woocommerce-cart .cart-collaterals .cart_totals table th{width:40%}.woocommerce-cart .cart-collaterals .cart_totals table td,.woocommerce-cart .cart-collaterals .cart_totals table th{vertical-align:top;border-left:0;border-right:0;line-height:1.5em}.woocommerce-cart .cart-collaterals .cart_totals table small{color:#777}.woocommerce-cart .cart-collaterals .cart_totals table select{width:100%}.woocommerce-cart .cart-collaterals .cart_totals .discount td{color:#77a464}.woocommerce-cart .cart-collaterals .cart_totals tr td,.woocommerce-cart .cart-collaterals .cart_totals tr th{border-top:1px solid #ebe9eb}.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{margin-top:0}.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address{float:left;clear:none}.woocommerce-checkout .checkout .col-2 .form-row-first,.woocommerce-checkout .checkout .col-2 .notes{clear:left}.woocommerce-checkout .checkout .create-account small{font-size:11px;color:#777;font-weight:400}.woocommerce-checkout .checkout div.shipping-address{padding:0;clear:left;width:100%}.single-product .twentythirteen p.stars,.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout .checkout .shipping_address{clear:both}.woocommerce-checkout #payment{background:#ebe9eb;border-radius:5px}.woocommerce-checkout #payment ul.payment_methods{text-align:left;padding:1em;border-bottom:1px solid #d3ced2;margin:0;list-style:none}.woocommerce-checkout #payment ul.payment_methods li{line-height:2;text-align:left;margin:0;font-weight:400}.woocommerce-checkout #payment ul.payment_methods li input{margin:0 1em 0 0}.woocommerce-checkout #payment ul.payment_methods li img{vertical-align:middle;margin:-2px 0 0 .5em;padding:0;position:relative;box-shadow:none}.woocommerce-checkout #payment ul.payment_methods li img+img{margin-left:2px}.woocommerce-checkout #payment div.form-row{padding:1em}.woocommerce-checkout #payment div.payment_box{position:relative;box-sizing:border-box;width:100%;padding:1em;margin:1em 0;font-size:.92em;border-radius:2px;line-height:1.5;background-color:#dfdcde;color:#515151}.woocommerce-checkout #payment div.payment_box input.input-text,.woocommerce-checkout #payment div.payment_box textarea{border-color:#bbb3b9 #c7c1c6 #c7c1c6}.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-moz-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number{font-size:1.5em;padding:8px;background-repeat:no-repeat;background-position:right}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.visa{background-image:url(../images/icons/credit-cards/visa.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.mastercard{background-image:url(../images/icons/credit-cards/mastercard.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.laser{background-image:url(../images/icons/credit-cards/laser.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.dinersclub{background-image:url(../images/icons/credit-cards/diners.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.maestro{background-image:url(../images/icons/credit-cards/maestro.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.jcb{background-image:url(../images/icons/credit-cards/jcb.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.amex{background-image:url(../images/icons/credit-cards/amex.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.discover{background-image:url(../images/icons/credit-cards/discover.png)}.woocommerce-checkout #payment div.payment_box span.help{font-size:.857em;color:#777;font-weight:400}.woocommerce-checkout #payment div.payment_box .form-row{margin:0 0 1em}.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}.woocommerce-checkout #payment div.payment_box:before{content:"";display:block;border:1em solid #dfdcde;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-.75em;left:0;margin:-1em 0 0 2em}.woocommerce-checkout #payment .payment_method_paypal .about_paypal{float:right;line-height:52px;font-size:.83em}.woocommerce-checkout #payment .payment_method_paypal img{max-height:52px;vertical-align:middle}.woocommerce-password-strength{text-align:center;font-weight:600;padding:3px 0}.woocommerce-password-strength.strong{background-color:#c1e1b9;border-color:#83c373}.woocommerce-password-strength.short{background-color:#f1adad;border-color:#e35b5b}.woocommerce-password-strength.bad{background-color:#fbc5a9;border-color:#f78b53}.woocommerce-password-strength.good{background-color:#ffe399;border-color:#ffc733}.woocommerce-password-hint{margin:.5em 0 0;display:block}.product.has-default-attributes.has-children>.images{opacity:0}#content.twentyeleven .woocommerce-pagination a{font-size:1em;line-height:1}.single-product .twentythirteen #reply-title,.single-product .twentythirteen #respond #commentform,.single-product .twentythirteen .entry-summary{padding:0}.twentythirteen .woocommerce-breadcrumb{padding-top:40px}.twentyfourteen ul.products li.product{margin-top:0!important}body:not(.search-results) .twentysixteen .entry-summary{color:inherit;font-size:inherit;line-height:inherit}.twentysixteen .price ins{background:inherit;color:inherit} \ No newline at end of file +@charset "UTF-8";.clear,.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-message:after{clear:both}@-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg)}}@-moz-keyframes spin{100%{-moz-transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);-o-transform:rotate(360deg);transform:rotate(360deg)}}@font-face{font-family:star;src:url(../fonts/star.eot);src:url(../fonts/star.eot?#iefix) format("embedded-opentype"),url(../fonts/star.woff) format("woff"),url(../fonts/star.ttf) format("truetype"),url(../fonts/star.svg#star) format("svg");font-weight:400;font-style:normal}@font-face{font-family:WooCommerce;src:url(../fonts/WooCommerce.eot);src:url(../fonts/WooCommerce.eot?#iefix) format("embedded-opentype"),url(../fonts/WooCommerce.woff) format("woff"),url(../fonts/WooCommerce.ttf) format("truetype"),url(../fonts/WooCommerce.svg#WooCommerce) format("svg");font-weight:400;font-style:normal}p.demo_store{position:fixed;top:0;left:0;right:0;margin:0;width:100%;font-size:1em;padding:1em 0;text-align:center;background-color:#a46497;color:#fff;z-index:99998;box-shadow:0 1px 1em rgba(0,0,0,.2)}p.demo_store a{color:#fff}.admin-bar p.demo_store{top:32px}.woocommerce .blockUI.blockOverlay{position:relative}.woocommerce .blockUI.blockOverlay:before,.woocommerce .loader:before{height:1em;width:1em;position:absolute;top:50%;left:50%;margin-left:-.5em;margin-top:-.5em;display:block;content:"";-webkit-animation:spin 1s ease-in-out infinite;-moz-animation:spin 1s ease-in-out infinite;animation:spin 1s ease-in-out infinite;background:url(../images/icons/loader.svg) center center;background-size:cover;line-height:1;text-align:center;font-size:2em;color:rgba(0,0,0,.75)}.woocommerce a.remove{display:block;font-size:1.5em;height:1em;width:1em;text-align:center;line-height:1;border-radius:100%;color:red!important;text-decoration:none;font-weight:700;border:0}.woocommerce a.remove:hover{color:#fff!important;background:red}.woocommerce .woocommerce-error,.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#f7f6f7;color:#515151;border-top:3px solid #a46497;list-style:none!important;width:auto;word-wrap:break-word}.woocommerce .woocommerce-error:after,.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:after,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:after,.woocommerce .woocommerce-message:before{content:" ";display:table}.woocommerce .woocommerce-error:before,.woocommerce .woocommerce-info:before,.woocommerce .woocommerce-message:before{font-family:WooCommerce;content:"\e028";display:inline-block;position:absolute;top:1em;left:1.5em}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button{float:right}.woocommerce .woocommerce-error li,.woocommerce .woocommerce-info li,.woocommerce .woocommerce-message li{list-style:none!important;padding-left:0!important;margin-left:0!important}.woocommerce .woocommerce-message{border-top-color:#8fae1b}.woocommerce .woocommerce-message:before{content:"\e015";color:#8fae1b}.woocommerce .woocommerce-info{border-top-color:#1e85be}.woocommerce .woocommerce-info:before{color:#1e85be}.woocommerce .woocommerce-error{border-top-color:#b81c23}.woocommerce .woocommerce-error:before{content:"\e016";color:#b81c23}.woocommerce small.note{display:block;color:#777;font-size:.857em;margin-top:10px}.woocommerce .woocommerce-breadcrumb{margin:0 0 1em;padding:0;font-size:.92em;color:#777}.woocommerce .woocommerce-breadcrumb:after,.woocommerce .woocommerce-breadcrumb:before{content:" ";display:table}.woocommerce .woocommerce-breadcrumb a{color:#777}.woocommerce .quantity .qty{width:3.631em;text-align:center}.woocommerce div.product{margin-bottom:0;position:relative}.woocommerce div.product .product_title{clear:none;margin-top:0;padding:0}.woocommerce #reviews #comments .add_review:after,.woocommerce .products ul:after,.woocommerce div.product form.cart:after,.woocommerce div.product p.cart:after,.woocommerce nav.woocommerce-pagination ul,.woocommerce ul.products:after{clear:both}.woocommerce div.product p.price,.woocommerce div.product span.price{color:#77a464;font-size:1.25em}.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{background:inherit;font-weight:700}.woocommerce div.product p.price del,.woocommerce div.product span.price del{opacity:.5}.woocommerce div.product p.stock{font-size:.92em}.woocommerce div.product .stock{color:#77a464}.woocommerce div.product .out-of-stock{color:red}.woocommerce div.product .woocommerce-product-rating{margin-bottom:1.618em}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:2em}.woocommerce div.product div.images img{display:block;width:100%;height:auto;box-shadow:none}.woocommerce div.product div.images div.thumbnails{padding-top:1em}.woocommerce div.product div.social{text-align:right;margin:0 0 1em}.woocommerce div.product div.social span{margin:0 0 0 2px}.woocommerce div.product div.social span span{margin:0}.woocommerce div.product div.social span .stButton .chicklets{padding-left:16px;width:0}.woocommerce div.product div.social iframe{float:left;margin-top:3px}.woocommerce div.product .woocommerce-tabs ul.tabs{list-style:none;padding:0 0 0 1em;margin:0 0 1.618em;overflow:hidden;position:relative}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid #d3ced2;background-color:#ebe9eb;display:inline-block;position:relative;z-index:0;border-radius:4px 4px 0 0;margin:0 -5px;padding:0 1em}.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:inline-block;padding:.5em 0;font-weight:700;color:#515151;text-decoration:none}.woocommerce div.product form.cart:after,.woocommerce div.product form.cart:before,.woocommerce div.product p.cart:after,.woocommerce div.product p.cart:before{display:table;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{text-decoration:none;color:#6b6b6b}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff;z-index:2;border-bottom-color:#fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:inherit;text-shadow:inherit}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:before{box-shadow:2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li.active:after{box-shadow:-2px 2px 0 #fff}.woocommerce div.product .woocommerce-tabs ul.tabs li:after,.woocommerce div.product .woocommerce-tabs ul.tabs li:before{border:1px solid #d3ced2;position:absolute;bottom:-1px;width:5px;height:5px;content:" "}.woocommerce div.product .woocommerce-tabs ul.tabs li:before{left:-6px;-webkit-border-bottom-right-radius:4px;-moz-border-bottom-right-radius:4px;border-bottom-right-radius:4px;border-width:0 1px 1px 0;box-shadow:2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs li:after{right:-6px;-webkit-border-bottom-left-radius:4px;-moz-border-bottom-left-radius:4px;border-bottom-left-radius:4px;border-width:0 0 1px 1px;box-shadow:-2px 2px 0 #ebe9eb}.woocommerce div.product .woocommerce-tabs ul.tabs:before{position:absolute;content:" ";width:100%;bottom:0;left:0;border-bottom:1px solid #d3ced2;z-index:1}.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 2em;padding:0}.woocommerce div.product form.cart,.woocommerce div.product p.cart{margin-bottom:2em}.woocommerce div.product form.cart div.quantity{float:left;margin:0 4px 0 0}.woocommerce div.product form.cart table{border-width:0 0 1px}.woocommerce div.product form.cart table td{padding-left:0}.woocommerce div.product form.cart table div.quantity{float:none;margin:0}.woocommerce div.product form.cart table small.stock{display:block;float:none}.woocommerce div.product form.cart .variations{margin-bottom:1em;border:0;width:100%}.woocommerce div.product form.cart .variations td,.woocommerce div.product form.cart .variations th{border:0;vertical-align:top;line-height:2em}.woocommerce div.product form.cart .variations label{font-weight:700}.woocommerce div.product form.cart .variations select{max-width:100%;min-width:75%;display:inline-block;margin-right:1em}.woocommerce div.product form.cart .variations td.label{padding-right:1em}.woocommerce div.product form.cart .woocommerce-variation-description p{margin-bottom:1em}.woocommerce div.product form.cart .reset_variations{visibility:hidden;font-size:.83em}.woocommerce div.product form.cart .wc-no-matching-variations{display:none}.woocommerce div.product form.cart .button{vertical-align:middle;float:left}.woocommerce div.product form.cart .group_table td.label{padding-right:1em;padding-left:1em}.woocommerce div.product form.cart .group_table td{vertical-align:top;padding-bottom:.5em;border:0}.woocommerce span.onsale{min-height:3.236em;min-width:3.236em;padding:.202em;font-weight:700;position:absolute;text-align:center;line-height:3.236;top:-.5em;left:-.5em;margin:0;border-radius:100%;background-color:#77a464;color:#fff;font-size:.857em;-webkit-font-smoothing:antialiased}.woocommerce .products ul,.woocommerce ul.products{margin:0 0 1em;padding:0;list-style:none;clear:both}.woocommerce .products ul:after,.woocommerce .products ul:before,.woocommerce ul.products:after,.woocommerce ul.products:before{content:" ";display:table}.woocommerce .products ul li,.woocommerce ul.products li{list-style:none}.woocommerce ul.products li.product .onsale{top:0;right:0;left:auto;margin:-.5em -.5em 0 0}.woocommerce ul.products li.product h3{padding:.5em 0;margin:0;font-size:1em}.woocommerce ul.products li.product a{text-decoration:none}.woocommerce ul.products li.product a img{width:100%;height:auto;display:block;margin:0 0 1em;box-shadow:none}.woocommerce ul.products li.product strong{display:block}.woocommerce ul.products li.product .star-rating{font-size:.857em}.woocommerce ul.products li.product .button{margin-top:1em}.woocommerce ul.products li.product .price{color:#77a464;display:block;font-weight:400;margin-bottom:.5em;font-size:.857em}.woocommerce ul.products li.product .price del{color:inherit;opacity:.5;display:block}.woocommerce ul.products li.product .price ins{background:0 0;font-weight:700}.woocommerce ul.products li.product .price .from{font-size:.67em;margin:-2px 0 0;text-transform:uppercase;color:rgba(132,132,132,.5)}.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{margin:0 0 1em}.woocommerce .woocommerce-ordering select{vertical-align:top}.woocommerce nav.woocommerce-pagination{text-align:center}.woocommerce nav.woocommerce-pagination ul{display:inline-block;white-space:nowrap;padding:0;border:1px solid #d3ced2;border-right:0;margin:1px}.woocommerce nav.woocommerce-pagination ul li{border-right:1px solid #d3ced2;padding:0;margin:0;float:left;display:inline;overflow:hidden}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{margin:0;text-decoration:none;line-height:1;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block}.woocommerce nav.woocommerce-pagination ul li a:focus,.woocommerce nav.woocommerce-pagination ul li a:hover,.woocommerce nav.woocommerce-pagination ul li span.current{background:#ebe9eb;color:#8a7e88}.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{font-size:100%;margin:0;line-height:1;cursor:pointer;position:relative;font-family:inherit;text-decoration:none;overflow:visible;padding:.618em 1em;font-weight:700;border-radius:3px;left:auto;color:#515151;background-color:#ebe9eb;border:0;white-space:nowrap;display:inline-block;background-image:none;box-shadow:none;-webkit-box-shadow:none;text-shadow:none}.woocommerce #respond input#submit.loading,.woocommerce a.button.loading,.woocommerce button.button.loading,.woocommerce input.button.loading{opacity:.25;padding-right:2.618em}.woocommerce #respond input#submit.loading:after,.woocommerce a.button.loading:after,.woocommerce button.button.loading:after,.woocommerce input.button.loading:after{font-family:WooCommerce;content:"\e01c";vertical-align:top;-webkit-font-smoothing:antialiased;font-weight:400;position:absolute;top:.618em;right:1em;-webkit-animation:spin 2s linear infinite;-moz-animation:spin 2s linear infinite;animation:spin 2s linear infinite}.woocommerce #respond input#submit.added:after,.woocommerce a.button.added:after,.woocommerce button.button.added:after,.woocommerce input.button.added:after{font-family:WooCommerce;content:"\e017";margin-left:.53em;vertical-align:bottom}.woocommerce #respond input#submit:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background-color:#dad8da;text-decoration:none;background-image:none;color:#515151}.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background-color:#a46497;color:#fff;-webkit-font-smoothing:antialiased}.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background-color:#935386;color:#fff}.woocommerce #respond input#submit.alt.disabled,.woocommerce #respond input#submit.alt.disabled:hover,.woocommerce #respond input#submit.alt:disabled,.woocommerce #respond input#submit.alt:disabled:hover,.woocommerce #respond input#submit.alt:disabled[disabled],.woocommerce #respond input#submit.alt:disabled[disabled]:hover,.woocommerce a.button.alt.disabled,.woocommerce a.button.alt.disabled:hover,.woocommerce a.button.alt:disabled,.woocommerce a.button.alt:disabled:hover,.woocommerce a.button.alt:disabled[disabled],.woocommerce a.button.alt:disabled[disabled]:hover,.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce button.button.alt:disabled,.woocommerce button.button.alt:disabled:hover,.woocommerce button.button.alt:disabled[disabled],.woocommerce button.button.alt:disabled[disabled]:hover,.woocommerce input.button.alt.disabled,.woocommerce input.button.alt.disabled:hover,.woocommerce input.button.alt:disabled,.woocommerce input.button.alt:disabled:hover,.woocommerce input.button.alt:disabled[disabled],.woocommerce input.button.alt:disabled[disabled]:hover{background-color:#a46497;color:#fff}.woocommerce #respond input#submit.disabled,.woocommerce #respond input#submit:disabled,.woocommerce #respond input#submit:disabled[disabled],.woocommerce a.button.disabled,.woocommerce a.button:disabled,.woocommerce a.button:disabled[disabled],.woocommerce button.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce input.button.disabled,.woocommerce input.button:disabled,.woocommerce input.button:disabled[disabled]{color:inherit;cursor:not-allowed;opacity:.5}.woocommerce #respond input#submit.disabled:hover,.woocommerce #respond input#submit:disabled:hover,.woocommerce #respond input#submit:disabled[disabled]:hover,.woocommerce a.button.disabled:hover,.woocommerce a.button:disabled:hover,.woocommerce a.button:disabled[disabled]:hover,.woocommerce button.button.disabled:hover,.woocommerce button.button:disabled:hover,.woocommerce button.button:disabled[disabled]:hover,.woocommerce input.button.disabled:hover,.woocommerce input.button:disabled:hover,.woocommerce input.button:disabled[disabled]:hover{color:inherit;background-color:#ebe9eb}.woocommerce .cart .button,.woocommerce .cart input.button{float:none}.woocommerce a.added_to_cart{padding-top:.5em;white-space:nowrap;display:inline-block}.woocommerce #reviews #comments .add_review:after,.woocommerce #reviews #comments .add_review:before,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:before,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce #reviews #comments ol.commentlist:before{content:" ";display:table}.woocommerce #reviews h2 small{float:right;color:#777;font-size:15px;margin:10px 0 0}.woocommerce #reviews h2 small a{text-decoration:none;color:#777}.woocommerce #reviews h3{margin:0}.woocommerce #reviews #respond{margin:0;border:0;padding:0}.woocommerce #reviews #comment{height:75px}.woocommerce #reviews #comments h2{clear:none}.woocommerce #review_form #respond:after,.woocommerce #reviews #comments ol.commentlist li .comment-text:after,.woocommerce #reviews #comments ol.commentlist:after,.woocommerce .woocommerce-product-rating:after,.woocommerce td.product-name dl.variation:after{clear:both}.woocommerce #reviews #comments ol.commentlist{margin:0;width:100%;background:0 0;list-style:none}.woocommerce #reviews #comments ol.commentlist li{padding:0;margin:0 0 20px;position:relative;background:0;border:0}.woocommerce #reviews #comments ol.commentlist li .meta{color:#777;font-size:.75em}.woocommerce #reviews #comments ol.commentlist li img.avatar{float:left;position:absolute;top:0;left:0;padding:3px;width:32px;height:auto;background:#ebe9eb;border:1px solid #e4e1e3;margin:0;box-shadow:none}.woocommerce #reviews #comments ol.commentlist li .comment-text{margin:0 0 0 50px;border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0}.woocommerce #reviews #comments ol.commentlist li .comment-text p{margin:0 0 1em}.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta{font-size:.83em}.woocommerce #reviews #comments ol.commentlist ul.children{list-style:none;margin:20px 0 0 50px}.woocommerce #reviews #comments ol.commentlist ul.children .star-rating{display:none}.woocommerce #reviews #comments ol.commentlist #respond{border:1px solid #e4e1e3;border-radius:4px;padding:1em 1em 0;margin:20px 0 0 50px}.woocommerce #reviews #comments .commentlist>li:before{content:""}.woocommerce .star-rating{float:right;overflow:hidden;position:relative;height:1em;line-height:1;font-size:1em;width:5.4em;font-family:star}.woocommerce .star-rating:before{content:"\73\73\73\73\73";color:#d3ced2;float:left;top:0;left:0;position:absolute}.woocommerce .star-rating span{overflow:hidden;float:left;top:0;left:0;position:absolute;padding-top:1.5em}.woocommerce .star-rating span:before{content:"\53\53\53\53\53";top:0;position:absolute;left:0}.woocommerce .woocommerce-product-rating{line-height:2;display:block}.woocommerce .woocommerce-product-rating:after,.woocommerce .woocommerce-product-rating:before{content:" ";display:table}.woocommerce .woocommerce-product-rating .star-rating{margin:.5em 4px 0 0;float:left}.woocommerce .products .star-rating{display:block;margin:0 0 .5em;float:none}.woocommerce .hreview-aggregate .star-rating{margin:10px 0 0}.woocommerce #review_form #respond{position:static;margin:0;width:auto;padding:0;background:0 0;border:0}.woocommerce #review_form #respond:after,.woocommerce #review_form #respond:before{content:" ";display:table}.woocommerce p.stars a:before,.woocommerce p.stars a:hover~a:before{content:"\e021"}.woocommerce #review_form #respond p{margin:0 0 10px}.woocommerce #review_form #respond .form-submit input{left:auto}.woocommerce #review_form #respond textarea{box-sizing:border-box;width:100%}.woocommerce p.stars a{position:relative;height:1em;width:1em;text-indent:-999em;display:inline-block;text-decoration:none}.woocommerce p.stars a:before{display:block;position:absolute;top:0;left:0;width:1em;height:1em;line-height:1;font-family:WooCommerce;text-indent:0}.woocommerce table.shop_attributes td,.woocommerce table.shop_attributes th{line-height:1.5;border-bottom:1px dotted rgba(0,0,0,.1);border-top:0;margin:0}.woocommerce p.stars.selected a.active:before,.woocommerce p.stars:hover a:before{content:"\e020"}.woocommerce p.stars.selected a.active~a:before{content:"\e021"}.woocommerce p.stars.selected a:not(.active):before{content:"\e020"}.woocommerce table.shop_attributes{border:0;border-top:1px dotted rgba(0,0,0,.1);margin-bottom:1.618em;width:100%}.woocommerce table.shop_attributes th{width:150px;font-weight:700;padding:8px}.woocommerce table.shop_attributes td{font-style:italic;padding:0}.woocommerce table.shop_attributes td p{margin:0;padding:8px 0}.woocommerce table.shop_attributes .alt td,.woocommerce table.shop_attributes .alt th{background:rgba(0,0,0,.025)}.woocommerce table.shop_table{border:1px solid rgba(0,0,0,.1);margin:0 -1px 24px 0;text-align:left;width:100%;border-collapse:separate;border-radius:5px}.woocommerce table.shop_table th{font-weight:700;padding:9px 12px}.woocommerce table.shop_table td{border-top:1px solid rgba(0,0,0,.1);padding:6px 12px;vertical-align:middle}.woocommerce table.shop_table td small{font-weight:400}.woocommerce table.shop_table tbody:first-child tr:first-child td,.woocommerce table.shop_table tbody:first-child tr:first-child th{border-top:0}.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th{font-weight:700;border-top:1px solid rgba(0,0,0,.1)}.woocommerce table.my_account_orders{font-size:.85em}.woocommerce table.my_account_orders td,.woocommerce table.my_account_orders th{padding:4px 8px;vertical-align:middle}.woocommerce table.my_account_orders .button{white-space:nowrap}.woocommerce table.my_account_orders .order-actions{text-align:right}.woocommerce table.my_account_orders .order-actions .button{margin:.125em 0 .125em .25em}.woocommerce td.product-name dl.variation{margin:.25em 0}.woocommerce td.product-name dl.variation:after,.woocommerce td.product-name dl.variation:before{content:" ";display:table}.woocommerce td.product-name dl.variation dd,.woocommerce td.product-name dl.variation dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce td.product-name dl.variation dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li:after,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li:after{clear:both}.woocommerce td.product-name dl.variation dd{padding:0 0 .25em}.woocommerce td.product-name dl.variation dd p:last-child{margin-bottom:0}.woocommerce td.product-name p.backorder_notification{font-size:.83em}.woocommerce td.product-quantity{min-width:80px}.woocommerce ul.cart_list,.woocommerce ul.product_list_widget{list-style:none;padding:0;margin:0}.woocommerce ul.cart_list li,.woocommerce ul.product_list_widget li{padding:4px 0;margin:0;list-style:none}.woocommerce ul.cart_list li:after,.woocommerce ul.cart_list li:before,.woocommerce ul.product_list_widget li:after,.woocommerce ul.product_list_widget li:before{content:" ";display:table}.woocommerce ul.cart_list li a,.woocommerce ul.product_list_widget li a{display:block;font-weight:700}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img{float:right;margin-left:4px;width:32px;height:auto;box-shadow:none}.woocommerce ul.cart_list li dl,.woocommerce ul.product_list_widget li dl{margin:0;padding-left:1em;border-left:2px solid rgba(0,0,0,.1)}.woocommerce ul.cart_list li dl:after,.woocommerce ul.cart_list li dl:before,.woocommerce ul.product_list_widget li dl:after,.woocommerce ul.product_list_widget li dl:before{content:" ";display:table}.woocommerce ul.cart_list li dl dd,.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dd,.woocommerce ul.product_list_widget li dl dt{display:inline-block;float:left;margin-bottom:1em}.woocommerce ul.cart_list li dl dt,.woocommerce ul.product_list_widget li dl dt{font-weight:700;padding:0 0 .25em;margin:0 4px 0 0;clear:left}.woocommerce .order_details:after,.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_shopping_cart .buttons:after,.woocommerce-account .addresses .title:after,.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce.widget_shopping_cart .buttons:after{clear:both}.woocommerce ul.cart_list li dl dd,.woocommerce ul.product_list_widget li dl dd{padding:0 0 .25em}.woocommerce ul.cart_list li dl dd p:last-child,.woocommerce ul.product_list_widget li dl dd p:last-child{margin-bottom:0}.woocommerce ul.cart_list li .star-rating,.woocommerce ul.product_list_widget li .star-rating{float:none}.woocommerce .widget_shopping_cart .total,.woocommerce.widget_shopping_cart .total{border-top:3px double #ebe9eb;padding:4px 0 0}.woocommerce .widget_shopping_cart .total strong,.woocommerce.widget_shopping_cart .total strong{min-width:40px;display:inline-block}.woocommerce .widget_shopping_cart .cart_list li,.woocommerce.widget_shopping_cart .cart_list li{padding-left:2em;position:relative;padding-top:0}.woocommerce .widget_shopping_cart .cart_list li a.remove,.woocommerce.widget_shopping_cart .cart_list li a.remove{position:absolute;top:0;left:0}.woocommerce .widget_shopping_cart .buttons:after,.woocommerce .widget_shopping_cart .buttons:before,.woocommerce.widget_shopping_cart .buttons:after,.woocommerce.widget_shopping_cart .buttons:before{content:" ";display:table}.woocommerce form .form-row{padding:3px;margin:0 0 6px}.woocommerce form .form-row [placeholder]:focus::-webkit-input-placeholder{-webkit-transition:opacity .5s .5s ease;-moz-transition:opacity .5s .5s ease;transition:opacity .5s .5s ease;opacity:0}.woocommerce form .form-row label{line-height:2}.woocommerce form .form-row label.hidden{visibility:hidden}.woocommerce form .form-row label.inline{display:inline}.woocommerce form .form-row select{cursor:pointer;margin:0}.woocommerce form .form-row .required{color:red;font-weight:700;border:0}.woocommerce form .form-row .input-checkbox{display:inline;margin:-2px 8px 0 0;text-align:center;vertical-align:middle}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{box-sizing:border-box;width:100%;margin:0;outline:0;line-height:1}.woocommerce form .form-row textarea{height:4em;line-height:1.5;display:block;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.woocommerce form .form-row .select2-container{width:100%;line-height:2em}.woocommerce form .form-row.woocommerce-invalid label{color:#a00}.woocommerce form .form-row.woocommerce-invalid .select2-container,.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:#a00}.woocommerce form .form-row.woocommerce-validated .select2-container,.woocommerce form .form-row.woocommerce-validated input.input-text,.woocommerce form .form-row.woocommerce-validated select{border-color:#69bf29}.woocommerce form .form-row ::-webkit-input-placeholder{line-height:normal}.woocommerce form .form-row :-moz-placeholder{line-height:normal}.woocommerce form .form-row :-ms-input-placeholder{line-height:normal}.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register{border:1px solid #d3ced2;padding:20px;margin:2em 0;text-align:left;border-radius:5px}.woocommerce ul#shipping_method{list-style:none;margin:0;padding:0}.woocommerce ul#shipping_method li{margin:0;padding:.25em 0 .25em 22px;text-indent:-22px;list-style:none}.woocommerce ul#shipping_method li input{margin:3px .5ex}.woocommerce ul#shipping_method li label{display:inline}.woocommerce ul#shipping_method .amount{font-weight:700}.woocommerce p.woocommerce-shipping-contents{margin:0}.woocommerce .order_details{margin:0 0 1.5em;list-style:none}.woocommerce .order_details:after,.woocommerce .order_details:before{content:" ";display:table}.woocommerce .order_details li{float:left;margin-right:2em;text-transform:uppercase;font-size:.715em;line-height:1;border-right:1px dashed #d3ced2;padding-right:2em;margin-left:0;padding-left:0}.woocommerce .order_details li strong{display:block;font-size:1.4em;text-transform:none;line-height:1.5}.woocommerce .order_details li:last-of-type{border:none}.woocommerce .widget_layered_nav ul{margin:0;padding:0;border:0;list-style:none}.woocommerce .widget_layered_nav ul li{padding:0 0 1px;list-style:none}.woocommerce .widget_layered_nav ul li:after,.woocommerce .widget_layered_nav ul li:before{content:" ";display:table}.woocommerce .widget_layered_nav ul li.chosen a:before,.woocommerce .widget_layered_nav_filters ul li a:before{font-weight:400;line-height:1;content:"";color:#a00;font-family:WooCommerce;speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;text-decoration:none}.woocommerce .widget_layered_nav ul li a,.woocommerce .widget_layered_nav ul li span{padding:1px 0}.woocommerce .widget_layered_nav ul li.chosen a:before{margin-right:.618em}.woocommerce .widget_layered_nav_filters ul{margin:0;padding:0;border:0;list-style:none;overflow:hidden;zoom:1}.woocommerce .widget_layered_nav_filters ul li{float:left;padding:0 1px 1px 0;list-style:none}.woocommerce .widget_layered_nav_filters ul li a{text-decoration:none}.woocommerce .widget_layered_nav_filters ul li a:before{margin-right:.618em}.woocommerce .widget_price_filter .price_slider{margin-bottom:1em}.woocommerce .widget_price_filter .price_slider_amount{text-align:right;line-height:2.4;font-size:.8751em}.woocommerce .widget_price_filter .price_slider_amount .button{font-size:1.15em;float:left}.woocommerce .widget_price_filter .ui-slider{position:relative;text-align:left;margin-left:.5em;margin-right:.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1em;height:1em;background-color:#a46497;border-radius:1em;cursor:ew-resize;outline:0;top:-.3em;margin-left:-.5em}.woocommerce .widget_price_filter .ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;border-radius:1em;background-color:#a46497}.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content{border-radius:1em;background-color:#602053;border:0}.woocommerce .widget_price_filter .ui-slider-horizontal{height:.5em}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range{top:0;height:100%}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-min{left:-1px}.woocommerce .widget_price_filter .ui-slider-horizontal .ui-slider-range-max{right:-1px}.woocommerce-account .addresses .title:after,.woocommerce-account .addresses .title:before{content:" ";display:table}.woocommerce-account .addresses .title h3{float:left}.woocommerce-account .addresses .title .edit,.woocommerce-account ul.digital-downloads li .count{float:right}.woocommerce-account ol.commentlist.notes li.note p.meta{font-weight:700;margin-bottom:0}.woocommerce-account ol.commentlist.notes li.note .description p:last-child{margin-bottom:0}.woocommerce-account ul.digital-downloads{margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li{list-style:none;margin-left:0;padding-left:0}.woocommerce-account ul.digital-downloads li:before{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-right:.618em;content:"";text-decoration:none}.woocommerce-cart table.cart .product-thumbnail{min-width:32px}.woocommerce-cart table.cart img{width:32px;box-shadow:none}.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{vertical-align:middle}.woocommerce-cart table.cart td.actions .coupon .input-text{float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #d3ced2;padding:6px 6px 5px;margin:0 4px 0 0;outline:0;line-height:1}.woocommerce-cart table.cart input{margin:0;vertical-align:middle;line-height:1}.woocommerce-cart .wc-proceed-to-checkout{padding:1em 0}.woocommerce-cart .wc-proceed-to-checkout:after,.woocommerce-cart .wc-proceed-to-checkout:before{content:" ";display:table}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:block;text-align:center;margin-bottom:1em;font-size:1.25em;padding:1em}.woocommerce-cart .cart-collaterals .shipping_calculator .button{width:100%;float:none;display:block}.woocommerce-cart .cart-collaterals .shipping_calculator .shipping-calculator-button:after{font-family:WooCommerce;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin-left:.618em;content:"";text-decoration:none}.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods li:before,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout #payment ul.payment_methods:before{content:" ";display:table}.woocommerce-cart .cart-collaterals .cart_totals p small{color:#777;font-size:.83em}.woocommerce-cart .cart-collaterals .cart_totals table{border-collapse:separate;margin:0 0 6px;padding:0}.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child td,.woocommerce-cart .cart-collaterals .cart_totals table tr:first-child th{border-top:0}.woocommerce-cart .cart-collaterals .cart_totals table th{width:40%}.woocommerce-cart .cart-collaterals .cart_totals table td,.woocommerce-cart .cart-collaterals .cart_totals table th{vertical-align:top;border-left:0;border-right:0;line-height:1.5em}.woocommerce-cart .cart-collaterals .cart_totals table small{color:#777}.woocommerce-cart .cart-collaterals .cart_totals table select{width:100%}.woocommerce-cart .cart-collaterals .cart_totals .discount td{color:#77a464}.woocommerce-cart .cart-collaterals .cart_totals tr td,.woocommerce-cart .cart-collaterals .cart_totals tr th{border-top:1px solid #ebe9eb}.woocommerce-cart .cart-collaterals .cross-sells ul.products li.product{margin-top:0}.woocommerce-checkout .checkout .col-2 h3#ship-to-different-address{float:left;clear:none}.woocommerce-checkout .checkout .col-2 .form-row-first,.woocommerce-checkout .checkout .col-2 .notes{clear:left}.woocommerce-checkout .checkout .create-account small{font-size:11px;color:#777;font-weight:400}.woocommerce-checkout .checkout div.shipping-address{padding:0;clear:left;width:100%}.single-product .twentythirteen p.stars,.woocommerce-checkout #payment ul.payment_methods li:after,.woocommerce-checkout #payment ul.payment_methods:after,.woocommerce-checkout .checkout .shipping_address{clear:both}.woocommerce-checkout #payment{background:#ebe9eb;border-radius:5px}.woocommerce-checkout #payment ul.payment_methods{text-align:left;padding:1em;border-bottom:1px solid #d3ced2;margin:0;list-style:none}.woocommerce-checkout #payment ul.payment_methods li{line-height:2;text-align:left;margin:0;font-weight:400}.woocommerce-checkout #payment ul.payment_methods li input{margin:0 1em 0 0}.woocommerce-checkout #payment ul.payment_methods li img{vertical-align:middle;margin:-2px 0 0 .5em;padding:0;position:relative;box-shadow:none}.woocommerce-checkout #payment ul.payment_methods li img+img{margin-left:2px}.woocommerce-checkout #payment div.form-row{padding:1em}.woocommerce-checkout #payment div.payment_box{position:relative;box-sizing:border-box;width:100%;padding:1em;margin:1em 0;font-size:.92em;border-radius:2px;line-height:1.5;background-color:#dfdcde;color:#515151}.woocommerce-checkout #payment div.payment_box input.input-text,.woocommerce-checkout #payment div.payment_box textarea{border-color:#bbb3b9 #c7c1c6 #c7c1c6}.woocommerce-checkout #payment div.payment_box ::-webkit-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-moz-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box :-ms-input-placeholder{color:#bbb3b9}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number{font-size:1.5em;padding:8px;background-repeat:no-repeat;background-position:right}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.visa,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.visa{background-image:url(../images/icons/credit-cards/visa.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.mastercard,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.mastercard{background-image:url(../images/icons/credit-cards/mastercard.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.laser,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.laser{background-image:url(../images/icons/credit-cards/laser.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.dinersclub,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.dinersclub{background-image:url(../images/icons/credit-cards/diners.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.maestro,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.maestro{background-image:url(../images/icons/credit-cards/maestro.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.jcb,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.jcb{background-image:url(../images/icons/credit-cards/jcb.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.amex,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.amex{background-image:url(../images/icons/credit-cards/amex.png)}.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-cvc.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-expiry.discover,.woocommerce-checkout #payment div.payment_box .wc-credit-card-form-card-number.discover{background-image:url(../images/icons/credit-cards/discover.png)}.woocommerce-checkout #payment div.payment_box span.help{font-size:.857em;color:#777;font-weight:400}.woocommerce-checkout #payment div.payment_box .form-row{margin:0 0 1em}.woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}.woocommerce-checkout #payment div.payment_box:before{content:"";display:block;border:1em solid #dfdcde;border-right-color:transparent;border-left-color:transparent;border-top-color:transparent;position:absolute;top:-.75em;left:0;margin:-1em 0 0 2em}.woocommerce-checkout #payment .payment_method_paypal .about_paypal{float:right;line-height:52px;font-size:.83em}.woocommerce-checkout #payment .payment_method_paypal img{max-height:52px;vertical-align:middle}.woocommerce-password-strength{text-align:center;font-weight:600;padding:3px 0}.woocommerce-password-strength.strong{background-color:#c1e1b9;border-color:#83c373}.woocommerce-password-strength.short{background-color:#f1adad;border-color:#e35b5b}.woocommerce-password-strength.bad{background-color:#fbc5a9;border-color:#f78b53}.woocommerce-password-strength.good{background-color:#ffe399;border-color:#ffc733}.woocommerce-password-hint{margin:.5em 0 0;display:block}.product.has-default-attributes.has-children>.images{opacity:0}#content.twentyeleven .woocommerce-pagination a{font-size:1em;line-height:1}.single-product .twentythirteen #reply-title,.single-product .twentythirteen #respond #commentform,.single-product .twentythirteen .entry-summary{padding:0}.twentythirteen .woocommerce-breadcrumb{padding-top:40px}.twentyfourteen ul.products li.product{margin-top:0!important}body:not(.search-results) .twentysixteen .entry-summary{color:inherit;font-size:inherit;line-height:inherit}.twentysixteen .price ins{background:inherit;color:inherit} \ No newline at end of file diff --git a/assets/css/woocommerce.scss b/assets/css/woocommerce.scss index ea33d091dbf..fbe3f110fec 100644 --- a/assets/css/woocommerce.scss +++ b/assets/css/woocommerce.scss @@ -1324,6 +1324,12 @@ p.demo_store { padding: .25em 0 .25em 22px; text-indent: -22px; list-style: none outside; + input { + margin: 3px 0.5ex; + } + label { + display: inline; + } } .amount {