summaryrefslogtreecommitdiff
path: root/addons/website_sale/static/src/scss
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website_sale/static/src/scss
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website_sale/static/src/scss')
-rw-r--r--addons/website_sale/static/src/scss/primary_variables.scss1
-rw-r--r--addons/website_sale/static/src/scss/website_mail.scss48
-rw-r--r--addons/website_sale/static/src/scss/website_sale.editor.scss40
-rw-r--r--addons/website_sale/static/src/scss/website_sale.scss582
-rw-r--r--addons/website_sale/static/src/scss/website_sale_backend.scss72
-rw-r--r--addons/website_sale/static/src/scss/website_sale_dashboard.scss81
-rw-r--r--addons/website_sale/static/src/scss/website_sale_frontend.scss140
7 files changed, 964 insertions, 0 deletions
diff --git a/addons/website_sale/static/src/scss/primary_variables.scss b/addons/website_sale/static/src/scss/primary_variables.scss
new file mode 100644
index 00000000..c19ec9aa
--- /dev/null
+++ b/addons/website_sale/static/src/scss/primary_variables.scss
@@ -0,0 +1 @@
+$o-wsale-products-layout-grid-ratio: 1.0 !default;
diff --git a/addons/website_sale/static/src/scss/website_mail.scss b/addons/website_sale/static/src/scss/website_mail.scss
new file mode 100644
index 00000000..26a45aa5
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_mail.scss
@@ -0,0 +1,48 @@
+/* ---- OpenChatter Website ---- */
+
+.oe_msg {
+ img.oe_msg_avatar {
+ width: 50px;
+ margin-right: 10px;
+ }
+}
+
+.oe_msg_attachment {
+ display: inline-block;
+ width: 120px;
+ margin: 4px 2px;
+ min-height: 80px;
+ position: relative;
+ border-radius: 3px;
+ text-align: center;
+ vertical-align: top;
+
+ a {
+ img.oe_attachment_embedded {
+ display: block;
+ position: relative;
+ margin: 0 0 0 10px;
+ width: 100px;
+ height: 80px;
+ border-radius: 1px;
+ border: solid 3px #FFF;
+ -webkit-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19);
+ -moz-box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19);
+ box-shadow: 0 3px 10px rgba(0, 0, 0, 0.19);
+ }
+
+ div.oe_attachment_name {
+ display: inline-block;
+ max-width: 100%;
+ padding: 1px 3px;
+ margin-top: 2px;
+ margin-bottom: 5px;
+ background: #F4F5FA;
+ overflow: hidden;
+ color: #4c4c4c;
+ text-shadow: none;
+ border-radius: 3px;
+ word-wrap: break-word;
+ }
+ }
+}
diff --git a/addons/website_sale/static/src/scss/website_sale.editor.scss b/addons/website_sale/static/src/scss/website_sale.editor.scss
new file mode 100644
index 00000000..77a6b7fb
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_sale.editor.scss
@@ -0,0 +1,40 @@
+.o_wsale_soptions_menu_sizes {
+ table {
+ margin: auto;
+
+ td {
+ margin: 0;
+ padding: 0;
+ width: 40px;
+ height: 40px;
+ border: 1px #dddddd solid;
+ cursor: pointer;
+
+ &.selected {
+ background-color: #B1D4F1;
+ }
+ }
+
+ &.oe_hover td {
+ &.selected {
+ background-color: transparent;
+ }
+ &.select {
+ background-color: #B1D4F1;
+ }
+ }
+ }
+}
+
+.o_wsale_color_preview {
+ width: 1em;
+ height: 1em;
+ border: 1px solid white;
+ display: inline-block;
+ vertical-align: middle;
+ border-radius: 50%;
+}
+
+.oe_drop_zone + .s_wsale_products_recently_viewed {
+ display: block !important;
+}
diff --git a/addons/website_sale/static/src/scss/website_sale.scss b/addons/website_sale/static/src/scss/website_sale.scss
new file mode 100644
index 00000000..8b3c5fbd
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_sale.scss
@@ -0,0 +1,582 @@
+// Prevent grid gutter to be higher that bootstrap gutter width to make sure
+// the negative margin layout does not overflow on elements. This prevents the
+// use of an ugly overflow: hidden which would break box-shadows.
+$o-wsale-products-layout-grid-gutter-width: $grid-gutter-width / 2 !default;
+$o-wsale-products-layout-grid-gutter-width: min($grid-gutter-width / 2, $o-wsale-products-layout-grid-gutter-width);
+
+@mixin wsale-break-table-to-list() {
+ .o_wsale_products_grid_table_wrapper > table,
+ .o_wsale_products_grid_table_wrapper > table > tbody,
+ .o_wsale_products_grid_table_wrapper > table > tbody > tr,
+ .o_wsale_products_grid_table_wrapper > table > tbody > tr > td {
+ display: block;
+ width: 100%;
+ }
+}
+
+.oe_website_sale {
+ ul ul {
+ margin-left: 1.5rem;
+ }
+ .o_payment_form .card {
+ border-radius: 4px !important;
+ }
+ .address-inline address {
+ display: inline-block;
+ }
+ table#cart_products tr td, table#suggested_products tr td {
+ vertical-align: middle;
+ }
+
+ table#cart_products {
+ margin-bottom: 0;
+
+ td, th {
+ &:first-child {
+ padding-left: $grid-gutter-width*0.5;
+ }
+ }
+ }
+
+ h1[itemprop="name"], .td-product_name {
+ word-break: break-word;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ }
+
+ @include media-breakpoint-down(sm) {
+ .td-img {
+ display: none;
+ }
+ }
+
+ .toggle_summary_div {
+ @include media-breakpoint-up(xl) {
+ max-width: 400px;
+ }
+ }
+ input.js_quantity {
+ min-width: 48px;
+ text-align: center;
+ }
+ input.quantity {
+ padding: 0;
+ }
+}
+
+.o_alternative_product {
+ margin: auto;
+}
+
+// Base style for a product card with image/description
+.oe_product_cart {
+ .oe_product_image {
+ height: 0;
+ text-align: center;
+
+ img {
+ height: 100%;
+ width: 100%;
+ object-fit: scale-down;
+ }
+ }
+ .o_wsale_product_information {
+ position: relative;
+ flex: 0 0 auto;
+ transition: .3s ease;
+ }
+ .oe_subdescription {
+ max-height: 0;
+ overflow: hidden;
+ font-size: $font-size-sm;
+ margin-bottom: map-get($spacers, 1);
+ transform: scale(1, 0);
+ transition: all ease 0.3s;
+ }
+ .o_wsale_product_btn {
+ @include o-position-absolute(auto, 0, 100%, 0);
+ padding-bottom: map-get($spacers, 1);
+
+ .btn {
+ transform: scale(0);
+ transition: transform ease 200ms 0s;
+ }
+
+ &:empty {
+ display: none !important;
+ }
+ }
+
+ &:hover {
+ box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.1);
+
+ .o_wsale_product_information {
+ background-color: gray('200') !important;
+ }
+ .oe_subdescription {
+ max-height: $line-height-base * 1em; // Max 1 line
+ @include media-breakpoint-up(lg) {
+ max-height: $line-height-base * 2em; // Max 2 lines
+ }
+ @include media-breakpoint-up(xl) {
+ max-height: $line-height-base * 3em; // Max 3 lines
+ }
+ }
+ .oe_subdescription,
+ .o_wsale_product_btn .btn {
+ transform: scale(1);
+ }
+ }
+
+ @include media-breakpoint-down(sm) {
+ &, &:hover {
+ .oe_subdescription {
+ max-height: $line-height-base * 3em; // Max 3 lines
+ }
+ }
+ .oe_subdescription,
+ .o_wsale_product_btn .btn {
+ transform: scale(1);
+ }
+ }
+}
+
+// Options relative to where the product card is put
+.oe_product {
+ // Image full option
+ &.oe_image_full {
+ .oe_product_image {
+ @include border-bottom-radius($card-inner-border-radius);
+ }
+ .o_wsale_product_information {
+ @include o-position-absolute(auto, 0, 0, 0); // The wrapper is always relatively positioned
+ }
+ }
+}
+
+#products_grid {
+ .o_wsale_products_grid_table_wrapper > .table {
+ table-layout: fixed;
+
+ > tbody {
+ > tr > td {
+ margin-top: $o-wsale-products-layout-grid-gutter-width; // For list and mobile design
+ padding: 0;
+
+ @if $o-wsale-products-layout-grid-gutter-width <= 0 {
+ border: $card-border-width solid $card-border-color;
+ }
+ }
+
+ > tr:first-child > td:first-child {
+ margin-top: 0; // For list and mobile design
+ }
+ }
+
+ .o_wsale_product_grid_wrapper {
+ position: relative;
+
+ @for $x from 1 through 4 {
+ @for $y from 1 through 4 {
+ &.o_wsale_product_grid_wrapper_#{$x}_#{$y} {
+ padding-top: 100% * $o-wsale-products-layout-grid-ratio * $y / $x;
+ }
+ }
+ }
+
+ > * {
+ $-pos: ($o-wsale-products-layout-grid-gutter-width / 2);
+ @include o-position-absolute($-pos, $-pos, $-pos, $-pos);
+
+ @if $o-wsale-products-layout-grid-gutter-width <= 0 {
+ &.card {
+ border: none;
+
+ &, .card-body {
+ border-radius: 0;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ .o_wsale_products_grid_table_wrapper {
+ // Necessary to compensate the outer border-spacing of the table. No
+ // overflow will occur as the gutter width cannot be higher than the
+ // BS4 grid gutter and the vertical margins of the wrapper's parent are
+ // set accordingly.
+ // Note: a possible layout could also be ok by removing the wrapper
+ // related spacings and setting a background to it, thus including the
+ // outer border spacing as part of the design.
+ margin: (-$o-wsale-products-layout-grid-gutter-width / 2);
+ }
+
+ @include media-breakpoint-down(sm) {
+ @include wsale-break-table-to-list();
+
+ .table .o_wsale_product_grid_wrapper {
+ padding-top: 100% !important;
+ }
+ }
+
+ &.o_wsale_layout_list {
+ @include media-breakpoint-up(sm) {
+ @include wsale-break-table-to-list();
+
+ .o_wsale_products_grid_table_wrapper {
+ margin: 0;
+ }
+
+ .table .o_wsale_product_grid_wrapper {
+ padding-top: 0 !important;
+
+ > * {
+ @include o-position-absolute(0, 0, 0, 0);
+ position: relative;
+ }
+ }
+
+ .oe_product_cart {
+ $-wsale-list-layout-height: 10rem;
+
+ flex-flow: row nowrap;
+ min-height: $-wsale-list-layout-height;
+
+ .oe_product_image {
+ flex: 0 0 auto;
+ width: $-wsale-list-layout-height;
+ max-width: 35%;
+ min-width: 100px;
+ height: auto;
+ }
+ .o_wsale_product_information {
+ position: static;
+ display: flex;
+ flex: 1 1 auto;
+ text-align: left !important;
+ }
+ .o_wsale_product_information_text {
+ flex: 1 1 auto;
+ }
+ .o_wsale_product_btn {
+ flex: 0 0 auto;
+ position: static;
+ display: flex;
+ flex-flow: column nowrap;
+ align-items: center;
+ padding: map-get($spacers, 2);
+ background-color: gray('200');
+
+ .btn + .btn {
+ margin-top: map-get($spacers, 2);
+ }
+ }
+
+ .oe_subdescription {
+ max-height: none !important;
+ }
+ .oe_subdescription,
+ .o_wsale_product_btn .btn {
+ transform: scale(1) !important;
+ }
+
+ &:hover {
+ .o_wsale_product_information {
+ background-color: $white !important;
+ }
+ }
+ .o_ribbon_right {
+ @include o-ribbon-left();
+ }
+ .o_tag_right {
+ @include o-tag-left();
+ }
+ }
+ }
+ }
+}
+
+.o_wsale_products_main_row {
+ // Special case. Normally vertical margins would be set using the BS4
+ // mt-* / my-* / mb-* utility classes, but here we need to use the shop max
+ // grid gutter width to prevent the grid wrapper to overflow because of its
+ // negative margins.
+ margin-top: $grid-gutter-width / 2;
+ margin-bottom: $grid-gutter-width / 2;
+}
+
+.oe_cart {
+ table td:first-child {
+ min-width: 76px;
+ }
+
+ > .oe_structure {
+ clear: both;
+ }
+}
+
+div#payment_method {
+ div.list-group {
+ margin-left: 40px;
+ }
+
+ .list-group-item {
+ padding-top: 5px;
+ padding-bottom: 5px;
+ }
+}
+
+ul.wizard {
+ padding: 0;
+ margin-top: 20px;
+ list-style: none outside none;
+ border-radius: 4px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.065);
+
+ li {
+ border: 1px solid gray('200');
+ border-right-width: 0;
+ position: relative;
+ float: left;
+ padding: 0 10px 0 20px;
+ margin: 0;
+ line-height: 38px;
+ background: #fbfbfb;
+
+ .chevron {
+ position: absolute;
+ top: 0;
+ right: -10px;
+ z-index: 1;
+ display: block;
+ border: 20px solid transparent;
+ border-right: 0;
+ border-left: 10px solid gray('200');
+ }
+
+ .chevron:before {
+ position: absolute;
+ top: -20px;
+ right: 1px;
+ display: block;
+ border: 20px solid transparent;
+ border-right: 0;
+ border-left: 10px solid #fbfbfb;
+ content: "";
+ }
+
+ .o_link_disable {
+ text-decoration: none;
+ color: inherit;
+ cursor: text;
+ }
+
+ &.text-success {
+ background: #f3f4f5;
+ }
+
+ &.text-success .chevron:before {
+ border-left: 10px solid #f5f5f5;
+ }
+
+ &.text-primary {
+ background: #f1f6fc;
+ }
+
+ &.text-primary .chevron:before {
+ border-left: 10px solid #f1f6fc;
+ }
+
+ &:first-child {
+ padding-left: 15px;
+ border-radius: 4px 0 0 4px;
+ }
+
+ &:last-child {
+ border-radius: 0 4px 4px 0;
+ border-right-width: 1px;
+
+ .chevron {
+ display: none;
+ }
+ }
+ }
+}
+
+#o_shop_collapse_category li {
+ width: 100%;
+
+ a {
+ display: inline-block;
+ width: 80%;
+ padding-left: 3px;
+ }
+
+ i.fa {
+ cursor: pointer;
+ }
+}
+
+.mycart-popover {
+ max-width: 500px;
+ min-width: 250px;
+
+ .cart_line {
+ border-bottom: 1px #EEE solid;
+ }
+}
+
+tr#empty {
+ display: none;
+}
+
+.js_change_shipping {
+ cursor: pointer;
+}
+
+a.no-decoration {
+ cursor: pointer;
+ text-decoration: none !important;
+}
+
+#o-carousel-product {
+
+ &.css_not_available {
+ opacity: 0.2;
+ }
+
+ .carousel-outer {
+ height: 400px;
+ max-height: 90vh;
+
+ .carousel-inner {
+ img {
+ height: 100%;
+ width: 100%;
+ object-fit: scale-down;
+ }
+ }
+ }
+
+ .carousel-control-prev, .carousel-control-next {
+ height: 70%;
+ top: 15%;
+ opacity: 0.5;
+ cursor: pointer;
+ &:focus {
+ opacity: 0.65;
+ }
+ &:hover {
+ opacity: 0.8;
+ }
+ > span {
+ background: rgba(0, 0, 0, 0.8);
+ }
+ }
+
+ .carousel-indicators {
+ li {
+ width: 64px;
+ height: 64px;
+ text-indent: unset;
+ border: 1px solid gray('600');
+ opacity: 0.5;
+ position: relative;
+
+ .o_product_video_thumb {
+ @include o-position-absolute($top: 50%, $left: 50%);
+ transform: translate(-50%, -50%);
+ color: gray('400');
+ }
+ &.active {
+ opacity: 1;
+ border: 1px solid theme-color('primary');
+ }
+ }
+ }
+}
+
+.ecom-zoomable {
+ &:not(.ecom-autozoom) {
+ img[data-zoom] {
+ cursor: zoom-in;
+ }
+ }
+ &.ecom-autozoom {
+ img[data-zoom] {
+ cursor: crosshair;
+ }
+ }
+ .o_editable img[data-zoom] {
+ cursor: pointer;
+ }
+}
+
+#coupon_box form {
+ max-width: 300px;
+}
+
+.o_website_sale_animate {
+ opacity: 0.7;
+ position: absolute !important;
+ height: 150px;
+ width: 150px;
+ z-index: 1020;
+}
+
+.o_red_highlight {
+ background: theme-color('danger') !important;
+ box-shadow: 0 0 0 0 rgba(240,8,0,0.4);
+ transition: all 0.5s linear;
+}
+
+.o_shadow_animation {
+ box-shadow: 0 0 5px 10px rgba(240,8,0,0.4)!important;
+}
+
+/* product recently viewed snippet */
+
+.o_carousel_product_card {
+ .o_carousel_product_card_img_top {
+ object-fit: scale-down;
+ @include media-breakpoint-down(sm) {
+ height: 12rem;
+ }
+ @include media-breakpoint-up(md) {
+ height: 8rem;
+ }
+ @include media-breakpoint-up(lg) {
+ height: 12rem;
+ }
+ }
+ .o_carousel_product_img_link:hover + .o_carousel_product_remove {
+ display: block;
+ }
+}
+
+.o_carousel_product_card_wrap {
+ @include media-breakpoint-up(sm) {
+ float: left;
+ }
+}
+
+.o_carousel_product_control {
+ top: percentage(1/3);
+ bottom: percentage(1/3);
+ width: 2rem;
+ border-radius: 5px;
+ background-color: $o-enterprise-primary-color;
+}
+
+.o_carousel_product_remove {
+ position: absolute;
+ display: none;
+ cursor: pointer;
+ right: 5%;
+ top: 5%;
+}
+
+.o_carousel_product_remove:hover {
+ display: block;
+}
diff --git a/addons/website_sale/static/src/scss/website_sale_backend.scss b/addons/website_sale/static/src/scss/website_sale_backend.scss
new file mode 100644
index 00000000..857ae06a
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_sale_backend.scss
@@ -0,0 +1,72 @@
+.o_website_sale_image_list .o_kanban_view.o_kanban_ungrouped {
+ width: auto;
+
+ .o_kanban_record{
+ flex: 0 1 50%;
+ position: relative;
+
+ @include media-breakpoint-up(md) {
+ flex: 0 0 percentage(1/3);
+ }
+
+ @include media-breakpoint-up(lg) {
+ flex: 0 0 percentage(1/5);
+ }
+
+ @include media-breakpoint-up(xl) {
+ flex: 0 0 percentage(1/6);
+ }
+ // make the image square and in the center
+ .o_squared_image {
+ position: relative;
+ overflow: hidden;
+ padding-bottom: 100%;
+ > img {
+ position: absolute;
+ margin: auto;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ }
+ }
+
+ .o_product_image_size {
+ position: absolute;
+ top: 0;
+ left: 0;
+ }
+ }
+}
+
+.o_website_sale_image_modal {
+ .o_website_sale_image_modal_container {
+ border-left: 1px solid gray('400');
+
+ .o_field_image {
+ margin-bottom: 0;
+ box-shadow: 0 2px 10px gray('300');
+
+ > img {
+ border: 1px solid gray('400');
+ height: 200px;
+ width: auto;
+ }
+
+ .o_form_image_controls {
+ @include o-hover-opacity(0.7, 1);
+ padding: 2%;
+ }
+ }
+ }
+ .o_video_container {
+ height: 200px;
+ position: relative;
+ @include o-we-preview-box($text-muted);
+ .o_invalid_warning {
+ width: 90%;
+ @include o-position-absolute($top: 50%, $left: 50%);
+ transform: translate(-50%, -50%);
+ }
+ }
+}
diff --git a/addons/website_sale/static/src/scss/website_sale_dashboard.scss b/addons/website_sale/static/src/scss/website_sale_dashboard.scss
new file mode 100644
index 00000000..b509f220
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_sale_dashboard.scss
@@ -0,0 +1,81 @@
+.o_dashboard_sales {
+
+ h2 {
+ padding: 15px;
+ }
+ h4 { margin: 3px 0 4px 0 !important; }
+ .o_demo_background {
+ margin-top: 16px;
+ height: 350px;
+ background-size: 100% !important;
+ background: url("/website_sale/static/src/img/website_sale_dashboard_sales_demo.png") no-repeat;
+ position: relative;
+ opacity: 0.2;
+ }
+ .o_demo_message {
+ color: $o-main-color-muted;
+ width: 100%;
+ @include o-position-absolute($left: 0, $top: 12%);
+ display: flex;
+ justify-content: center;
+ }
+ .o_link_enable {
+ @include media-breakpoint-up(lg) {
+ border-right: 1px solid #ccc;
+ }
+ height: initial;
+ padding: 5px;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ a {
+ color: darken($o-brand-lightsecondary, 40%);
+ }
+ &:hover {
+ background-color: $o-brand-lightsecondary;
+ }
+ .o_highlight {
+ color: $o-brand-primary;
+ font-size: 20px;
+ font-weight: bold;
+ }
+ }
+ .o_link_disable {
+ @include media-breakpoint-up(lg) {
+ border-right: 1px solid #ccc;
+ }
+ height: initial;
+ padding: 5px;
+ text-align: center;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ margin: 10px 0px;
+ color: darken($o-brand-lightsecondary, 40%);
+ .o_highlight {
+ font-size: 20px;
+ font-weight: bold;
+ }
+ }
+ .o_invisible_border {
+ border-right: 0px;
+ }
+ .o_top_margin {
+ margin-top: 20px;
+ }
+ .o_graph_canvas_container {
+ position: relative;
+ top: 0px;
+ left: 0px;
+ width: 100%;
+ height: 30em;
+ }
+ .o_dashboard_utms {
+ .utm_chart_image {
+ display: block;
+ margin: auto;
+ }
+ .utm_dropdown {
+ margin-top: -5px;
+ }
+ }
+} \ No newline at end of file
diff --git a/addons/website_sale/static/src/scss/website_sale_frontend.scss b/addons/website_sale/static/src/scss/website_sale_frontend.scss
new file mode 100644
index 00000000..613f247a
--- /dev/null
+++ b/addons/website_sale/static/src/scss/website_sale_frontend.scss
@@ -0,0 +1,140 @@
+//## Website Sale frontent design
+//## ----------------------------
+
+// Theming variables
+$o-wsale-wizard-thickness: 0.125rem;
+$o-wsale-wizard-dot-size: 0.625rem;
+$o-wsale-wizard-dot-active-glow: 0.25rem;
+
+$o-wsale-wizard-color-inner: white;
+$o-wsale-wizard-color-default: gray('200');
+
+$o-wsale-wizard-dot-active: theme-color('primary');
+$o-wsale-wizard-dot-completed: theme-color('success');
+
+$o-wsale-wizard-label-default: $text-muted;
+$o-wsale-wizard-label-active: $body-color;
+$o-wsale-wizard-label-completed: $success;
+
+.progress-wizard {
+ // Scoped variables
+ $tmp-dot-radius: ($o-wsale-wizard-dot-size + $o-wsale-wizard-thickness)*0.5;
+ $tmp-check-size: max($font-size-base, $o-wsale-wizard-dot-size + $o-wsale-wizard-thickness + $o-wsale-wizard-dot-active-glow*2);
+ $tmp-check-pos: $o-wsale-wizard-dot-size*0.5 - $tmp-check-size*0.5;
+
+ margin-top: $grid-gutter-width*0.5;
+ padding: 0 $grid-gutter-width*0.5;
+
+ @include media-breakpoint-up(md) {
+ padding: 0;
+ }
+
+ .progress-wizard-step {
+ position: relative;
+
+ @include media-breakpoint-up(md) {
+ margin-top: $tmp-dot-radius + $o-wsale-wizard-thickness*3.5;
+ float: left;
+ width: percentage(1/3);
+
+ .o_wizard_has_extra_step + & {
+ width: percentage(1/4);
+ }
+ }
+ @include media-breakpoint-down(sm) {
+ &.disabled, &.complete {
+ display:none;
+ }
+ }
+ .progress-wizard-dot {
+ width: $o-wsale-wizard-dot-size;
+ height: $o-wsale-wizard-dot-size;
+ position: relative;
+ display: inline-block;
+ background-color: $o-wsale-wizard-color-inner;
+ border-radius: 50%;
+ box-shadow: 0 0 0 $o-wsale-wizard-thickness $o-wsale-wizard-color-default;
+
+ @include media-breakpoint-up(md) {
+ @include o-position-absolute($left: 50%);
+ margin: (-$tmp-dot-radius) 0 0 (-$o-wsale-wizard-dot-size*0.5);
+ }
+ }
+
+ .progress-wizard-steplabel {
+ color: $o-wsale-wizard-label-default;
+ margin: 5px 0 5px 5px;
+ font-size: $font-size-base;
+ display: inline-block;
+
+ @include media-breakpoint-up(md) {
+ display: block;
+ margin: (0.625rem + $tmp-dot-radius) 0 20px 0;
+ }
+ @include media-breakpoint-down(sm) {
+ margin-left: -15px;
+ font-size: 24px;
+ }
+ }
+
+ .progress-wizard-bar {
+ height: $o-wsale-wizard-thickness;
+ background-color: $o-wsale-wizard-color-default;
+ }
+
+ &.active {
+ .progress-wizard-dot {
+ animation: fadeIn 1s ease 0s 1 normal none running;
+ background: $o-wsale-wizard-dot-active;
+ box-shadow: 0 0 0 ($o-wsale-wizard-dot-active-glow - 0.0625rem) $o-wsale-wizard-color-inner,
+ 0 0 0 $o-wsale-wizard-dot-active-glow rgba($o-wsale-wizard-dot-active, 0.5);
+ }
+
+ .progress-wizard-steplabel {
+ color: $o-wsale-wizard-label-active;
+ font-weight: bolder;
+ }
+ }
+
+ &.complete {
+ .progress-wizard-dot {
+ background: none;
+ box-shadow: none;
+
+ &:after {
+ @include o-position-absolute($tmp-check-pos, $left: $tmp-check-pos);
+ width: $tmp-check-size;
+ height: $tmp-check-size;
+ border-radius: 100%;
+
+ background: $o-wsale-wizard-color-inner;
+ color: $o-wsale-wizard-dot-completed;
+ text-align: center;
+ line-height: 1;
+ font-size: $tmp-check-size;
+ font-family: FontAwesome;
+
+ content: "\f058";
+ }
+ }
+
+ .progress-wizard-steplabel {
+ color: $o-wsale-wizard-label-completed;
+ }
+
+ &:hover:not(.disabled) {
+ .progress-wizard-dot:after {
+ color: $o-wsale-wizard-label-completed;
+ }
+
+ .progress-wizard-steplabel {
+ color: $o-wsale-wizard-label-active;
+ }
+ }
+ }
+
+ &.disabled {
+ cursor: default;
+ }
+ }
+}