+
-
diff --git a/backend/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss b/backend/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss
index a2023d576bf..b781a5c3c34 100644
--- a/backend/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss
+++ b/backend/app/assets/stylesheets/spree/backend/_bootstrap_custom.scss
@@ -16,6 +16,71 @@
// Grid columns
// Fonts
// Components
+// Tables
+// Buttons
+// Forms
+// Dropdowns
+// Z-index master list
+// Navbar
+// Navs
+// Pagination
+// Jumbotron
+// Form states and alerts
+// Cards
+// Tooltips
+// Popovers
+// Badges
+// Modals
+// Alerts
+// Progress bars
+// List group
+// Image thumbnails
+// Figures
+// Breadcrumbs
+// Carousel
+// Close
+// Code
+
+@mixin _assert-ascending($map, $map-name) {
+ $prev-key: null;
+ $prev-num: null;
+ @each $key, $num in $map {
+ @if $prev-num == null {
+ // Do nothing
+ } @else if not comparable($prev-num, $num) {
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
+ } @else if $prev-num >= $num {
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
+ }
+ $prev-key: $key;
+ $prev-num: $num;
+ }
+}
+
+// Replace `$search` with `$replace` in `$string`
+// @author Hugo Giraudel
+// @param {String} $string - Initial string
+// @param {String} $search - Substring to replace
+// @param {String} $replace ('') - New value
+// @return {String} - Updated string
+@function str-replace($string, $search, $replace: "") {
+ $index: str-index($string, $search);
+
+ @if $index {
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
+ }
+
+ @return $string;
+}
+
+@mixin _assert-starts-at-zero($map) {
+ $values: map-values($map);
+ $first-value: nth($values, 1);
+ @if $first-value != 0 {
+ @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
+ }
+}
+
// General variable structure
//
@@ -26,67 +91,100 @@
//
// Grayscale and brand colors for use across Bootstrap.
-$gray-dark: #373a3c !default;
-$gray: #55595c !default;
-$gray-light: #818a91 !default;
+// Start with assigning color names to specific hex values.
+$white: #fff !default;
+$black: #000 !default;
+$red: #d9534f !default;
+$orange: #f0ad4e !default;
+$yellow: #ffd500 !default;
+$green: #5cb85c !default;
+$blue: #0275d8 !default;
+$teal: #5bc0de !default;
+$pink: #ff5b77 !default;
+$purple: #613d7c !default;
+
+// Create grayscale
+$gray-dark: #292b2c !default;
+$gray: #464a4c !default;
+$gray-light: #636c72 !default;
$gray-lighter: #eceeef !default;
$gray-lightest: #f7f7f9 !default;
+// Reassign color vars to semantic color scheme
$brand-primary: $color-3 !default;
$brand-success: $color-2 !default;
-$brand-info: #5bc0de !default;
+$brand-info: $teal !default;
$brand-warning: $color-6 !default;
$brand-danger: $color-5 !default;
+$brand-inverse: $gray-dark !default;
// Options
//
// Quickly modify global styling by enabling or disabling optional features.
-$enable-flex: true !default;
$enable-rounded: true !default;
$enable-shadows: false !default;
$enable-gradients: false !default;
-$enable-transitions: false !default;
+$enable-transitions: true !default;
$enable-hover-media-query: false !default;
$enable-grid-classes: true !default;
+$enable-print-styles: true !default;
// Spacing
//
// Control the default styling of most Bootstrap elements by modifying these
// variables. Mostly focused on spacing.
+// You can add more entries to the $spacers map, should you need more variation.
-$spacer: 1rem !default;
-$spacer-x: $spacer !default;
-$spacer-y: $spacer !default;
+$spacer: 1rem !default;
+$spacer-x: $spacer !default;
+$spacer-y: $spacer !default;
$spacers: (
0: (
- x: 0,
- y: 0
+ x: 0,
+ y: 0
),
1: (
- x: $spacer-x,
- y: $spacer-y
+ x: ($spacer-x * .25),
+ y: ($spacer-y * .25)
),
2: (
- x: ($spacer-x * 1.5),
- y: ($spacer-y * 1.5)
+ x: ($spacer-x * .5),
+ y: ($spacer-y * .5)
),
3: (
- x: ($spacer-x * 3),
- y: ($spacer-y * 3)
+ x: $spacer-x,
+ y: $spacer-y
+ ),
+ 4: (
+ x: ($spacer-x * 1.5),
+ y: ($spacer-y * 1.5)
+ ),
+ 5: (
+ x: ($spacer-x * 3),
+ y: ($spacer-y * 3)
)
) !default;
-$border-width: 1px !default;
-
+$border-width: 1px !default;
+
+// This variable affects the `.h-*` and `.w-*` classes.
+$sizes: (
+ 25: 25%,
+ 50: 50%,
+ 75: 75%,
+ 100: 100%
+) !default;
// Body
//
// Settings for the `` element.
-$body-bg: $color-body-bg !default;
-$body-color: $color-body-text !default;
+$body-bg: $color-body-bg !default;
+$body-color: $color-body-text !default;
+$inverse-bg: $gray-dark !default;
+$inverse-color: $gray-lighter !default;
// Links
@@ -101,21 +199,18 @@ $link-hover-decoration: none !default;
// Grid breakpoints
//
-// Define the minimum and maximum dimensions at which your layout will change,
+// Define the minimum dimensions at which your layout will change,
// adapting to different screen sizes, for use in media queries.
$grid-breakpoints: (
- // Extra small screen / phone
xs: 0,
- // Small screen / phone
- sm: 544px,
- // Medium screen / tablet
+ sm: 576px,
md: 768px,
- // Large screen / desktop
lg: 992px,
- // Extra large screen / wide desktop
xl: 1200px
) !default;
+@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
+@include _assert-starts-at-zero($grid-breakpoints);
// Grid containers
@@ -123,11 +218,12 @@ $grid-breakpoints: (
// Define the maximum width of `.container` for different screen sizes.
$container-max-widths: (
- sm: 576px,
+ sm: 540px,
md: 720px,
- lg: 960px, /* Changed to 960 from 940 to avoid fighting with skeleton */
+ lg: 960px,
xl: 1140px
) !default;
+@include _assert-ascending($container-max-widths, "$container-max-widths");
// Grid columns
@@ -135,70 +231,85 @@ $container-max-widths: (
// Set the number of columns and specify the width of the gutters.
$grid-columns: 12 !default;
-$grid-gutter-width: 1.875rem !default; // 30px
-
+$grid-gutter-width-base: 1.875rem !default;
+$grid-gutter-widths: (
+ xs: $grid-gutter-width-base,
+ sm: $grid-gutter-width-base,
+ md: $grid-gutter-width-base,
+ lg: $grid-gutter-width-base,
+ xl: $grid-gutter-width-base
+) !default;
-// Typography
+// Fonts
//
// Font, line-height, and color for body text, headings, and more.
-$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
-$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
-$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
-$font-family-base: $base-font-family !default;
+$font-family-sans-serif: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
+$font-family-serif: Georgia, "Times New Roman", Times, serif !default;
+$font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace !default;
+$font-family-base: $base-font-family !default;
-// Pixel value used to responsively scale all typography. Applied to the `` element.
-$font-size-root: $body-font-size !default;
+$font-size-root: $body-font-size !default;
+$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
+$font-size-lg: 1.25rem !default;
+$font-size-sm: .875rem !default;
+$font-size-xs: .75rem !default;
-$font-size-base: 1rem !default;
-$font-size-lg: 1.25rem !default;
-$font-size-sm: .875rem !default;
-$font-size-xs: .75rem !default;
+$font-weight-normal: normal !default;
+$font-weight-bold: bold !default;
-$font-size-h1: $h1-size !default;
-$font-size-h2: $h2-size !default;
-$font-size-h3: $h3-size !default;
-$font-size-h4: $h4-size !default;
-$font-size-h5: $h5-size !default;
-$font-size-h6: $h6-size !default;
+$font-weight-base: $font-weight-normal !default;
+$line-height-base: 1.5 !default;
-$display1-size: 6rem !default;
-$display2-size: 5.5rem !default;
-$display3-size: 4.5rem !default;
-$display4-size: 3.5rem !default;
+$font-size-h1: $h1-size !default;
+$font-size-h2: $h2-size !default;
+$font-size-h3: $h3-size !default;
+$font-size-h4: $h4-size !default;
+$font-size-h5: $h5-size !default;
+$font-size-h6: $h6-size !default;
-$display1-weight: 300 !default;
-$display2-weight: 300 !default;
-$display3-weight: 300 !default;
-$display4-weight: 300 !default;
+$headings-margin-bottom: ($spacer / 2) !default;
+$headings-font-family: inherit !default;
+$headings-font-weight: $font-weight-bold !default;
+$headings-line-height: 1.1 !default;
+$headings-color: $color-headers !default;
-$line-height: 1.5 !default;
+$display1-size: 6rem !default;
+$display2-size: 5.5rem !default;
+$display3-size: 4.5rem !default;
+$display4-size: 3.5rem !default;
-$headings-margin-bottom: ($spacer / 2) !default;
-$headings-font-family: inherit !default;
-$headings-font-weight: $font-weight-bold !default;
-$headings-line-height: 1.1 !default;
-$headings-color: $color-headers !default;
+$display1-weight: 300 !default;
+$display2-weight: 300 !default;
+$display3-weight: 300 !default;
+$display4-weight: 300 !default;
+$display-line-height: $headings-line-height !default;
-$lead-font-size: 1.25rem !default;
-$lead-font-weight: 300 !default;
+$lead-font-size: 1.25rem !default;
+$lead-font-weight: 300 !default;
-$text-muted: $gray-light !default;
+$small-font-size: 80% !default;
-$abbr-border-color: $gray-light !default;
+$text-muted: $gray-light !default;
-$blockquote-small-color: $gray-light !default;
-$blockquote-font-size: ($font-size-base * 1.25) !default;
-$blockquote-border-color: $gray-lighter !default;
+$abbr-border-color: $gray-light !default;
-$hr-border-color: rgba(0,0,0,.1) !default;
-$hr-border-width: $border-width !default;
+$blockquote-small-color: $gray-light !default;
+$blockquote-font-size: ($font-size-base * 1.25) !default;
+$blockquote-border-color: $gray-lighter !default;
+$blockquote-border-width: .25rem !default;
-$dt-font-weight: bold !default;
+$hr-border-color: rgba($black,.1) !default;
+$hr-border-width: $border-width !default;
-$nested-kbd-font-weight: bold !default;
+$mark-padding: .2em !default;
-$list-inline-padding: 5px !default;
+$dt-font-weight: $font-weight-bold !default;
+
+$kbd-box-shadow: inset 0 -.1rem 0 rgba($black,.25) !default;
+$nested-kbd-font-weight: $font-weight-bold !default;
+
+$list-inline-padding: 5px !default;
// Components
@@ -212,11 +323,14 @@ $border-radius: 3px !default;
$border-radius-lg: .3rem !default;
$border-radius-sm: .2rem !default;
-$component-active-color: #fff !default;
+$component-active-color: $white !default;
$component-active-bg: $brand-primary !default;
$caret-width: .3em !default;
-$caret-width-lg: $caret-width !default;
+
+$transition-base: all .2s ease-in-out !default;
+$transition-fade: opacity .15s linear !default;
+$transition-collapse: height .35s ease !default;
// Tables
@@ -227,10 +341,17 @@ $table-cell-padding: .75rem !default;
$table-sm-cell-padding: .3rem !default;
$table-bg: transparent !default;
-$table-bg-accent: #f9f9f9 !default;
-$table-bg-hover: #f5f5f5 !default;
+
+$table-inverse-bg: $gray-dark !default;
+$table-inverse-color: $body-bg !default;
+
+$table-bg-accent: rgba($black,.05) !default;
+$table-bg-hover: rgba($black,.075) !default;
$table-bg-active: $table-bg-hover !default;
+$table-head-bg: $gray-lighter !default;
+$table-head-color: $gray !default;
+
$table-border-width: $border-width !default;
$table-border-color: $gray-lighter !default;
@@ -240,79 +361,103 @@ $table-border-color: $gray-lighter !default;
// For each of Bootstrap's buttons, define text, background and border color.
$btn-padding-x: 1rem !default;
-$btn-padding-y: .375rem !default;
-$btn-font-weight: normal !default;
-
-$btn-primary-color: #fff !default;
+$btn-padding-y: .5rem !default;
+$btn-line-height: 1.25 !default;
+$btn-font-weight: $font-weight-normal !default;
+$btn-box-shadow: inset 0 1px 0 rgba($white,.15), 0 1px 1px rgba($black,.075) !default;
+$btn-focus-box-shadow: 0 0 0 2px rgba($brand-primary, .25) !default;
+$btn-active-box-shadow: inset 0 3px 5px rgba($black,.125) !default;
+
+$btn-primary-color: $white !default;
$btn-primary-bg: $brand-primary !default;
$btn-primary-border: $btn-primary-bg !default;
$btn-secondary-color: $gray-dark !default;
-$btn-secondary-bg: #fff !default;
+$btn-secondary-bg: $white !default;
$btn-secondary-border: #ccc !default;
-$btn-info-color: #fff !default;
+$btn-info-color: $white !default;
$btn-info-bg: $brand-info !default;
$btn-info-border: $btn-info-bg !default;
-$btn-success-color: #fff !default;
+$btn-success-color: $white !default;
$btn-success-bg: $brand-success !default;
$btn-success-border: $btn-success-bg !default;
-$btn-warning-color: #fff !default;
+$btn-warning-color: $white !default;
$btn-warning-bg: $brand-warning !default;
$btn-warning-border: $btn-warning-bg !default;
-$btn-danger-color: #fff !default;
+$btn-danger-color: $white !default;
$btn-danger-bg: $brand-danger !default;
$btn-danger-border: $btn-danger-bg !default;
$btn-link-disabled-color: $gray-light !default;
-$btn-padding-x-sm: .75rem !default;
+$btn-padding-x-sm: .5rem !default;
$btn-padding-y-sm: .25rem !default;
-$btn-padding-x-lg: 1.25rem !default;
+$btn-padding-x-lg: 1.5rem !default;
$btn-padding-y-lg: .75rem !default;
+$btn-block-spacing-y: .5rem !default;
+$btn-toolbar-margin: .5rem !default;
+
// Allows for customizing button radius independently from global border radius
$btn-border-radius: $border-radius !default;
$btn-border-radius-lg: $border-radius-lg !default;
$btn-border-radius-sm: $border-radius-sm !default;
+$btn-transition: all .2s ease-in-out !default;
+
// Forms
$input-padding-x: .75rem !default;
-$input-padding-y: .375rem !default;
+$input-padding-y: .5rem !default;
+$input-line-height: 1.25 !default;
-$input-bg: #fff !default;
+$input-bg: $white !default;
$input-bg-disabled: $gray-lighter !default;
$input-color: $color-txt-text !default;
$input-border-color: $color-txt-brd !default;
$input-btn-border-width: $border-width !default; // For form controls and buttons
-$input-box-shadow: inset 0 1px 1px rgba(0,0,0,.075) !default;
+$input-box-shadow: inset 0 1px 1px rgba($black,.075) !default;
$input-border-radius: $border-radius !default;
$input-border-radius-lg: $border-radius-lg !default;
$input-border-radius-sm: $border-radius-sm !default;
+$input-bg-focus: $input-bg !default;
$input-border-focus: $color-txt-hover-brd !default;
-$input-box-shadow-focus: rgba(102,175,233,.6) !default;
+$input-box-shadow-focus: $input-box-shadow, rgba($input-border-focus, .6) !default;
+$input-color-focus: $input-color !default;
-$input-color-placeholder: #999 !default;
+$input-color-placeholder: $gray-light !default;
-$input-padding-x-sm: .75rem !default;
-$input-padding-y-sm: .275rem !default;
+$input-padding-x-sm: .5rem !default;
+$input-padding-y-sm: .25rem !default;
-$input-padding-x-lg: 1.25rem !default;
+$input-padding-x-lg: 1.5rem !default;
$input-padding-y-lg: .75rem !default;
-$input-height: (($font-size-base * $line-height) + ($input-padding-y * 2)) !default;
+$input-height: (($font-size-base * $input-line-height) + ($input-padding-y * 2)) !default;
$input-height-lg: (($font-size-lg * $line-height-lg) + ($input-padding-y-lg * 2)) !default;
$input-height-sm: (($font-size-sm * $line-height-sm) + ($input-padding-y-sm * 2)) !default;
+$input-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s !default;
+
+$form-text-margin-top: .25rem !default;
+$form-feedback-margin-top: $form-text-margin-top !default;
+
+$form-check-margin-bottom: .5rem !default;
+$form-check-input-gutter: 1.25rem !default;
+$form-check-input-margin-y: .25rem !default;
+$form-check-input-margin-x: .25rem !default;
+
+$form-check-inline-margin-x: .75rem !default;
+
$form-group-margin-bottom: $spacer-y !default;
$input-group-addon-bg: $gray-lighter !default;
@@ -320,20 +465,110 @@ $input-group-addon-border-color: $input-border-color !default;
$cursor-disabled: not-allowed !default;
+$custom-control-gutter: 1.5rem !default;
+$custom-control-spacer-x: 1rem !default;
+$custom-control-spacer-y: .25rem !default;
+
+$custom-control-indicator-size: 1rem !default;
+$custom-control-indicator-margin-y: (($line-height-base * 1rem) - $custom-control-indicator-size) / -2 !default;
+$custom-control-indicator-bg: #ddd !default;
+$custom-control-indicator-bg-size: 50% 50% !default;
+$custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black,.1) !default;
+
+$custom-control-disabled-cursor: $cursor-disabled !default;
+$custom-control-disabled-indicator-bg: $gray-lighter !default;
+$custom-control-disabled-description-color: $gray-light !default;
+
+$custom-control-checked-indicator-color: $white !default;
+$custom-control-checked-indicator-bg: $brand-primary !default;
+$custom-control-checked-indicator-box-shadow: none !default;
+
+$custom-control-focus-indicator-box-shadow: 0 0 0 1px $body-bg, 0 0 0 3px $brand-primary !default;
+
+$custom-control-active-indicator-color: $white !default;
+$custom-control-active-indicator-bg: lighten($brand-primary, 35%) !default;
+$custom-control-active-indicator-box-shadow: none !default;
+
+$custom-checkbox-radius: $border-radius !default;
+$custom-checkbox-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-checked-indicator-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$custom-checkbox-indeterminate-bg: $brand-primary !default;
+$custom-checkbox-indeterminate-indicator-color: $custom-control-checked-indicator-color !default;
+$custom-checkbox-indeterminate-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indeterminate-indicator-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
+$custom-checkbox-indeterminate-box-shadow: none !default;
+
+$custom-radio-radius: 50% !default;
+$custom-radio-checked-icon: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-checked-indicator-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$custom-select-padding-x: .75rem !default;
+$custom-select-padding-y: .375rem !default;
+$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
+$custom-select-line-height: $input-line-height !default;
+$custom-select-color: $input-color !default;
+$custom-select-disabled-color: $gray-light !default;
+$custom-select-bg: $white !default;
+$custom-select-disabled-bg: $gray-lighter !default;
+$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
+$custom-select-indicator-color: #333 !default;
+$custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
+$custom-select-border-width: $input-btn-border-width !default;
+$custom-select-border-color: $input-border-color !default;
+$custom-select-border-radius: $border-radius !default;
+
+$custom-select-focus-border-color: lighten($brand-primary, 25%) !default;
+$custom-select-focus-box-shadow: inset 0 1px 2px rgba($black, .075), 0 0 5px rgba($custom-select-focus-border-color, .5) !default;
+
+$custom-select-sm-padding-y: .2rem !default;
+$custom-select-sm-font-size: 75% !default;
+
+$custom-file-height: 2.5rem !default;
+$custom-file-width: 14rem !default;
+$custom-file-focus-box-shadow: 0 0 0 .075rem $white, 0 0 0 .2rem $brand-primary !default;
+
+$custom-file-padding-x: .5rem !default;
+$custom-file-padding-y: 1rem !default;
+$custom-file-line-height: 1.5 !default;
+$custom-file-color: $gray !default;
+$custom-file-bg: $white !default;
+$custom-file-border-width: $border-width !default;
+$custom-file-border-color: $input-border-color !default;
+$custom-file-border-radius: $border-radius !default;
+$custom-file-box-shadow: inset 0 .2rem .4rem rgba($black,.05) !default;
+$custom-file-button-color: $custom-file-color !default;
+$custom-file-button-bg: $gray-lighter !default;
+$custom-file-text: (
+ placeholder: (
+ en: "Choose file..."
+ ),
+ button-label: (
+ en: "Browse"
+ )
+) !default;
+
+
// Form validation icons
-$form-icon-success: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjNWNiODVjIiBkPSJNMjMzLjggNjEwYy0xMy4zIDAtMjYtNi0zNC0xNi44TDkwLjUgNDQ4LjhDNzYuMyA0MzAgODAgNDAzLjMgOTguOCAzODljMTguOC0xNC4yIDQ1LjUtMTAuNCA1OS44IDguNGw3MiA5NUw0NTEuMyAyNDJjMTIuNS0yMCAzOC44LTI2LjIgNTguOC0xMy43IDIwIDEyLjQgMjYgMzguNyAxMy43IDU4LjhMMjcwIDU5MGMtNy40IDEyLTIwLjIgMTkuNC0zNC4zIDIwaC0yeiIvPjwvc3ZnPg==" !default;
-$form-icon-warning: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZjBhZDRlIiBkPSJNNjAzIDY0MC4ybC0yNzguNS01MDljLTMuOC02LjYtMTAuOC0xMC42LTE4LjUtMTAuNnMtMTQuNyA0LTE4LjUgMTAuNkw5IDY0MC4yYy0zLjcgNi41LTMuNiAxNC40LjIgMjAuOCAzLjggNi41IDEwLjggMTAuNCAxOC4zIDEwLjRoNTU3YzcuNiAwIDE0LjYtNCAxOC40LTEwLjQgMy41LTYuNCAzLjYtMTQuNCAwLTIwLjh6bS0yNjYuNC0zMGgtNjEuMlY1NDloNjEuMnY2MS4yem0wLTEwN2gtNjEuMlYzMDRoNjEuMnYxOTl6Ii8+PC9zdmc+" !default;
-$form-icon-danger: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MTIgNzkyIj48cGF0aCBmaWxsPSIjZDk1MzRmIiBkPSJNNDQ3IDU0NC40Yy0xNC40IDE0LjQtMzcuNiAxNC40LTUyIDBsLTg5LTkyLjctODkgOTIuN2MtMTQuNSAxNC40LTM3LjcgMTQuNC01MiAwLTE0LjQtMTQuNC0xNC40LTM3LjYgMC01Mmw5Mi40LTk2LjMtOTIuNC05Ni4zYy0xNC40LTE0LjQtMTQuNC0zNy42IDAtNTJzMzcuNi0xNC4zIDUyIDBsODkgOTIuOCA4OS4yLTkyLjdjMTQuNC0xNC40IDM3LjYtMTQuNCA1MiAwIDE0LjMgMTQuNCAxNC4zIDM3LjYgMCA1MkwzNTQuNiAzOTZsOTIuNCA5Ni40YzE0LjQgMTQuNCAxNC40IDM3LjYgMCA1MnoiLz48L3N2Zz4=" !default;
+$form-icon-success-color: $brand-success !default;
+$form-icon-success: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-success-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$form-icon-warning-color: $brand-warning !default;
+$form-icon-warning: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$form-icon-warning-color}' d='M4.4 5.324h-.8v-2.46h.8zm0 1.42h-.8V5.89h.8zM3.76.63L.04 7.075c-.115.2.016.425.26.426h7.397c.242 0 .372-.226.258-.426C6.726 4.924 5.47 2.79 4.253.63c-.113-.174-.39-.174-.494 0z'/%3E%3C/svg%3E"), "#", "%23") !default;
+
+$form-icon-danger-color: $brand-danger !default;
+$form-icon-danger: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-icon-danger-color}' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E"), "#", "%23") !default;
// Dropdowns
//
// Dropdown menu container and contents.
-$dropdown-bg: #fff !default;
-$dropdown-border-color: rgba(0,0,0,.15) !default;
+$dropdown-min-width: 10rem !default;
+$dropdown-padding-y: .5rem !default;
+$dropdown-margin-top: .125rem !default;
+$dropdown-bg: $white !default;
+$dropdown-border-color: rgba($black,.15) !default;
$dropdown-border-width: $border-width !default;
-$dropdown-divider-bg: #e5e5e5 !default;
+$dropdown-divider-bg: $gray-lighter !default;
+$dropdown-box-shadow: 0 .5rem 1rem rgba($black,.175) !default;
$dropdown-link-color: $gray-dark !default;
$dropdown-link-hover-color: #fff !default;
@@ -344,6 +579,8 @@ $dropdown-link-active-bg: $component-active-bg !default;
$dropdown-link-disabled-color: $gray-light !default;
+$dropdown-item-padding-x: 1.5rem !default;
+
$dropdown-header-color: $gray-light !default;
@@ -352,70 +589,79 @@ $dropdown-header-color: $gray-light !default;
// Warning: Avoid customizing these values. They're used for a bird's eye view
// of components dependent on the z-axis and are designed to all work together.
-$zindex-navbar: 1000 !default;
-$zindex-dropdown: 1000 !default;
-$zindex-popover: 1060 !default;
-$zindex-tooltip: 1070 !default;
-$zindex-navbar-fixed: 1030 !default;
-$zindex-navbar-sticky: 1030 !default;
-$zindex-modal-bg: 1040 !default;
-$zindex-modal: 1050 !default;
+$zindex-dropdown-backdrop: 990 !default;
+$zindex-navbar: 1000 !default;
+$zindex-dropdown: 1000 !default;
+$zindex-fixed: 1030 !default;
+$zindex-sticky: 1030 !default;
+$zindex-modal-backdrop: 1040 !default;
+$zindex-modal: 1050 !default;
+$zindex-popover: 1060 !default;
+$zindex-tooltip: 1070 !default;
// Navbar
$navbar-border-radius: $border-radius !default;
-$navbar-padding-horizontal: $spacer !default;
-$navbar-padding-vertical: ($spacer / 2) !default;
-
-$navbar-dark-color: rgba(255,255,255,.5) !default;
-$navbar-dark-hover-color: rgba(255,255,255,.75) !default;
-$navbar-dark-active-color: rgba(255,255,255,1) !default;
-$navbar-dark-disabled-color: rgba(255,255,255,.25) !default;
-
-$navbar-light-color: rgba(0,0,0,.3) !default;
-$navbar-light-hover-color: rgba(0,0,0,.6) !default;
-$navbar-light-active-color: rgba(0,0,0,.8) !default;
-$navbar-light-disabled-color: rgba(0,0,0,.15) !default;
-
+$navbar-padding-x: $spacer !default;
+$navbar-padding-y: ($spacer / 2) !default;
+
+$navbar-brand-padding-y: .25rem !default;
+
+$navbar-toggler-padding-x: .75rem !default;
+$navbar-toggler-padding-y: .25rem !default;
+$navbar-toggler-font-size: $font-size-lg !default;
+$navbar-toggler-border-radius: $btn-border-radius !default;
+
+$navbar-inverse-color: rgba($white,.5) !default;
+$navbar-inverse-hover-color: rgba($white,.75) !default;
+$navbar-inverse-active-color: rgba($white,1) !default;
+$navbar-inverse-disabled-color: rgba($white,.25) !default;
+$navbar-inverse-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-inverse-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-inverse-toggler-border: rgba($white,.1) !default;
+
+$navbar-light-color: rgba($black,.5) !default;
+$navbar-light-hover-color: rgba($black,.7) !default;
+$navbar-light-active-color: rgba($black,.9) !default;
+$navbar-light-disabled-color: rgba($black,.3) !default;
+$navbar-light-toggler-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"), "#", "%23") !default;
+$navbar-light-toggler-border: rgba($black,.1) !default;
// Navs
-$nav-link-padding: .5em 1em !default;
-$nav-link-hover-bg: $gray-lighter !default;
-
-$nav-disabled-link-color: $gray-light !default;
-$nav-disabled-link-hover-color: $gray-light !default;
-
-$nav-tabs-border-color: #ddd !default;
-
-$nav-tabs-link-border-width: $border-width !default;
-$nav-tabs-link-hover-border-color: $gray-lighter !default;
-
-$nav-tabs-active-link-hover-bg: $body-bg !default;
-$nav-tabs-active-link-hover-color: $gray !default;
-$nav-tabs-active-link-hover-border-color: #ddd !default;
+$nav-item-margin: .2rem !default;
+$nav-item-inline-spacer: 1rem !default;
+$nav-link-padding: .5em 1em !default;
+$nav-link-hover-bg: $gray-lighter !default;
+$nav-disabled-link-color: $gray-light !default;
-$nav-tabs-justified-link-border-color: #ddd !default;
-$nav-tabs-justified-active-link-border-color: $body-bg !default;
+$nav-tabs-border-color: #ddd !default;
+$nav-tabs-border-width: $border-width !default;
+$nav-tabs-border-radius: $border-radius !default;
+$nav-tabs-link-hover-border-color: $gray-lighter !default;
+$nav-tabs-active-link-hover-color: $gray !default;
+$nav-tabs-active-link-hover-bg: $body-bg !default;
+$nav-tabs-active-link-hover-border-color: #ddd !default;
+$nav-tabs-justified-link-border-color: #ddd !default;
+$nav-tabs-justified-active-link-border-color: $body-bg !default;
-$nav-pills-border-radius: $border-radius !default;
-$nav-pills-active-link-hover-bg: $component-active-bg !default;
-$nav-pills-active-link-hover-color: $component-active-color !default;
+$nav-pills-border-radius: $border-radius !default;
+$nav-pills-active-link-color: $component-active-color !default;
+$nav-pills-active-link-bg: $component-active-bg !default;
// Pagination
$pagination-padding-x: .75rem !default;
$pagination-padding-y: .5rem !default;
-$pagination-padding-x-sm: .75rem !default;
-$pagination-padding-y-sm: .275rem !default;
+$pagination-padding-x-sm: .5rem !default;
+$pagination-padding-y-sm: .25rem !default;
$pagination-padding-x-lg: 1.5rem !default;
$pagination-padding-y-lg: .75rem !default;
-
+$pagination-line-height: 1.25 !default;
$pagination-color: $link-color !default;
-$pagination-bg: #fff !default;
+$pagination-bg: $white !default;
$pagination-border-width: $border-width !default;
$pagination-border-color: #ddd !default;
@@ -423,30 +669,15 @@ $pagination-hover-color: $link-hover-color !default;
$pagination-hover-bg: $gray-lighter !default;
$pagination-hover-border: #ddd !default;
-$pagination-active-color: #fff !default;
+$pagination-active-color: $white !default;
$pagination-active-bg: $brand-primary !default;
$pagination-active-border: $brand-primary !default;
$pagination-disabled-color: $gray-light !default;
-$pagination-disabled-bg: #fff !default;
+$pagination-disabled-bg: $white !default;
$pagination-disabled-border: #ddd !default;
-// Pager
-
-$pager-bg: $pagination-bg !default;
-$pager-border-width: $border-width !default;
-$pager-border-color: $pagination-border-color !default;
-$pager-border-radius: 15px !default;
-
-$pager-hover-bg: $pagination-hover-bg !default;
-
-$pager-active-bg: $pagination-active-bg !default;
-$pager-active-color: $pagination-active-color !default;
-
-$pager-disabled-color: $pagination-disabled-color !default;
-
-
// Jumbotron
$jumbotron-padding: 2rem !default;
@@ -467,6 +698,7 @@ $state-info-border: darken($state-info-bg, 7%) !default;
$state-warning-text: #8a6d3b !default;
$state-warning-bg: #fcf8e3 !default;
+$mark-bg: $state-warning-bg !default;
$state-warning-border: darken($state-warning-bg, 5%) !default;
$state-danger-text: #a94442 !default;
@@ -475,24 +707,36 @@ $state-danger-border: darken($state-danger-bg, 5%) !default;
// Cards
+
$card-spacer-x: 1.25rem !default;
$card-spacer-y: .75rem !default;
$card-border-width: 1px !default;
$card-border-radius: $border-radius !default;
-$card-border-color: #e5e5e5 !default;
-$card-border-radius-inner: $card-border-radius !default;
-$card-cap-bg: #f5f5f5 !default;
-$card-bg: #fff !default;
+$card-border-color: rgba($black,.125) !default;
+$card-border-radius-inner: calc(#{$card-border-radius} - #{$card-border-width}) !default;
+$card-cap-bg: $gray-lightest !default;
+$card-bg: $white !default;
+
+$card-link-hover-color: $white !default;
+
+$card-img-overlay-padding: 1.25rem !default;
+
+$card-deck-margin: ($grid-gutter-width-base / 2) !default;
-$card-link-hover-color: #fff !default;
+$card-columns-count: 3 !default;
+$card-columns-gap: 1.25rem !default;
+$card-columns-margin: $card-spacer-y !default;
// Tooltips
$tooltip-max-width: 200px !default;
-$tooltip-color: #fff !default;
-$tooltip-bg: #000 !default;
+$tooltip-color: $white !default;
+$tooltip-bg: $black !default;
$tooltip-opacity: .9 !default;
+$tooltip-padding-y: 3px !default;
+$tooltip-padding-x: 8px !default;
+$tooltip-margin: 3px !default;
$tooltip-arrow-width: 5px !default;
$tooltip-arrow-color: $tooltip-bg !default;
@@ -500,32 +744,47 @@ $tooltip-arrow-color: $tooltip-bg !default;
// Popovers
-$popover-bg: #fff !default;
+$popover-inner-padding: 1px !default;
+$popover-bg: $white !default;
$popover-max-width: 276px !default;
$popover-border-width: $border-width !default;
-$popover-border-color: rgba(0,0,0,.2) !default;
+$popover-border-color: rgba($black,.2) !default;
+$popover-box-shadow: 0 5px 10px rgba($black,.2) !default;
$popover-title-bg: darken($popover-bg, 3%) !default;
+$popover-title-padding-x: 14px !default;
+$popover-title-padding-y: 8px !default;
+
+$popover-content-padding-x: 14px !default;
+$popover-content-padding-y: 9px !default;
$popover-arrow-width: 10px !default;
$popover-arrow-color: $popover-bg !default;
-$popover-arrow-outer-width: ($popover-arrow-width + 1) !default;
-$popover-arrow-outer-color: fade-in($popover-border-color, 0.05) !default;
+$popover-arrow-outer-width: ($popover-arrow-width + 1px) !default;
+$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
+
+// Badges
-// Labels
+$badge-default-bg: $color-7 !default;
+$badge-primary-bg: $brand-primary !default;
+$badge-success-bg: $brand-success !default;
+$badge-info-bg: $brand-info !default;
+$badge-warning-bg: $brand-warning !default;
+$badge-danger-bg: $brand-danger !default;
-$label-default-bg: $color-7 !default;
-$label-primary-bg: $brand-primary !default;
-$label-success-bg: $brand-success !default;
-$label-info-bg: $brand-info !default;
-$label-warning-bg: $brand-warning !default;
-$label-danger-bg: $brand-danger !default;
+$badge-color: $white !default;
+$badge-link-hover-color: $white !default;
+$badge-font-size: 75% !default;
+$badge-font-weight: $font-weight-bold !default;
+$badge-padding-x: .4em !default;
+$badge-padding-y: .25em !default;
-$label-color: #fff !default;
-$label-link-hover-color: #fff !default;
-$label-font-weight: bold !default;
+$badge-pill-padding-x: .6em !default;
+// Use a higher than normal value to ensure completely rounded edges when
+// customizing padding or font-size on labels.
+$badge-pill-border-radius: 10rem !default;
// Modals
@@ -533,29 +792,41 @@ $label-font-weight: bold !default;
// Padding applied to the modal body
$modal-inner-padding: 15px !default;
-$modal-title-padding: 15px !default;
-$modal-title-line-height: $line-height !default;
+$modal-dialog-margin: 10px !default;
+$modal-dialog-sm-up-margin-y: 30px !default;
+
+$modal-title-line-height: $line-height-base !default;
-$modal-content-bg: #fff !default;
-$modal-content-border-color: rgba(0,0,0,.2) !default;
+$modal-content-bg: $white !default;
+$modal-content-border-color: rgba($black,.2) !default;
+$modal-content-border-width: $border-width !default;
+$modal-content-xs-box-shadow: 0 3px 9px rgba($black,.5) !default;
+$modal-content-sm-up-box-shadow: 0 5px 15px rgba($black,.5) !default;
-$modal-backdrop-bg: #000 !default;
+$modal-backdrop-bg: $black !default;
$modal-backdrop-opacity: .5 !default;
-$modal-header-border-color: #e5e5e5 !default;
+$modal-header-border-color: $gray-lighter !default;
$modal-footer-border-color: $modal-header-border-color !default;
+$modal-header-border-width: $modal-content-border-width !default;
+$modal-footer-border-width: $modal-header-border-width !default;
+$modal-header-padding: 15px !default;
-$modal-lg: 900px !default;
-$modal-md: 600px !default;
+$modal-lg: 800px !default;
+$modal-md: 500px !default;
$modal-sm: 300px !default;
+$modal-transition: transform .3s ease-out !default;
+
// Alerts
//
// Define alert colors, border radius, and padding.
-$alert-padding: 15px !default;
+$alert-padding-x: 1.25rem !default;
+$alert-padding-y: .75rem !default;
+$alert-margin-bottom: $spacer-y !default;
$alert-border-radius: $border-radius !default;
-$alert-link-font-weight: bold !default;
+$alert-link-font-weight: $font-weight-bold !default;
$alert-border-width: $border-width !default;
$alert-success-bg: $state-success-bg !default;
@@ -577,37 +848,42 @@ $alert-danger-border: $state-danger-border !default;
// Progress bars
-$progress-bg: #f5f5f5 !default;
-$progress-bar-color: #fff !default;
-$progress-border-radius: $border-radius !default;
-
-$progress-bar-bg: $brand-primary !default;
-$progress-bar-success-bg: $brand-success !default;
-$progress-bar-warning-bg: $brand-warning !default;
-$progress-bar-danger-bg: $brand-danger !default;
-$progress-bar-info-bg: $brand-info !default;
-
+$progress-height: 1rem !default;
+$progress-font-size: .75rem !default;
+$progress-bg: $gray-lighter !default;
+$progress-border-radius: $border-radius !default;
+$progress-box-shadow: inset 0 .1rem .1rem rgba($black,.1) !default;
+$progress-bar-color: $white !default;
+$progress-bar-bg: $brand-primary !default;
+$progress-bar-animation-timing: 1s linear infinite !default;
// List group
-$list-group-bg: #fff !default;
-$list-group-border-color: #ddd !default;
-$list-group-border-width: $border-width !default;
-$list-group-border-radius: $border-radius !default;
+$list-group-color: $body-color !default;
+$list-group-bg: $white !default;
+$list-group-border-color: rgba($black,.125) !default;
+$list-group-border-width: $border-width !default;
+$list-group-border-radius: $border-radius !default;
+
+$list-group-item-padding-x: 1.25rem !default;
+$list-group-item-padding-y: .75rem !default;
-$list-group-hover-bg: #f5f5f5 !default;
-$list-group-active-color: $component-active-color !default;
-$list-group-active-bg: $component-active-bg !default;
-$list-group-active-border: $list-group-active-bg !default;
-$list-group-active-text-color: lighten($list-group-active-bg, 40%) !default;
+$list-group-hover-bg: $gray-lightest !default;
+$list-group-active-color: $component-active-color !default;
+$list-group-active-bg: $component-active-bg !default;
+$list-group-active-border: $list-group-active-bg !default;
+$list-group-active-text-color: lighten($list-group-active-bg, 50%) !default;
$list-group-disabled-color: $gray-light !default;
-$list-group-disabled-bg: $gray-lighter !default;
+$list-group-disabled-bg: $list-group-bg !default;
$list-group-disabled-text-color: $list-group-disabled-color !default;
-$list-group-link-color: #555 !default;
-$list-group-link-hover-color: $list-group-link-color !default;
-$list-group-link-heading-color: #333 !default;
+$list-group-link-color: $gray !default;
+$list-group-link-heading-color: $gray-dark !default;
+$list-group-link-hover-color: $list-group-link-color !default;
+
+$list-group-link-active-color: $list-group-color !default;
+$list-group-link-active-bg: $gray-lighter !default;
// Image thumbnails
@@ -617,14 +893,23 @@ $thumbnail-bg: $body-bg !default;
$thumbnail-border-width: $border-width !default;
$thumbnail-border-color: #ddd !default;
$thumbnail-border-radius: $border-radius !default;
+$thumbnail-box-shadow: 0 1px 2px rgba($black,.075) !default;
+$thumbnail-transition: all .2s ease-in-out !default;
+
+
+// Figures
+
+$figure-caption-font-size: 90% !default;
+$figure-caption-color: $gray-light !default;
// Breadcrumbs
-$breadcrumb-padding-vertical: .75rem !default;
-$breadcrumb-padding-horizontal: 1rem !default;
+$breadcrumb-padding-y: .75rem !default;
+$breadcrumb-padding-x: 1rem !default;
+$breadcrumb-item-padding: .5rem !default;
-$breadcrumb-bg: none !default;
+$breadcrumb-bg: transparent !default;
$breadcrumb-divider-color: $gray-light !default;
$breadcrumb-active-color: $color-4 !default;
$breadcrumb-divider: "/" !default;
@@ -632,35 +917,46 @@ $breadcrumb-divider: "/" !default;
// Carousel
-$carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
-
-$carousel-control-color: #fff !default;
+$carousel-control-color: $white !default;
$carousel-control-width: 15% !default;
$carousel-control-opacity: .5 !default;
-$carousel-control-font-size: 20px !default;
-$carousel-indicator-active-bg: #fff !default;
-$carousel-indicator-border-color: #fff !default;
+$carousel-indicator-width: 30px !default;
+$carousel-indicator-height: 3px !default;
+$carousel-indicator-spacer: 3px !default;
+$carousel-indicator-active-bg: $white !default;
+
+$carousel-caption-width: 70% !default;
+$carousel-caption-color: $white !default;
+
+$carousel-control-icon-width: 20px !default;
+
+$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M4 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
+$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
-$carousel-caption-color: #fff !default;
+$carousel-transition: transform .6s ease-in-out !default;
// Close
-$close-font-weight: bold !default;
-$close-color: #000 !default;
-$close-text-shadow: 0 1px 0 #fff !default;
+$close-font-size: $font-size-base * 1.5 !default;
+$close-font-weight: $font-weight-bold !default;
+$close-color: $black !default;
+$close-text-shadow: 0 1px 0 $white !default;
// Code
+$code-font-size: 90% !default;
+$code-padding-x: .4rem !default;
+$code-padding-y: .2rem !default;
$code-color: #bd4147 !default;
-$code-bg: #f7f7f9 !default;
+$code-bg: $gray-lightest !default;
-$kbd-color: #fff !default;
-$kbd-bg: #333 !default;
+$kbd-color: $white !default;
+$kbd-bg: $gray-dark !default;
-$pre-bg: #f7f7f9 !default;
+$pre-bg: $gray-lightest !default;
$pre-color: $gray-dark !default;
$pre-border-color: #ccc !default;
$pre-scrollable-max-height: 340px !default;
diff --git a/backend/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss b/backend/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss
index 96e3f23db6a..eb1b0ce019e 100644
--- a/backend/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss
+++ b/backend/app/assets/stylesheets/spree/backend/components/_number_with_currency.scss
@@ -17,7 +17,7 @@
background: $input-bg;
select {
- @extend .c-select;
+ @extend .custom-select;
width: 100%;
height: $input-height;
diff --git a/backend/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss b/backend/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss
index 3916a852d07..35d950d7abb 100644
--- a/backend/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss
+++ b/backend/app/assets/stylesheets/spree/backend/plugins/_bootstrap_tooltip.scss
@@ -5,28 +5,28 @@
&.tooltip-top,
&.bs-tether-element-attached-bottom {
- .tooltip-arrow {
+ .tooltip-inner::before {
border-top-color: $color;
}
}
&.tooltip-right,
&.bs-tether-element-attached-left {
- .tooltip-arrow {
+ .tooltip-inner::before {
border-right-color: $color;
}
}
&.tooltip-bottom,
&.bs-tether-element-attached-top {
- .tooltip-arrow {
+ .tooltip-inner::before {
border-bottom-color: $color;
}
}
&.tooltip-left,
&.bs-tether-element-attached-right {
- .tooltip-arrow {
+ .tooltip-inner::before {
border-left-color: $color;
}
}
diff --git a/backend/app/assets/stylesheets/spree/backend/plugins/_select2.scss b/backend/app/assets/stylesheets/spree/backend/plugins/_select2.scss
index 2f9fe73204e..c85ebb5985a 100644
--- a/backend/app/assets/stylesheets/spree/backend/plugins/_select2.scss
+++ b/backend/app/assets/stylesheets/spree/backend/plugins/_select2.scss
@@ -11,7 +11,7 @@
b {
// Need to be !important to override media query select2 defaults
// Inline icon taken from bootstrap's custom-select class
- background: #fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center !important;
+ background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAMAAACzvE1FAAAADFBMVEUzMzMzMzMzMzMzMzMKAG/3AAAAA3RSTlMAf4C/aSLHAAAAPElEQVR42q3NMQ4AIAgEQTn//2cLdRKppSGzBYwzVXvznNWs8C58CiussPJj8h6NwgorrKRdTvuV9v16Afn0AYFOB7aYAAAAAElFTkSuQmCC) no-repeat right .75rem center !important;
background-size: 8px 10px !important;
}
}
@@ -49,7 +49,7 @@
}
.select2-search-choice {
- background: $label-default-bg;
+ background: $badge-default-bg;
border: 0;
margin: 2px 0 3px 5px; // adjust the margin to respect the adjusted line height
}
diff --git a/backend/app/assets/stylesheets/spree/backend/sections/_products.scss b/backend/app/assets/stylesheets/spree/backend/sections/_products.scss
index 9a8d248713b..950394a18b7 100644
--- a/backend/app/assets/stylesheets/spree/backend/sections/_products.scss
+++ b/backend/app/assets/stylesheets/spree/backend/sections/_products.scss
@@ -1,6 +1,6 @@
.product-search-field-show-deleted.field.checkbox {
// extra specificity to override styles
- @include make-col-span(2);
+ @include make-col(2);
min-height: initial; // override .field.checkbox
margin-bottom: 0; // override .checkbox
}
diff --git a/backend/app/assets/stylesheets/spree/backend/shared/_forms.scss b/backend/app/assets/stylesheets/spree/backend/shared/_forms.scss
index aa779442198..530582494f5 100644
--- a/backend/app/assets/stylesheets/spree/backend/shared/_forms.scss
+++ b/backend/app/assets/stylesheets/spree/backend/shared/_forms.scss
@@ -13,6 +13,8 @@ textarea {
border: $input-btn-border-width solid $input-border-color;
border-radius: $input-border-radius;
background: $input-bg;
+ font-size: $font-size-base;
+ line-height: $input-line-height;
&:focus {
border-color: $input-border-focus;
diff --git a/backend/app/assets/stylesheets/spree/backend/shared/_header.scss b/backend/app/assets/stylesheets/spree/backend/shared/_header.scss
index 26a61c839db..2150c641b77 100644
--- a/backend/app/assets/stylesheets/spree/backend/shared/_header.scss
+++ b/backend/app/assets/stylesheets/spree/backend/shared/_header.scss
@@ -1,7 +1,7 @@
.main-header {
display: flex;
align-items: center;
- padding: 15px $grid-gutter-width;
+ padding: 15px map-get($grid-gutter-widths, "xl");
background-color: very-light($color-3, 4);
border-bottom: 1px solid $color-border;
diff --git a/backend/app/assets/stylesheets/spree/backend/shared/_layout.scss b/backend/app/assets/stylesheets/spree/backend/shared/_layout.scss
index 01e3f80a709..8b883f8169c 100644
--- a/backend/app/assets/stylesheets/spree/backend/shared/_layout.scss
+++ b/backend/app/assets/stylesheets/spree/backend/shared/_layout.scss
@@ -27,7 +27,7 @@ body {
}
body.new-layout & {
- @include padding(1rem $grid-gutter-width null);
+ @include padding(1rem map-get($grid-gutter-widths, "xl") null);
}
&.centered {
@@ -36,23 +36,17 @@ body {
}
}
-.content {
- @include make-row();
-}
-
.content-main {
- @include make-col();
- @include make-col-span(12);
+ @include make-col(12);
overflow-x: hidden; // makes sure that the tabs are able to resize
.has-sidebar & {
- @include make-col-span(9);
+ @include make-col(9);
}
}
.content-sidebar {
- @include make-col();
- @include make-col-span(3);
+ @include make-col(3);
}
#content {
diff --git a/backend/app/assets/stylesheets/spree/backend/shared/_tables.scss b/backend/app/assets/stylesheets/spree/backend/shared/_tables.scss
index d8269840a8e..f278640c52b 100644
--- a/backend/app/assets/stylesheets/spree/backend/shared/_tables.scss
+++ b/backend/app/assets/stylesheets/spree/backend/shared/_tables.scss
@@ -1,6 +1,7 @@
table {
// Extend all tables with Bootstrap's default table style
@extend .table;
+ border-spacing: 0;
th, td {
border-right: 1px solid $color-border;
diff --git a/backend/app/assets/stylesheets/spree/backend/shared/_typography.scss b/backend/app/assets/stylesheets/spree/backend/shared/_typography.scss
index 15ec4d6c519..83593686d94 100644
--- a/backend/app/assets/stylesheets/spree/backend/shared/_typography.scss
+++ b/backend/app/assets/stylesheets/spree/backend/shared/_typography.scss
@@ -1,5 +1,10 @@
// Base
//--------------------------------------------------------------
+
+html {
+ font-size: $font-size-root;
+}
+
body {
padding: 0;
font-weight: 400;
diff --git a/backend/app/helpers/spree/admin/navigation_helper.rb b/backend/app/helpers/spree/admin/navigation_helper.rb
index b9e14935866..eb3e8db92ae 100644
--- a/backend/app/helpers/spree/admin/navigation_helper.rb
+++ b/backend/app/helpers/spree/admin/navigation_helper.rb
@@ -19,7 +19,7 @@ def render_admin_breadcrumbs
content_tag :ol, class: 'breadcrumb' do
safe_join admin_breadcrumbs.map { |level|
- content_tag(:li, level, class: "separator #{level == admin_breadcrumbs.last ? 'active' : ''}")
+ content_tag(:li, level, class: "breadcrumb-item #{level == admin_breadcrumbs.last ? 'active' : ''}")
}
end
end
diff --git a/backend/app/views/spree/admin/adjustment_reasons/index.html.erb b/backend/app/views/spree/admin/adjustment_reasons/index.html.erb
index 3975f847a29..c70ddec1821 100644
--- a/backend/app/views/spree/admin/adjustment_reasons/index.html.erb
+++ b/backend/app/views/spree/admin/adjustment_reasons/index.html.erb
@@ -43,7 +43,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::AdjustmentReason,
new_resource_url: new_object_url %>
diff --git a/backend/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb b/backend/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb
index c4baf5935aa..96529f90383 100644
--- a/backend/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb
+++ b/backend/app/views/spree/admin/adjustment_reasons/shared/_form.html.erb
@@ -1,5 +1,5 @@
-
+
<%= f.field_container :name do %>
<%= f.label :name, class: 'required' %>
<%= f.text_field :name, class: 'fullwidth' %>
diff --git a/backend/app/views/spree/admin/adjustments/_form.html.erb b/backend/app/views/spree/admin/adjustments/_form.html.erb
index 16e1f2114ec..3e9116760e8 100644
--- a/backend/app/views/spree/admin/adjustments/_form.html.erb
+++ b/backend/app/views/spree/admin/adjustments/_form.html.erb
@@ -1,7 +1,7 @@
-
+
<%= f.field_container :amount do %>
<%= f.label :amount, class: 'required' %>
<%= text_field :adjustment, :amount, class: 'fullwidth' %>
@@ -9,7 +9,7 @@
<% end %>
-
+
<%= f.field_container :label do %>
<%= f.label :label, class: 'required' %>
<%= text_field :adjustment, :label, class: 'fullwidth' %>
@@ -17,7 +17,7 @@
<% end %>
-
+
<%= f.field_container :label do %>
<%= f.label :adjustment_reason_id %>
<%= f.collection_select(:adjustment_reason_id, reasons_for(@adjustment), :id, :name, {include_blank: true}, {"data-placeholder" => Spree.t(:select_a_reason), class: 'select2 fullwidth'}) %>
diff --git a/backend/app/views/spree/admin/countries/_form.html.erb b/backend/app/views/spree/admin/countries/_form.html.erb
index f4e1d64e64a..69bb8def603 100644
--- a/backend/app/views/spree/admin/countries/_form.html.erb
+++ b/backend/app/views/spree/admin/countries/_form.html.erb
@@ -1,17 +1,17 @@
-
+
<%= f.label :name %>
<%= f.text_field :name, class: 'fullwidth' %>
-
+
<%= f.label :iso_name %>
<%= f.text_field :iso_name, class: 'fullwidth' %>
-
+
<%= f.check_box :states_required %>
diff --git a/backend/app/views/spree/admin/customer_returns/index.html.erb b/backend/app/views/spree/admin/customer_returns/index.html.erb
index 89e9c9c5f24..2dfe8e9aaef 100644
--- a/backend/app/views/spree/admin/customer_returns/index.html.erb
+++ b/backend/app/views/spree/admin/customer_returns/index.html.erb
@@ -44,7 +44,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::CustomerReturn,
new_resource_url: new_object_url %>
diff --git a/backend/app/views/spree/admin/customer_returns/new.html.erb b/backend/app/views/spree/admin/customer_returns/new.html.erb
index 28d631269f5..fb908e9157a 100644
--- a/backend/app/views/spree/admin/customer_returns/new.html.erb
+++ b/backend/app/views/spree/admin/customer_returns/new.html.erb
@@ -18,7 +18,7 @@
<% if @rma_return_items.any? %>
<%= render partial: 'return_item_selection', locals: {f: f, return_items: @rma_return_items} %>
<% else %>
-
<%= Spree.t(:none) %>
+
<%= Spree.t(:none) %>
<% end %>
@@ -27,7 +27,7 @@
<% if @new_return_items.any? %>
<%= render partial: 'return_item_selection', locals: {f: f, return_items: @new_return_items} %>
<% else %>
-
<%= Spree.t(:none) %>
+
<%= Spree.t(:none) %>
<% end %>
@@ -48,7 +48,7 @@
<% else %>
-
+
<%= Spree.t(:all_items_have_been_returned) %>,
<%= link_to Spree.t(:back_to_customer_return_list), spree.admin_order_customer_returns_path(@order) %>.
diff --git a/backend/app/views/spree/admin/images/_form.html.erb b/backend/app/views/spree/admin/images/_form.html.erb
index 1ce6a306cc5..1c67b44a770 100644
--- a/backend/app/views/spree/admin/images/_form.html.erb
+++ b/backend/app/views/spree/admin/images/_form.html.erb
@@ -1,6 +1,6 @@
-
+
<%= f.label :attachment %>
<%= f.file_field :attachment %>
@@ -10,7 +10,7 @@
<%= f.select :viewable_id, @variants, {}, { class: 'select2 fullwidth' } %>
-
+
<%= f.label :alt %>
<%= f.text_area :alt, rows: 4, class: 'fullwidth' %>
diff --git a/backend/app/views/spree/admin/images/edit.html.erb b/backend/app/views/spree/admin/images/edit.html.erb
index 125615acca7..8f7bcd8b5cc 100644
--- a/backend/app/views/spree/admin/images/edit.html.erb
+++ b/backend/app/views/spree/admin/images/edit.html.erb
@@ -15,11 +15,11 @@
<%= @image.attachment_file_name%>
-
+
<%= f.label Spree.t(:thumbnail) %>
<%= link_to image_tag(@image.attachment.url(:small)), @image.attachment.url(:product) %>
-
+
<%= render partial: 'form', locals: { f: f } %>
diff --git a/backend/app/views/spree/admin/option_types/_form.html.erb b/backend/app/views/spree/admin/option_types/_form.html.erb
index a4388e3707e..3bb4e4ba934 100644
--- a/backend/app/views/spree/admin/option_types/_form.html.erb
+++ b/backend/app/views/spree/admin/option_types/_form.html.erb
@@ -1,5 +1,5 @@
-
+
<%= f.field_container :name do %>
<%= f.label :name, class: 'required' %>
<%= f.text_field :name, class: "fullwidth" %>
@@ -7,7 +7,7 @@
<% end %>
-
+
<%= f.field_container :presentation do %>
<%= f.label :presentation, class: 'required' %>
<%= f.text_field :presentation, class: "fullwidth" %>
diff --git a/backend/app/views/spree/admin/option_types/index.html.erb b/backend/app/views/spree/admin/option_types/index.html.erb
index 6f83bdebf33..17daf260cbc 100644
--- a/backend/app/views/spree/admin/option_types/index.html.erb
+++ b/backend/app/views/spree/admin/option_types/index.html.erb
@@ -47,7 +47,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::OptionType,
new_resource_url: new_object_url %>
diff --git a/backend/app/views/spree/admin/orders/_add_line_item.html.erb b/backend/app/views/spree/admin/orders/_add_line_item.html.erb
index bf397053db9..d972f054a26 100644
--- a/backend/app/views/spree/admin/orders/_add_line_item.html.erb
+++ b/backend/app/views/spree/admin/orders/_add_line_item.html.erb
@@ -2,7 +2,7 @@
<%= Spree.t(:add_product) %>
-
+
<%= label_tag :add_line_item_variant_id, Spree.t(:name_or_sku) %>
<%= text_field_tag :add_line_item_variant_id, "", class: "variant_autocomplete fullwidth" %>
diff --git a/backend/app/views/spree/admin/orders/_add_product.html.erb b/backend/app/views/spree/admin/orders/_add_product.html.erb
index 8ae7afde733..3bf277ac0e6 100644
--- a/backend/app/views/spree/admin/orders/_add_product.html.erb
+++ b/backend/app/views/spree/admin/orders/_add_product.html.erb
@@ -2,13 +2,10 @@
<%= Spree.t(:add_product) %>
-
-
- <%= label_tag :add_variant_id, Spree.t(:name_or_sku) %>
- <%= text_field_tag :add_variant_id, "", class: "variant_autocomplete fullwidth" %>
-
+
+ <%= label_tag :add_variant_id, Spree.t(:name_or_sku) %>
+ <%= text_field_tag :add_variant_id, "", class: "variant_autocomplete fullwidth" %>
-
diff --git a/backend/app/views/spree/admin/orders/_shipment.html.erb b/backend/app/views/spree/admin/orders/_shipment.html.erb
index 9338028b5f2..21e8a256871 100644
--- a/backend/app/views/spree/admin/orders/_shipment.html.erb
+++ b/backend/app/views/spree/admin/orders/_shipment.html.erb
@@ -50,7 +50,7 @@
-
+
<%= label_tag 'selected_shipping_rate_id', Spree::ShippingMethod.model_name.human %>
<%= select_tag :selected_shipping_rate_id,
diff --git a/backend/app/views/spree/admin/orders/confirm/_customer_details.html.erb b/backend/app/views/spree/admin/orders/confirm/_customer_details.html.erb
index 6953f821e61..0facdca56b8 100644
--- a/backend/app/views/spree/admin/orders/confirm/_customer_details.html.erb
+++ b/backend/app/views/spree/admin/orders/confirm/_customer_details.html.erb
@@ -5,7 +5,7 @@
-
+
<%= Spree.t(:billing_address) %>
<% if order.bill_address %>
@@ -14,7 +14,7 @@
-
+
<%= Spree.t(:shipping_address) %>
<% if order.ship_address %>
diff --git a/backend/app/views/spree/admin/orders/customer_details/_form.html.erb b/backend/app/views/spree/admin/orders/customer_details/_form.html.erb
index e8d567d6bd5..b227a77f28a 100644
--- a/backend/app/views/spree/admin/orders/customer_details/_form.html.erb
+++ b/backend/app/views/spree/admin/orders/customer_details/_form.html.erb
@@ -4,13 +4,13 @@
<%= Spree.t(:account) %>
-
+
<%= f.label :email %>
<%= f.email_field :email, class: 'fullwidth' %>
-
+
<%= label_tag nil, Spree.t(:guest_checkout) %>
@@ -37,7 +37,7 @@
-
+
<%= Spree.t(:shipping_address) %>
<% if Spree::Config[:order_bill_address_used] %>
@@ -58,7 +58,7 @@
<% if Spree::Config[:order_bill_address_used] %>
-
+
<%= Spree.t(:billing_address) %>
diff --git a/backend/app/views/spree/admin/orders/customer_details/show.html.erb b/backend/app/views/spree/admin/orders/customer_details/show.html.erb
index d9e20b070ba..08332e0d4c6 100644
--- a/backend/app/views/spree/admin/orders/customer_details/show.html.erb
+++ b/backend/app/views/spree/admin/orders/customer_details/show.html.erb
@@ -8,7 +8,7 @@
<% end %>
-
+
<%= content_tag :h4, Spree.t(:account) %>
<%= Spree.t(:email) %>: <%= @order.email %>
diff --git a/backend/app/views/spree/admin/orders/index.html.erb b/backend/app/views/spree/admin/orders/index.html.erb
index bb9ead4c6ce..61aa3317586 100644
--- a/backend/app/views/spree/admin/orders/index.html.erb
+++ b/backend/app/views/spree/admin/orders/index.html.erb
@@ -17,7 +17,7 @@
<%= search_form_for [:admin, @search] do |f| %>
-
+
<%= label_tag :q_created_at_gt, Spree.t(:date_range) %>
@@ -48,9 +48,9 @@
-
+
-
+
<%= label_tag :q_number_cont, Spree.t(:order_number, number: '') %>
<%= f.text_field :number_cont %>
@@ -62,7 +62,7 @@
-
+
<%= label_tag :q_bill_address_firstname_start, Spree.t(:first_name_begins_with) %>
<%= f.text_field :bill_address_firstname_start, size: 25 %>
@@ -73,7 +73,7 @@
-
+
<%= label_tag :q_line_items_variant_id_in, Spree.t(:variant) %>
<%= f.text_field :line_items_variant_id_in, class: "variant_autocomplete fullwidth" %>
@@ -82,7 +82,7 @@
-
+
<% if Spree::Store.count > 1 %>
<%= label_tag nil, Spree.t(:store) %>
@@ -171,7 +171,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::Order,
new_resource_url: spree.new_admin_order_path %>
diff --git a/backend/app/views/spree/admin/payment_methods/_form.html.erb b/backend/app/views/spree/admin/payment_methods/_form.html.erb
index 83e24f28c5c..0a975a34cb1 100644
--- a/backend/app/views/spree/admin/payment_methods/_form.html.erb
+++ b/backend/app/views/spree/admin/payment_methods/_form.html.erb
@@ -3,7 +3,7 @@
-
+
<%= f.label :type %>
@@ -52,7 +52,7 @@
-
+
<%= f.label :name %>
<%= f.text_field :name, class: 'fullwidth' %>
diff --git a/backend/app/views/spree/admin/payment_methods/index.html.erb b/backend/app/views/spree/admin/payment_methods/index.html.erb
index 5b903fb30b8..dd215d51587 100644
--- a/backend/app/views/spree/admin/payment_methods/index.html.erb
+++ b/backend/app/views/spree/admin/payment_methods/index.html.erb
@@ -57,7 +57,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::PaymentMethod,
new_resource_url: new_object_url %>
diff --git a/backend/app/views/spree/admin/payments/_form.html.erb b/backend/app/views/spree/admin/payments/_form.html.erb
index 3e8cc98f674..b39a8c56ee2 100644
--- a/backend/app/views/spree/admin/payments/_form.html.erb
+++ b/backend/app/views/spree/admin/payments/_form.html.erb
@@ -1,6 +1,6 @@
-
+
<%= f.label :amount %>
<%= render "spree/admin/shared/number_with_currency", f: f, amount_attr: :amount, currency: @order.currency %>
diff --git a/backend/app/views/spree/admin/payments/index.html.erb b/backend/app/views/spree/admin/payments/index.html.erb
index e2513a85d27..0525deda3ae 100644
--- a/backend/app/views/spree/admin/payments/index.html.erb
+++ b/backend/app/views/spree/admin/payments/index.html.erb
@@ -29,5 +29,5 @@
<% end %>
<% else %>
-
<%= Spree.t(:order_has_no_payments) %>
+
<%= Spree.t(:order_has_no_payments) %>
<% end %>
diff --git a/backend/app/views/spree/admin/payments/source_forms/_gateway.html.erb b/backend/app/views/spree/admin/payments/source_forms/_gateway.html.erb
index 3d99a186e86..195a804a8eb 100644
--- a/backend/app/views/spree/admin/payments/source_forms/_gateway.html.erb
+++ b/backend/app/views/spree/admin/payments/source_forms/_gateway.html.erb
@@ -14,7 +14,7 @@
-
+
<%= hidden_field_tag "#{param_prefix}[cc_type]", '', {class: 'ccType'} %>
@@ -28,7 +28,7 @@
-
+
<%= label_tag "card_name#{payment_method.id}", Spree::CreditCard.human_attribute_name(:name), class: 'required' %>
@@ -36,13 +36,13 @@
-
+
<%= label_tag "card_expiry#{payment_method.id}", Spree::CreditCard.human_attribute_name(:expiration), class: 'required' %>
<%= text_field_tag "#{param_prefix}[expiry]", '', id: "card_expiry#{payment_method.id}", class: "required cardExpiry", placeholder: "MM / YY" %>
-
+
<%= label_tag "card_code#{payment_method.id}", Spree::CreditCard.human_attribute_name(:card_code), class: 'required' %>
<%= text_field_tag "#{param_prefix}[verification_value]", '', id: "card_code#{payment_method.id}", class: 'required fullwidth cardCode', size: 5 %>
diff --git a/backend/app/views/spree/admin/payments/source_views/_gateway.html.erb b/backend/app/views/spree/admin/payments/source_views/_gateway.html.erb
index 8ab191c298d..948e98705d5 100644
--- a/backend/app/views/spree/admin/payments/source_views/_gateway.html.erb
+++ b/backend/app/views/spree/admin/payments/source_views/_gateway.html.erb
@@ -2,7 +2,7 @@
<%= Spree::CreditCard.model_name.human %>
-
+
<%= Spree.t(:name_on_card) %>:
<%= payment.source.name %>
diff --git a/backend/app/views/spree/admin/payments/source_views/_storecredit.html.erb b/backend/app/views/spree/admin/payments/source_views/_storecredit.html.erb
index 25b8222d113..938881337a2 100644
--- a/backend/app/views/spree/admin/payments/source_views/_storecredit.html.erb
+++ b/backend/app/views/spree/admin/payments/source_views/_storecredit.html.erb
@@ -2,7 +2,7 @@
<%= Spree::StoreCredit.model_name.human %>
-
+
<%= Spree::StoreCreditCategory.model_name.human %>:
<%= payment.source.category.name%>
diff --git a/backend/app/views/spree/admin/prices/_form.html.erb b/backend/app/views/spree/admin/prices/_form.html.erb
index 5c2f730e084..e7a9b6fceb1 100644
--- a/backend/app/views/spree/admin/prices/_form.html.erb
+++ b/backend/app/views/spree/admin/prices/_form.html.erb
@@ -1,7 +1,7 @@
-
+
<%= f.field_container :variant do %>
<%= f.label :variant %>
<%= f.select :variant_id,
@@ -11,7 +11,7 @@
<% end %>
-
+
<%= f.field_container :country do %>
<%= f.label :country %>
<%= f.field_hint :country %>
@@ -24,7 +24,7 @@
<% end %>
-
+
<%= f.field_container :price do %>
<%= f.label :price %>
<%= render "spree/admin/shared/number_with_currency", f: f, amount_attr: :price, currency_attr: :currency %>
diff --git a/backend/app/views/spree/admin/prices/_master_variant_table.html.erb b/backend/app/views/spree/admin/prices/_master_variant_table.html.erb
index cf30888204b..0cc7ee58df1 100644
--- a/backend/app/views/spree/admin/prices/_master_variant_table.html.erb
+++ b/backend/app/views/spree/admin/prices/_master_variant_table.html.erb
@@ -1,5 +1,5 @@
-
+
">
<% if variants %>
<%= I18n.t(:master_variant, scope: :spree) %> <%= admin_hint I18n.t(:master_variant, scope: :spree), I18n.t(:master_variant, scope: [:spree, :hints, "spree/price"]) %>
diff --git a/backend/app/views/spree/admin/prices/index.html.erb b/backend/app/views/spree/admin/prices/index.html.erb
index a0b62205af0..f5066eed15c 100644
--- a/backend/app/views/spree/admin/prices/index.html.erb
+++ b/backend/app/views/spree/admin/prices/index.html.erb
@@ -15,7 +15,7 @@
<%= search_form_for [:admin, :product, @search] do |f| %>
-
+
<%= label_tag :q_variant_id_eq, Spree::Variant.model_name.human %>
<%= f.select :variant_id_eq,
@@ -25,7 +25,7 @@
-
+
<%= label_tag :q_currency_eq, Spree::Price.human_attribute_name(:currency) %>
<%= f.select :currency_eq,
@@ -35,7 +35,7 @@
-
+
<%= label_tag :q_country_iso_eq, Spree::Price.human_attribute_name(:country) %>
<%= f.select :country_iso_eq,
@@ -45,14 +45,14 @@
-
+
<%= label_tag :q_amount_gt, t(".amount_greater_than") %>
<%= f.text_field :amount_gt %>
-
+
<%= label_tag :q_amount_lt, t(".amount_less_than") %>
<%= f.text_field :amount_lt %>
diff --git a/backend/app/views/spree/admin/products/_form.html.erb b/backend/app/views/spree/admin/products/_form.html.erb
index eeeacee6df7..170ddca8aa0 100644
--- a/backend/app/views/spree/admin/products/_form.html.erb
+++ b/backend/app/views/spree/admin/products/_form.html.erb
@@ -2,7 +2,7 @@
-
+
<%= f.field_container :name do %>
<%= f.label :name, class: 'required' %>
@@ -28,7 +28,7 @@
-
+
<%= f.field_container :price do %>
<%= f.label :price, class: 'required' %>
@@ -44,7 +44,7 @@
-
+
<%= f.field_container :cost_price do %>
<%= f.label :cost_price %>
@@ -105,7 +105,7 @@
<% [:height, :width, :depth, :weight].each_with_index do |field, index| %>
-
+
<%= f.label field %>
<%= f.text_field field, value: number_with_precision(@product.send(field), precision: 2) %>
@@ -139,7 +139,7 @@
-
+
<%= f.field_container :taxons do %>
<%= f.label :taxon_ids, plural_resource_name(Spree::Taxon) %>
diff --git a/backend/app/views/spree/admin/products/index.html.erb b/backend/app/views/spree/admin/products/index.html.erb
index f815e73f7f6..34336106b91 100644
--- a/backend/app/views/spree/admin/products/index.html.erb
+++ b/backend/app/views/spree/admin/products/index.html.erb
@@ -17,21 +17,21 @@
<%= search_form_for [:admin, @search] do |f| %>
<%- locals = {f: f} %>
-
+
<%= f.label :name_cont, Spree::Product.human_attribute_name(:name) %>
<%= f.text_field :name_cont, size: 15 %>
-
+
<%= f.label :variants_including_master_sku_cont, Spree::Variant.human_attribute_name(:sku) %>
<%= f.text_field :variants_including_master_sku_cont, size: 15 %>
-
+
<%= f.check_box :deleted_at_null, {checked: params[:q][:deleted_at_null] == '0'}, '0', '1' %>
@@ -88,7 +88,7 @@
<% else %>
-
+
<%= render 'spree/admin/shared/no_objects_found',
resource: Spree::Product,
new_resource_url: new_object_url %>
diff --git a/backend/app/views/spree/admin/products/new.html.erb b/backend/app/views/spree/admin/products/new.html.erb
index 48aae626d3c..7bc97dbd692 100644
--- a/backend/app/views/spree/admin/products/new.html.erb
+++ b/backend/app/views/spree/admin/products/new.html.erb
@@ -14,7 +14,7 @@
<% unless @product.has_variants? %>
-
+
<%= f.field_container :sku do %>
<%= f.label :sku, Spree.t(:sku) %>
<%= f.text_field :sku, size: 16, class: 'fullwidth' %>
@@ -23,7 +23,7 @@
<% end %>
-
+
<%= f.field_container :price do %>
<%= f.label :price, class: 'required' %>
<%= f.text_field :price, value: number_to_currency(@product.price, unit: ''), class: 'fullwidth', required: true %>
@@ -31,7 +31,7 @@
<% end %>
-
+
<%= f.field_container :available_on do %>
<%= f.label :available_on %>
<%= f.error_message_on :available_on %>
@@ -42,7 +42,7 @@
-
+
<%= f.field_container :shipping_category do %>
<%= f.label :shipping_category_id, Spree::ShippingCategory.
model_name.human, class: 'required' %>
@@ -52,7 +52,7 @@
<% end %>
-
+
<%= f.field_container :tax_category do %>
<%= f.label :tax_category_id, Spree::TaxCategory.model_name.human %>
<%= f.field_hint :tax_category %>
diff --git a/backend/app/views/spree/admin/promotion_categories/_form.html.erb b/backend/app/views/spree/admin/promotion_categories/_form.html.erb
index a35b2c02684..067a22bf439 100644
--- a/backend/app/views/spree/admin/promotion_categories/_form.html.erb
+++ b/backend/app/views/spree/admin/promotion_categories/_form.html.erb
@@ -1,7 +1,7 @@
<%= render partial: 'spree/shared/error_messages', locals: { target: @promotion } %>
-
+
<%= f.field_container :name do %>
<%= f.label :name %>
<%= f.text_field :name, class: 'fullwidth' %>
diff --git a/backend/app/views/spree/admin/promotions/_activations_new.html.erb b/backend/app/views/spree/admin/promotions/_activations_new.html.erb
index 4dd25e57bf0..2abd0305bff 100644
--- a/backend/app/views/spree/admin/promotions/_activations_new.html.erb
+++ b/backend/app/views/spree/admin/promotions/_activations_new.html.erb
@@ -1,6 +1,6 @@
<% activation_type = params[:activation_type] || 'single_code' %>