/** * woocommerce.scss * Governs the general look and feel of WooCommerce sections of stores using themes that do not * integrate with WooCommerce specifically. */ /** * Imports */ @import "bourbon"; @import "mixins"; @import "variables"; @import "animation"; @import "fonts"; /** * Global styles */ 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: $primary; color: $primarytext; z-index: 99998; box-shadow: 0 1px 1em rgba(0,0,0,0.2); a { color: $primarytext; } } .admin-bar { p.demo_store { top: 32px; } } /** * Utility classes */ .clear { clear: both; } /** * Main WooCommerce styles */ .woocommerce { .blockUI.blockOverlay { position: relative; @include loader(); } .loader { @include loader(); } 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; &:hover { color: #fff !important; background: red; } } .woocommerce-message, .woocommerce-error, .woocommerce-info { padding: 1em 2em 1em 3.5em !important; margin: 0 0 2em !important; position: relative; background-color: lighten($secondary,5%); color: $secondarytext; border-top: 3px solid $primary; list-style: none outside !important; @include clearfix(); width: auto; word-wrap: break-word; &:before { font-family: "WooCommerce"; content: "\e028"; display: inline-block; position: absolute; top: 1em; left: 1.5em; } .button { float: right; } li { list-style: none outside !important; padding-left: 0 !important; margin-left: 0 !important; } } .woocommerce-message { border-top-color: #8fae1b; &:before { content: "\e015"; color: #8fae1b; } } .woocommerce-info { border-top-color: #1e85be; &:before { color: #1e85be; } } .woocommerce-error { border-top-color: #b81c23; &:before { content: "\e016"; color: #b81c23; } } small.note { display: block; color: $subtext; font-size: .857em; margin-top: 10px; } .woocommerce-breadcrumb { @include clearfix(); margin: 0 0 1em; padding: 0; font-size: 0.92em; color: $subtext; a { color: $subtext; } } .quantity { .qty { width: 3.631em; text-align: center; } } /** * Product Page */ div.product { margin-bottom: 0; position: relative; .product_title { clear: none; margin-top: 0; padding: 0; } span.price, p.price { color: $highlight; font-size: 1.25em; ins { background: inherit; font-weight: 700; } del { opacity: 0.5; } } p.stock { font-size: 0.92em; } .stock { color: $highlight; } .out-of-stock { color: red; } .woocommerce-product-rating { margin-bottom: 1.618em; } div.images { margin-bottom: 2em; img { display: block; width: 100%; height: auto; box-shadow: none; } div.thumbnails { padding-top: 1em; } } div.summary { margin-bottom: 2em; } div.social { text-align: right; margin: 0 0 1em; span { margin: 0 0 0 2px; span { margin: 0; } .stButton .chicklets { padding-left: 16px; width: 0; } } iframe { float: left; margin-top: 3px; } } .woocommerce-tabs { ul.tabs { list-style: none; padding: 0 0 0 1em; margin: 0 0 1.618em; overflow: hidden; position: relative; li { border: 1px solid darken( $secondary, 10% ); background-color: $secondary; display: inline-block; position: relative; z-index: 0; border-radius: 4px 4px 0 0; margin: 0 -5px; padding: 0 1em; a { display: inline-block; padding: .5em 0; font-weight: 700; color: $secondarytext; text-decoration: none; &:hover { text-decoration: none; color: lighten( $secondarytext, 10% ); } } &.active { background: $contentbg; z-index: 2; border-bottom-color: $contentbg; a { color: inherit; text-shadow: inherit; } &:before { box-shadow: 2px 2px 0 $contentbg; } &:after { box-shadow: -2px 2px 0 $contentbg; } } &:before, &:after { border: 1px solid darken( $secondary, 10% ); position: absolute; bottom: -1px; width: 5px; height: 5px; content: " "; } &: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 $secondary; } &: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 $secondary; } } &:before { position: absolute; content: " "; width: 100%; bottom: 0; left: 0; border-bottom: 1px solid darken( $secondary, 10% ); z-index: 1; } } .panel { margin: 0 0 2em; padding: 0; } } p.cart { margin-bottom: 2em; @include clearfix(); } form.cart { margin-bottom: 2em; @include clearfix(); div.quantity { float: left; margin: 0 4px 0 0; } table { border-width: 0 0 1px 0; td { padding-left: 0; } div.quantity { float: none; margin: 0; } small.stock { display: block; float: none; } } .variations { margin-bottom: 1em; border: 0; td, th { border: 0; } label { font-weight: 700; } select { width: 100%; float: left; } td.label { padding-right: 1em; } td { vertical-align: top; } } .woocommerce-variation-description { p { margin-bottom: 1em; } } .reset_variations { visibility: hidden; } .wc-no-matching-variations { display: none; } .button { vertical-align: middle; float: left; } .group_table { td.label { padding-right: 1em; padding-left: 1em; } td { vertical-align: top; padding-bottom: .5em; border: 0; } } } } span.onsale { min-height: 3.236em; min-width: 3.236em; padding: .202em; font-size: 1em; font-weight: 700; position: absolute; text-align: center; line-height: 3.236; top: -.5em; left: -.5em; margin: 0; border-radius: 100%; background-color: $highlight; color: $highlightext; font-size: .857em; -webkit-font-smoothing: antialiased; } /** * Product loops */ .products ul, ul.products { margin: 0 0 1em; padding: 0; list-style: none outside; clear: both; @include clearfix(); li { list-style: none outside; } } ul.products { li.product { .onsale { top: 0; right: 0; left: auto; margin: -.5em -.5em 0 0; } h3 { padding: .5em 0; margin: 0; font-size: 1em; } a { text-decoration: none; } a img { width: 100%; height: auto; display: block; margin: 0 0 1em; box-shadow: none; } strong { display: block; } .star-rating { font-size: .857em; } .button { margin-top: 1em; } .price { color: $highlight; display: block; font-weight: normal; margin-bottom: .5em; font-size: .857em; del { color: inherit; opacity: 0.5; display: block; } ins { background: none; font-weight: 700; } .from { font-size: 0.67em; margin: -2px 0 0 0; text-transform: uppercase; color: rgba(desaturate($highlight, 75%), 0.5); } } } } .woocommerce-result-count { margin: 0 0 1em; } .woocommerce-ordering { margin: 0 0 1em; select { vertical-align: top; } } nav.woocommerce-pagination { text-align: center; ul { display: inline-block; white-space: nowrap; padding: 0; clear: both; border: 1px solid darken( $secondary, 10% ); border-right: 0; margin: 1px; li { border-right: 1px solid darken( $secondary, 10% ); padding: 0; margin: 0; float: left; display: inline; overflow: hidden; a, span { margin: 0; text-decoration: none; padding: 0; line-height: 1; font-size: 1em; font-weight: normal; padding: .5em; min-width: 1em; display: block; } span.current, a:hover, a:focus { background: $secondary; color: darken( $secondary, 40% ); } } } } /** * Buttons */ a.button, button.button, input.button, #respond input#submit { 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: $secondarytext; background-color: $secondary; border: 0; white-space: nowrap; display: inline-block; background-image: none; box-shadow: none; -webkit-box-shadow: none; text-shadow: none; &.loading { opacity: 0.25; padding-right: 2.618em; &: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; } } &.added { &:after { font-family: 'WooCommerce'; content: "\e017"; margin-left: .53em; vertical-align: bottom; } } &:hover { background-color: $secondary - #111; text-decoration: none; background-image: none; color: $secondarytext; } &.alt { background-color: $primary; color: $primarytext; -webkit-font-smoothing: antialiased; &:hover { background-color: $primary - #111; color: $primarytext; } &.disabled, &:disabled, &:disabled[disabled], &.disabled:hover, &:disabled:hover, &:disabled[disabled]:hover { background-color: $primary; color: $primarytext; } } &:disabled, &.disabled, &:disabled[disabled] { color: inherit; cursor: not-allowed; opacity: 0.5; &:hover { color: inherit; background-color: $secondary; } } } .cart .button, .cart input.button { float: none; } a.added_to_cart { padding-top: .5em; white-space: nowrap; display: inline-block; } /** * Reviews */ #reviews { h2 small { float: right; color: $subtext; font-size: 15px; margin: 10px 0 0 0; a { text-decoration: none; color: $subtext; } } h3 { margin: 0; } #respond { margin: 0; border: 0; padding: 0; } #comment { height: 75px; } #comments { .add_review { @include clearfix(); } h2 { clear: none; } ol.commentlist { @include clearfix(); margin: 0; width: 100%; background: none; list-style: none; li { padding: 0; margin: 0 0 20px; border: 0; position: relative; background: 0; border: 0; .meta { color: $subtext; font-size: 0.75em; } img.avatar { float: left; position: absolute; top: 0; left: 0; padding: 3px; width: 32px; height: auto; background: $secondary; border: 1px solid darken( $secondary, 3% ); margin: 0; box-shadow: none; } .comment-text { margin: 0 0 0 50px; border: 1px solid darken( $secondary, 3% ); border-radius: 4px; padding: 1em 1em 0; @include clearfix(); p { margin: 0 0 1em; } p.meta { font-size: 0.83em; } } } ul.children { list-style: none outside; margin: 20px 0 0 50px; .star-rating { display: none; } } #respond { border: 1px solid darken( $secondary, 3% ); border-radius: 4px; padding: 1em 1em 0; margin: 20px 0 0 50px; } } .commentlist > li:before { content: ""; } } } /** * Star ratings */ .star-rating { float: right; overflow: hidden; position: relative; height: 1em; line-height: 1; font-size: 1em; width: 5.4em; font-family: 'star'; &:before { content: "\73\73\73\73\73"; color: darken( $secondary, 10% ); float: left; top: 0; left: 0; position: absolute; } span { overflow: hidden; float: left; top: 0; left: 0; position: absolute; padding-top: 1.5em; } span:before { content: "\53\53\53\53\53"; top: 0; position: absolute; left: 0; } } .woocommerce-product-rating { @include clearfix(); line-height: 2; display: block; .star-rating { margin: .5em 4px 0 0; float: left; } } .products { .star-rating { display: block; margin: 0 0 .5em; float: none; } } .hreview-aggregate { .star-rating { margin: 10px 0 0 0; } } #review_form { #respond { @include clearfix(); position: static; margin: 0; width: auto; padding: 0 0 0; background: transparent none; border: 0; p { margin: 0 0 10px; } .form-submit { input { left: auto; } } textarea { box-sizing: border-box; width: 100%; } } } p.stars { a { position: relative; height: 1em; width: 1em; text-indent: -999em; display: inline-block; text-decoration: none; &:before { display: block; position: absolute; top: 0; left: 0; width: 1em; height: 1em; line-height: 1; font-family: "WooCommerce"; content: "\e021"; text-indent: 0; } &:hover { ~ a:before { content: "\e021"; } } } &:hover { a { &:before { content: "\e020"; } } } &.selected { a.active { &:before { content: "\e020"; } ~ a:before { content: "\e021"; } } a:not(.active) { &:before { content: "\e020"; } } } } /** * Tables */ table.shop_attributes { border: 0; border-top: 1px dotted rgba(0,0,0,0.1); margin-bottom: 1.618em; width: 100%; th { width: 150px; font-weight: 700; padding: 8px; border-top: 0; border-bottom: 1px dotted rgba(0,0,0,0.1); margin: 0; line-height: 1.5; } td { font-style: italic; padding: 0; border-top: 0; border-bottom: 1px dotted rgba(0,0,0,0.1); margin: 0; line-height: 1.5; p { margin: 0; padding: 8px 0; } } .alt td, .alt th { background: rgba(0,0,0,0.025); } } table.shop_table { border: 1px solid rgba(0,0,0,0.1); margin: 0px -1px 24px 0px; text-align: left; width: 100%; border-collapse: separate; border-radius: 5px; th { font-weight: 700; padding: 9px 12px; } td { border-top: 1px solid rgba(0,0,0,0.1); padding: 6px 12px; vertical-align: middle; small { font-weight: normal; } } tbody:first-child { tr:first-child { th, td { border-top: 0; } } } tfoot td, tfoot th, tbody th { font-weight: 700; border-top: 1px solid rgba(0,0,0,0.1); } } table.my_account_orders { font-size: 0.85em; th, td { padding: 4px 8px; vertical-align: middle; } .button { white-space: nowrap; } .order-actions { text-align: right; .button { margin: .125em 0 .125em .25em; } } } td.product-name { dl.variation { margin: .25em 0; @include clearfix(); dt, dd { display: inline-block; float: left; margin-bottom: 1em; } dt { font-weight: 700; padding: 0 0 .25em 0; margin: 0 4px 0 0; clear: left; } dd { padding: 0 0 .25em 0; p:last-child { margin-bottom: 0; } } } p.backorder_notification { font-size: 0.83em; } } td.product-quantity { min-width: 80px; } /** * Cart sidebar */ ul.cart_list, ul.product_list_widget { list-style: none outside; padding: 0; margin: 0; li { padding: 4px 0; margin: 0; @include clearfix(); list-style: none; a { display: block; font-weight: 700; } img { float: right; margin-left: 4px; width: 32px; height: auto; box-shadow: none; } dl { margin: 0; padding-left: 1em; border-left: 2px solid rgba(0,0,0,0.1); @include clearfix(); dt, dd { display: inline-block; float: left; margin-bottom: 1em; } dt { font-weight: 700; padding: 0 0 .25em 0; margin: 0 4px 0 0; clear: left; } dd { padding: 0 0 .25em 0; p:last-child { margin-bottom: 0; } } } .star-rating { float: none; } } } &.widget_shopping_cart, .widget_shopping_cart { .total { border-top: 3px double $secondary; padding: 4px 0 0; strong { min-width: 40px; display: inline-block; } } .cart_list { li { padding-left: 2em; position: relative; padding-top: 0; a.remove { position: absolute; top: 0; left: 0; } } } .buttons { @include clearfix(); } } /** * Forms */ form { .form-row { padding: 3px; margin: 0 0 6px; [placeholder]:focus::-webkit-input-placeholder { -webkit-transition: opacity 0.5s 0.5s ease; -moz-transition: opacity 0.5s 0.5s ease; transition: opacity 0.5s 0.5s ease; opacity: 0; } label { line-height: 2; } label.hidden { visibility: hidden; } label.inline { display: inline; } select { cursor: pointer; margin: 0; } .required { color: red; font-weight: 700; border: 0; } .input-checkbox { display: inline; margin: -2px 8px 0 0; text-align: center; vertical-align: middle; } input.input-text, textarea { box-sizing: border-box; width: 100%; margin: 0; outline: 0; line-height: 1; } textarea { height: 4em; line-height: 1.5; display: block; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } .select2-container { width: 100%; line-height: 2em; } &.woocommerce-invalid { label { color: $red; } .select2-container, input.input-text, select { border-color: $red; } } &.woocommerce-validated { .select2-container, input.input-text, select { border-color: $green - #111; } } ::-webkit-input-placeholder { line-height: normal; } :-moz-placeholder { line-height: normal; } :-ms-input-placeholder { line-height: normal; } } } form.login, form.checkout_coupon, form.register { border: 1px solid darken( $secondary, 10% ); padding: 20px; margin: 2em 0 2em 0px; text-align: left; border-radius: 5px; } ul#shipping_method { list-style: none outside; margin: 0; padding: 0; li { margin: 0; padding: .25em 0 .25em 22px; text-indent: -22px; list-style: none outside; } .amount { font-weight: 700; } } p.woocommerce-shipping-contents { margin: 0; } /** * Order page */ .order_details { @include clearfix(); margin: 0 0 1.5em; list-style: none; li { float: left; margin-right: 2em; text-transform: uppercase; font-size: 0.715em; line-height: 1; border-right: 1px dashed darken( $secondary, 10% ); padding-right: 2em; margin-left: 0; padding-left: 0; strong { display: block; font-size: 1.4em; text-transform: none; line-height: 1.5; } &:last-of-type { border: none; } } } /** * Layered nav widget */ .widget_layered_nav { ul { margin: 0; padding: 0; border: 0; list-style: none outside; li { @include clearfix(); padding: 0 0 1px; list-style: none; a, span { padding: 1px 0; } } li.chosen { a { &:before { @include iconbefore( "\e013" ); color: $red; } } } } } .widget_layered_nav_filters { ul { margin: 0; padding: 0; border: 0; list-style: none outside; overflow: hidden; zoom: 1; li { float: left; padding: 0 1px 1px 0; list-style: none; a { text-decoration: none; &:before { @include iconbefore( "\e013" ); color: $red; } } } } } /** * Price filter widget */ .widget_price_filter { .price_slider { margin-bottom: 1em; } .price_slider_amount { text-align: right; line-height: 2.4; font-size: 0.8751em; .button { font-size: 1.15em; } .button { float: left; } } .ui-slider { position: relative; text-align: left; margin-left: .5em; margin-right: .5em; } .ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1em; height: 1em; background-color: $primary; border-radius: 1em; cursor: ew-resize; outline: none; top: -.3em; //&:last-child { margin-left: -.5em; //} } .ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; border-radius: 1em; background-color: $primary; } .price_slider_wrapper .ui-widget-content { border-radius: 1em; background-color: $primary - #444; border: 0; } .ui-slider-horizontal { height: .5em; } .ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } .ui-slider-horizontal .ui-slider-range-min { left: -1px; } .ui-slider-horizontal .ui-slider-range-max { right: -1px; } } } /** * Account page */ .woocommerce-account { .addresses { .title { @include clearfix(); h3 { float: left; } .edit { float: right; } } } ol.commentlist.notes { li.note { p.meta { font-weight: 700; margin-bottom: 0; } .description { p:last-child { margin-bottom: 0; } } } } ul.digital-downloads { margin-left: 0; padding-left: 0; li { list-style: none; margin-left: 0; padding-left: 0; &:before { @include iconbefore( "\e00a" ); } .count { float: right; } } } } /** * Cart page */ .woocommerce-cart { table.cart { .product-thumbnail { min-width: 32px; } img { width: 32px; box-shadow: none; } th, td { vertical-align: middle; } td.actions { .coupon { .input-text { float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border: 1px solid darken( $secondary, 10% ); padding: 6px 6px 5px; margin: 0 4px 0 0; outline: 0; line-height: 1; } } } input { margin: 0; vertical-align: middle; line-height: 1; } } .wc-proceed-to-checkout { @include clearfix; padding: 1em 0; a.checkout-button { display: block; text-align: center; margin-bottom: 1em; } } .cart-collaterals { .shipping_calculator { .button { width: 100%; float: none; display: block; } .shipping-calculator-button { &:after { @include iconafter( "\e019" ); } } } .cart_totals { p { small { color: $subtext; font-size: 0.83em; } } table { border-collapse: separate; margin: 0 0 6px; padding: 0; border-left: 0; tr:first-child { th, td { border-top: 0; } } th { padding: 6px 12px 0 0; width: 25%; } td { padding: 6px 0; } td, th { vertical-align: top; border-left: 0; border-right: 0; padding: 6px 0; line-height: 2em; } small { color: $subtext; } select { width: 100%; } } .discount td { color: $highlight; } tr td, tr th { border-top: 1px solid $secondary; } } .cross-sells { ul.products { li.product { margin-top: 0; } } } } } /** * Checkout */ .woocommerce-checkout { .checkout { .col-2 { h3#ship-to-different-address { float: left; clear: none; } .notes { clear: left; } .form-row-first { clear: left; } } .create-account small { font-size: 11px; color: $subtext; font-weight: normal; } div.shipping-address { padding: 0; clear: left; width: 100%; } .shipping_address { clear: both; } } #payment { background: $secondary; border-radius: 5px; ul.payment_methods { @include clearfix(); text-align: left; padding: 1em; border-bottom: 1px solid darken( $secondary, 10% ); margin: 0; list-style: none outside; li { line-height: 2; text-align: left; margin: 0; font-weight: normal; @include clearfix; input { margin: 0 1em 0 0; } img { vertical-align: middle; margin: -2px 0 0 .5em; padding: 0; position: relative; box-shadow: none; } img + img { margin-left: 2px; } } } div.form-row { padding: 1em; } div.payment_box { position: relative; box-sizing: border-box; width: 100%; padding: 1em; margin: 1em 0 1em 0; font-size: 0.92em; border-radius: 2px; line-height: 1.5; background-color: darken( $secondary, 5% ); color: $secondarytext; input.input-text, textarea { border-color: darken( $secondary, 15% ); border-top-color: darken( $secondary, 20% ); } ::-webkit-input-placeholder { color: darken( $secondary, 20% ); } :-moz-placeholder { color: darken( $secondary, 20% ); } :-ms-input-placeholder { color: darken( $secondary, 20% ); } .wc-credit-card-form-card-number, .wc-credit-card-form-card-expiry, .wc-credit-card-form-card-cvc { font-size: 1.5em; padding: 8px; background-repeat: no-repeat; background-position: right; &.visa { background-image: url(../images/icons/credit-cards/visa.png); } &.mastercard { background-image: url(../images/icons/credit-cards/mastercard.png); } &.laser { background-image: url(../images/icons/credit-cards/laser.png); } &.dinersclub { background-image: url(../images/icons/credit-cards/diners.png); } &.maestro { background-image: url(../images/icons/credit-cards/maestro.png); } &.jcb { background-image: url(../images/icons/credit-cards/jcb.png); } &.amex { background-image: url(../images/icons/credit-cards/amex.png); } &.discover { background-image: url(../images/icons/credit-cards/discover.png); } } span.help { font-size: .857em; color: $subtext; font-weight: normal; } .form-row { margin: 0 0 1em; } p:last-child { margin-bottom: 0; } &:before { content: ""; display: block; border: 1em solid darken( $secondary, 5% ); /* arrow size / color */ border-right-color: transparent; border-left-color: transparent; border-top-color: transparent; position: absolute; top: -.75em; left: 0; margin: -1em 0 0 2em; } } .payment_method_paypal { .about_paypal { float: right; line-height: 52px; font-size: 0.83em; } img { max-height: 52px; vertical-align: middle; } } } } /** * Password strength meter */ .woocommerce-password-strength { text-align: center; font-weight: 600; padding: 3px 0px 3px 0px; &.strong { background-color: #c1e1b9; border-color: #83c373; } &.short { background-color: #f1adad; border-color: #e35b5b; } &.bad { background-color: #fbc5a9; border-color: #f78b53; } &.good { background-color: #ffe399; border-color: #ffc733; } } /* added to get around variation image flicker issue */ .product.has-default-attributes { > .images { opacity: 0; } } /** * Twenty Eleven specific styles */ #content.twentyeleven { .woocommerce-pagination { a { font-size: 1em; line-height: 1; } } } /** * Twenty Thirteen specific styles */ .single-product { .twentythirteen { .entry-summary, #reply-title, #respond #commentform { padding: 0; } p.stars { clear: both; } } } .twentythirteen { .woocommerce-breadcrumb { padding-top: 40px; } } /** * Twenty Fourteen specific styles */ .twentyfourteen { ul.products { li.product { margin-top: 0 !important; } } }