@import "vendor/rfs";
@import "mixins/deprecate";
@import "mixins/breakpoints";
@import "mixins/hover";
@import "mixins/image";
@import "mixins/badge";
@import "mixins/resize";
@import "mixins/screen-reader";
@import "mixins/size";
@import "mixins/reset-text";
@import "mixins/text-emphasis";
@import "mixins/text-hide";
@import "mixins/text-truncate";
@import "mixins/visibility";
@import "mixins/alert";
@import "mixins/buttons";
@import "mixins/caret";
@import "mixins/pagination";
@import "mixins/lists";
@import "mixins/list-group";
@import "mixins/nav-divider";
@import "mixins/forms";
@import "mixins/table-row";
@import "mixins/background-variant";
@import "mixins/border-radius";
@import "mixins/box-shadow";
@import "mixins/gradients";
@import "mixins/transition";
@import "mixins/clearfix";
@import "mixins/grid-framework";
@import "mixins/grid";
@import "mixins/float";
@import "functions";
@import "variables";
@import "mixins";
@import "root";
@import "reboot";
@import "type";
@import "images";
@import "code";
@import "grid";
@import "tables";
@import "forms";
@import "buttons";
@import "transitions";
@import "dropdown";
@import "button-group";
@import "input-group";
@import "custom-forms";
@import "nav";
@import "navbar";
@import "card";
@import "breadcrumb";
@import "pagination";
@import "badge";
@import "jumbotron";
@import "alert";
@import "progress";
@import "media";
@import "list-group";
@import "close";
@import "toasts";
@import "modal";
@import "tooltip";
@import "popover";
@import "carousel";
@import "spinners";
@import "utilities";
@import "print";
@import url("https://fonts.googleapis.com/css?family=#

/* /web/static/lib/bootstrap/scss/_functions.scss defined in bundle 'web.assets_frontend' */
// Bootstrap functions // // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. // Ascending // Used to evaluate Sass maps like our grid breakpoints. @mixin _assert-ascending($map, $map-name){$prev-key: null; $prev-num: null; @each $key, $num in $map{@if $prev-num == null or unit($num) == "%"{// 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;}}// Starts at zero // Used to ensure the min-width of the lowest breakpoint starts at 0. @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints"){$values: map-values($map); $first-value: nth($values, 1); @if $first-value != 0{@warn "First breakpoint in #{$map-name}must start at 0, but starts at #{$first-value}.";}}// Replace `$search` with `$replace` in `$string` // Used on our SVG icon backgrounds for custom forms. // // @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;}// Color contrast @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light){$r: red($color); $g: green($color); $b: blue($color); $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000; @if ($yiq >= $yiq-contrasted-threshold){@return $dark;}@else{@return $light;}}// Retrieve color Sass maps @function color($key: "blue"){@return map-get($colors, $key);}@function theme-color($key: "primary"){@return map-get($theme-colors, $key);}@function gray($key: "100"){@return map-get($grays, $key);}// Request a theme color level @function theme-color-level($color-name: "primary", $level: 0){$color: theme-color($color-name); $color-base: if($level > 0, $black, $white); $level: abs($level); @return mix($color-base, $color, $level * $theme-color-interval);}

/* /web/static/lib/bootstrap/scss/_mixins.scss defined in bundle 'web.assets_frontend' */
// Toggles // // Used in conjunction with global variables to enable certain theme features. // Vendor  // Deprecate  // Utilities             // // Components          // // Skins      // // Layout     

/* /web/static/src/legacy/scss/bs_mixins_overrides.scss defined in bundle 'web.assets_frontend' */
//------------------------------------------------------------------------------ // Bootstrap Mixins and Functions Extensions // Those will affect the way bootstrap is generated wherever bootstrap is used //------------------------------------------------------------------------------ // This variable must be defined here instead of bootstrap overridden files // otherwise we will have deprecation messages for assets_common generation $enable-deprecation-messages: false !default; // Override color-yiq function to handle the alpha component of colors and // automatic threshold @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light, $background: $body-bg, $cross-mix: true){$threshold: if($yiq-contrasted-threshold != false, $yiq-contrasted-threshold / 255 * 100%, false); @return o-get-most-contrast($color, $light, $dark, $background, $threshold, $cross-mix);}@function mute-color($color){@return scale-color($color, $alpha: -30%);}// This placeholder regroups the rules that will apply on all elements with a // bg-* class (see o-bg-color, bg-variant). The optimized-css way would be to // have a common class for them all. %o-bg-color-component-color-reset{h1, h2, h3, h4, h5, h6{color: inherit;}}$o-yiq-min-opacity-threshold: 0.3 !default; $o-color-extras-nesting-selector: '&' !default; @mixin o-bg-color($color, $text-color: null, $with-extras: true, $important: true, $yiq-min-opacity-threshold: $o-yiq-min-opacity-threshold, $background: $body-bg, $nesting-selector: $o-color-extras-nesting-selector){@if ($color){$-yiq-threshold-met: alpha($color) > $yiq-min-opacity-threshold; $-yiq-color: if($text-color, $text-color, if($-yiq-threshold-met, color-yiq($color, $background: $background), null)); background-color: $color#{if($important, ' !important', '')}; color: $-yiq-color; // not important so that text utilities still work @if $with-extras and $-yiq-threshold-met{#{$nesting-selector}{@extend %o-bg-color-component-color-reset; .text-muted{// Always important since the basic BS rule is important color: mute-color($-yiq-color) !important;}}}}}// Override background utilities so that they come with a default contrasted // color (especially useful in the frontend editor for example). Also modifies // the way .text-muted elements are rendered in those environments. @mixin bg-variant($parent, $color, $text-color: null){#{$parent}{@include o-bg-color($color, $text-color);}a#{$parent}, button#{$parent}{@include hover-focus{@include o-bg-color(darken($color, 10%), $text-color, false);}}}@mixin bg-gradient-variant($parent, $color, $text-color: null){#{$parent}{@include o-bg-color($color, $text-color); background-image: linear-gradient(180deg, mix($body-bg, $color, 15%), $color) !important; background-repeat: repeat-x !important;}}

/* /web/static/src/legacy/scss/utils.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the odoo mixins. They are available in every asset bundle. /// // ------------------------------------------------------------------ // Caret // ------------------------------------------------------------------ @mixin utils-caret-boilerplate{content: ""; display: inline-block; width: 0; height: 0; vertical-align: middle; -moz-transform: scale(0.9999); // Smooth the caret on firefox}// ------------------------------------------------------------------ // Position absolute // ------------------------------------------------------------------ @mixin o-position-absolute($top: auto, $right: auto, $bottom: auto, $left: auto){position: absolute; top: $top; left: $left; bottom: $bottom; right: $right;}// ------------------------------------------------------------------ // Position sticky // ------------------------------------------------------------------ @mixin o-position-sticky($top: auto, $right: auto, $bottom: auto, $left: auto){position: -webkit-sticky; position: sticky; top: $top; left: $left; bottom: $bottom; right: $right;}// ------------------------------------------------------------------ // Text overflow // ------------------------------------------------------------------ @mixin o-text-overflow($display: inline-block, $max-width: 100%){display: $display; max-width: $max-width; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: top; // To update display context changed by overflow:hidden}// ------------------------------------------------------------------ // Hovering effects // ------------------------------------------------------------------ @mixin o-hover-opacity($default-opacity: 0.5, $hover-opacity: 1){opacity: $default-opacity; &:hover, &:focus, &.focus{opacity: $hover-opacity;}}//------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ @function luma($color){@return ((red($color) * .299) + (green($color) * .587) + (blue($color) * .114)) / 255 * 100%;}// // Given two colors, returns the one which has the most constrast with another // given color. Careful: if you want to find the text color which will suit the // most on a given background color, you should use the 'color-yiq' function. // @function o-get-most-contrast($color, $c1, $c2, $background: #FFFFFF, $threshold: false, $cross-mix: true){$background: if($background == null, #FFFFFF, $background); $real-color: mix(rgba($color, 1.0), $background, percentage(alpha($color))); $luma: luma($real-color); $cross-color: if($cross-mix, $real-color, $background); $real-c1: mix(rgba($c1, 1.0), $cross-color, percentage(alpha($c1))); $luma-c1: luma($real-c1); $real-c2: mix(rgba($c2, 1.0), $cross-color, percentage(alpha($c2))); $luma-c2: luma($real-c2); $-dark: if($luma-c1 <= $luma-c2, $c1, $c2); $-light: if($luma-c1 > $luma-c2, $c1, $c2); @if $threshold == false{// Automatic threshold: give a really small preference to light results // as bootstrap does by default (mainly by compatibility at the moment // this code is written) $threshold: ($luma-c1 + $luma-c2) * 0.515; // 150 / 145.63 * 0.5 would be the BS value}@return if($luma > $threshold, $-dark, $-light);}// Extend placeholder which adds a chess-like background below the color and // image of an element to preview the transparency of that color and image. // This is done thanks to both ::before and ::after elements so they must both // be available. %o-preview-alpha-background{position: relative; z-index: 0; &::before{content: ""; @include o-position-absolute(0, 0, 0, 0); z-index: -1; background-image: url('/web/static/img/transparent.png'); background-size: 10px auto; border-radius: inherit;}&::after{content: ""; @include o-position-absolute(0, 0, 0, 0); z-index: -1; background: inherit; // Inherit all background properties border-radius: inherit;}}// ------------------------------------------------------------------ // Padding // ------------------------------------------------------------------ @mixin o-webclient-padding($top: 0px, $right: $o-horizontal-padding, $bottom: 0px, $left: $o-horizontal-padding){padding-top: $top; padding-right: $right; padding-bottom: $bottom; padding-left: $left;}// ------------------------------------------------------------------ // Caret // ------------------------------------------------------------------ @mixin o-caret-down($caret-width: $caret-width, $caret-color: var(--o-input-border-color, currentColor)){@include utils-caret-boilerplate; border-bottom: 0; border-left: $caret-width solid transparent; border-right: $caret-width solid transparent; border-top: $caret-width solid $caret-color;}@mixin o-caret-up($caret-width: $caret-width, $caret-color: var(--o-input-border-color, currentColor)){@include utils-caret-boilerplate; border-bottom: $caret-width solid $caret-color; border-left: $caret-width solid transparent; border-right: $caret-width solid transparent; border-top: 0;}@mixin o-caret-left($caret-width: $caret-width, $caret-color: var(--o-input-border-color, currentColor)){@include utils-caret-boilerplate; border-bottom: $caret-width solid transparent; border-left: 0; border-right: $caret-width solid $caret-color; border-top: $caret-width solid transparent;}@mixin o-caret-right($caret-width: $caret-width, $caret-color: var(--o-input-border-color, currentColor)){@include utils-caret-boilerplate; border-bottom: $caret-width solid transparent; border-left: $caret-width solid $caret-color; border-right: 0; border-top: $caret-width solid transparent;}// ------------------------------------------------------------------ // Hovering effects // ------------------------------------------------------------------ @mixin o-hover-text-color($default-color: $body-color, $hover-color: $link-color){color: $default-color; &:hover, &:focus, &.focus{color: $hover-color;}}// ------------------------------------------------------------------ // Mixin to define variations for btn-links and muted btn-links // ------------------------------------------------------------------ @mixin o-btn-link-variant($color, $color-active){text-transform: none; @include o-hover-text-color($default-color: $color, $hover-color: $color-active); &, &:hover, &:focus, &:active, &.active{border-color: transparent; background-color: transparent;}&.text-muted, .text-muted{@include o-hover-opacity; @include o-hover-text-color($default-color: $text-muted, $hover-color: $color-active);}}// Odoo defines a limited Noto font-family for a small variety of unicode // characters that are not necessary defined in the user system or even defined // but not properly readable. This function allows to add this font family in a // given font list. // // @param{list}$font - a list of font names ending with the generic one. // @param{integer}[$index] - the position where to add the support font, if // not given, it will be placed before the generic one. @function o-add-unicode-support-font($font, $index: false){@if $index == false{$index: length($font);}$-with-support-font: (); @for $i from 1 through length($font){@if $i == $index{$-with-support-font: append($-with-support-font, 'Odoo Unicode Support Noto', $separator: comma);}$-with-support-font: append($-with-support-font, nth($font, $i), $separator: comma);}@return $-with-support-font;}// Function to remove all null values of a map @function o-map-omit($map){$-map: (); @each $key, $value in $map{@if $value != null{$-map: map-merge($-map, ( $key: $value, ));}}@return $-map;}// Function to swap two values in a list @function o-swap($list, $i, $j){$tmp: nth($list, $i); $list: set-nth($list, $i, nth($list, $j)); @return set-nth($list, $j, $tmp);}// Function to get an element of a list with a default value in case the index // is out-of-bounds; also return that value if the retrieved value is null. @function o-safe-nth($list, $index, $default: null){$value: if($index > 0 and $index <= length($list), nth($list, $index), null); @return if($value != null, $value, $default);}// Function to get an element of a map with a default value in case the key // does not exist; also return that value if the retrieved value is null. @function o-safe-get($map, $key, $default: null){$value: map-get($map, $key); @return if($value != null, $value, $default);}// ------- Kanban grouped mixins ------- @mixin o-kanban-icon($base-opacity: 0.5){display: block; text-align: center; color: $o-main-text-color; font-size: $font-size-sm; cursor: pointer; @include o-hover-opacity($base-opacity);}@mixin o-kanban-tag-color{@for $size from 1 through length($o-colors){// Note: the first color is supposed to be invisible if there is a color // field but it is used as a default color when there is no color field &.o_tag_color_#{$size - 1}span{background-color: nth($o-colors, $size);}}}@mixin o-kanban-record-color{@for $size from 2 through length($o-colors){// Note: the first color is not defined as it is the 'no color' for kanban .oe_kanban_color_#{$size - 1}{border-left-color: nth($o-colors, $size); &:after{background-color: nth($o-colors, $size);}}}}@mixin o-kanban-slim-col{position: relative; flex: 0 0 auto; margin: 0; padding: 0 floor($o-kanban-group-padding * 0.7); cursor: pointer;}@mixin o-kanban-header-title{display: flex; align-items: center; height: $o-kanban-header-title-height; line-height: 2.2; color: $headings-color;}@mixin o-kanban-v-title{@include o-position-absolute($o-kanban-inside-vgutter * 2, $left: floor(-$o-kanban-inside-vgutter * 1.2)); transform-origin: left bottom 0; transform: rotate(90deg); overflow: visible; white-space: nowrap; font-size: 15px;}// ------- Kanban records mixins ------- @mixin o-kanban-record-title($font-size){color: $headings-color; font-size: $font-size; font-weight: 500; margin-bottom: 0; margin-top: 0;}@mixin o-kanban-dropdown($padding-base: $o-kanban-inside-vgutter){margin: -1px -1px 1px; padding: $padding-base/2 $padding-base; border: 1px solid transparent; border-bottom: none; vertical-align: top; @include o-hover-text-color($body-color, $headings-color); &:focus, &:active, &:focus:active{outline: none; box-shadow: none;}}@mixin o-kanban-dropdown-open{position: relative; background: white; border-color: $border-color; z-index: $zindex-dropdown + 1;}@mixin o-kanban-dropdown-menu{@include o-position-absolute($right: -1px); margin-top: -2px; border-color: $border-color; border-top-right-radius: 0;}@mixin o-kanban-colorpicker{max-width: 150px; padding: 3px ($o-dropdown-hpadding - $o-kanban-inner-hmargin) 3px $o-dropdown-hpadding; > li{display: inline-block; margin: $o-kanban-inner-hmargin $o-kanban-inner-hmargin 0 0; border: 1px solid white; box-shadow: 0 0 0 1px gray('300'); > a{display: block; &::after{content: ""; display: block; width: 20px; height: 15px;}}// No Color &:first-child > a{position: relative; &::before{content: ""; @include o-position-absolute(-2px, $left: 10px); display: block; width: 1px; height: 20px; transform: rotate(45deg); background-color: red;}&::after{background-color: white;}}}}// Emulate dropdown links @mixin o-kanban-dashboard-dropdown-link($link-padding-gap: $o-dropdown-hpadding){padding: 0; > a{margin: auto auto auto (-$link-padding-gap); padding: 3px $link-padding-gap; color: $dropdown-link-color; display: block; &:hover{background-color: $dropdown-link-hover-bg; color: $dropdown-link-hover-color;}}&:last-child{margin-bottom: 5px;}}// No content helper @mixin o-nocontent-empty{pointer-events: auto; max-width: 650px; margin: auto; padding: 15px; z-index: 1000; text-align: center; color: $o-tooltip-text-color; font-size: 115%; > p:first-of-type{margin-top: 0; color: $o-tooltip-title-text-color; font-weight: bold; font-size: 125%;}a{cursor: pointer;}}%o-nocontent-init-image{content: ""; display: block; margin: auto; background-size: cover;}%o-nocontent-empty-document{@extend %o-nocontent-init-image; @include size(120px, 80px); margin-top: 30px; margin-bottom: 30px; background: transparent url(/web/static/img/empty_folder.svg) no-repeat center;}// ---------------------------------------------------------------------------- // CSS Variables // ---------------------------------------------------------------------------- // Print a document property the right way (depending on the type of the // printed variable). @mixin print-variable($key, $value){@if $value != null{$-type: type-of($value); @if $-type == 'string'{--#{$key}: '#{$value}';}@else if $-type == 'list'{--#{$key}: #{inspect($value)};}@else{--#{$key}: #{$value};}}}

/* /web/static/src/legacy/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the variables that style odoo components. /// They are available in every asset bundle. /// // Font sizes $o-root-font-size: 12px !default; $o-font-size-base: 13rem * (1px / $o-root-font-size) !default; $o-line-height-base: 1.5 !default; // This is BS default // Colors $o-community-color: #71639e !default; $o-enterprise-color: #714B67 !default; $o-enterprise-primary-color: #017e84 !default; $o-brand-odoo: $o-community-color !default; $o-brand-primary: $o-community-color !default; $o-brand-secondary: #f0eeee !default; $o-brand-lightsecondary: #e2e2e0 !default; // This is BS default $o-gray-100: #f8f9fa !default; $o-gray-200: #e9ecef !default; $o-gray-300: #dee2e6 !default; $o-gray-400: #ced4da !default; $o-gray-500: #adb5bd !default; $o-gray-600: #6c757d !default; $o-gray-700: #495057 !default; $o-gray-800: #343a40 !default; $o-gray-900: #212529 !default; $o-success: #28a745 !default; $o-info: #17a2b8 !default; $o-warning: #ffac00 !default; $o-danger: #dc3545 !default; // Fine-tune contextual text colors. $o-theme-text-colors: ( "success": #008818, "info": #0180a5, "warning": #9a6b01, "danger": #d23f3a, )!default; $o-main-text-color: $o-gray-700 !default; $o-main-color-muted: rgba($o-main-text-color, .76) !default; $o-main-headings-color: $o-gray-900 !default; $o-main-link-color: darken($o-brand-primary, 5%) !default; $o-main-favorite-color: #f3cc00 !default; $o-main-code-color: #d2317b !default; $o-view-background-color: white !default; $o-shadow-color: #303030 !default; $o-form-lightsecondary: #ccc !default; $o-list-footer-bg-color: #eee !default; $o-list-footer-font-weight: bold !default; $o-tooltip-background-color: white !default; $o-tooltip-color: #666666 !default; $o-tooltip-arrow-color: white !default; $o-tooltip-text-color: #777777 !default; $o-tooltip-title-text-color: black !default; $o-tooltip-title-background-color: #F7F7F7 !default; // Forms // o-inputs $o-input-padding-y: 2px !default; $o-input-padding-x: 4px !default; $o-input-border-required: $o-brand-primary !default; // Bootstrap clone, we just change the icon color $o-custom-checkbox-indicator-icon-checked-disabled: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$o-main-color-muted}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default; // Layout // // Extension of BS4. This is not redefining the BS4 variable directly as we only // need the extra ones for media queries (not creating new breakpoint classes). // Note: default BS4 values are hardcoded here while it should be possible to // merge with the default BS variable (but we would have to take care of // ordering & cie). $o-extra-grid-breakpoints: ( xs: 0, vsm: 475px, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1534px, ) !default; $o-form-group-cols: 12 !default; $o-form-spacing-unit: 5px !default; $o-horizontal-padding: 16px !default; $o-innergroup-rpadding: 45px !default; $o-dropdown-hpadding: 20px !default; $o-dropdown-vpadding: 3px !default; $o-dropdown-box-shadow: 0 1rem 1.1rem rgba(#000, .1) !default; $o-sheet-vpadding: 24px !default; $o-statbutton-height: 44px !default; $o-statbutton-vpadding: 0px !default; $o-statbutton-spacing: 6px !default; $o-modal-lg: 980px !default; $o-modal-md: 650px !default; // Needed for having no spacing between sheet and mail body in mass_mailing: // Different required cancel paddings between web and web_enterprise $o-sheet-cancel-tpadding: 0px !default; $o-avatar-size: 90px !default; $o-statusbar-height: 33px !default; $o-label-font-size-factor: 0.8 !default; $o-navbar-height: 46px !default; $o-nb-calendar-colors: 24 !default; $o-base-settings-mobile-tabs-height: 40px !default; $o-base-settings-mobile-tabs-overflow-gap: 3% !default; $o-cp-breadcrumb-height: 30px !default; $o-datepicker-week-color: #8f8f8f !default; $o-card-body-bg-opacity: 0.9 !default; // Kanban $o-kanban-default-record-width: 300px !default; $o-kanban-small-record-width: 240px !default; $o-kanban-header-title-height: 50px !default; $o-kanban-image-width: 64px !default; $o-kanban-image-fill-width: 95px !default; $o-kanban-inside-vgutter: 8px !default; $o-kanban-inside-hgutter: 8px !default; $o-kanban-color-border-width: 2px !default; $o-kanban-inner-hmargin: 5px !default; $o-kanban-progressbar-height: 20px !default; $o-kanban-mobile-tabs-height: 40px !default; $o-kanban-mobile-empty-height: $o-kanban-image-width !default; // ------- Kanban dashboard variables ------- // Used to manage spacing in complex dropdown menu $o-kanban-dashboard-dropdown-complex-gap: 5px !default; // Form view $o-form-view-sheet-max-width: 1140px !default; 

/* /mail/static/src/scss/variables/primary_variables.scss defined in bundle 'web.assets_frontend' */
$o-mail-thread-avatar-size: 36px !default; $o-mail-thread-icon-opacity: 0.6 !default; $o-mail-thread-side-date-opacity: 0.6 !default; $o-mail-thread-window-bg: #FAFAFA !default; $o-mail-thread-window-width: 325px !default; $o-mail-chatter-gap: 10px !default; $o-mail-chatter-mobile-gap: 2% !default; $o-mail-chat-header-height: 46px !default; $o-mail-attachment-image-size: 100px !default; $o-mail-sidebar-icon-opacity: 0.7 !default; $o-mail-chat-sidebar-width: 250px !default; $o-mail-partner-avatar-size: 24px !default; // Needed because $border-radius variations are all set to 0 in enterprise. $o-mail-rounded-rectangle-border-radius-sm: .2rem !default; $o-mail-rounded-rectangle-border-radius-lg: 3 * $o-mail-rounded-rectangle-border-radius-sm !default; $o-mail-chat-window-header-height: 36px !default; $o-mail-chat-window-header-height-mobile: 46px !default; $o-mail-discuss-message-highlight-indicator-width: 4px !default; $o-mail-discuss-sidebar-active-indicator-margin-right: 10px !default; $o-mail-discuss-sidebar-active-indicator-width: 3px !default; $o-mail-discuss-sidebar-category-title-icon-size: 15px !default; $o-mail-discuss-sidebar-category-item-margin: 3px !default; $o-mail-discuss-sidebar-category-item-avatar-left-margin: $o-mail-discuss-sidebar-category-title-icon-size + $o-mail-discuss-sidebar-category-item-margin !default; $o-mail-discuss-sidebar-category-item-avatar-size: 30px !default; $o-mail-discuss-sidebar-scrollbar-width: 15px !default; $o-mail-message-sidebar-width: 50px; @mixin o-mail-systray-no-notification-style{opacity: 0.5;}

/* /web_editor/static/src/scss/web_editor.variables.scss defined in bundle 'web.assets_frontend' */
/// /// This files regroups the variables and mixins which are specific to the editor. /// //------------------------------------------------------------------------------ // Odoo Editor UI //------------------------------------------------------------------------------ $o-we-bg-darkest: #000000 !default; $o-we-bg-darker: #141217 !default; $o-we-bg-dark: #191922 !default; $o-we-bg-light: #2b2b33 !default; $o-we-bg-lighter: #3e3e46 !default; $o-we-bg-lightest: #595964 !default; $o-we-fg-darker: #9d9d9d !default; $o-we-fg-dark: #C6C6C6 !default; $o-we-fg-light: #D9D9D9 !default; $o-we-fg-lighter: #FFFFFF !default; $o-we-color-danger: #e6586c !default; $o-we-color-warning: #f0ad4e !default; $o-we-color-success: #40ad67 !default; $o-we-color-info: #6999a8 !default; $o-we-bg: $o-we-bg-light !default; $o-we-color: $o-we-fg-light !default; $o-we-font-size: 13px !default; $o-we-font-family: Roboto, 'Montserrat', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif !default; $o-we-accent: #01bad2 !default; $o-we-border-width: 1px !default; $o-we-border-color: $o-we-bg-light !default; $o-we-ace-color: #2F3129 !default; $o-we-handles-offset-to-hide: 10000px !default; $o-we-handles-btn-size: 20px !default; $o-we-handles-accent-color: $o-we-accent !default; $o-we-handles-accent-color-preview: $o-enterprise-color !default; $o-we-handle-edge-size: 8px !default; $o-we-handle-border-width: 2px !default; $o-we-dropzone-size: 30px !default; // $grid-gutter-width (todo: allow to use the variable) $o-we-dropzone-border-width: 2px !default; $o-we-dropzone-border: $o-we-dropzone-border-width dashed $o-brand-odoo !default; // Translations $o-we-content-to-translate-color: rgb(255, 255, 90) !default; $o-we-translated-content-color: rgb(120, 215, 110) !default; $o-we-toolbar-height: 40px !default; $o-we-item-spacing: 8px !default; $o-we-item-border-width: 1px !default; $o-we-item-border-color: $o-we-bg-darkest !default; $o-we-item-border-radius: 2px !default; $o-we-item-clickable-bg: $o-we-bg-lightest!default; $o-we-item-clickable-color: $o-we-fg-light!default; $o-we-item-clickable-hover-bg: $o-we-bg-dark!default; $o-we-item-pressed-bg: $o-we-bg-light !default; $o-we-item-pressed-color: $o-we-fg-lighter !default; $o-we-item-standup-color-light: $o-we-fg-lighter; $o-we-item-standup-color-dark: $o-we-bg-darkest; $o-we-item-standup-top: inset 0 1px 0; $o-we-item-standup-bottom: inset 0 -1px 0; $o-we-dropdown-spacing: $o-we-item-spacing !default; $o-we-dropdown-bg: $o-we-bg-darker !default; $o-we-dropdown-border-width: 1px !default; $o-we-dropdown-border-color: $o-we-bg-darkest !default; $o-we-dropdown-shadow: 0 2px 8px 0 rgba(black, 0.5) !default; $o-we-dropdown-item-height: 34px !default; $o-we-dropdown-item-spacing: 1px !default; $o-we-dropdown-item-bg: $o-we-bg-lightest !default; $o-we-dropdown-item-bg-hover: $o-we-bg-light !default; $o-we-dropdown-item-color: $o-we-fg-dark !default; $o-we-dropdown-item-hover-color: $o-we-fg-light !default; $o-we-dropdown-item-active-bg: mix($o-we-dropdown-item-bg, $o-we-dropdown-item-bg-hover) !default; $o-we-dropdown-item-active-color: $o-we-fg-lighter !default; $o-we-dropdown-caret-spacing: 2px !default; $o-we-sidebar-bg: $o-we-bg !default; $o-we-sidebar-color: $o-we-color !default; $o-we-sidebar-font-size: 12px !default; $o-we-sidebar-border-width: $o-we-border-width !default; $o-we-sidebar-border-color: $o-we-border-color !default; $o-we-sidebar-width: $o-we-sidebar-border-width + 290px !default; $o-we-sidebar-top-height: 46px !default; $o-we-sidebar-tabs-size-ratio: 1 !default; $o-we-sidebar-tabs-bg: $o-we-bg-darker !default; $o-we-sidebar-tabs-color: $o-we-sidebar-color !default; $o-we-sidebar-tabs-disabled-color: $o-we-fg-darker !default; $o-we-sidebar-tabs-active-border-width: 2px !default; $o-we-sidebar-tabs-active-border-color: $o-we-accent !default; $o-we-sidebar-tabs-active-color: $o-we-fg-lighter !default; $o-we-sidebar-blocks-content-bg: $o-we-bg-dark !default; $o-we-sidebar-blocks-content-spacing: 10px !default; $o-we-sidebar-blocks-content-snippet-spacing: 2px !default; $o-we-sidebar-blocks-content-snippet-bg: $o-we-bg-lighter !default; $o-we-sidebar-content-highlight-bar-width: 2px !default; $o-we-sidebar-content-highlight-bar-color: $o-we-accent !default; $o-we-sidebar-content-gutter-item-indent: 5px !default; $o-we-sidebar-content-padding-base: 10px !default; $o-we-sidebar-content-indent: $o-we-sidebar-content-gutter-item-indent + $o-we-sidebar-content-padding-base !default; $o-we-sidebar-content-backdrop-bg: rgba(black, 0.2) !default; $o-we-sidebar-content-available-room: $o-we-sidebar-width - $o-we-sidebar-content-padding-base - $o-we-sidebar-content-indent !default; $o-we-sidebar-content-main-title-height: 32px !default; $o-we-sidebar-content-main-title-color: $o-we-fg-lighter !default; $o-we-sidebar-content-main-title-font-size: 13px !default; $o-we-sidebar-content-block-spacing: 10px !default; $o-we-sidebar-content-fold-block-bg: $o-we-bg-light !default; $o-we-sidebar-content-field-spacing: $o-we-item-spacing !default; $o-we-sidebar-content-field-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-control-item-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-control-item-size: 1em !default; $o-we-sidebar-content-field-control-item-spacing: 0.5em !default; $o-we-sidebar-content-field-label-spacing: 6px !default; $o-we-sidebar-content-field-label-width: $o-we-sidebar-content-available-room * .4 !default; $o-we-sidebar-content-field-multi-spacing: $o-we-sidebar-content-field-label-spacing * .5 !default; $o-we-sidebar-content-field-height: 22px !default; $o-we-sidebar-content-field-border-width: $o-we-item-border-width !default; $o-we-sidebar-content-field-border-color:$o-we-item-border-color !default; $o-we-sidebar-content-field-border-radius: $o-we-item-border-radius !default; $o-we-sidebar-content-field-disabled-color: $o-we-sidebar-content-field-control-item-color !default; $o-we-sidebar-content-field-clickable-bg: $o-we-item-clickable-bg !default; $o-we-sidebar-content-field-clickable-color: $o-we-item-clickable-color !default; $o-we-sidebar-content-field-clickable-spacing: $o-we-sidebar-content-field-label-spacing !default; $o-we-sidebar-content-field-pressed-bg: $o-we-item-pressed-bg !default; $o-we-sidebar-content-field-pressed-color: $o-we-item-pressed-color !default; $o-we-sidebar-content-field-dropdown-spacing: $o-we-dropdown-spacing !default; $o-we-sidebar-content-field-dropdown-bg: $o-we-dropdown-bg !default; $o-we-sidebar-content-field-dropdown-border-width: $o-we-dropdown-border-width !default; $o-we-sidebar-content-field-dropdown-border-color: $o-we-dropdown-border-color !default; $o-we-sidebar-content-field-dropdown-shadow: $o-we-dropdown-shadow !default; $o-we-sidebar-content-field-dropdown-item-height: $o-we-dropdown-item-height !default; $o-we-sidebar-content-field-dropdown-item-spacing: $o-we-dropdown-item-spacing !default; $o-we-sidebar-content-field-dropdown-item-bg: $o-we-dropdown-item-bg !default; $o-we-sidebar-content-field-dropdown-item-bg-hover: $o-we-dropdown-item-bg-hover !default; $o-we-sidebar-content-field-dropdown-item-color: $o-we-dropdown-item-color !default; $o-we-sidebar-content-field-dropdown-item-hover-color: $o-we-dropdown-item-hover-color !default; $o-we-sidebar-content-field-dropdown-item-active-bg: $o-we-dropdown-item-active-bg !default; $o-we-sidebar-content-field-dropdown-item-active-color: $o-we-dropdown-item-active-color !default; $o-we-sidebar-content-field-dropdown-grid-item-height: 60px !default; $o-we-sidebar-content-field-dropdown-grid-item-width: 80px !default; $o-we-sidebar-content-field-colorpicker-size: 20px !default; $o-we-sidebar-content-field-colorpicker-size-large: 26px !default; $o-we-sidebar-content-field-colorpicker-shadow: inset 0 0 0 1px rgba(white, 0.5) !default; $o-we-sidebar-content-field-colorpicker-dropdown-bg: $o-we-bg-lighter !default; $o-we-sidebar-content-field-colorpicker-dropdown-color: $o-we-fg-light !default; $o-we-sidebar-content-field-colorpicker-dropdown-active-color: $o-we-fg-lighter !default; $o-we-sidebar-content-field-colorpicker-cc-width: 208px !default; $o-we-sidebar-content-field-colorpicker-cc-height: 26px !default; $o-we-sidebar-content-field-input-max-width: 60px !default; $o-we-sidebar-content-field-input-bg: $o-we-bg-light !default; $o-we-sidebar-content-field-input-font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $o-we-sidebar-content-field-input-unit-font-size: 11px !default; $o-we-sidebar-content-field-input-border-color: $o-we-accent !default; $o-we-sidebar-content-field-button-group-button-spacing: $o-we-sidebar-content-field-clickable-spacing; $o-we-sidebar-content-field-progress-height: 4px !default; $o-we-sidebar-content-field-progress-control-height: 10px !default; $o-we-sidebar-content-field-progress-color: $o-we-fg-darker !default; $o-we-sidebar-content-field-progress-active-color: $o-we-accent !default; $o-we-sidebar-content-field-toggle-width: 20px !default; $o-we-sidebar-content-field-toggle-height: 12px !default; $o-we-sidebar-content-field-toggle-bg: $o-we-fg-darker !default; $o-we-sidebar-content-field-toggle-active-bg: $o-we-accent !default; $o-we-sidebar-content-field-toggle-control-width: 11px !default; $o-we-sidebar-content-field-toggle-control-height: $o-we-sidebar-content-field-toggle-height - 2px !default; $o-we-sidebar-content-field-toggle-control-bg: $o-we-fg-lighter !default; $o-we-sidebar-content-field-toggle-control-shadow: 0 2px 3px 0 $o-we-bg-darkest !default; //------------------------------------------------------------------------------ // Preview component Mixins //------------------------------------------------------------------------------ @mixin o-we-preview-box($color-text: white){border-top: 1px solid black; border-bottom: 1px solid white; background-image: linear-gradient(-150deg, $o-we-bg-light, $o-we-bg-dark); color: $color-text;}@mixin o-we-preview-content{display: inline-block; max-width: 100%; overflow: hidden; box-shadow: 0 0 15px 2px #000;}//------------------------------------------------------------------------------ // Mixins to shield UI from themed bootstrap //------------------------------------------------------------------------------ @mixin o-w-preserve-base{font-size: $o-we-font-size; font-family: $o-we-font-family; line-height: 1.5; color: #33363e; .text-muted{color: #999999 !important;}}@mixin o-w-preserve-headings{h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{font-family: $o-we-font-family; line-height: 1.5; color: $o-we-bg-light; font-weight: bold;}h1, .h1{font-size: 2.4 * $o-we-font-size;}h2, .h2{font-size: 1.5 * $o-we-font-size;}h3, .h3{font-size: 1.3 * $o-we-font-size;}h4, .h4{font-size: 1.2 * $o-we-font-size;}h5, .h5{font-size: 1.1 * $o-we-font-size;}h6, .h6{font-size: $o-we-font-size;}}@mixin o-w-preserve-links{a:not(.o_btn_preview){color: $o-brand-primary; &:focus, &:active, &:focus:active{outline: none!important;}}.badge{&:hover a, a{color: #fff;}}}@mixin o-w-preserve-forms{:not(.input-group):not(.form-group):not(.input-group-append):not(.input-group-prepend) > .form-control{height: 34px;}.form-control{padding: 6px 12px; font-size: 14px; line-height: 1.5; border: 1px solid #d4d5d7; color: #555; background-color: #fff; border-radius: 0; &.is-invalid{border-color: $danger;}}.input-group .form-control{height: auto;}.input-group-text{background-color: #e9ecef;}.was-validated{.form-control:invalid{border-color: $danger;}}select.form-control{appearance: none; background: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPScxLjEnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgeG1 sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnIHdpZHRoPScyNCcgaGVpZ2 h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBpZD0nc3ZnXzEnIGQ9J203LjQwNiw3L jgyOGw0LjU5NCw0LjU5NGw0LjU5NCwtNC41OTRsMC40MDYsMS40MDZsLTUsNC43NjZsLTUsLTQu NzY2bDAuNDA2LC0xLjQwNnonIGZpbGw9JyM4ODgnLz48L3N2Zz4='); background-position: 100% 65%; background-repeat: no-repeat;}}@mixin o-w-preserve-modals{.modal-content{border-radius: 0; background-color: white; .modal-header{border-bottom-color: #e9ecef;}.modal-body{background-color: white;}.modal-footer{border-top-color: #e9ecef; text-align: left;}}.close{font-size: 1.5 * $o-we-font-size;}}@mixin o-w-preserve-tabs{.nav-tabs{border-bottom: 1px solid #e9ecef; > li{> a{line-height: 1.5; color: #4e525b; &:hover{border-color: #dee2e6;}&.active{&, &:hover, &:focus{color: #3D4047; background-color: white; border-color: #dee2e6 #dee2e6 #FFFFFF;}}}}}}@mixin o-w-preserve-btn{.btn:not(.o_btn_preview){border-radius: 0; font-weight: normal; text-transform: none; @include button-size(.375rem, .75rem, 0.875rem, 1.5, 0); &.btn-primary{@include button-variant($o-brand-primary, $o-brand-primary); color: white;}&.btn-secondary{@include button-variant(white, white); color: $o-brand-primary;}&.btn-link{@include button-variant(white, white); color: $o-brand-primary;}&.btn-success{@include button-variant($o-we-color-success, $o-we-color-success); color: white;}&.btn-info{@include button-variant($o-we-color-info, $o-we-color-info); color: white;}&.btn-warning{@include button-variant($o-we-color-warning, $o-we-color-warning); color: #33363e;}&.btn-danger{@include button-variant($o-we-color-danger, $o-we-color-danger); color: #33363e;}}}@mixin o-w-preserve-cards{.card{padding: 19px; margin-bottom: 20px; background-color: white; border: 1px solid darken(white, 5%); border-radius: 0; box-shadow: none;}}@mixin o-w-preserve-dropdown-menus{.dropdown-menu{background-color: white;}.dropdown-item{color: #212529; @include hover-focus{color: darken(#212529, 5%);}&.active, &:active{color: white; @include gradient-bg($o-brand-primary);}}}// ------------------------------------------------------------------ // Selection wrapper // ------------------------------------------------------------------ @mixin o-we-active-wrapper($icon: '\f00c', $top: auto, $right: auto, $bottom: auto, $left: auto){box-shadow: 0 0 0 3px $o-brand-primary; &:not(.fa){border: 3px solid $o-brand-primary; box-shadow: none; &:before{content: $icon; @include o-position-absolute($top, $right, $bottom, $left); width: 19px; height: 19px; background-color: $o-brand-primary; font-family: 'FontAwesome'; color: white; border-radius: 50%; text-align: center; z-index: 1; box-shadow: $box-shadow;}}}//------------------------------------------------------------------------------ // Edited content //------------------------------------------------------------------------------ $o-support-13-0-color-system: false !default; $o-checklist-margin-left: 20px; $o-checklist-checkmark-width: 2px; $o-checklist-before-size: 13px; // Edition colors // Note: the "base" palettes contain all possible keys a palette should or // must contain, with a default value which should work in use cases where it // will be used. Any palette defined by an app will be merged with the base // palette once selected to ensure it works. // Colors $o-base-color-palette: ( 'o-color-1': transparent, 'o-color-2': transparent, 'o-color-3': transparent, 'o-color-4': transparent, 'o-color-5': transparent, ) !default; $o-color-palettes: ( 'base-1': ( 'o-color-1': scale-color($o-enterprise-primary-color, $saturation: -50%, $lightness: 20%), 'o-color-2': scale-color($o-enterprise-color, $saturation: -50%), 'o-color-3': #F6F6F6, 'o-color-4': #FFFFFF, 'o-color-5': #383E45, ), 'base-2': ( 'o-color-1': #337ab7, 'o-color-2': #e9ecef, 'o-color-3': #F8F9FA, 'o-color-4': #FFFFFF, 'o-color-5': #343a40, ), ) !default; $o-color-palette-name: 'base-1' !default; // Theme colors $o-base-theme-color-palette: () !default; $o-theme-color-palettes: ( // alpha -> epsilon are old color names kept for compatibility. // They should not be used in the code base anymore and ideally they will // not generate any classes for >= 13.4 databases. 'base-1': ( 'alpha': $o-enterprise-primary-color, 'beta': $o-enterprise-color, 'gamma': #5C5B80, 'delta': #5B899E, 'epsilon': #E46F78, ), ) !default; $o-theme-color-palette-name: 'base-1' !default; // Greyscale transparent colours // Note: BS values are forced by default in every palette as the values can // be used in bootstrap_overridden.scss files through the o-color function. // Also, all of the gray colors generates bg- classes in Odoo so black and white // are added for the same reason. $o-base-gray-color-palette: ( 'white': #FFFFFF, '100': #F8F9FA, '200': #E9ECEF, '300': #DEE2E6, '400': #CED4DA, '500': #ADB5BD, '600': #6C757D, '700': #495057, '800': #343A40, '900': #212529, 'black': #000000, ) !default; $o-transparent-grays: ( 'black-15': rgba(black, 0.15), 'black-25': rgba(black, 0.25), 'black-50': rgba(black, 0.5), 'black-75': rgba(black, 0.75), 'white-25': rgba(white, 0.25), 'white-50': rgba(white, 0.5), 'white-75': rgba(white, 0.75), 'white-85': rgba(white, 0.85), ) !default; $o-gray-color-palettes: () !default; $o-gray-color-palette-name: '' !default; // Color combinations $o-base-color-combination: ( 'bg': 'white', 'text': null, // Default to better contrast with the 'bg' 'headings': null, // Default to 'text' 'h2': null, // Default to 'h(x-1)' 'h3': null, 'h4': null, 'h5': null, 'h6': null, 'link': null, // Default to BS 'primary' (= first odoo color) 'btn-primary': null, // Default to BS 'primary' (= first odoo color) 'btn-primary-border': null, // Default to 'btn-primary' 'btn-secondary': null, // Default to BS 'secondary' (= second odoo color) 'btn-secondary-border': null, // Default to 'btn-secondary' ); $o-color-combinations-presets: ( ( ( 'bg': 'o-color-4', ), ( 'bg': 'o-color-3', 'headings': 'o-color-1', ), ( 'bg': 'o-color-2', 'btn-secondary': 'o-color-3', ), ( 'bg': 'o-color-1', 'link': 'o-color-5', 'btn-primary': 'o-color-5', 'btn-secondary': 'o-color-3', ), ( 'bg': 'o-color-5', 'headings': 'o-color-4', 'btn-secondary': 'o-color-3', ), ), ) !default; $o-color-combinations-preset-number: 1; // We allow snippets to be colored and elements like card and columns to be // colored as well. We need components targeted by those colored classes to // use the deepest coloring element config. We only allow here for this to // work for one level of nesting. Note: snippets which can contain other // snippets will have problem because of this; this is a limitation of the // system until a better solution is found. $o-color-extras-nesting-selector: '&, .o_colored_level &'; // Apply colors according to the given identifier. Can either be a preset // number, a color name or a css color. @mixin o-apply-colors($identifier, $with-extras: true, $background: $body-bg){$-related-color: o-related-color($identifier, $max-recursions: 10); @if type-of($-related-color) == 'number'{// This is a preset to be applied, just extend it. This should probably // be avoided and use the class in XML if possible. @extend .o_cc#{$-related-color};}@else{@include o-bg-color(o-color($-related-color), $with-extras: $with-extras, $background: $background, $important: false);}}// Function which returns if a color has contrast enough in comparaison to // another given color. @function has-enough-contrast($color1, $color2, $threshold: 500){$r: (max(red($color1), red($color2))) - (min(red($color1), red($color2))); $g: (max(green($color1), green($color2))) - (min(green($color1), green($color2))); $b: (max(blue($color1), blue($color2))) - (min(blue($color1), blue($color2))); $sum-rgb: $r + $g + $b; @return ($sum-rgb >= $threshold);}// Function which transforms a color to increase its contrast in comparison to // another given color. @function increase-contrast($color1, $color2){@if not $color1 or not $color2{@return null;}$luma-c1: luma($color1); $luma-c2: luma($color2); $lightness-c1: lightness($color1); $lightness-inc: if($luma-c1 < $luma-c2, -1%, 1%); $i: 0; // Max 15% lightness change even if not contrasted enough @while ($lightness-c1 > 0.1% and $lightness-c1 < 99.9% and $i < 15 and not has-enough-contrast($color1, $color2)){$color1: adjust-color($color1, $lightness: $lightness-inc); $lightness-c1: $lightness-c1 + $lightness-inc; $i: $i + 1;}@return $color1;}// Given a primary color (and eventually a secondary one), the function returns // a basic odoo palette in sass-map format. The palette will be generated using // the safest readability values possible. @function o-make-palette($-primary, $-secondary: null, $-overrides-map: null){$-o-color-2: $-secondary or increase-contrast(desaturate(mix(complement($-primary), #FFFFFF, 80%), 20%), $-primary); $-palette: ( 'o-color-1': $-primary, 'o-color-2': $-o-color-2, 'o-color-3': change-color(#F5F0F0, $hue: hue($-primary), $saturation: min(saturation($-primary), saturation(#F5F0F0))), 'o-color-4': #FFFFFF, 'o-color-5': change-color(#2e1414, $hue: hue($-primary), $saturation: min(saturation($-primary), saturation(#2e1414))), ); // Check if primary/dark contrast is enough. If not adapt cc4 & cc5 schemes accordingly @if not (has-enough-contrast(map-get($-palette, 'o-color-5'), map-get($-palette, 'o-color-1'), 300)){@each $-cc in (4, 5){$-palette: map-merge($-palette, ( 'o-cc#{$-cc}-btn-primary': 'o-color-4', 'o-cc#{$-cc}-btn-secondary': 'o-color-2', 'o-cc#{$-cc}-text': 'o-color-3', 'o-cc#{$-cc}-link': 'o-color-4' ));}}@if $-overrides-map{$-palette: map-merge($-palette, $-overrides-map);}@return $-palette;}// format: (module_name: (shape_filename: ('position': X, 'size': Y, 'colors': (1, [3], ...)), ...)) $o-bg-shapes: ('web_editor': ( 'Airy/01': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Airy/02': ('position': top, 'size': 100% auto, 'colors': (1)), 'Airy/03': ('position': top, 'size': 100% auto, 'colors': (5)), 'Airy/03_001': ('position': top, 'size': 100% auto, 'colors': (5)), 'Airy/04': ('position': center, 'size': 100% 100%, 'colors': (1)), 'Airy/04_001': ('position': center, 'size': 100% 100%, 'colors': (1)), 'Airy/05': ('position': center, 'size': 100% 100%, 'colors': (1)), 'Airy/05_001': ('position': center, 'size': 100% 100%, 'colors': (1)), 'Airy/06': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Airy/07': ('position': top, 'size': 100% auto, 'colors': (2)), 'Airy/08': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Airy/09': ('position': top, 'size': 100% auto, 'colors': (1)), 'Airy/10': ('position': bottom, 'size': 100% auto, 'colors': (5)), 'Airy/11': ('position': top, 'size': 100% auto, 'colors': (5)), 'Airy/12': ('position': top, 'size': 100% auto, 'colors': (1, 3)), 'Airy/12_001': ('position': top, 'size': 100% auto, 'colors': (1, 3)), 'Airy/13': ('position': bottom, 'size': 100% auto, 'colors': (1, 4)), 'Airy/13_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 4)), 'Airy/14': ('position': bottom, 'size': 100% auto, 'colors': (1, 4)), 'Blobs/01': ('position': top, 'size': 100% auto, 'colors': (2)), 'Blobs/01_001': ('position': top, 'size': 100% auto, 'colors': (2)), 'Blobs/02': ('position': bottom, 'size': 100% auto, 'colors': (1, 2)), 'Blobs/03': ('position': top, 'size': 100% auto, 'colors': (2)), 'Blobs/04': ('position': center, 'size': 100% auto, 'colors': (5)), 'Blobs/05': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Blobs/06': ('position': top, 'size': 100% auto, 'colors': (1)), 'Blobs/07': ('position': top, 'size': 100% auto, 'colors': (5)), 'Blobs/08': ('position': right, 'size': 100% auto, 'colors': (1)), 'Blobs/09': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Blobs/10': ('position': top, 'size': 100% auto, 'colors': (1, 5)), 'Blobs/10_001': ('position': top, 'size': 100% auto, 'colors': (1)), 'Blobs/11': ('position': center, 'size': 100% auto, 'colors': (1)), 'Blobs/12': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Blocks/01': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5)), 'Blocks/01_001': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5)), 'Blocks/02': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5)), 'Blocks/02_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5)), 'Blocks/03': ('position': bottom, 'size': 100% auto, 'colors': (1, 4)), 'Blocks/04': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3, 5)), 'Bold/01': ('position': top, 'size': 100% auto, 'colors': (2)), 'Bold/02': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3)), 'Bold/03': ('position': bottom, 'size': 100% auto, 'colors': (1, 3, 5)), 'Bold/04': ('position': top, 'size': 100% auto, 'colors': (2, 3)), 'Bold/05': ('position': center, 'size': 100% auto, 'colors': (5)), 'Bold/05_001': ('position': center, 'size': 100% auto, 'colors': (3)), 'Bold/06': ('position': center, 'size': 100% auto, 'colors': (5)), 'Bold/06_001': ('position': center, 'size': 100% auto, 'colors': (3)), 'Bold/07': ('position': bottom, 'size': 100% auto, 'colors': (1, 2)), 'Bold/07_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 2)), 'Bold/08': ('position': top, 'size': 100% auto, 'colors': (1)), 'Bold/09': ('position': bottom, 'size': 100% auto, 'colors': (2, 3)), 'Bold/10': ('position': top, 'size': 100% auto, 'colors': (1, 3, 4, 5)), 'Bold/10_001': ('position': top, 'size': 100% auto, 'colors': (1, 4, 5)), 'Bold/11': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3)), 'Bold/11_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 2)), 'Bold/12': ('position': center, 'size': 100% auto, 'colors': (1, 2, 5)), 'Bold/12_001': ('position': center, 'size': 100% auto, 'colors': (1, 2, 5)), 'Floats/01': ('position': center right, 'size': auto 100%, 'colors': (1, 2, 3, 4, 5)), 'Floats/02': ('position': center, 'size': 100%, 'colors': (1, 2, 3, 5)), 'Floats/03': ('position': center, 'size': 100%, 'colors': (1, 2, 3, 5)), 'Floats/04': ('position': center, 'size': 100%, 'colors': (1, 2, 4, 5)), 'Floats/05': ('position': center, 'size': 100%, 'colors': (1, 2, 3, 5)), 'Floats/06': ('position': center, 'size': auto 100%, 'colors': (1, 2, 3, 5)), 'Floats/07': ('position': right bottom, 'size': auto 100%, 'colors': (1, 2, 3, 5)), 'Floats/08': ('position': top left, 'size': auto 100%, 'colors': (1, 2, 3, 5)), 'Floats/09': ('position': center right, 'size': auto 100%, 'colors': (1, 2, 3)), 'Floats/10': ('position': center, 'size': 100% auto, 'colors': (1, 2, 3, 5)), 'Floats/11': ('position': center, 'size': 100% 100%, 'colors': (1, 3)), 'Floats/12': ('position': top, 'size': 100% auto, 'colors': (1, 2, 3, 5), 'repeat-y': true), 'Origins/01': ('position': bottom, 'size': 100% auto, 'colors': (2, 5)), 'Origins/02': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Origins/02_001': ('position': bottom, 'size': 100% auto, 'colors': (4, 5)), 'Origins/03': ('position': top, 'size': 100% auto, 'colors': (3)), 'Origins/04': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Origins/04_001': ('position': top, 'size': 100% 100%, 'colors': (3)), 'Origins/05': ('position': top, 'size': 100% auto, 'colors': (3)), 'Origins/06': ('position': center, 'size': 100% auto, 'colors': (3)), 'Origins/06_001': ('position': center, 'size': 100% auto, 'colors': (3, 4)), 'Origins/07': ('position': center, 'size': 100% 100%, 'colors': (3)), 'Origins/07_001': ('position': center, 'size': 100% 100%, 'colors': (3, 5)), 'Origins/07_002': ('position': center, 'size': 100% 100%, 'colors': (3, 4, 5)), 'Origins/08': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Origins/09': ('position': top, 'size': 100% auto, 'colors': (1, 5)), 'Origins/09_001': ('position': top, 'size': 100% auto, 'colors': (3)), 'Origins/10': ('position': bottom, 'size': 100% auto, 'colors': (2, 5)), 'Origins/11': ('position': top, 'size': 100% auto, 'colors': (3, 5)), 'Origins/11_001': ('position': top, 'size': 100% auto, 'colors': (3, 4)), 'Origins/12': ('position': top, 'size': 100% auto, 'colors': (3, 5)), 'Origins/13': ('position': center, 'size': 100% auto, 'colors': (3, 5)), 'Origins/14': ('position': bottom, 'size': 100% auto, 'colors': (4)), 'Origins/14_001': ('position': bottom, 'size': 100% auto, 'colors': (3, 4)), 'Origins/15': ('position': top, 'size': 100% auto, 'colors': (4)), 'Origins/16': ('position': center, 'size': 100% 100%, 'colors': (3)), 'Origins/17': ('position': center, 'size': 100% 100%, 'colors': (3)), 'Origins/18': ('position': center, 'size': 100% 100%, 'colors': (1)), 'Rainy/01': ('position': bottom, 'size': 100% auto, 'colors': (1, 5)), 'Rainy/01_001': ('position': bottom, 'size': 100% auto, 'colors': (1, 5)), 'Rainy/02': ('position': top, 'size': 100% auto, 'colors': (1, 4, 5)), 'Rainy/02_001': ('position': top, 'size': 100% auto, 'colors': (1, 4, 5)), 'Rainy/03': ('position': top, 'size': 100% auto, 'colors': (2, 4, 5), 'repeat-y': true), 'Rainy/03_001': ('position': top, 'size': 100% auto, 'colors': (2, 5), 'repeat-y': true), 'Rainy/04': ('position': top, 'size': 100% auto, 'colors': (1, 5)), 'Rainy/05': ('position': top, 'size': 100% auto, 'colors': (1, 5)), 'Rainy/05_001': ('position': top, 'size': 100% auto, 'colors': (1)), 'Rainy/06': ('position': bottom, 'size': 100% auto, 'colors': (1, 2, 3)), 'Rainy/07': ('position': top, 'size': 100% auto, 'colors': (1, 2, 3)), 'Rainy/08': ('position': top, 'size': 100% auto, 'colors': (1, 4)), 'Rainy/08_001': ('position': top, 'size': 100% auto, 'colors': (1, 4)), 'Rainy/09': ('position': top, 'size': 100% auto, 'colors': (1)), 'Rainy/09_001': ('position': top, 'size': 100% auto, 'colors': (1)), 'Rainy/10': ('position': center, 'size': 100% auto, 'colors': (1, 3)), 'Wavy/01': ('position': bottom, 'size': 100% auto, 'colors': (4)), 'Wavy/01_001': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Wavy/02': ('position': top, 'size': 100% auto, 'colors': (4)), 'Wavy/02_001': ('position': top, 'size': 100% auto, 'colors': (3)), 'Wavy/03': ('position': top, 'size': 100% auto, 'colors': (1, 2)), 'Wavy/04': ('position': bottom, 'size': 100% auto, 'colors': (1, 5)), 'Wavy/05': ('position': top, 'size': 100% auto, 'colors': (1, 5)), 'Wavy/06': ('position': top, 'size': 100% auto, 'colors': (1, 3, 4, 5)), 'Wavy/06_001': ('position': top, 'size': 100% auto, 'colors': (1, 3, 5)), 'Wavy/07': ('position': top, 'size': 100% auto, 'colors': (3)), 'Wavy/08': ('position': top, 'size': 100% auto, 'colors': (2)), 'Wavy/09': ('position': bottom, 'size': 100% auto, 'colors': (1, 5)), 'Wavy/10': ('position': center, 'size': 100% auto, 'colors': (1, 2)), 'Wavy/11': ('position': bottom, 'size': 100% auto, 'colors': (1, 4)), 'Wavy/12': ('position': top, 'size': 100% auto, 'colors': (1)), 'Wavy/12_001': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Wavy/13': ('position': bottom, 'size': 100% auto, 'colors': (4)), 'Wavy/13_001': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Wavy/14': ('position': bottom, 'size': 100% auto, 'colors': (1, 3)), 'Wavy/15': ('position': top, 'size': 100% auto, 'colors': (1)), 'Wavy/16': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Wavy/17': ('position': top, 'size': 100% auto, 'colors': (1)), 'Wavy/18': ('position': bottom, 'size': 100% auto, 'colors': (5)), 'Wavy/19': ('position': top, 'size': 100% auto, 'colors': (5)), 'Wavy/20': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Wavy/21': ('position': top, 'size': 100% auto, 'colors': (2)), 'Wavy/22': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Wavy/23': ('position': top, 'size': 100% auto, 'colors': (3)), 'Wavy/24': ('position': center, 'size': 100% auto, 'colors': (1, 2)), 'Wavy/25': ('position': top, 'size': 100% auto, 'colors': (1, 2)), 'Wavy/26': ('position': bottom right, 'size': auto 100%, 'colors': (1, 2)), 'Wavy/27': ('position': center, 'size': 100% auto, 'colors': (1, 2)), 'Wavy/28': ('position': center, 'size': 100% 100%, 'colors': (1, 3)), 'Zigs/01': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Zigs/01_001': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Zigs/02': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Zigs/02_001': ('position': bottom, 'size': 100% auto, 'colors': (2)), 'Zigs/03': ('position': top, 'size': 100% auto, 'colors': (1), 'repeat-y': true), 'Zigs/04': ('position': bottom, 'size': 100% auto, 'colors': (1)), 'Zigs/05': ('position': bottom, 'size': 100% auto, 'colors': (3)), 'Zigs/06': ('position': bottom, 'size': 30px 100%, 'colors': (4, 5), 'repeat-x': true), )); @function change-shape-colors-mapping($module, $shape-name, $mapping, $shapes: $o-bg-shapes){$-module-shapes: map-get($shapes, $module); $-modified-module-shapes: map-merge($-module-shapes, ( $shape-name: map-merge(map-get($-module-shapes, $shape-name), ('color-to-cc-bg-map': $mapping)), )); @return map-merge($shapes, ( $module: $-modified-module-shapes, ));}@function add-extra-shape-colors-mapping($module, $shape-name, $mapping-name, $mapping, $shapes: $o-bg-shapes){$-module-shapes: map-get($shapes, $module); $-shape-data: map-get($-module-shapes, $shape-name); $-extra-mappings: map-get($-shape-data, 'extra-mappings') or (); $-modified-module-shapes: map-merge($-module-shapes, ( $shape-name: map-merge($-shape-data, ('extra-mappings': map-merge($-extra-mappings, ($mapping-name: $mapping)))), )); @return map-merge($shapes, ( $module: $-modified-module-shapes, ));}@function add-header-shape-colors-mapping($module, $shape-name, $mapping, $shapes: $o-bg-shapes){@return add-extra-shape-colors-mapping($module, $shape-name, 'header', $mapping, $shapes);}@function add-footer-shape-colors-mapping($module, $shape-name, $mapping, $shapes: $o-bg-shapes){@return add-extra-shape-colors-mapping($module, $shape-name, 'footer', $mapping, $shapes);}@mixin o-input-number-no-arrows(){// Remove arrows/spinners from input type number // => Chrome, Safari, Edge, Opera input::-webkit-outer-spin-button, input::-webkit-inner-spin-button{-webkit-appearance: none; margin: 0;}// => Firefox input[type=number]{-moz-appearance: textfield;}}; 

/* /portal/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
$o-portal-default-body-bg: white; $o-theme-navbar-logo-height: null; $o-theme-btn-icon-hover-decoration: none; 

/* /website/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
 //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ $o-base-color-palette: map-merge($o-base-color-palette, ( 'body': $o-portal-default-body-bg, 'menu': 1, // o_cc1 'menu-custom': null, 'menu-border-color': null, // Default to classes used on the template 'header-boxed': null, 'header-boxed-custom': '200', 'footer': 5, // o_cc5 'footer-custom': null, 'copyright': null, 'copyright-custom': null, )); // By default, all user color palette values are null. Each null value is // automatically replaced with corresponsing color of chosen color palette. $o-user-color-palette: () !default; // By default, all user gray color palette values are null. Each null value // is automatically replaced with corresponsing color of chosen gray color // palette. $o-user-gray-color-palette: () !default; // By default, all user theme color palette values are null. Each null value // is automatically replaced with corresponsing color of chosen theme color // palette. $o-user-theme-color-palette: () !default; $o-social-colors: ( 'facebook': #3B5999, 'twitter': #55ACEE, 'linkedin': #0077B5, 'google-plus': #DD4B39, 'youtube': #ff0000, 'github': #1a1e22, 'instagram': #cf2872, 'whatsapp': #25d366, 'pinterest': #C8232C, ); $o-theme-figcaption-opacity: 0.6; $o-color-palettes: map-merge($o-color-palettes, ( 'base-1': map-merge(map-get($o-color-palettes, 'base-1'), ( 'copyright-custom': 'black-15', )), 'base-2': map-merge(map-get($o-color-palettes, 'base-2'), ( 'menu': 2, 'footer': 2, 'copyright': 5, )), 'default-1': o-make-palette(#38383B, null, ( 'menu': 4, 'footer': 4, 'copyright-custom': 'black-15', )), 'default-2': o-make-palette(#0F5132, null, ( 'menu': 4, 'footer': 4, 'copyright-custom': 'black-15', )), 'default-3': o-make-palette(#6CB14F, #114B5F, ( 'menu': 3, 'footer': 3, 'copyright-custom': 'black-15', )), 'default-4': o-make-palette(#20C997, #426A5A, ( 'menu': 2, 'footer': 2, )), 'default-5': o-make-palette(#79DFC1, null, ( 'footer': 1, )), 'default-6': o-make-palette(#3DD5F3), 'default-7': o-make-palette(#6EA8FE, #474973), 'default-8': o-make-palette(#0AA2C0), 'default-9': o-make-palette(#0A58CA), 'default-10': o-make-palette(#6610F2, #C97064), 'default-11': o-make-palette(#6F42C1, #114B5F), 'default-12': o-make-palette(#A370F7, #504746), 'default-13': o-make-palette(#e36ff7, #233D4D), 'default-14': o-make-palette(#E56B6B, #4C5B5C), 'default-15': o-make-palette(#8B1E3F, #23395B), 'default-16': o-make-palette(#DE6528), 'default-17': o-make-palette(#E17726, #51344D), 'default-19': o-make-palette(#FAB803, #1A1423, ( 'menu': 3, 'footer': 3, 'copyright-custom': 'black-15', )), 'default-18': o-make-palette(#DFA400), 'default-20': o-make-palette(#B99253, #495867), 'generic-1': ( 'o-color-1': #984c46, 'o-color-2': #23323b, 'o-color-3': #eceae4, 'o-color-4': #FFFFFF, 'o-color-5': #16121f, 'menu': 3, 'footer': 3, 'copyright-custom': 'black-15', ), 'generic-2': ( 'o-color-1': #B99932, 'o-color-2': #DED1C1, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #373737, 'menu': 5, 'copyright': 4, ), 'generic-3': ( 'o-color-1': #f8882f, 'o-color-2': #6a7c8f, 'o-color-3': #fdf8ef, 'o-color-4': #FFFFFF, 'o-color-5': #212c39, 'copyright-custom': 'black-15', ), 'generic-4': ( 'o-color-1': #6E7993, 'o-color-2': #96848C, 'o-color-3': #8F9AA2, 'o-color-4': #D5D5D5, 'o-color-5': #313347, 'menu': 5, 'copyright-custom': 'black-15', ), 'generic-5': ( 'o-color-1': #F7CF41, 'o-color-2': #1A2930, 'o-color-3': #989898, 'o-color-4': #FFFFFF, 'o-color-5': #0B1612, 'menu': 3, 'footer': 3, 'copyright-custom': 'black-15', ), 'generic-6': ( 'o-color-1': #45859A, 'o-color-2': #B57D4D, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #10273C, 'menu': 2, 'footer': 2, 'copyright': 5, ), 'generic-7': ( 'o-color-1': #1a547a, 'o-color-2': #ddc76a, 'o-color-3': #D6E6F1, 'o-color-4': #FFFFFF, 'o-color-5': #2b3442, 'o-cc5-link': 'o-color-4', 'o-cc5-text': #9b9ba0, 'menu': 5, 'footer': 5, 'copyright': 3, ), 'generic-8': ( 'o-color-1': #763240, 'o-color-2': #C19F7F, 'o-color-3': #FFFFFF, 'o-color-4': #EAEAEA, 'o-color-5': #2F2F2F, 'o-cc4-headings': 'o-color-3', 'o-cc4-link': 'o-color-3', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-headings': 'o-color-3', 'o-cc5-link': 'o-color-3', 'o-cc5-text': rgba(#fff, .8), 'footer': 1, 'copyright': 4, ), 'generic-9': ( 'o-color-1': #4DC5C1, 'o-color-2': #EC576B, 'o-color-3': #E5E337, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'menu': 5, 'copyright-custom': 'black-15', ), 'generic-10': ( 'o-color-1': #b56355, 'o-color-2': #6ba17a, 'o-color-3': #ebe6ea, 'o-color-4': #FFFFFF, 'o-color-5': #343733, 'footer': 2, 'copyright-custom': 'black-15', ), 'generic-11': ( 'o-color-1': #01ACAB, 'o-color-2': #FEDC3D, 'o-color-3': #FAE8E0, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'footer': 1, 'copyright-custom': 'black-15', ), 'generic-12': ( 'o-color-1': #926190, 'o-color-2': #F3E0CD, 'o-color-3': #F9EFE9, 'o-color-4': #FFFFFF, 'o-color-5': #291528, 'o-cc4-headings': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-headings': 'o-color-4', 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), 'copyright-custom': 'black-15', ), 'generic-13': ( 'o-color-1': #478FA2, 'o-color-2': #CECECE, 'o-color-3': #E8E9E9, 'o-color-4': #FFFFFF, 'o-color-5': #173F54, 'footer': 1, 'copyright': 1, ), 'generic-14': ( 'o-color-1': #3CC37C, 'o-color-2': #E9C893, 'o-color-3': #F5F5F5, 'o-color-4': #FFFFFF, 'o-color-5': #1F3A2A, 'footer': 1, 'copyright': 5, ), 'generic-15': ( 'o-color-1': #01524B, 'o-color-2': #1993A3, 'o-color-3': #dddde6, 'o-color-4': #FFFFFF, 'o-color-5': #011D1B, 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), 'footer': 2, 'copyright': 5, ), 'generic-16': ( 'o-color-1': #464D77, 'o-color-2': #36827f, 'o-color-3': #f2f0ec, 'o-color-4': #FFFFFF, 'o-color-5': #22263c, 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-text': rgba(#fff, .8), 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-btn-secondary': #d6d4d0, 'o-cc5-link': 'o-color-4', 'o-cc5-text': rgba(#fff, .6), 'menu': 2, 'footer': 2, 'copyright': 5, ), 'generic-17': ( 'o-color-1': #4717f6, 'o-color-2': #A43ACB, 'o-color-3': #FAFAFA, 'o-color-4': #FFFFFF, 'o-color-5': #0F0A19, 'menu': 5, 'footer': 5, 'copyright-custom': 'black-15', ), 'anelusia-1': ( 'o-color-1': #000000, 'o-color-2': #e4e4e4, 'o-color-3': #00459e, 'o-color-4': #ffffff, 'o-color-5': #444444, 'o-cc2-headings': 'o-color-4', 'o-cc2-link': 'o-color-4', 'o-cc2-btn-primary': 'o-color-4', 'o-cc4-headings': 'o-color-4', 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-text': 'o-color-2', 'o-cc4-link': 'o-color-4', 'o-cc5-text': 'o-color-2', 'o-cc5-link': 'o-color-4', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'anelusia-2': ( 'o-color-1': #d4ab0a, 'o-color-2': #444444, 'o-color-3': #ececec, 'o-color-4': #ffffff, 'o-color-5': #000000, 'menu': 4, 'footer': 1, 'copyright': 2, ), 'anelusia-3': ( 'o-color-1': #005699, 'o-color-2': #ac5e82, 'o-color-3': #d8eff1, 'o-color-4': #ffffff, 'o-color-5': #222222, 'o-cc5-link': #218bdf, 'o-cc5-btn-primary': #218bdf, 'copyright-custom': 'black-15', ), 'anelusia-4': ( 'o-color-1': #dc143c, 'o-color-2': #7e2839, 'o-color-3': #faf7e1, 'o-color-4': #ffffff, 'o-color-5': #222222, 'copyright-custom': 'black-15', ), 'anelusia-5': ( 'o-color-1': #32c0c9, 'o-color-2': #cfcfcf, 'o-color-3': #cee6e7, 'o-color-4': #ffffff, 'o-color-5': #2e2e2e, 'footer': 1, 'copyright-custom': 'black-15', ), 'anelusia-6': ( 'o-color-1': #e27b92, 'o-color-2': #e4e4e4, 'o-color-3': #465548, 'o-color-4': #ffffff, 'o-color-5': #222222, 'o-cc2-headings': 'o-color-4', 'o-cc5-text': 'o-color-2', 'menu': 2, 'footer': 2, 'copyright-custom': 'black-15', ), 'artists-1': ( 'o-color-1': #6930C3, 'o-color-2': #333038, 'o-color-3': #e5e5e5, 'o-color-4': #ffffff, 'o-color-5': #110d16, 'o-cc5-text': 'o-color-3', 'menu': 5, 'copyright-custom': 'black-15', ), 'artists-2': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #cfcfcf, 'o-color-4': #ffffff, 'o-color-5': #000000, 'menu': 2, 'copyright-custom': 'black-15', ), 'artists-3': ( 'o-color-1': #007882, 'o-color-2': #052286, 'o-color-3': #f9ede6, 'o-color-4': #ffffff, 'o-color-5': #33302e, 'o-cc5-link': #48d9e5, 'footer': 1, 'copyright': 1, ), 'artists-4': ( 'o-color-1': #0061df, 'o-color-2': #1b1b1b, 'o-color-3': #e8e6dc, 'o-color-4': #ffffff, 'o-color-5': #000000, 'menu': 2, 'footer': 2, 'copyright-custom': 'black-15', ), 'artists-5': ( 'o-color-1': #f48847, 'o-color-2': #282d30, 'o-color-3': #e9ceb0, 'o-color-4': #ffffff, 'o-color-5': #000000, 'footer': 3, 'copyright-custom': 'black-15', ), 'artists-6': ( 'o-color-1': #95d2e5, 'o-color-2': #454545, 'o-color-3': #f6f4f2, 'o-color-4': #ffffff, 'o-color-5': #000000, 'menu': 2, 'footer': 2, 'copyright-custom': 'black-15', ), 'avantgarde-1': ( 'o-color-1': #ee4980, 'o-color-2': #5f5458, 'o-color-3': #f7f7f7, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc1-headings': 'o-color-1', 'o-cc5-headings': 'o-color-1', 'body': 'o-color-3', 'footer': 1, 'copyright': 1, ), 'avantgarde-2': ( 'o-color-1': #38383b, 'o-color-2': #918f8b, 'o-color-3': #dfe0e1, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc4-headings': 'o-color-3', 'o-cc5-headings': 'o-color-2', 'o-cc4-btn-primary': 'o-color-3', 'o-cc5-btn-primary': 'o-color-2', 'menu': 4, 'footer': 4, 'copyright-custom': 'black-15', ), 'avantgarde-3': ( 'o-color-1': #f08e80, 'o-color-2': #0b0d63, 'o-color-3': #fdf0e6, 'o-color-4': #FFFFFF, 'o-color-5': #4e4d4d, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc4-headings': 'o-color-5', 'o-cc5-headings': 'o-color-1', 'menu': 3, 'footer': 4, 'copyright': 4, ), 'avantgarde-4': ( 'o-color-1': #f78f4a, 'o-color-2': #94583a, 'o-color-3': #F7EFBA, 'o-color-4': #FFFFFF, 'o-color-5': #312b24, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc4-headings': 'o-color-5', 'o-cc5-headings': 'o-color-1', 'o-cc2-btn-primary': 'o-color-2', 'o-cc3-btn-primary': 'o-color-3', 'footer': 1, 'copyright': 1, ), 'avantgarde-5': ( 'o-color-1': #AC578C, 'o-color-2': #69355D, 'o-color-3': #F7EFBA, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc4-headings': 'o-color-5', 'o-cc5-headings': 'o-color-1', 'o-cc2-btn-primary': 'o-color-2', 'o-cc3-btn-primary': 'o-color-3', 'footer': 1, 'copyright': 1, ), 'avantgarde-6': ( 'o-color-1': #f3b65b, 'o-color-2': #3c4e3c, 'o-color-3': #e7d1b5, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc5-headings': 'o-color-1', 'copyright-custom': 'black-15', ), 'avantgarde-7': ( 'o-color-1': #f48847, 'o-color-2': #282d30, 'o-color-3': #e9ceb0, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc2-headings': 'o-color-1', 'o-cc5-headings': 'o-color-1', 'copyright-custom': 'black-15', ), 'avantgarde-8': ( 'o-color-1': #278f84, 'o-color-2': #494048, 'o-color-3': #ebe1ea, 'o-color-4': #FFFFFF, 'o-color-5': #201c20, 'o-cc2-headings': 'o-color-1', 'o-cc5-headings': 'o-color-1', 'copyright-custom': 'black-15', ), 'beauty-1': ( 'o-color-1': #df699c, 'o-color-2': #590046, 'o-color-3': #dbe8ed, 'o-color-4': #ffffff, 'o-color-5': #222222, 'o-cc2-text': 'o-color-1', 'menu': 5, 'footer': 5, 'copyright': 5, ), 'beauty-2': ( 'o-color-1': #4fda89, 'o-color-2': #714e9c, 'o-color-3': #dadbdb, 'o-color-4': #ffffff, 'o-color-5': #242327, 'o-cc2-link': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 2, ), 'beauty-3': ( 'o-color-1': #009083, 'o-color-2': #8ba1a0, 'o-color-3': #e9e9e9, 'o-color-4': #ffffff, 'o-color-5': #1e222f, 'footer': 2, 'copyright': 2, ), 'beauty-4': ( 'o-color-1': #b6977d, 'o-color-2': #585832, 'o-color-3': #e7e5e5, 'o-color-4': #ffffff, 'o-color-5': #000000, 'footer': 1, 'copyright': 1, ), 'beauty-5': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #e9e9e9, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc2-link': 'o-color-5', 'menu': 3, 'footer': 3, 'copyright': 3, ), 'beauty-6': ( 'o-color-1': #b3b862, 'o-color-2': #1e493b, 'o-color-3': #e3e7e9, 'o-color-4': #ffffff, 'o-color-5': #112625, 'o-cc2-link': 'o-color-5', 'copyright-custom': 'black-15', ), 'bewise-1': ( 'o-color-1': #162238, 'o-color-2': #b4904f, 'o-color-3': #f0f4f4, 'o-color-4': #ffffff, 'o-color-5': #222222, 'body': 'o-color-3', 'menu': 3, 'footer': 1, 'copyright': 1, ), 'bewise-2': ( 'o-color-1': #f74b94, 'o-color-2': #45AADA, 'o-color-3': #edf2f4, 'o-color-4': #ffffff, 'o-color-5': #333333, 'footer': 1, 'copyright': 1, ), 'bewise-3': ( 'o-color-1': #dbb132, 'o-color-2': #8578b9, 'o-color-3': #f4f4f4, 'o-color-4': #ffffff, 'o-color-5': #333333, 'footer': 1, 'copyright': 1, ), 'bistro-1': ( 'o-color-1': #68b581, 'o-color-2': #046380, 'o-color-3': #e8e6d1, 'o-color-4': #ffffff, 'o-color-5': #1d2127, 'o-cc1-text': 'o-color-5', 'menu': 1, 'footer': 5, 'copyright': 4, ), 'bistro-2': ( 'o-color-1': #8cc850, 'o-color-2': #cc4452, 'o-color-3': #f6f4e1, 'o-color-4': #ffffff, 'o-color-5': #4c4545, 'o-cc1-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'menu': 5, 'footer': 5, 'copyright': 4, ), 'bistro-3': ( 'o-color-1': #e2ad3b, 'o-color-2': #1a2a41, 'o-color-3': #f2ebd5, 'o-color-4': #ffffff, 'o-color-5': #d26400, 'o-cc1-text': 'o-color-2', 'o-cc2-headings': 'o-color-2', 'o-cc2-link': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc5-link': 'o-color-3', 'menu': 3, 'footer': 3, 'copyright': 4, ), 'bistro-4': ( 'o-color-1': #0092b2, 'o-color-2': #046380, 'o-color-3': #f2ebd5, 'o-color-4': #ffffff, 'o-color-5': #a8c545, 'o-cc1-text': #002737, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc3-link': 'o-color-3', 'o-cc4-link': 'o-color-3', 'o-cc4-btn-primary': 'o-color-3', 'o-cc4-btn-secondary': 'o-color-2', 'o-cc5-link': 'o-color-2', 'o-cc5-btn-secondary': 'o-color-2', 'preheader': 4, 'menu': 1, 'footer': 3, 'copyright': 4, ), 'bistro-5': ( 'o-color-1': #dd7e43, 'o-color-2': #658791, 'o-color-3': #9cc264, 'o-color-4': #ffffff, 'o-color-5': #2b2d33, 'o-cc1-text': 'o-color-5', 'o-cc2-headings': 'o-color-4', 'o-cc2-btn-primary': 'o-color-4', 'o-cc2-link': 'o-color-4', 'o-cc3-btn-primary': 'o-color-4', 'o-cc3-btn-secondary': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-btn-secondary': 'o-color-5', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'o-cc5-link': 'o-color-1', 'preheader': 4, 'menu': 5, 'footer': 5, 'copyright': 4, ), 'bistro-6': ( 'o-color-1': #92b475, 'o-color-2': #8c7d77, 'o-color-3': #efefed, 'o-color-4': #ffffff, 'o-color-5': #011a33, 'o-cc1-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc3-btn-secondary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-btn-secondary': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-4', 'menu': 2, 'footer': 5, 'copyright': 4, ), 'bookstore-1': ( 'o-color-1': #a1a52f, 'o-color-2': #66555c, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #242327, 'o-cc2-link': 'o-color-5', 'o-cc5-link': 'o-color-4', 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-5', 'menu': 5, 'footer': 5, 'copyright': 5, ), 'bookstore-2': ( 'o-color-1': #679b96, 'o-color-2': #345552, 'o-color-3': #e9e9e9, 'o-color-4': #ffffff, 'o-color-5': #1e222f, 'o-cc2-link': 'o-color-5', 'o-cc2-headings': 'o-color-5', 'menu': 2, 'footer': 2, 'copyright': 2, ), 'bookstore-3': ( 'o-color-1': #df699c, 'o-color-2': #590046, 'o-color-3': #dbe8ed, 'o-color-4': #ffffff, 'o-color-5': #222222, 'o-cc2-link': 'o-color-5', 'o-cc2-headings': 'o-color-5', 'menu': 2, 'footer': 2, 'copyright': 2, ), 'bookstore-4': ( 'o-color-1': #b29964, 'o-color-2': #62624c, 'o-color-3': #f5f4f4, 'o-color-4': #ffffff, 'o-color-5': #333333, 'o-cc2-link': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'bookstore-5': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc2-link': 'o-color-5', 'o-cc4-link': 'o-color-5', 'o-cc4-text': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'bookstore-6': ( 'o-color-1': #cfd744, 'o-color-2': #3d504a, 'o-color-3': #f0f1f1, 'o-color-4': #ffffff, 'o-color-5': #112625, 'o-cc2-link': 'o-color-5', 'o-cc4-link': 'o-color-5', 'o-cc4-text': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'clean-1': ( 'o-color-1': #3498db, 'o-color-2': #34495e, 'o-color-3': #e5edf2, 'o-color-4': #ffffff, 'o-color-5': #333333, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'clean-2': ( 'o-color-1': #7a58b2, 'o-color-2': #4e3575, 'o-color-3': #ecece4, 'o-color-4': #ffffff, 'o-color-5': #2c3e50, 'o-cc1-headings': 'o-color-5', 'o-cc5-link': #b9a1df, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'clean-3': ( 'o-color-1': #f85fa6, 'o-color-2': #a3416f, 'o-color-3': #e0e9f2, 'o-color-4': #ffffff, 'o-color-5': #222222, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'clean-4': ( 'o-color-1': #3d91db, 'o-color-2': #995528, 'o-color-3': #f0edeb, 'o-color-4': #ffffff, 'o-color-5': #222222, 'o-cc3-bg': #583e2d, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'clean-5': ( 'o-color-1': #53aeb4, 'o-color-2': #7f8c8d, 'o-color-3': #eef3f6, 'o-color-4': #ffffff, 'o-color-5': #34495e, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'cobalt-1': ( 'o-color-1': #116466, 'o-color-2': #2B3737, 'o-color-3': #F6F4F2, 'o-color-4': #ffffff, 'o-color-5': #a9bcbc, 'o-cc3-headings': 'o-color-3', 'o-cc3-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc3-btn-primary': 'o-color-4', 'o-cc3-btn-secondary': 'o-color-5', 'header': 1, 'footer': 3, 'copyright-custom': 'black-15', ), 'enark-1': ( 'o-color-1': #7b97af, 'o-color-2': #464d53, 'o-color-3': #f2f2f2, 'o-color-4': #FFFFFF, 'o-color-5': #191919, 'o-cc1-text': 'o-color-2', 'o-cc1-btn-primary': 'o-color-2', 'o-cc5-link': 'o-color-4', 'copyright-custom': 'black-15', ), 'enark-2': ( 'o-color-1': #41cb7a, 'o-color-2': #0f4c26, 'o-color-3': #fafafa, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'enark-3': ( 'o-color-1': #F2A679, 'o-color-2': #4f6b8c, 'o-color-3': #f4f2f2, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc4-text': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'enark-4': ( 'o-color-1': #FFC513, 'o-color-2': #022859, 'o-color-3': #f4f2f2, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc4-text': 'o-color-5', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'enark-5': ( 'o-color-1': #41cbb4, 'o-color-2': #0f4c4c, 'o-color-3': #f2f2ef, 'o-color-4': #FFFFFF, 'o-color-5': #000000, 'o-cc4-text': 'o-color-5', 'footer': 4, 'copyright': 4, ), 'graphene-1': ( 'o-color-1': #30cbb2, 'o-color-2': #3c4e5e, 'o-color-3': #f4f5f6, 'o-color-4': #ffffff, 'o-color-5': #192028, 'o-cc1-link': #04957e, 'o-cc5-text': #b2b2b2, 'body': 'black-15', 'menu': 1, 'footer': 5, 'copyright-custom': 'black-25', ), 'graphene-2': ( 'o-color-1': #c8a47e, 'o-color-2': #32273b, 'o-color-3': #f1f1ef, 'o-color-4': #ffffff, 'o-color-5': #252424, 'o-cc3-text': #b2b2b2, 'o-cc4-text': 'o-color-4', 'o-cc3-headings': 'o-color-4', 'o-cc4-headings': 'o-color-5', 'o-cc5-text': #b2b2b2, 'copyright-custom': 'black-15', ), 'graphene-3': ( 'o-color-1': #39588e, 'o-color-2': #d2b683, 'o-color-3': #e0dfdb, 'o-color-4': #f4f5f6, 'o-color-5': #2a282a, 'o-cc5-link': #7a9edc, 'menu': 2, 'footer': 2, 'copyright-custom': 'black-15', ), 'graphene-4': ( 'o-color-1': #f48747, 'o-color-2': #e9ceb0, 'o-color-3': #f1ebe5, 'o-color-4': #fbfaf8, 'o-color-5': #282d30, 'menu': 5, 'copyright-custom': 'black-15', ), 'kea-1': ( 'o-color-1': #e991a3, 'o-color-2': #575757, 'o-color-3': #f6f5f5, 'o-color-4': #ffffff, 'o-color-5': #333333, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'kea-2': ( 'o-color-1': #f7a58e, 'o-color-2': #4b6272, 'o-color-3': #ecf0f2, 'o-color-4': #ffffff, 'o-color-5': #374249, 'menu': 4, 'footer': 4, 'copyright': 4, ), 'kea-3': ( 'o-color-1': #f9a646, 'o-color-2': #68635d, 'o-color-3': #f0efee, 'o-color-4': #ffffff, 'o-color-5': #333333, 'menu': 4, 'footer': 4, 'copyright': 4, ), 'kea-4': ( 'o-color-1': #ed6639, 'o-color-2': #385b9f, 'o-color-3': #d5dee3, 'o-color-4': #ffffff, 'o-color-5': #333333, 'o-cc4-link': 'o-color-4', 'o-cc4-btn-primary': 'o-color-4', 'menu': 4, 'footer': 4, 'copyright': 4, ), 'kiddo-1': ( 'o-color-1': #f3997b, 'o-color-2': #a7c7d5, 'o-color-3': #e3f0ee, 'o-color-4': #FFFFFF, 'o-color-5': #47464b, 'o-cc2-headings': null, 'menu': 4, 'footer': 4, 'copyright': 4, ), 'kiddo-2': ( 'o-color-1': #637bbe, 'o-color-2': #8eb9c7, 'o-color-3': #f6f0ea, 'o-color-4': #FFFFFF, 'o-color-5': #343643, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'kiddo-3': ( 'o-color-1': #684672, 'o-color-2': #639C8E, 'o-color-3': #f8ebd6, 'o-color-4': #FFFFFF, 'o-color-5': #302633, 'menu': 2, 'footer': 2, 'copyright': 2, 'o-cc1-headings': 'o-color-1', 'o-cc1-btn-secondary': 'o-color-3', ), 'kiddo-4': ( 'o-color-1': #c54545, 'o-color-2': #364481, 'o-color-3': #ccd7c5, 'o-color-4': #ffffff, 'o-color-5': #1f2230, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'loftspace-1': ( 'o-color-1': #a1a52f, 'o-color-2': #66555c, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #242327, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'loftspace-2': ( 'o-color-1': #679b96, 'o-color-2': #345552, 'o-color-3': #e9e9e9, 'o-color-4': #ffffff, 'o-color-5': #1e222f, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'loftspace-3': ( 'o-color-1': #df699c, 'o-color-2': #590046, 'o-color-3': #dbe8ed, 'o-color-4': #ffffff, 'o-color-5': #222222, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'loftspace-4': ( 'o-color-1': #b29964, 'o-color-2': #62624c, 'o-color-3': #f5f4f4, 'o-color-4': #ffffff, 'o-color-5': #333333, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'loftspace-5': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #000000, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'loftspace-6': ( 'o-color-1': #cfd744, 'o-color-2': #3d504a, 'o-color-3': #f0f1f1, 'o-color-4': #ffffff, 'o-color-5': #112625, 'menu': 5, 'footer': 5, 'copyright': 5, ), 'monglia-1': ( 'o-color-1': #ed145b, 'o-color-2': #9CD6FA, 'o-color-3': #f5f5f5, 'o-color-4': #ffffff, 'o-color-5': #111111, 'copyright-custom': 'black-15', ), 'monglia-2': ( 'o-color-1': #8f8747, 'o-color-2': #5b4645, 'o-color-3': #f0ecdb, 'o-color-4': #ffffff, 'o-color-5': #21263a, 'copyright-custom': 'black-15', ), 'monglia-3': ( 'o-color-1': #c0ce75, 'o-color-2': #704562, 'o-color-3': #dedede, 'o-color-4': #ffffff, 'o-color-5': #3e3e3e, 'copyright-custom': 'black-15', ), 'monglia-4': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #cfcfcf, 'o-color-4': #ffffff, 'o-color-5': #000000, 'copyright-custom': 'black-15', ), 'monglia-5': ( 'o-color-1': #c5ca60, 'o-color-2': #40a181, 'o-color-3': #bfddec, 'o-color-4': #ffffff, 'o-color-5': #112625, 'footer': 1, 'copyright': 1, ), 'monglia-6': ( 'o-color-1': #da557d, 'o-color-2': #6d4046, 'o-color-3': #fffddc, 'o-color-4': #ffffff, 'o-color-5': #3e3f43, 'footer': 1, 'copyright': 1, ), 'nano-1': ( 'o-color-1': #ed8558, 'o-color-2': #74bcc5, 'o-color-3': #efe9e0, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc2-headings': 'o-color-5', 'o-cc3-btn-primary': 'o-color-4', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'body': 'o-color-5', 'preheader': 4, 'menu': 5, 'footer': 2, 'copyright': 5, ), 'nano-2': ( 'o-color-1': #e77557, 'o-color-2': #213047, 'o-color-3': #f2f2f2, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc2-headings': 'o-color-2', 'o-cc4-link': 'o-color-4', 'menu': 3, 'footer': 2, 'copyright': 2, ), 'nano-3': ( 'o-color-1': #85bf4b, 'o-color-2': #74bcc5, 'o-color-3': #eaf2df, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc2-headings': 'o-color-5', 'o-cc3-btn-primary': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'menu': 5, 'footer': 5, 'copyright': 5, ), 'nano-4': ( 'o-color-1': #16c6cc, 'o-color-2': #d72d3c, 'o-color-3': #e9ecef, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc2-headings': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'menu': 5, 'footer': 2, 'copyright': 4, ), 'nano-5': ( 'o-color-1': #c7db58, 'o-color-2': #413659, 'o-color-3': #efefed, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc2-headings': 'o-color-5', 'o-cc2-link': 'o-color-2', 'o-cc3-link': 'o-color-1', 'o-cc5-link': 'o-color-1', 'menu': 3, 'footer': 2, 'copyright': 3, ), 'nano-6': ( 'o-color-1': #db5d6b, 'o-color-2': #5acaaf, 'o-color-3': #efefed, 'o-color-4': #ffffff, 'o-color-5': #23262b, 'o-cc3-link': 'o-color-3', 'o-cc3-btn-primary': 'o-color-5', 'o-cc4-link': 'o-color-3', 'o-cc5-headings': 'o-color-1', 'o-cc5-link': 'o-color-1', 'menu': 5, 'footer': 2, 'copyright': 5, 'o-cc2-headings': 'o-color-5', ), 'notes-1': ( 'o-color-1': #a1c005, 'o-color-2': #9B96B4, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #212121, 'o-cc2-headings': 'o-color-5', 'menu': 5, 'copyright': 4, ), 'notes-2': ( 'o-color-1': #5191f0, 'o-color-2': #394b44, 'o-color-3': #f6f3ef, 'o-color-4': #ffffff, 'o-color-5': #212523, 'menu': 3, 'footer': 3, 'copyright': 4, ), 'notes-3': ( 'o-color-1': #DE8642, 'o-color-2': #B9B1A8, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #4B4D52, 'menu': 4, 'footer': 4, 'copyright': 5, ), 'notes-4': ( 'o-color-1': #ebd425, 'o-color-2': #48372f, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #352e2e, 'o-cc2-headings': 'o-color-5', 'o-cc4-text': 'o-color-5', 'menu': 3, 'footer': 3, 'copyright': 4, ), 'odoo-experts-1': ( 'o-color-1': #278f84, 'o-color-2': #494048, 'o-color-3': #f9f9f9, 'o-color-4': #FFFFFF, 'o-color-5': #201c20, 'o-cc5-link': #65e4d7, 'menu': 1, 'footer': 5, 'copyright': 5, ), 'odoo-experts-2': ( 'o-color-1': #414f8a, 'o-color-2': #888888, 'o-color-3': #f9f9f9, 'o-color-4': #FFFFFF, 'o-color-5': #222222, 'o-cc5-text': #b8b7b7, 'o-cc5-link': 'o-color-4', 'menu': 5, 'footer': 5, 'copyright': 5, ), 'odoo-experts-3': ( 'o-color-1': #dfcc60, 'o-color-2': #7f6262, 'o-color-3': #f9f9f9, 'o-color-4': #FFFFFF, 'o-color-5': #352626, 'menu': 4, 'footer': 4, 'copyright': 4, ), 'odoo-experts-4': ( 'o-color-1': #01e0b5, 'o-color-2': #5c7aff, 'o-color-3': #f9f9f9, 'o-color-4': #FFFFFF, 'o-color-5': #444444, 'o-cc2-link': 'o-color-5', 'menu': 3, 'footer': 3, 'copyright': 3, ), 'orchid-1': ( 'o-color-1': #a1a52f, 'o-color-2': #66555c, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #242327, 'footer': 4, 'copyright': 4, ), 'orchid-2': ( 'o-color-1': #679b96, 'o-color-2': #345552, 'o-color-3': #e9e9e9, 'o-color-4': #ffffff, 'o-color-5': #1e222f, 'footer': 1, 'copyright': 4, ), 'orchid-3': ( 'o-color-1': #df699c, 'o-color-2': #590046, 'o-color-3': #dbe8ed, 'o-color-4': #ffffff, 'o-color-5': #222222, 'footer': 1, 'copyright': 4, ), 'orchid-4': ( 'o-color-1': #b29964, 'o-color-2': #62624c, 'o-color-3': #f5f4f4, 'o-color-4': #ffffff, 'o-color-5': #333333, 'footer': 1, 'copyright': 4, ), 'orchid-5': ( 'o-color-1': #1ad68f, 'o-color-2': #2e2e2e, 'o-color-3': #f7f7f7, 'o-color-4': #ffffff, 'o-color-5': #000000, 'footer': 1, 'copyright': 4, ), 'orchid-6': ( 'o-color-1': #cfd744, 'o-color-2': #3d504a, 'o-color-3': #f0f1f1, 'o-color-4': #ffffff, 'o-color-5': #112625, 'menu': 4, 'footer': 4, 'copyright': 5, ), 'orchid-7': ( 'o-color-1': #007564, 'o-color-2': #fcb752, 'o-color-3': #f8f8f8, 'o-color-4': #ffffff, 'o-color-5': #011a16, ), 'paptic-1': ( 'o-color-1': #6772E5, 'o-color-2': #F5F9F9, 'o-color-3': #34B885, 'o-color-4': #ffffff, 'o-color-5': #9BA9BB, 'o-cc1-headings': 'o-color-5', 'o-cc1-link': 'o-color-1', 'o-cc1-btn-secondary': 'o-color-5', 'o-cc1-btn-secondary-border': 'o-color-5', 'o-cc2-headings': 'o-color-2', 'o-cc2-link': #40fffb, 'o-cc3-headings': 'o-color-3', 'o-cc4-link': #40fffb, 'o-cc5-link': #40fffb, 'header': 1, 'footer': 1, 'copyright': 3, ), 'real-estate-1': ( 'o-color-1': #539b80, 'o-color-2': #2e2e2e, 'o-color-3': #f4f4f4, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc1-btn-primary': #1ad68f, 'o-cc5-link': #1ad68f, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'real-estate-2': ( 'o-color-1': #006bff, 'o-color-2': #fda400, 'o-color-3': #F1F1F4, 'o-color-4': #ffffff, 'o-color-5': #2A2A33, 'footer': 1, 'copyright': 1, ), 'real-estate-3': ( 'o-color-1': #cddf66, 'o-color-2': #b62682, 'o-color-3': #f4f5f2, 'o-color-4': #ffffff, 'o-color-5': #000000, 'footer': 1, 'copyright': 1, ), 'real-estate-4': ( 'o-color-1': #007882, 'o-color-2': #48578a, 'o-color-3': #f4efeb, 'o-color-4': #ffffff, 'o-color-5': #33302e, 'o-cc5-link': #70c7cf, 'menu': 5, 'copyright-custom': 'black-15', ), 'treehouse-1': ( 'o-color-1': #68b581, 'o-color-2': #046380, 'o-color-3': #e8e6d1, 'o-color-4': #ffffff, 'o-color-5': #1d2127, 'o-cc1-text': 'o-color-5', 'o-cc4-btn-primary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'menu': 1, 'footer': 5, 'copyright': 4, ), 'treehouse-2': ( 'o-color-1': #8cc850, 'o-color-2': #cc4452, 'o-color-3': #f6f4e1, 'o-color-4': #ffffff, 'o-color-5': #4c4545, 'o-cc1-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'menu': 5, 'footer': 5, 'copyright': 4, ), 'treehouse-3': ( 'o-color-1': #e2ad3b, 'o-color-2': #1a2a41, 'o-color-3': #f2ebd5, 'o-color-4': #ffffff, 'o-color-5': #d26400, 'o-cc1-text': 'o-color-2', 'o-cc2-headings': 'o-color-2', 'o-cc2-link': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc5-link': 'o-color-3', 'menu': 3, 'footer': 3, 'copyright': 4, ), 'treehouse-4': ( 'o-color-1': #0092b2, 'o-color-2': #046380, 'o-color-3': #f2ebd5, 'o-color-4': #ffffff, 'o-color-5': #a8c545, 'o-cc1-text': #002737, 'o-cc2-headings': 'o-color-2', 'o-cc3-headings': 'o-color-3', 'o-cc3-link': 'o-color-3', 'o-cc4-link': 'o-color-3', 'o-cc4-btn-primary': 'o-color-3', 'o-cc4-btn-secondary': 'o-color-2', 'o-cc5-link': 'o-color-2', 'o-cc5-btn-secondary': 'o-color-2', 'menu': 1, 'footer': 3, 'copyright': 4, ), 'treehouse-5': ( 'o-color-1': #dd7e43, 'o-color-2': #658791, 'o-color-3': #e3e9eb, 'o-color-4': #ffffff, 'o-color-5': #d45c45, 'o-cc2-headings': 'o-color-2', 'o-cc3-link': 'o-color-3', 'o-cc4-link': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-4', 'o-cc5-link': 'o-color-4', 'menu': 1, 'footer': 2, 'copyright': 4, ), 'treehouse-6': ( 'o-color-1': #92b475, 'o-color-2': #8c7d77, 'o-color-3': #efefed, 'o-color-4': #ffffff, 'o-color-5': #011a33, 'o-cc1-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc3-btn-secondary': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc4-btn-secondary': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-4', 'menu': 2, 'footer': 5, 'copyright': 4, ), 'vehicle-1': ( 'o-color-1': #9e160d, 'o-color-2': #543b3b, 'o-color-3': #f7f6f6, 'o-color-4': #ffffff, 'o-color-5': #242424, 'footer': 1, 'copyright': 1, ), 'vehicle-2': ( 'o-color-1': #3e7ae9, 'o-color-2': #000000, 'o-color-3': #f3f3f3, 'o-color-4': #ffffff, 'o-color-5': #222222, 'menu': 2, 'footer': 2, 'copyright': 2, ), 'yes-1': ( 'o-color-1': #e991a3, 'o-color-2': #575757, 'o-color-3': #f6f5f5, 'o-color-4': #ffffff, 'o-color-5': #333333, 'footer': 1, 'copyright': 1, ), 'yes-2': ( 'o-color-1': #f7a58e, 'o-color-2': #4b6272, 'o-color-3': #ecf0f2, 'o-color-4': #ffffff, 'o-color-5': #374249, 'footer': 4, 'copyright': 4, ), 'yes-3': ( 'o-color-1': #92657e, 'o-color-2': #bbd3c1, 'o-color-3': #eeeeef, 'o-color-4': #ffffff, 'o-color-5': #574656, ), 'yes-4': ( 'o-color-1': #ed6639, 'o-color-2': #385b9f, 'o-color-3': #d5dee3, 'o-color-4': #ffffff, 'o-color-5': #333333, 'footer': 1, 'copyright': 4, ), 'zap-1': ( 'o-color-1': #337ab7, 'o-color-2': #5cb85c, 'o-color-3': #eceef1, 'o-color-4': #ffffff, 'o-color-5': #1d2127, 'o-cc1-text': 'o-color-5', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'o-cc5-headings': 'o-color-1', 'menu': 2, 'footer': 2, 'copyright': 4, ), 'zap-2': ( 'o-color-1': #ed8c2b, 'o-color-2': #a8c545, 'o-color-3': #8e3557, 'o-color-4': #efecca, 'o-color-5': #35203b, 'o-cc1-bg': #ffffff, 'o-cc1-text': #1d2127, 'o-cc3-link': 'o-color-4', 'o-cc3-btn-primary': 'o-color-5', 'o-cc4-link': 'o-color-4', 'menu': 5, 'footer': 5, 'copyright': 4, ), 'zap-3': ( 'o-color-1': #79bd8f, 'o-color-2': #046380, 'o-color-3': #beeb9f, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc1-text': #222222, 'o-cc2-headings': 'o-color-2', 'o-cc2-link': 'o-color-2', 'o-cc4-link': 'o-color-4', 'o-cc5-headings': 'o-color-3', 'o-cc5-link': 'o-color-3', 'menu': 1, 'footer': 5, 'copyright': 4, ), 'zap-4': ( 'o-color-1': #00b3c5, 'o-color-2': #d72d3c, 'o-color-3': #ebeef1, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc1-text': #1d2127, 'o-cc2-headings': 'o-cc1-text', 'o-cc3-link': 'o-color-4', 'o-cc4-link': 'o-color-4', 'menu': 2, 'footer': 2, 'copyright': 4, ), 'zap-5': ( 'o-color-1': #413659, 'o-color-2': #c9de55, 'o-color-3': #bdd4de, 'o-color-4': #ffffff, 'o-color-5': #14212b, 'o-cc1-text': 'o-color-5', 'o-cc2-btn-secondary': 'o-color-4', 'o-cc3-btn-secondary': 'o-color-4', 'o-cc4-btn-primary': 'o-color-2', 'o-cc4-btn-secondary': 'o-color-4', 'o-cc4-link': 'o-color-3', 'o-cc5-headings': 'o-color-2', 'o-cc5-btn-primary': 'o-color-4', 'o-cc5-btn-secondary': 'o-color-2', 'o-cc5-link': 'o-color-3', 'menu': 2, 'footer': 2, 'copyright': 4, ), 'zap-6': ( 'o-color-1': #F25244, 'o-color-2': #45858C, 'o-color-3': #e8f1ff, 'o-color-4': #ffffff, 'o-color-5': #000000, 'o-cc1-text': #323a49, 'o-cc2-headings': 'o-cc1-text', 'o-cc3-link': 'o-color-4', 'o-cc3-btn-primary': 'o-color-5', 'o-cc4-link': 'o-color-4', 'menu': 2, 'footer': 5, 'copyright': 4, ), ) ); // This map is used to support the old color palettes system. Previously, color // palettes were stored in a list and the selected one was retrieved using its // index. Now color palettes are stored in maps and retrieved using their key. // This map allows to convert the old palette index to the corresponding key. // Since the color palettes list was different for each theme, this // compatibility map is overridden by each theme. $o-color-palettes-compatibility-indexes: ( 1: 'base-1', 2: 'base-2', 3: 'generic-1', 4: 'generic-2', 5: 'generic-3', 6: 'generic-4', 7: 'generic-5', 8: 'generic-6', 9: 'generic-7', 10: 'generic-8', 11: 'generic-9', 12: 'generic-10', 13: 'generic-11', 14: 'generic-12', 15: 'generic-13', 16: 'generic-14', 17: 'generic-15', 18: 'generic-16', 19: 'generic-17', ); $o-gray-color-palettes-compatibility-indexes: null; // Default to the color one above $o-theme-color-palettes-compatibility-indexes: null; // Default to the color one above // Create the list of palettes proposed by the UI $o-selected-color-palettes-names: ( // Proposed by the configurator 'default-1', 'default-2', 'default-3', 'default-4', 'default-5', 'default-6', 'default-7', 'default-8', 'default-9', 'default-10', 'default-11', 'default-12', 'default-13', 'default-14', 'default-15', 'default-16', 'default-17', 'default-18', 'default-19', 'default-20', // System default 'base-1', 'base-2', ); //------------------------------------------------------------------------------ // Website customizations //------------------------------------------------------------------------------ $o-base-website-values-palette: ( 'font-size-base': 1rem, // Need a set value as the value is used in bootstrap_overridden files 'google-fonts': null, 'body-image': null, 'body-image-type': 'image', // 'image' or 'pattern' 'layout': 'full', // 'full' / 'boxed' 'color-palettes-name': null, // Default to the individual variables for each color palette type 'btn-primary-outline': false, 'btn-secondary-outline': false, 'link-underline': 'hover', // 'never' / 'hover' / 'always' 'btn-ripple': false, 'btn-padding-y': null, // Default to BS 'btn-padding-x': null, // Default to BS 'btn-font-size': null, // Default to BS 'btn-padding-y-sm': null, // Default to portal value 'btn-padding-x-sm': null, // Default to portal value 'btn-font-size-sm': null, // Default to BS 'btn-padding-y-lg': null, // Default to BS 'btn-padding-x-lg': null, // Default to BS 'btn-font-size-lg': null, // Default to BS 'btn-border-width': null, // Default to BS 'btn-border-radius': null, // Default to BS 'btn-border-radius-sm': null, // Default to BS 'btn-border-radius-lg': null, // Default to BS 'input-padding-y': null, // Default to BS 'input-padding-x': null, // Default to BS 'input-font-size': null, // Default to BS 'input-padding-y-sm': null, // Default to BS 'input-padding-x-sm': null, // Default to BS 'input-font-size-sm': null, // Default to BS 'input-padding-y-lg': null, // Default to BS 'input-padding-x-lg': null, // Default to BS 'input-font-size-lg': null, // Default to BS 'input-border-width': null, // Default to BS 'input-border-radius': null, // Default to BS 'input-border-radius-sm': null, // Default to BS 'input-border-radius-lg': null, // Default to BS // A key from the $o-theme-font-configs map (null = default to the first key) 'font': null, 'headings-font': null, 'navbar-font': null, 'buttons-font': null, // Gradients 'menu-gradient': null, 'header-boxed-gradient': null, 'footer-gradient': null, 'copyright-gradient': null, 'header-template': 'default', // 'default' / 'hamburger' / 'vertical' / 'sidebar' 'header-font-size': null, // Default to BS (normal font-size) 'header-links-style': 'default', // 'default' / 'fill' / 'outline' / 'pills' / 'block' / 'border-bottom' 'logo-height': null, // Default to navbar height (see portal) 'hamburger-type': 'default', // 'default' / 'off-canvas' 'hamburger-position': 'left', // 'left' / 'center' / 'right' 'menu-border-width': null, // Default to classes used on the template 'menu-border-style': solid, // Default to classes used on the template 'menu-border-radius': null, // Default to classes used on the template 'menu-box-shadow': null, // Default to classes used on the template 'sidebar-width': 18.75rem, // 300px 'footer-template': 'default', 'footer-effect': null, // null / 'slideout_slide_hover' / 'slideout_shadow' 'footer-scrolltop': false, ); $o-font-aliases-to-keys: ( 'base': 'font', 'headings': 'headings-font', 'navbar': 'navbar-font', 'buttons': 'buttons-font', ); $o-website-values-palettes: ( ( 'headings-font': 'Source Sans Pro', 'navbar-font': 'Source Sans Pro', 'buttons-font': 'Source Sans Pro', ), ) !default; $o-website-values-palette-number: 1 !default; // By default, all user website values are null. Each null value is // automatically replaced with corresponsing value of chosen values palette. $o-user-website-values: () !default; //------------------------------------------------------------------------------ // Fonts //------------------------------------------------------------------------------ // Those are BS values, except BS hardcodes them inside the $hx-font-size // variables directly and don't make them customizable. $o-theme-h1-font-size-multiplier: 2.5 !default; $o-theme-h2-font-size-multiplier: 2 !default; $o-theme-h3-font-size-multiplier: 1.75 !default; $o-theme-h4-font-size-multiplier: 1.5 !default; $o-theme-h5-font-size-multiplier: 1.25 !default; $o-theme-h6-font-size-multiplier: 1 !default; // Map: // <font-name>: ( // 'family': <css font family list>, // 'url': <related part of google fonts URL>, // 'properties' (optional): ( // <font-alias>: ( // <website-value-key>: <value>, // ..., // ), // ..., // ) // ) $o-theme-font-configs: ( 'Roboto': ( 'family': ('Roboto', sans-serif), 'url': 'Roboto:300,300i,400,400i,700,700i', ), 'Open Sans': ( 'family': ('Open Sans', sans-serif), 'url': 'Open+Sans:300,300i,400,400i,700,700i', ), 'Source Sans Pro': ( 'family': ('Source Sans Pro', sans-serif), 'url': 'Source+Sans+Pro:300,300i,400,400i,700,700i', ), 'Raleway': ( 'family': ('Raleway', sans-serif), 'url': 'Raleway:300,300i,400,400i,700,700i', ), 'Noto Serif': ( 'family': ('Noto Serif', serif), 'url': 'Noto+Serif:300,300i,400,400i,700,700i', ), 'Arvo': ( 'family': ('Arvo', Times, serif), 'url': 'Arvo:300,300i,400,400i,700,700i', ), ) !default; //------------------------------------------------------------------------------ // Mixins //------------------------------------------------------------------------------ @mixin o-ribbon-right(){@include o-position-absolute($top: 0, $right: 0); padding: 0.5rem $ribbon-padding; // 0.708 is 1 - cos(45deg) // Transforms are applied right-to-left // Cannot use matrix because of the use of % values. transform: translateX(calc(-0.708 * (100% - #{2 * $ribbon-padding}))) rotate(45deg) translateX(calc(100% - #{$ribbon-padding})); transform-origin: top right;}; @mixin o-ribbon-left(){@include o-position-absolute($top: 0, $left: 0); padding: 0.5rem $ribbon-padding; transform: translateX(calc(0.708 * (100% - #{2 * $ribbon-padding}) - 100%)) rotate(-45deg) translateX($ribbon-padding); transform-origin: top right;}; @mixin o-tag-right(){@include o-position-absolute($top: 0, $right: 0); padding: 0.25rem 1rem;}; @mixin o-tag-left(){@include o-position-absolute($top: 0, $left: 0); padding: 0.25rem 1rem;}; @mixin o-add-gradient($key){$-gradient: o-website-value($key); @if $-gradient{background-color: rgba(0, 0, 0, 0); background-image: $-gradient;}}; // Replaces 'NULL' string values in a map by the sass null value (this is useful // as a "hack" to allow users to define null values in their custom palette as // normal null values are immediately removed to act as "removing the user custo // and resetting to theme default": ideally, we should review that system to // actually removing the custos in those cases instead of setting a null value // but this cannot be migrated at the moment). @function o-map-force-nulls($map){$-map: (); @each $key, $value in $map{$-map: map-merge($-map, ( $key: if($value == 'NULL', null, $value), ));}@return $-map;}

/* /website/static/src/scss/options/user_values.custom.web.assets_common.scss defined in bundle 'web.assets_frontend' */
// This file is meant to be edited automatically by the user. The variables it // contains should not be renamed otherwise it would break existing customers // customizations. $o-user-website-values: map-merge($o-user-website-values, o-map-omit(( 'header-template': 'hamburger', 'menu-box-shadow': var(--o-color-5) 0px 8px 16px 0px, 'hamburger-type': 'off-canvas', 'footer-effect': 'slideout_shadow', 'menu-gradient': 'NULL', 'header-boxed-gradient': null, 'footer-gradient': null, 'copyright-gradient': null, 'font': 'Roboto', 'headings-font': null, 'navbar-font': 'Open Sans', 'buttons-font': null, 'color-palettes-number': null, 'color-palettes-name': null, 'btn-ripple': null, 'footer-template': null, 'footer-scrolltop': null, 'google-fonts': ('Open Sans'), 'font-size-base': 1rem, 'logo-height': 3.75rem, 'fixed-logo-height': 3.75rem, 'hamburger-position': 'right', 'header-font-size': 1rem, // -- hook -- ))); 

/* /website/static/src/scss/options/colors/user_color_palette.custom.web.assets_common.scss defined in bundle 'web.assets_frontend' */
 $o-user-color-palette: map-merge($o-user-color-palette, o-map-omit(( 'o-color-1': #F05135, 'o-color-2': #323334, 'o-color-5': #58595B, 'menu': 3, 'menu-custom': 'white', // -- hook -- ))); 

/* /website/static/src/scss/options/colors/user_gray_color_palette.scss defined in bundle 'web.assets_frontend' */
 $o-user-gray-color-palette: map-merge($o-user-gray-color-palette, o-map-omit(( // -- hook -- ))); 

/* /website/static/src/scss/options/colors/user_theme_color_palette.custom.web.assets_common.scss defined in bundle 'web.assets_frontend' */
 $o-user-theme-color-palette: map-merge($o-user-theme-color-palette, o-map-omit(( 'success': null, 'info': null, 'warning': null, 'danger': null, // -- hook -- ))); 

/* /account/static/src/scss/variables.scss defined in bundle 'web.assets_frontend' */
$o-account-action-col-width: 15px; $o-account-main-table-borders-padding: 3px; $o-account-light-border: 1px solid #bbb; $o-account-initial-line-background: #f0f0f0; $o-account-info-color: #44c; @keyframes animate-red{0%{color: red;}100%{color: inherit;}}.animate{animation: animate-red 1s ease;}

/* /website_sale/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
$o-wsale-products-layout-grid-ratio: 1.0 !default; 

/* /hr_org_chart/static/src/scss/variables.scss defined in bundle 'web.assets_frontend' */
$o-hr-org-chart-bg: white; $o-hr-org-chart-border-color: $o-brand-secondary; $o-hr-org-chart-entry-v-gap: 6px; $o-hr-org-chart-entry-pic-size: 46px; $o-hr-org-chart-entry-line-w: 1px; $o-hr-org-chart-entry-border-color: darken($o-hr-org-chart-bg, 25%); // MIXINS @mixin o-hr-org-chart-line{content: ''; background-color: $o-hr-org-chart-bg; border: 0px solid $o-hr-org-chart-entry-border-color;}

/* /website/static/src/snippets/s_badge/000_variables.scss defined in bundle 'web.assets_frontend' */
$s-badge-border-radius: null; $s-badge-padding: .5rem; $s-badge-margin: .5rem .5rem .5rem 0; $s-badge-i-margin: 0 .3rem 0 0; 

/* /website/static/src/snippets/s_product_list/000_variables.scss defined in bundle 'web.assets_frontend' */
@mixin s-product-list-img-hook{}

/* /theme_kea/static/src/scss/primary_variables.scss defined in bundle 'web.assets_frontend' */
//------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ // Theme colors // The system for this theme is particular to support somehow the old version. // The alpha color is always white but primary is using beta (instead of alpha) // and secondary is using alpha (white) (instead of beta). In the old system, // this only applied to buttons though but we extended that to all components. // Success, info, warning and error buttons are also customized with epsilon, // gamma, delta and ... black colors (see theme.scss). $o-theme-color-palettes: map-merge($o-theme-color-palettes, ( 'kea-1': ( alpha: #ffffff, beta: #dcdcdc, gamma: #9c9b9b, delta: #333333, epsilon: #e4677f, ), 'kea-2': ( alpha: #c7d0d5, beta: #93b1c6, gamma: #ffffff, delta: #556672, epsilon: #ff7148, ), 'kea-3': ( alpha: #ebe3e0, beta: #e3d6c6, gamma: #ffffff, delta: #333333, epsilon: #f9a646, ), 'kea-4': ( alpha: #7ec2aa, beta: #4ca8a1, gamma: #ffffff, delta: #556672, epsilon: #f9a646, ), 'kea-5': ( alpha: #7f909a, beta: #ed6639, gamma: #ffffff, delta: #333333, epsilon: #385b9f, ), 'kea-6': ( alpha: #fcdf15, beta: #0b99bc, gamma: #ffffff, delta: #3c3c3c, epsilon: #d40e52, ), ) ); //------------------------------------------------------------------------------ // Fonts //------------------------------------------------------------------------------ $o-theme-h1-font-size-multiplier: (62 / 16); $o-theme-h2-font-size-multiplier: (48 / 16); $o-theme-h3-font-size-multiplier: (36 / 16); $o-theme-h4-font-size-multiplier: (24 / 16); $o-theme-h5-font-size-multiplier: (20 / 16); $o-theme-h6-font-size-multiplier: (18 / 16); $headings-font-weight:700; $o-theme-font-configs: ( 'Poppins': ( 'family': ('Poppins', sans-serif), 'url': 'Poppins:300,300i,400,400i,700,700i', ), 'Rajdhani': ( 'family': ('Rajdhani', sans-serif), 'url': 'Rajdhani:300,300i,400,400i,700,700i', ), 'Roboto': ( 'family': ('Roboto', sans-serif), 'url': 'Roboto:300,300i,400,400i,700,700i', ), 'Source Sans Pro': ( 'family': ('Source Sans Pro', sans-serif), 'url': 'Source+Sans+Pro:300,300i,400,400i,700,700i', ), 'Ubuntu': ( 'family': ('Ubuntu', sans-serif), 'url': 'Ubuntu:300,300i,400,400i,700,700i', ), 'Lato': ( 'family': ('Lato', sans-serif), 'url': 'Lato:300,300i,400,400i,700,700i', ), 'Playfair Display': ( 'family': ('Playfair Display', serif), 'url': 'Playfair+Display:300,300i,400,400i,700,700i', ), 'Lora': ( 'family': ('Lora', serif), 'url': 'Lora:300,300i,400,400i,700,700i', ), 'Barlow Condensed': ( 'family': ('Barlow Condensed', sans-serif), 'url': 'Barlow+Condensed:300,300i,400,400i,700,700i', ), ); $o-website-values-palettes: ( ( 'color-palettes-name': 'bewise-2', // Fonts 'font': 'Roboto', 'headings-font': 'Poppins', 'navbar-font': 'Poppins', 'buttons-font': 'Poppins', // Links / Buttons 'link-underline': 'never', 'btn-border-radius': 10rem, // Footer 'footer-template': 'minimalist', 'footer-effect': 'slideout_slide_hover', 'footer-scrolltop': true, ), ); $o-selected-color-palettes-names: append($o-selected-color-palettes-names, 'bewise-2'); $o-color-palettes-compatibility-indexes: ( 1: 'kea-1', 2: 'kea-2', 3: 'kea-3', 4: 'kea-4', 5: 'generic-1', 6: 'generic-2', 7: 'generic-3', 8: 'generic-4', 9: 'generic-5', 10: 'generic-6', 11: 'generic-7', 12: 'generic-8', 13: 'generic-9', 14: 'generic-10', 15: 'generic-11', 16: 'generic-12', 17: 'generic-13', 18: 'generic-14', 19: 'generic-15', 20: 'generic-16', 21: 'generic-17', ); $o-theme-color-palettes-compatibility-indexes: ( 1: 'kea-1', 2: 'kea-2', 3: 'kea-3', 4: 'kea-4', 5: 'kea-5', 6: 'kea-6', ); //------------------------------------------------------------------------------ // Shapes //------------------------------------------------------------------------------ $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Wavy/22', (3: 3)); $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Floats/02', (1: 4, 2: 3, 3: 2, 4: 3, 5: 5)); $o-bg-shapes: add-extra-shape-colors-mapping('web_editor', 'Wavy/22', 'second', (3: 3)); $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Wavy/03', (1: 4, 2: 3)); $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Floats/01', (1: 4, 2: 3, 3: 3, 4: 1, 5: 5)); $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Origins/14_001', (3: 1, 4: 1)); // Keep for compatibility $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Origins/03', (3: 5)); $o-bg-shapes: add-header-shape-colors-mapping('web_editor', 'Origins/07_001', (3: 'menu')); $o-bg-shapes: add-header-shape-colors-mapping('web_editor', 'Origins/07_002', (3: 'menu', 4: rgba(255, 255, 255, 0))); $o-bg-shapes: add-footer-shape-colors-mapping('web_editor', 'Origins/14', (4: 'footer')); $o-bg-shapes: add-footer-shape-colors-mapping('web_editor', 'Origins/14_001', (3: 'footer', 4: rgba(255, 255, 255, 0))); $o-bg-shapes: change-shape-colors-mapping('web_editor', 'Origins/02_001', (4: 5, 5: rgba(255, 255, 255, 0))); 

/* /website/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
//------------------------------------------------------------------------------ // Website customizations //------------------------------------------------------------------------------ // Complete the base website values palette with the first defined font $-first-font-name: nth(map-keys($o-theme-font-configs), 1); @each $alias, $key in $o-font-aliases-to-keys{@if map-get($o-base-website-values-palette, $key) == null{$o-base-website-values-palette: map-merge($o-base-website-values-palette, ( $key: $-first-font-name, ));}}@function o-add-font-config($values){@each $alias, $key in $o-font-aliases-to-keys{$font-name: map-get($values, $key); $font-config: o-safe-get($o-theme-font-configs, $font-name, ()); $font-properties: o-safe-get($font-config, 'properties', ()); $type-font-properties: o-safe-get($font-properties, $alias, ()); $values: map-merge($values, $type-font-properties);}@return $values;}// Some fonts have been renamed in a stable version, and for retro compatibility // for users which have a custom user_values.css as attachment with an old font // already used, we map the old font with the new `similar` font $o-fonts-similar: ( 'Droid Serif': 'Noto Serif', 'SinKinSans': 'Spartan', 'Proxima': 'Montserrat', 'Comic Sans MS': 'Comic Neue', 'Fontastique': 'Bubblegum Sans', 'Luminari': 'Eagle Lake', 'Fecske': 'Marcellus', 'Din Alternate': 'Roboto', ); @function o-map-font-aliases($values){$-values: $values; @each $key in map-values($o-font-aliases-to-keys){$value: map-get($values, $key); @if ($value and map-has-key($o-fonts-similar, $value)){$-values: map-merge($-values, ( $key: map-get($o-fonts-similar, $value), ));}}@return $-values;}; // By default, most website palette values are null. Each null value is // automatically replaced with corresponsing values in chosen default values // palette. $o-user-website-values: o-map-force-nulls($o-user-website-values); $o-user-website-values: o-map-font-aliases($o-user-website-values); $-website-values-default: o-safe-nth($o-website-values-palettes, $o-website-values-palette-number, ()); $-website-values-default: map-merge($o-base-website-values-palette, $-website-values-default); $-actual-user-website-values-palette: map-merge($-website-values-default, $o-user-website-values); // Default font selection + User font selection have been merged, now need to // add the right associated font default config $-actual-user-website-values-palette: o-add-font-config($-actual-user-website-values-palette); // Reforce the properties which already had a set values in the user map (the // font properties override the default palette values but not the user ones) $-actual-user-website-values-palette: map-merge($-actual-user-website-values-palette, $o-user-website-values); $o-website-values-palettes: append($o-website-values-palettes, $-actual-user-website-values-palette); // Enable last website values palette, which is now the user customized one $o-website-values-palette-number: length($o-website-values-palettes); $o-website-values: $-actual-user-website-values-palette !default; @function o-website-value($key){@return map-get($o-website-values, $key);}$o-theme-navbar-logo-height: o-website-value('logo-height') !default; $o-theme-navbar-fixed-logo-height: o-website-value('fixed-logo-height') !default; //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ // First change the palette selection to the actual user choice if any, keeping // compatibility with old numbers too. $-color-palette-number: o-website-value('color-palettes-number') or if(variable-exists(o-color-palette-number), $o-color-palette-number, null); // Only in old databases $-color-palette-name: o-website-value('color-palettes-name'); $-gray-color-palette-name: $-color-palette-name; $-theme-color-palette-name: $-color-palette-name; // If defined palette number but no *user* defined palette name, this is an // old database with a old palette selection, we have to find the name from // the old number @if ($-color-palette-number and not map-get($o-user-website-values, 'color-palettes-name')){$-compat: $o-color-palettes-compatibility-indexes; $-color-palette-name: map-get($-compat, $-color-palette-number) or ''; $-compat: $o-gray-color-palettes-compatibility-indexes or $o-color-palettes-compatibility-indexes; $-gray-color-palette-name: map-get($-compat, $-color-palette-number) or ''; $-compat: $o-theme-color-palettes-compatibility-indexes or $o-color-palettes-compatibility-indexes; $-theme-color-palette-name: map-get($-compat, $-color-palette-number) or '';}@if ($-color-palette-name){$o-color-palette-name: $-color-palette-name;}@if ($-gray-color-palette-name){$o-gray-color-palette-name: $-gray-color-palette-name;}@if ($-theme-color-palette-name){$o-theme-color-palette-name: $-theme-color-palette-name;}$o-has-customized-13-0-color-system: not not (map-get($o-user-theme-color-palette, 'primary') or map-get($o-user-theme-color-palette, 'secondary') or map-get($o-user-theme-color-palette, 'alpha') or map-get($o-user-theme-color-palette, 'beta') or map-get($o-user-theme-color-palette, 'gamma') or map-get($o-user-theme-color-palette, 'delta') or map-get($o-user-theme-color-palette, 'epsilon')); $o-has-customized-colors: not not (length(map-keys($o-user-color-palette)) > 0 or map-get($o-user-theme-color-palette, 'success') or map-get($o-user-theme-color-palette, 'info') or map-get($o-user-theme-color-palette, 'warning') or map-get($o-user-theme-color-palette, 'danger')); // Color palette // ------------- // By default, most user color palette values are null. Each null value is // automatically replaced with corresponsing colors in chosen default color // palette. $o-user-color-palette: o-map-force-nulls($o-user-color-palette); $-palette-default: map-get($o-color-palettes, $o-color-palette-name) or (); $-actual-user-color-palette: map-merge($-palette-default, $o-user-color-palette); // Compatibility with old values in old names @each $name, $custom-name in ( // Each of those values were either a number for a color combination, a // string for a color name or a color. Now they should only be a number for // a color combination and the other value types for the color name/value // are handled by another variable. 'menu': 'menu-custom', 'header-boxed': 'header-boxed-custom', 'footer': 'footer-custom', 'copyright': 'copyright-custom' ){$-base-value: map-get($-actual-user-color-palette, $name); @if $-base-value and $-base-value != 'NULL' and type-of($-base-value) != 'number'{$-base-custom-value: map-get($-actual-user-color-palette, $custom-name); $-actual-user-color-palette: map-merge($-actual-user-color-palette, ( $name: 1, $custom-name: $-base-custom-value or $-base-value, ));}}$o-color-palettes: map-merge($o-color-palettes, ('user-palette': $-actual-user-color-palette)); // Gray palette // ------------ // By default, most user gray palette values are null. Each null value is // automatically replaced with corresponsing colors in chosen default color // palette. $o-user-gray-color-palette: o-map-force-nulls($o-user-gray-color-palette); $-palette-default: map-get($o-gray-color-palettes, $o-gray-color-palette-name) or (); $-actual-user-gray-color-palette: map-merge($-palette-default, $o-user-gray-color-palette); $o-gray-color-palettes: map-merge($o-gray-color-palettes, ('user-palette': $-actual-user-gray-color-palette)); // Theme color palette // ------------------- // alpha -> epsilon colors are from the old color system, this is kept for // compatibility: Generate default theme color scheme if alpha is set $-alpha: map-get($o-user-theme-color-palette, 'alpha'); @if ($-alpha){$o-user-theme-color-palette: map-merge(( beta: lighten(desaturate($-alpha, 60%), 30%), gamma: desaturate(adjust-hue($-alpha, -45deg), 10%), delta: desaturate(adjust-hue($-alpha, 45deg), 10%), epsilon: desaturate(adjust-hue($-alpha, 180deg), 10%), ), $o-user-theme-color-palette);}// By default, all user theme color palette values are null. Each null value is // automatically replaced with corresponsing colors in chosen default theme // color palette. $o-user-theme-color-palette: o-map-force-nulls($o-user-theme-color-palette); $-palette-default: map-get($o-theme-color-palettes, $o-theme-color-palette-name) or (); $-actual-user-theme-color-palette: map-merge($-palette-default, $o-user-theme-color-palette); // Always remove the primary/secondary which were customizable in some theme // in Odoo <= 13.3. The customer can always rechoose the right color in the // Odoo color system as the first two ones are mapped to primary/secondary. $-actual-user-theme-color-palette: map-remove($-actual-user-theme-color-palette, 'primary', 'secondary' ); $o-theme-color-palettes: map-merge($o-theme-color-palettes, ('user-palette': $-actual-user-theme-color-palette)); // --- // Enable last color and theme color palettes, which are now the user customized // color palettes. $o-original-color-palette-name: $o-color-palette-name; $o-color-palette-name: 'user-palette'; $o-gray-color-palette-name: 'user-palette'; $o-theme-color-palette-name: 'user-palette'; $o-we-auto-contrast-exclusions: () !default; $o-we-auto-contrast-exclusions: join($o-we-auto-contrast-exclusions, map-keys($o-user-color-palette)); //------------------------------------------------------------------------------ // Fonts //------------------------------------------------------------------------------ // Merge base fonts with user-added google fonts @each $font-name in (o-website-value('google-fonts') or ()){$o-theme-font-configs: map-merge($o-theme-font-configs, ( $font-name: ( 'family': (quote($font-name), sans-serif), 'url': quote($font-name) + ':300,300i,400,400i,700,700i', ), ));}// Add odoo unicode support for all fonts @each $font-name, $font-config in $o-theme-font-configs{$o-theme-font-configs: map-merge($o-theme-font-configs, ( $font-name: map-merge($font-config, ( 'family': o-add-unicode-support-font(map-get($font-config, 'family')), )), ));}// Function which allows to retrieve a base info (family, url, properties) about // a component (base, navbar, ...)'s font. The font name is retrievable via a // simple o-website-value call. @function o-get-font-info($alias: 'base', $config-key: 'family'){$key: map-get($o-font-aliases-to-keys, $alias); $font-name: o-website-value($key); $-font-config: o-safe-get($o-theme-font-configs, $font-name, ()); @return map-get($-font-config, $config-key);}$o-theme-font: o-get-font-info('base') or (sans-serif,) !default; $o-theme-headings-font: o-get-font-info('headings') or $o-theme-font !default; $o-theme-navbar-font: o-get-font-info('navbar') or $o-theme-font !default; $o-theme-buttons-font: o-get-font-info('buttons') or $o-theme-font !default; 

/* /web/static/src/legacy/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
$o-webclient-background-color: $o-gray-100 !default; $o-control-panel-background-color: $o-view-background-color !default; $o-list-footer-color: null !default $o-list-group-header-color: lighten($o-brand-lightsecondary, 10%) !default; // UI custom colors for tags, kanban records' colors, ...) // Note: the first value is the old BS3 gray-light value $o-colors: lighten(#000, 46.7%), #F06050, #F4A460, #F7CD1F, #6CC1ED, #814968, #EB7E7F, #2C8397, #475577, #D6145F, #30C381, #9365B8 !default; $o-colors-secondary: #aa4b6b, #30C381, #97743a, #F7CD1F, #4285F4, #8E24AA, #D6145F, #173e43, #348F50, #AA3A38, #795548, #5e0231, #6be585, #999966, #e9d362, #b56969, #bdc3c7, #649173 !default; // UI custom colors, complete list $o-colors-complete: join( set-nth($o-colors, 1, #134E5E), $o-colors-secondary )!default; $o-sheet-cancel-hpadding: $o-horizontal-padding !default; $o-sheet-cancel-bpadding: $o-horizontal-padding !default; $o-statusbar-arrow-width: $o-statusbar-height / 3 !default; $o-statusbar-disabled-bg: lighten($o-brand-lightsecondary, 7%) !default; $o-navbar-inverse-link-hover-bg: darken($o-brand-odoo, 10%) !default; $o-datepicker-week-bg-color: lighten($o-datepicker-week-color, 30%) !default; // Kanban $o-kanban-record-margin: $o-horizontal-padding / 2 !default; $o-kanban-group-padding: $o-horizontal-padding !default; // Cannot be higher than this $o-kanban-inside-hgutter-mobile: $o-horizontal-padding !default; // ------- Kanban dashboard variables ------- // Since rows and containers are used inside cards, we're // forced to set the padding relative to the grid system. $o-kanban-dashboard-hpadding: $o-horizontal-padding !default; $o-kanban-dashboard-vpadding: $o-horizontal-padding / 2 !default; 

/* /web_editor/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */
 //------------------------------------------------------------------------------ // Colors //------------------------------------------------------------------------------ // Color combinations $o-color-combinations: o-safe-nth($o-color-combinations-presets, $o-color-combinations-preset-number, ()) !default; $-combination-additions: (); @for $index from 1 through length($o-color-combinations){$combination: map-merge($o-base-color-combination, nth($o-color-combinations, $index)); @each $element, $color in $combination{$-combination-additions: map-merge($-combination-additions, ( 'o-cc#{$index}-#{$element}': $color, ));}}// Colors $o-color-palette: map-get($o-color-palettes, $o-color-palette-name) or (); // Original color palette can contain override of the default combinations (so keep 'null' values for this merge) $o-color-palette: map-merge($-combination-additions, $o-color-palette); $o-color-palette: map-merge($o-base-color-palette, $o-color-palette); // Theme colors $o-theme-color-palette: map-get($o-theme-color-palettes, $o-theme-color-palette-name) or () !default; @if not $o-support-13-0-color-system{$o-theme-color-palette: map-remove($o-theme-color-palette, 'alpha', 'beta', 'gamma', 'delta', 'epsilon');}$-main-color: map-get($o-color-palette, 'o-color-1'); $-main-color-lightness: lightness($-main-color); $o-theme-color-palette: map-merge(( // color 1 and 2 are used to override primary and secondary BS4 // colors by default, so that theme colors affect the default Odoo layouts 'primary': $-main-color, 'secondary': map-get($o-color-palette, 'o-color-2'), // BS light and dark colors are not used for any BS component, just // for color utilities. By default, we set them to a very light and // very dark version of a desaturate version of the main color 'light': lighten(desaturate($-main-color, 80%), min(70%, max(0%, 97% - $-main-color-lightness))), // Does not increase over 97% lightness 'dark': darken(desaturate($-main-color, 80%), min(70%, max(0%, $-main-color-lightness - 10%))), // Does not lower under 10% lightness ), $o-theme-color-palette); $o-theme-color-palette: map-merge($o-base-theme-color-palette, $o-theme-color-palette); // Gray colors // Extend grays with transparent ones (for some reason, BS4 create black-50 and // white-50 but does not allow overridding that with variables). $o-gray-color-palette: map-get($o-gray-color-palettes, $o-gray-color-palette-name) or () !default; $o-gray-color-palette: map-merge($o-transparent-grays, $o-gray-color-palette); $o-gray-color-palette: map-merge($o-base-gray-color-palette, $o-gray-color-palette); $o-color-system-initialized: false; // Returns: // - true if the given name is a css color or null // - false if a potential valid color name // - throws an error if the given arg cannot reference a color @function check-color-identifier-type($name){$-type: type-of($name); @if $-type == 'color' or $-type == 'null'{@return true;}@else if $-type != 'string'{@error "Color name '#{$name}' is of unsupported type '#{$-type}'";}@return false;}@function use-cc-bg($name){@if type-of($name) == 'number'{// Preset number, let's return the background color of the related // preset. @return 'o-cc#{$name}-bg';}@return $name;}// Looks up for the color related to the given name in the related odoo palettes // following redirection a maximum number of time (by default none). @function o-related-color($name, $max-recursions: 0, $original-name: $name, $use-cc-bg: false){@if $use-cc-bg{$name: use-cc-bg($name);}@else if type-of($name) == 'number'{@return $name;}@if $max-recursions < 0 or check-color-identifier-type($name){@return $name;}$-value: null; @if map-has-key($o-color-palette, $name){$-value: map-get($o-color-palette, $name);}@else if map-has-key($o-theme-color-palette, $name){$-value: map-get($o-theme-color-palette, $name);}@else if map-has-key($o-gray-color-palette, $name){$-value: map-get($o-gray-color-palette, $name);}@return o-related-color($-value, $max-recursions - 1, $original-name);}// Function which allows to retrieve a color value from a name, the color being // either in $theme-colors, $grays or $colors maps. If those maps are not // initialized yet, it will look up the color in the related odoo palettes. @function o-color($name){$name: use-cc-bg($name); @if check-color-identifier-type($name){@return $name;}// When the system is initialized, it means that the bootstrap maps have // been configured and contain a direct mapping between color name -> css // value. We can thus search in those. @if $o-color-system-initialized{@if map-has-key($colors, $name){@return color($name);}@if map-has-key($theme-colors, $name){@return theme-color($name);}@if map-has-key($grays, $name){@return gray($name);}}// If not initialized, search the css color value in selected color palettes @return o-related-color($name, $max-recursions: 10, $use-cc-bg: true);}// Same as 'increase-contrast' except that the color is not changed if the given // related color name is part of the given exclusion list (default to a global // exclusion list which can be extended by other apps). $o-we-auto-contrast-exclusions: () !default; @function auto-contrast($color1, $color2, $color1-name, $exclude: $o-we-auto-contrast-exclusions){@if index($exclude, $color1-name){@return $color1;}@return increase-contrast($color1, $color2);}

/* /theme_kea/static/src/scss/secondary_variables.scss defined in bundle 'web.assets_frontend' */


/* /website/static/src/scss/user_custom_bootstrap_overridden.custom.web.assets_frontend.scss defined in bundle 'web.assets_frontend' */
// // /!\ // This file is meant to regroup your bootstrap customizations. In that file, // you must define variables *ONLY*. If you want to introduce new CSS rules // for your website, check the 'user_custom_rules.scss' file you can also edit. // /!\ // // You can change the value of a variable you can find in the bootstrap 4 // documentation (or in the file /web/static/lib/bootstrap/scss/_variables.scss) // and Odoo will automatically adapt its design to your new bootstrap. For // example, doing this will make some shadows and gradients appear, especially // for your buttons design: // // $enable-shadows: true; // $enable-gradients: true; // // Notice that Odoo already overrides bootstrap variables according to your // choices in the "Customize Theme" dialog, you should first take a look at // it and do customizations this way. Indeed, if you overridde the same // variables, Odoo will either have to ignore them or not be able to make // the "Customize Theme" dialog work for these variables anymore. // .o_search_bar{display: none;}

/* /theme_kea/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// Fonts $headings-font-weight: 500 !default; // Shadows $box-shadow-sm: 0 0 .3125rem rgba(0,0,0,.25) !default; $box-shadow: 0 0 .3125rem rgba(0,0,0,.25) !default; $box-shadow-lg: 0 0 .3125rem rgba(0,0,0,.25) !default; // Breadcrumbs $breadcrumb-bg: o-color('white') !default; 

/* /website/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// // Color system // // Use auto threshold for yiq colors // Note: also need to be defined here so that color-yiq below works $yiq-contrasted-threshold: false !default; // Customize the light and dark text colors for use in our YIQ color contrast function. $yiq-text-dark: o-color('900') !default; $yiq-text-light: o-color('white') !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; // Need to predefine as used below // Body // // Settings for the `<body>` element. $body-bg: if(o-website-value('layout') != 'full', o-color('body'), o-color('o-cc1-bg')) !default; $body-color: o-color('o-cc1-text') or color-yiq(o-color('o-cc1-bg')) !default; // Links // // Style anchor elements. $-link-color: o-color('o-cc1-link'); $-link-color: if($-link-color, $-link-color, o-color('primary')); $link-color: auto-contrast($-link-color, o-color('o-cc1-bg'), 'o-cc1-link') !default; $link-hover-color: auto-contrast(darken($link-color, 15%), o-color('o-cc1-bg'), 'o-cc1-link') !default; $link-decoration: if(o-website-value('link-underline') == 'always', underline, none) !default; $link-hover-decoration: if(o-website-value('link-underline') != 'never', underline, none) !default; // Components // // Define common padding and border radius sizes and more. // Note: for the 'active' color, color preset edition is not really flexible but // this could come in a future update. $component-active-bg: o-color('o-cc1-btn-primary') !default; $component-active-color: if($component-active-bg, color-yiq($component-active-bg), null) !default; // Fonts // // Font, line-height, and color for body text, headings, and more. $font-family-sans-serif: $o-theme-font !default; $font-size-base: o-website-value('font-size-base') !default; $h1-font-size: $font-size-base * $o-theme-h1-font-size-multiplier !default; $h2-font-size: $font-size-base * $o-theme-h2-font-size-multiplier !default; $h3-font-size: $font-size-base * $o-theme-h3-font-size-multiplier !default; $h4-font-size: $font-size-base * $o-theme-h4-font-size-multiplier !default; $h5-font-size: $font-size-base * $o-theme-h5-font-size-multiplier !default; $h6-font-size: $font-size-base * $o-theme-h6-font-size-multiplier !default; $headings-font-family: $o-theme-headings-font !default; $headings-color: o-color('o-cc1-headings') !default; $lead-font-size: 1.125rem !default; $text-muted: mute-color($body-color) !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y: o-website-value('btn-padding-y') !default; $btn-padding-x: o-website-value('btn-padding-x') !default; $btn-font-size: o-website-value('btn-font-size') !default; $btn-padding-y-sm: o-website-value('btn-padding-y-sm') !default; $btn-padding-x-sm: o-website-value('btn-padding-x-sm') !default; $btn-font-size-sm: o-website-value('btn-font-size-sm') !default; $btn-padding-y-lg: o-website-value('btn-padding-y-lg') !default; $btn-padding-x-lg: o-website-value('btn-padding-x-lg') !default; $btn-font-size-lg: o-website-value('btn-font-size-lg') !default; $btn-border-width: o-website-value('btn-border-width') !default; $btn-border-radius: o-website-value('btn-border-radius') !default; $btn-border-radius-lg: o-website-value('btn-border-radius-lg') !default; $btn-border-radius-sm: o-website-value('btn-border-radius-sm') !default; // Forms $input-padding-y: o-website-value('input-padding-y') !default; $input-padding-x: o-website-value('input-padding-x') !default; $input-font-size: o-website-value('input-font-size') !default; $input-padding-y-sm: o-website-value('input-padding-y-sm') !default; $input-padding-x-sm: o-website-value('input-padding-x-sm') !default; $input-font-size-sm: o-website-value('input-font-size-sm') !default; $input-padding-y-lg: o-website-value('input-padding-y-lg') !default; $input-padding-x-lg: o-website-value('input-padding-x-lg') !default; $input-font-size-lg: o-website-value('input-font-size-lg') !default; $input-border-width: o-website-value('input-border-width') !default; $input-border-radius: o-website-value('input-border-radius') !default; $input-border-radius-lg: o-website-value('input-border-radius-lg') !default; $input-border-radius-sm: o-website-value('input-border-radius-sm') !default; // Navbar // Increase default navbar padding for some navbar styles $navbar-padding-y: if(index(('fill', 'pills', 'outline'), o-website-value('header-links-style')), ($spacer / 2) * 1.25, null) !default; $navbar-nav-link-padding-x: if(index(('outline', 'block'), o-website-value('header-links-style')), .5rem * 3, null) !default; $navbar-nav-link-padding-x: if(o-website-value('header-links-style') == 'border-bottom', .5rem * 2, null) !default; // Jumbotron $jumbotron-bg: transparent !default; // Bootstrap Review $o-btn-outline-defaults: () !default; @each $color in ('primary', 'secondary'){@if o-website-value('btn-#{$color}-outline'){$o-btn-outline-defaults: append($o-btn-outline-defaults, $color);}}// Increase default navbar pills padding for 'pills' mode and add big radius $o-navbar-nav-pills-link-padding-x: if(o-website-value('header-links-style') == 'pills', 1rem * 1.5, null) !default; $o-navbar-nav-pills-link-border-radius: if(o-website-value('header-links-style') == 'pills', 10rem, null) !default; 

/* /portal/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// This variable affects the `.h-*` and `.w-*` classes. $sizes: () !default; $sizes: map-merge(( 0: 0, ), $sizes); // Body // // Settings for the `<body>` element. $body-bg: $o-portal-default-body-bg !default; // Fonts // // Font, line-height, and color for body text, headings, and more. $font-size-sm: (12 / 16) * 1rem !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y-sm: (1 / 16) * 1rem !default; $btn-padding-x-sm: (5 / 16) * 1rem !default; // Navbar $navbar-dark-toggler-border-color: transparent; $navbar-light-toggler-border-color: transparent; // Modals $modal-lg: $o-modal-lg; $modal-md: $o-modal-md; 

/* /web_editor/static/src/scss/bootstrap_overridden.scss defined in bundle 'web.assets_frontend' */
// Use auto threshold for yiq colors $yiq-contrasted-threshold: false !default; // Automatically update bootstrap colors map (unused by BS itself) $colors: () !default; @each $name, $color in $o-color-palette{$colors: map-merge(('#{$name}': o-color($color)), $colors);}$o-btn-bg-colors: () !default; $o-btn-bg-colors: map-merge(( 'primary': o-color('o-cc1-btn-primary'), 'secondary': o-color('o-cc1-btn-secondary'), ), $o-btn-bg-colors); $o-btn-border-colors: () !default; $o-btn-border-colors: map-merge(( 'primary': o-color('o-cc1-btn-primary-border'), 'secondary': o-color('o-cc1-btn-secondary-border'), ), $o-btn-border-colors); // Automatically extend bootstrap to create theme background/text/button classes $theme-colors: () !default; @each $name, $color in $o-theme-color-palette{$theme-colors: map-merge(('#{$name}': o-color($color)), $theme-colors);}// Automatically extend bootstrap gray palette (the theme palette is supposed to // at least declare white and black) $grays: () !default; @each $name, $color in $o-gray-color-palette{$grays: map-merge(('#{$name}': o-color($color)), $grays);}// Bootstrap use standard variables to define individual colors which are then // placed into a map which is then used to get the value of each individual // color. As BS4 allows to extend the map a priori to define our own colors, // it does not take care of making the standard variables match the values in // the user's map. The problem is that, at least for grays, bootstrap uses the // standard variables in its _variables.scss file, so if: // // User file: // $grays: ( // '100': blue, // ); // // BS4: // $gray-100: gray !default; // $grays: () !default; // $grays: map-merge(( // '100': $gray-100, // ), $grays); // // -> Here gray('100') is blue but $gray-100 is still gray... so BS4 is not // correctly generated as BS4 uses $gray-100 in _variables.scss $primary: theme-color('primary') !default; $secondary: theme-color('secondary') !default; $success: theme-color('success') !default; $info: theme-color('info') !default; $warning: theme-color('warning') !default; $danger: theme-color('danger') !default; $light: theme-color('light') !default; $dark: theme-color('dark') !default; $white: gray('white') !default; $gray-100: gray('100') !default; $gray-200: gray('200') !default; $gray-300: gray('300') !default; $gray-400: gray('400') !default; $gray-500: gray('500') !default; $gray-600: gray('600') !default; $gray-700: gray('700') !default; $gray-800: gray('800') !default; $gray-900: gray('900') !default; $black: gray('black') !default; $o-color-system-initialized: true; 

/* /web/static/src/legacy/scss/bootstrap_overridden_frontend.scss defined in bundle 'web.assets_frontend' */
// Fonts // // Font, line-height, and color for body text, headings, and more. $font-size-base: (14 / 16) * 1rem !default; // Inherit color for blockquote-footer, use text-muted on top of it if you want // a muted one. This is defined here to be consistent in the whole frontend, as // when used with background classes, it should not be forced to a gray color. $blockquote-small-color: inherit !default; // Figures // Inherit color for figure-caption, use text-muted on top of it if you want // a muted one. This is defined here to be consistent in the whole frontend, as // when used with background classes, it should not be forced to a gray color. $figure-caption-color: inherit !default; 

/* /web/static/lib/bootstrap/scss/_variables.scss defined in bundle 'web.assets_frontend' */
// Variables // // Variables should follow the `$component-state-property-size` formula for // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. // Color system $white: #fff !default; $gray-100: #f8f9fa !default; $gray-200: #e9ecef !default; $gray-300: #dee2e6 !default; $gray-400: #ced4da !default; $gray-500: #adb5bd !default; $gray-600: #6c757d !default; $gray-700: #495057 !default; $gray-800: #343a40 !default; $gray-900: #212529 !default; $black: #000 !default; $grays: () !default; // stylelint-disable-next-line scss/dollar-variable-default $grays: map-merge( ( "100": $gray-100, "200": $gray-200, "300": $gray-300, "400": $gray-400, "500": $gray-500, "600": $gray-600, "700": $gray-700, "800": $gray-800, "900": $gray-900 ), $grays ); $blue: #007bff !default; $indigo: #6610f2 !default; $purple: #6f42c1 !default; $pink: #e83e8c !default; $red: #dc3545 !default; $orange: #fd7e14 !default; $yellow: #ffc107 !default; $green: #28a745 !default; $teal: #20c997 !default; $cyan: #17a2b8 !default; $colors: () !default; // stylelint-disable-next-line scss/dollar-variable-default $colors: map-merge( ( "blue": $blue, "indigo": $indigo, "purple": $purple, "pink": $pink, "red": $red, "orange": $orange, "yellow": $yellow, "green": $green, "teal": $teal, "cyan": $cyan, "white": $white, "gray": $gray-600, "gray-dark": $gray-800 ), $colors ); $primary: $blue !default; $secondary: $gray-600 !default; $success: $green !default; $info: $cyan !default; $warning: $yellow !default; $danger: $red !default; $light: $gray-100 !default; $dark: $gray-800 !default; $theme-colors: () !default; // stylelint-disable-next-line scss/dollar-variable-default $theme-colors: map-merge( ( "primary": $primary, "secondary": $secondary, "success": $success, "info": $info, "warning": $warning, "danger": $danger, "light": $light, "dark": $dark ), $theme-colors ); // Set a specific jump point for requesting color jumps $theme-color-interval: 8% !default; // The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255. $yiq-contrasted-threshold: 150 !default; // Customize the light and dark text colors for use in our YIQ color contrast function. $yiq-text-dark: $gray-900 !default; $yiq-text-light: $white !default; // Options // // Quickly modify global styling by enabling or disabling optional features. $enable-caret: true !default; $enable-rounded: true !default; $enable-shadows: false !default; $enable-gradients: false !default; $enable-transitions: true !default; $enable-prefers-reduced-motion-media-query: true !default; $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS $enable-grid-classes: true !default; $enable-pointer-cursor-for-buttons: true !default; $enable-print-styles: true !default; $enable-responsive-font-sizes: false !default; $enable-validation-icons: true !default; $enable-deprecation-messages: 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; $spacers: () !default; // stylelint-disable-next-line scss/dollar-variable-default $spacers: map-merge( ( 0: 0, 1: ($spacer * .25), 2: ($spacer * .5), 3: $spacer, 4: ($spacer * 1.5), 5: ($spacer * 3) ), $spacers ); // This variable affects the `.h-*` and `.w-*` classes. $sizes: () !default; // stylelint-disable-next-line scss/dollar-variable-default $sizes: map-merge( ( 25: 25%, 50: 50%, 75: 75%, 100: 100%, auto: auto ), $sizes ); // Body // // Settings for the `<body>` element. $body-bg: $white !default; $body-color: $gray-900 !default; // Links // // Style anchor elements. $link-color: theme-color("primary") !default; $link-decoration: none !default; $link-hover-color: darken($link-color, 15%) !default; $link-hover-decoration: underline !default; // Darken percentage for links with `.text-*` class (e.g. `.text-success`) $emphasized-link-hover-darken-percentage: 15% !default; // Paragraphs // // Style p element. $paragraph-margin-bottom: 1rem !default; // Grid breakpoints // // Define the minimum dimensions at which your layout will change, // adapting to different screen sizes, for use in media queries. $grid-breakpoints: ( xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px ) !default; @include _assert-ascending($grid-breakpoints, "$grid-breakpoints"); @include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints"); // Grid containers // // Define the maximum width of `.container` for different screen sizes. $container-max-widths: ( sm: 540px, md: 720px, lg: 960px, xl: 1140px ) !default; @include _assert-ascending($container-max-widths, "$container-max-widths"); // Grid columns // // Set the number of columns and specify the width of the gutters. $grid-columns: 12 !default; $grid-gutter-width: 30px !default; // Components // // Define common padding and border radius sizes and more. $line-height-lg: 1.5 !default; $line-height-sm: 1.5 !default; $border-width: 1px !default; $border-color: $gray-300 !default; $border-radius: .25rem !default; $border-radius-lg: .3rem !default; $border-radius-sm: .2rem !default; $rounded-pill: 50rem !default; $box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default; $box-shadow: 0 .5rem 1rem rgba($black, .15) !default; $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default; $component-active-color: $white !default; $component-active-bg: theme-color("primary") !default; $caret-width: .3em !default; $caret-vertical-align: $caret-width * .85 !default; $caret-spacing: $caret-width * .85 !default; $transition-base: all .2s ease-in-out !default; $transition-fade: opacity .15s linear !default; $transition-collapse: height .35s ease !default; $embed-responsive-aspect-ratios: () !default; // stylelint-disable-next-line scss/dollar-variable-default $embed-responsive-aspect-ratios: join( ( (21 9), (16 9), (4 3), (1 1), ), $embed-responsive-aspect-ratios ); // Typography // // Font, line-height, and color for body text, headings, and more. // stylelint-disable value-keyword-case $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $font-family-base: $font-family-sans-serif !default; // stylelint-enable value-keyword-case $font-size-base: 1rem !default; // Assumes the browser default, typically `16px` $font-size-lg: $font-size-base * 1.25 !default; $font-size-sm: $font-size-base * .875 !default; $font-weight-lighter: lighter !default; $font-weight-light: 300 !default; $font-weight-normal: 400 !default; $font-weight-bold: 700 !default; $font-weight-bolder: bolder !default; $font-weight-base: $font-weight-normal !default; $line-height-base: 1.5 !default; $h1-font-size: $font-size-base * 2.5 !default; $h2-font-size: $font-size-base * 2 !default; $h3-font-size: $font-size-base * 1.75 !default; $h4-font-size: $font-size-base * 1.5 !default; $h5-font-size: $font-size-base * 1.25 !default; $h6-font-size: $font-size-base !default; $headings-margin-bottom: $spacer / 2 !default; $headings-font-family: null !default; $headings-font-weight: 500 !default; $headings-line-height: 1.2 !default; $headings-color: null !default; $display1-size: 6rem !default; $display2-size: 5.5rem !default; $display3-size: 4.5rem !default; $display4-size: 3.5rem !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: $font-size-base * 1.25 !default; $lead-font-weight: 300 !default; $small-font-size: 80% !default; $text-muted: $gray-600 !default; $blockquote-small-color: $gray-600 !default; $blockquote-small-font-size: $small-font-size !default; $blockquote-font-size: $font-size-base * 1.25 !default; $hr-border-color: rgba($black, .1) !default; $hr-border-width: $border-width !default; $mark-padding: .2em !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: .5rem !default; $mark-bg: #fcf8e3 !default; $hr-margin-y: $spacer !default; // Tables // // Customizes the `.table` component with basic values, each used across all table variations. $table-cell-padding: .75rem !default; $table-cell-padding-sm: .3rem !default; $table-color: $body-color !default; $table-bg: null !default; $table-accent-bg: rgba($black, .05) !default; $table-hover-color: $table-color !default; $table-hover-bg: rgba($black, .075) !default; $table-active-bg: $table-hover-bg !default; $table-border-width: $border-width !default; $table-border-color: $border-color !default; $table-head-bg: $gray-200 !default; $table-head-color: $gray-700 !default; $table-dark-color: $white !default; $table-dark-bg: $gray-800 !default; $table-dark-accent-bg: rgba($white, .05) !default; $table-dark-hover-color: $table-dark-color !default; $table-dark-hover-bg: rgba($white, .075) !default; $table-dark-border-color: lighten($table-dark-bg, 7.5%) !default; $table-dark-color: $white !default; $table-striped-order: odd !default; $table-caption-color: $text-muted !default; $table-bg-level: -9 !default; $table-border-level: -6 !default; // Buttons + Forms // // Shared variables that are reassigned to `$input-` and `$btn-` specific variables. $input-btn-padding-y: .375rem !default; $input-btn-padding-x: .75rem !default; $input-btn-font-family: null !default; $input-btn-font-size: $font-size-base !default; $input-btn-line-height: $line-height-base !default; $input-btn-focus-width: .2rem !default; $input-btn-focus-color: rgba($component-active-bg, .25) !default; $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; $input-btn-padding-y-sm: .25rem !default; $input-btn-padding-x-sm: .5rem !default; $input-btn-font-size-sm: $font-size-sm !default; $input-btn-line-height-sm: $line-height-sm !default; $input-btn-padding-y-lg: .5rem !default; $input-btn-padding-x-lg: 1rem !default; $input-btn-font-size-lg: $font-size-lg !default; $input-btn-line-height-lg: $line-height-lg !default; $input-btn-border-width: $border-width !default; // Buttons // // For each of Bootstrap's buttons, define text, background, and border color. $btn-padding-y: $input-btn-padding-y !default; $btn-padding-x: $input-btn-padding-x !default; $btn-font-family: $input-btn-font-family !default; $btn-font-size: $input-btn-font-size !default; $btn-line-height: $input-btn-line-height !default; $btn-padding-y-sm: $input-btn-padding-y-sm !default; $btn-padding-x-sm: $input-btn-padding-x-sm !default; $btn-font-size-sm: $input-btn-font-size-sm !default; $btn-line-height-sm: $input-btn-line-height-sm !default; $btn-padding-y-lg: $input-btn-padding-y-lg !default; $btn-padding-x-lg: $input-btn-padding-x-lg !default; $btn-font-size-lg: $input-btn-font-size-lg !default; $btn-line-height-lg: $input-btn-line-height-lg !default; $btn-border-width: $input-btn-border-width !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-width: $input-btn-focus-width !default; $btn-focus-box-shadow: $input-btn-focus-box-shadow !default; $btn-disabled-opacity: .65 !default; $btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default; $btn-link-disabled-color: $gray-600 !default; $btn-block-spacing-y: .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: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; // Forms $label-margin-bottom: .5rem !default; $input-padding-y: $input-btn-padding-y !default; $input-padding-x: $input-btn-padding-x !default; $input-font-family: $input-btn-font-family !default; $input-font-size: $input-btn-font-size !default; $input-font-weight: $font-weight-base !default; $input-line-height: $input-btn-line-height !default; $input-padding-y-sm: $input-btn-padding-y-sm !default; $input-padding-x-sm: $input-btn-padding-x-sm !default; $input-font-size-sm: $input-btn-font-size-sm !default; $input-line-height-sm: $input-btn-line-height-sm !default; $input-padding-y-lg: $input-btn-padding-y-lg !default; $input-padding-x-lg: $input-btn-padding-x-lg !default; $input-font-size-lg: $input-btn-font-size-lg !default; $input-line-height-lg: $input-btn-line-height-lg !default; $input-bg: $white !default; $input-disabled-bg: $gray-200 !default; $input-color: $gray-700 !default; $input-border-color: $gray-400 !default; $input-border-width: $input-btn-border-width !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-focus-bg: $input-bg !default; $input-focus-border-color: lighten($component-active-bg, 25%) !default; $input-focus-color: $input-color !default; $input-focus-width: $input-btn-focus-width !default; $input-focus-box-shadow: $input-btn-focus-box-shadow !default; $input-placeholder-color: $gray-600 !default; $input-plaintext-color: $body-color !default; $input-height-border: $input-border-width * 2 !default; $input-height-inner: calc(#{$input-line-height * 1em}+ #{$input-padding-y * 2}) !default; $input-height-inner-half: calc(#{$input-line-height * .5em}+ #{$input-padding-y}) !default; $input-height-inner-quarter: calc(#{$input-line-height * .25em}+ #{$input-padding-y / 2}) !default; $input-height: calc(#{$input-line-height * 1em}+ #{$input-padding-y * 2}+ #{$input-height-border}) !default; $input-height-sm: calc(#{$input-line-height-sm * 1em}+ #{$input-btn-padding-y-sm * 2}+ #{$input-height-border}) !default; $input-height-lg: calc(#{$input-line-height-lg * 1em}+ #{$input-btn-padding-y-lg * 2}+ #{$input-height-border}) !default; $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $form-text-margin-top: .25rem !default; $form-check-input-gutter: 1.25rem !default; $form-check-input-margin-y: .3rem !default; $form-check-input-margin-x: .25rem !default; $form-check-inline-margin-x: .75rem !default; $form-check-inline-input-margin-x: .3125rem !default; $form-grid-gutter-width: 10px !default; $form-group-margin-bottom: 1rem !default; $input-group-addon-color: $input-color !default; $input-group-addon-bg: $gray-200 !default; $input-group-addon-border-color: $input-border-color !default; $custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $custom-control-gutter: .5rem !default; $custom-control-spacer-x: 1rem !default; $custom-control-indicator-size: 1rem !default; $custom-control-indicator-bg: $input-bg !default; $custom-control-indicator-bg-size: 50% 50% !default; $custom-control-indicator-box-shadow: $input-box-shadow !default; $custom-control-indicator-border-color: $gray-500 !default; $custom-control-indicator-border-width: $input-border-width !default; $custom-control-indicator-disabled-bg: $input-disabled-bg !default; $custom-control-label-disabled-color: $gray-600 !default; $custom-control-indicator-checked-color: $component-active-color !default; $custom-control-indicator-checked-bg: $component-active-bg !default; $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; $custom-control-indicator-checked-box-shadow: none !default; $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default; $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default; $custom-control-indicator-focus-border-color: $input-focus-border-color !default; $custom-control-indicator-active-color: $component-active-color !default; $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default; $custom-control-indicator-active-box-shadow: none !default; $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default; $custom-checkbox-indicator-border-radius: $border-radius !default; $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-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-indicator-indeterminate-bg: $component-active-bg !default; $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default; $custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-checkbox-indicator-indeterminate-box-shadow: none !default; $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default; $custom-radio-indicator-border-radius: 50% !default; $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-switch-width: $custom-control-indicator-size * 1.75 !default; $custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default; $custom-switch-indicator-size: calc(#{$custom-control-indicator-size}- #{$custom-control-indicator-border-width * 4}) !default; $custom-select-padding-y: $input-padding-y !default; $custom-select-padding-x: $input-padding-x !default; $custom-select-font-family: $input-font-family !default; $custom-select-font-size: $input-font-size !default; $custom-select-height: $input-height !default; $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator $custom-select-font-weight: $input-font-weight !default; $custom-select-line-height: $input-line-height !default; $custom-select-color: $input-color !default; $custom-select-disabled-color: $gray-600 !default; $custom-select-bg: $input-bg !default; $custom-select-disabled-bg: $gray-200 !default; $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions $custom-select-indicator-color: $gray-800 !default; $custom-select-indicator: str-replace(url("data:image/svg+xml,%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-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon) $custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default; $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; $custom-select-border-width: $input-border-width !default; $custom-select-border-color: $input-border-color !default; $custom-select-border-radius: $border-radius !default; $custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default; $custom-select-focus-border-color: $input-focus-border-color !default; $custom-select-focus-width: $input-focus-width !default; $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default; $custom-select-padding-y-sm: $input-padding-y-sm !default; $custom-select-padding-x-sm: $input-padding-x-sm !default; $custom-select-font-size-sm: $input-font-size-sm !default; $custom-select-height-sm: $input-height-sm !default; $custom-select-padding-y-lg: $input-padding-y-lg !default; $custom-select-padding-x-lg: $input-padding-x-lg !default; $custom-select-font-size-lg: $input-font-size-lg !default; $custom-select-height-lg: $input-height-lg !default; $custom-range-track-width: 100% !default; $custom-range-track-height: .5rem !default; $custom-range-track-cursor: pointer !default; $custom-range-track-bg: $gray-300 !default; $custom-range-track-border-radius: 1rem !default; $custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default; $custom-range-thumb-width: 1rem !default; $custom-range-thumb-height: $custom-range-thumb-width !default; $custom-range-thumb-bg: $component-active-bg !default; $custom-range-thumb-border: 0 !default; $custom-range-thumb-border-radius: 1rem !default; $custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default; $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default; $custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge $custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default; $custom-range-thumb-disabled-bg: $gray-500 !default; $custom-file-height: $input-height !default; $custom-file-height-inner: $input-height-inner !default; $custom-file-focus-border-color: $input-focus-border-color !default; $custom-file-focus-box-shadow: $input-focus-box-shadow !default; $custom-file-disabled-bg: $input-disabled-bg !default; $custom-file-padding-y: $input-padding-y !default; $custom-file-padding-x: $input-padding-x !default; $custom-file-line-height: $input-line-height !default; $custom-file-font-family: $input-font-family !default; $custom-file-font-weight: $input-font-weight !default; $custom-file-color: $input-color !default; $custom-file-bg: $input-bg !default; $custom-file-border-width: $input-border-width !default; $custom-file-border-color: $input-border-color !default; $custom-file-border-radius: $input-border-radius !default; $custom-file-box-shadow: $input-box-shadow !default; $custom-file-button-color: $custom-file-color !default; $custom-file-button-bg: $input-group-addon-bg !default; $custom-file-text: ( en: "Browse" ) !default; // Form validation $form-feedback-margin-top: $form-text-margin-top !default; $form-feedback-font-size: $small-font-size !default; $form-feedback-valid-color: theme-color("success") !default; $form-feedback-invalid-color: theme-color("danger") !default; $form-feedback-icon-valid-color: $form-feedback-valid-color !default; $form-feedback-icon-valid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-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-feedback-icon-invalid-color: $form-feedback-invalid-color !default; $form-feedback-icon-invalid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' 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; $form-validation-states: () !default; // stylelint-disable-next-line scss/dollar-variable-default $form-validation-states: map-merge( ( "valid": ( "color": $form-feedback-valid-color, "icon": $form-feedback-icon-valid ), "invalid": ( "color": $form-feedback-invalid-color, "icon": $form-feedback-icon-invalid ), ), $form-validation-states ); // Z-index master list // // 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-dropdown: 1000 !default; $zindex-sticky: 1020 !default; $zindex-fixed: 1030 !default; $zindex-modal-backdrop: 1040 !default; $zindex-modal: 1050 !default; $zindex-popover: 1060 !default; $zindex-tooltip: 1070 !default; // Navs $nav-link-padding-y: .5rem !default; $nav-link-padding-x: 1rem !default; $nav-link-disabled-color: $gray-600 !default; $nav-tabs-border-color: $gray-300 !default; $nav-tabs-border-width: $border-width !default; $nav-tabs-border-radius: $border-radius !default; $nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default; $nav-tabs-link-active-color: $gray-700 !default; $nav-tabs-link-active-bg: $body-bg !default; $nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default; $nav-pills-border-radius: $border-radius !default; $nav-pills-link-active-color: $component-active-color !default; $nav-pills-link-active-bg: $component-active-bg !default; $nav-divider-color: $gray-200 !default; $nav-divider-margin-y: $spacer / 2 !default; // Navbar $navbar-padding-y: $spacer / 2 !default; $navbar-padding-x: $spacer !default; $navbar-nav-link-padding-x: .5rem !default; $navbar-brand-font-size: $font-size-lg !default; // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default; $navbar-brand-height: $navbar-brand-font-size * $line-height-base !default; $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default; $navbar-toggler-padding-y: .25rem !default; $navbar-toggler-padding-x: .75rem !default; $navbar-toggler-font-size: $font-size-lg !default; $navbar-toggler-border-radius: $btn-border-radius !default; $navbar-dark-color: rgba($white, .5) !default; $navbar-dark-hover-color: rgba($white, .75) !default; $navbar-dark-active-color: $white !default; $navbar-dark-disabled-color: rgba($white, .25) !default; $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-dark-toggler-border-color: 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-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-light-toggler-border-color: rgba($black, .1) !default; $navbar-light-brand-color: $navbar-light-active-color !default; $navbar-light-brand-hover-color: $navbar-light-active-color !default; $navbar-dark-brand-color: $navbar-dark-active-color !default; $navbar-dark-brand-hover-color: $navbar-dark-active-color !default; // Dropdowns // // Dropdown menu container and contents. $dropdown-min-width: 10rem !default; $dropdown-padding-y: .5rem !default; $dropdown-spacer: .125rem !default; $dropdown-font-size: $font-size-base !default; $dropdown-color: $body-color !default; $dropdown-bg: $white !default; $dropdown-border-color: rgba($black, .15) !default; $dropdown-border-radius: $border-radius !default; $dropdown-border-width: $border-width !default; $dropdown-inner-border-radius: calc(#{$dropdown-border-radius}- #{$dropdown-border-width}) !default; $dropdown-divider-bg: $gray-200 !default; $dropdown-divider-margin-y: $nav-divider-margin-y !default; $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default; $dropdown-link-color: $gray-900 !default; $dropdown-link-hover-color: darken($gray-900, 5%) !default; $dropdown-link-hover-bg: $gray-100 !default; $dropdown-link-active-color: $component-active-color !default; $dropdown-link-active-bg: $component-active-bg !default; $dropdown-link-disabled-color: $gray-600 !default; $dropdown-item-padding-y: .25rem !default; $dropdown-item-padding-x: 1.5rem !default; $dropdown-header-color: $gray-600 !default; // Pagination $pagination-padding-y: .5rem !default; $pagination-padding-x: .75rem !default; $pagination-padding-y-sm: .25rem !default; $pagination-padding-x-sm: .5rem !default; $pagination-padding-y-lg: .75rem !default; $pagination-padding-x-lg: 1.5rem !default; $pagination-line-height: 1.25 !default; $pagination-color: $link-color !default; $pagination-bg: $white !default; $pagination-border-width: $border-width !default; $pagination-border-color: $gray-300 !default; $pagination-focus-box-shadow: $input-btn-focus-box-shadow !default; $pagination-focus-outline: 0 !default; $pagination-hover-color: $link-hover-color !default; $pagination-hover-bg: $gray-200 !default; $pagination-hover-border-color: $gray-300 !default; $pagination-active-color: $component-active-color !default; $pagination-active-bg: $component-active-bg !default; $pagination-active-border-color: $pagination-active-bg !default; $pagination-disabled-color: $gray-600 !default; $pagination-disabled-bg: $white !default; $pagination-disabled-border-color: $gray-300 !default; // Jumbotron $jumbotron-padding: 2rem !default; $jumbotron-color: null !default; $jumbotron-bg: $gray-200 !default; // Cards $card-spacer-y: .75rem !default; $card-spacer-x: 1.25rem !default; $card-border-width: $border-width !default; $card-border-radius: $border-radius !default; $card-border-color: rgba($black, .125) !default; $card-inner-border-radius: calc(#{$card-border-radius}- #{$card-border-width}) !default; $card-cap-bg: rgba($black, .03) !default; $card-cap-color: null !default; $card-color: null !default; $card-bg: $white !default; $card-img-overlay-padding: 1.25rem !default; $card-group-margin: $grid-gutter-width / 2 !default; $card-deck-margin: $card-group-margin !default; $card-columns-count: 3 !default; $card-columns-gap: 1.25rem !default; $card-columns-margin: $card-spacer-y !default; // Tooltips $tooltip-font-size: $font-size-sm !default; $tooltip-max-width: 200px !default; $tooltip-color: $white !default; $tooltip-bg: $black !default; $tooltip-border-radius: $border-radius !default; $tooltip-opacity: .9 !default; $tooltip-padding-y: .25rem !default; $tooltip-padding-x: .5rem !default; $tooltip-margin: 0 !default; $tooltip-arrow-width: .8rem !default; $tooltip-arrow-height: .4rem !default; $tooltip-arrow-color: $tooltip-bg !default; // Form tooltips must come after regular tooltips $form-feedback-tooltip-padding-y: $tooltip-padding-y !default; $form-feedback-tooltip-padding-x: $tooltip-padding-x !default; $form-feedback-tooltip-font-size: $tooltip-font-size !default; $form-feedback-tooltip-line-height: $line-height-base !default; $form-feedback-tooltip-opacity: $tooltip-opacity !default; $form-feedback-tooltip-border-radius: $tooltip-border-radius !default; // Popovers $popover-font-size: $font-size-sm !default; $popover-bg: $white !default; $popover-max-width: 276px !default; $popover-border-width: $border-width !default; $popover-border-color: rgba($black, .2) !default; $popover-border-radius: $border-radius-lg !default; $popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default; $popover-header-bg: darken($popover-bg, 3%) !default; $popover-header-color: $headings-color !default; $popover-header-padding-y: .5rem !default; $popover-header-padding-x: .75rem !default; $popover-body-color: $body-color !default; $popover-body-padding-y: $popover-header-padding-y !default; $popover-body-padding-x: $popover-header-padding-x !default; $popover-arrow-width: 1rem !default; $popover-arrow-height: .5rem !default; $popover-arrow-color: $popover-bg !default; $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default; // Toasts $toast-max-width: 350px !default; $toast-padding-x: .75rem !default; $toast-padding-y: .25rem !default; $toast-font-size: .875rem !default; $toast-color: null !default; $toast-background-color: rgba($white, .85) !default; $toast-border-width: 1px !default; $toast-border-color: rgba(0, 0, 0, .1) !default; $toast-border-radius: .25rem !default; $toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default; $toast-header-color: $gray-600 !default; $toast-header-background-color: rgba($white, .85) !default; $toast-header-border-color: rgba(0, 0, 0, .05) !default; // Badges $badge-font-size: 75% !default; $badge-font-weight: $font-weight-bold !default; $badge-padding-y: .25em !default; $badge-padding-x: .4em !default; $badge-border-radius: $border-radius !default; $badge-transition: $btn-transition !default; $badge-focus-width: $input-btn-focus-width !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 // Padding applied to the modal body $modal-inner-padding: 1rem !default; $modal-dialog-margin: .5rem !default; $modal-dialog-margin-y-sm-up: 1.75rem !default; $modal-title-line-height: $line-height-base !default; $modal-content-color: null !default; $modal-content-bg: $white !default; $modal-content-border-color: rgba($black, .2) !default; $modal-content-border-width: $border-width !default; $modal-content-border-radius: $border-radius-lg !default; $modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default; $modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default; $modal-backdrop-bg: $black !default; $modal-backdrop-opacity: .5 !default; $modal-header-border-color: $border-color !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-y: 1rem !default; $modal-header-padding-x: 1rem !default; $modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility $modal-xl: 1140px !default; $modal-lg: 800px !default; $modal-md: 500px !default; $modal-sm: 300px !default; $modal-fade-transform: translate(0, -50px) !default; $modal-show-transform: none !default; $modal-transition: transform .3s ease-out !default; // Alerts // // Define alert colors, border radius, and padding. $alert-padding-y: .75rem !default; $alert-padding-x: 1.25rem !default; $alert-margin-bottom: 1rem !default; $alert-border-radius: $border-radius !default; $alert-link-font-weight: $font-weight-bold !default; $alert-border-width: $border-width !default; $alert-bg-level: -10 !default; $alert-border-level: -9 !default; $alert-color-level: 6 !default; // Progress bars $progress-height: 1rem !default; $progress-font-size: $font-size-base * .75 !default; $progress-bg: $gray-200 !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: theme-color("primary") !default; $progress-bar-animation-timing: 1s linear infinite !default; $progress-bar-transition: width .6s ease !default; // List group $list-group-color: null !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-y: .75rem !default; $list-group-item-padding-x: 1.25rem !default; $list-group-hover-bg: $gray-100 !default; $list-group-active-color: $component-active-color !default; $list-group-active-bg: $component-active-bg !default; $list-group-active-border-color: $list-group-active-bg !default; $list-group-disabled-color: $gray-600 !default; $list-group-disabled-bg: $list-group-bg !default; $list-group-action-color: $gray-700 !default; $list-group-action-hover-color: $list-group-action-color !default; $list-group-action-active-color: $body-color !default; $list-group-action-active-bg: $gray-200 !default; // Image thumbnails $thumbnail-padding: .25rem !default; $thumbnail-bg: $body-bg !default; $thumbnail-border-width: $border-width !default; $thumbnail-border-color: $gray-300 !default; $thumbnail-border-radius: $border-radius !default; $thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default; // Figures $figure-caption-font-size: 90% !default; $figure-caption-color: $gray-600 !default; // Breadcrumbs $breadcrumb-padding-y: .75rem !default; $breadcrumb-padding-x: 1rem !default; $breadcrumb-item-padding: .5rem !default; $breadcrumb-margin-bottom: 1rem !default; $breadcrumb-bg: $gray-200 !default; $breadcrumb-divider-color: $gray-600 !default; $breadcrumb-active-color: $gray-600 !default; $breadcrumb-divider: quote("/") !default; $breadcrumb-border-radius: $border-radius !default; // Carousel $carousel-control-color: $white !default; $carousel-control-width: 15% !default; $carousel-control-opacity: .5 !default; $carousel-control-hover-opacity: .9 !default; $carousel-control-transition: opacity .15s ease !default; $carousel-indicator-width: 30px !default; $carousel-indicator-height: 3px !default; $carousel-indicator-hit-area-height: 10px !default; $carousel-indicator-spacer: 3px !default; $carousel-indicator-active-bg: $white !default; $carousel-indicator-transition: opacity .6s ease !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,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 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,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 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-transition-duration: .6s !default; $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) // Spinners $spinner-width: 2rem !default; $spinner-height: $spinner-width !default; $spinner-border-width: .25em !default; $spinner-width-sm: 1rem !default; $spinner-height-sm: $spinner-width-sm !default; $spinner-border-width-sm: .2em !default; // Close $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: 87.5% !default; $code-color: $pink !default; $kbd-padding-y: .2rem !default; $kbd-padding-x: .4rem !default; $kbd-font-size: $code-font-size !default; $kbd-color: $white !default; $kbd-bg: $gray-900 !default; $pre-color: $gray-900 !default; $pre-scrollable-max-height: 340px !default; // Utilities $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default; $overflows: auto, hidden !default; $positions: static, relative, absolute, fixed, sticky !default; // Printing $print-page-size: a3 !default; $print-body-min-width: map-get($grid-breakpoints, "lg") !default; 

/* /web/static/src/legacy/scss/import_bootstrap.scss defined in bundle 'web.assets_frontend' */
 // This file is importing bootstrap. While a simple "import "bootstrap";" // should be enough, this does not allow overridding mixins/functions. // Overridding those is necessary for some of our need and allow to generate // more efficient CSS than adding more rules. This file instead copies the // content of the "bootstrap.scss" files but do not import functions, variables // and mixins which will be handled "by hand" in _assets_helpers. //  //  //          // Small hack in bootstrap (see bootstrap_review.scss): prevent it to generate // primary, secondary, and other color/outline classes by itself to be able to // do it ourself properly. $-tmp: $theme-colors; $theme-colors: ();  $theme-colors: $-tmp;                          

/* /web/static/src/legacy/scss/bootstrap_review.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the CSS rules made to fix/extend bootstrap in all places /// where it is used in Odoo (backend / frontend / reports / ...) /// .alert{// Alerts are block elements with relative positioning. // They would go over floating elements, which is never what we want. clear: both;}// Extend bootstrap to create background and text utilities for gray colors too // Note: the card-body rule below needs those grays utilities to be defined // before so that the related o-bg-color text-muted rules work. @each $color, $value in $grays{@include bg-variant(".bg-#{$color}", $value); @include text-emphasis-variant(".text-#{$color}", $value);}.card-body{// BS4 colored cards do not have a very popular design. This will reset them // to a BS3-like one: only the header and footer are colored and the body // will use the color of a default card background with a light opacity. // Limitation: bg-* utilities cannot be used on card-body elements anymore. @include o-bg-color(rgba($card-bg, $o-card-body-bg-opacity)); &:first-child{@include border-top-radius($card-inner-border-radius);}&:last-child{@include border-bottom-radius($card-inner-border-radius);}&.row{// The 'row' class should not be used on a 'card-body' element but if // it is done, our custom bg color would overflow the card. As a fix // for those cases (normally only one at the time this fix is made), // remove the background color. // TODO remove me in master. background-color: transparent !important;}}.accordion{.collapsing, .collapse.show{> .card-body:first-child{// Above background color would overflow on the card-header border // without this margin-top: $card-border-width;}}}.toast-header{background-clip: border-box;}.toast-body{// Same as card-body, see explanation above @include o-bg-color(opacify($toast-background-color, 0.08));}// Modify modals so that their scrollable element is the modal-body (except in // mobile). @include media-breakpoint-up(sm){.modal-dialog{height: 100%; padding: $modal-dialog-margin-y-sm-up 0; margin: 0 auto;}.modal-content{max-height: 100%;}.modal-header, .modal-footer{flex: 0 0 auto;}.modal-body{overflow: auto; min-height: 0;}}// Do not display the backdrop element added by bootstrap in the body and add a // background on the modal to keep the same effect. The bootstrap backdrop was // probably useful for compatibility with <IE9 but is no longer needed. This // also avoids z-index issues because modals could be opened in an element // (e.g. the website #wrapwrap) whose stacking context is different of the body // one (where the backdrop is opened). This would make the backdrop appears on // top of the modal. .modal-backdrop{display: none;}.modal:not([data-backdrop="false"]){background-color: rgba($modal-backdrop-bg, $modal-backdrop-opacity);}// Restore pointer cursor which came with the 'btn' class until BS 4.3.1 .btn:not(:disabled):not(.disabled){cursor: pointer;}// Disable RTL for the popover position .popover{right: auto#{""};}// Review input group: BS allows to control button and input dimensions // individually but fails to make input-group correctly in all cases (for some // strange reasons they made it work well for sm and lg but not for the normal // sizing). .input-group-prepend, .input-group-append{> .btn{@include button-size($input-padding-y, $input-padding-x, $input-font-size, $input-line-height, $input-border-radius); border-width: $input-border-width;}}// Review $link-decoration behavior @if $link-decoration and $link-decoration != none{.btn:not(.btn-link), .nav-link, .dropdown-item, .page-link, .breadcrumb-item > a, .badge, .fa{&, &:hover, &:focus{text-decoration: none;}}}// Generating bootstrap color buttons was disabled (see import_bootstrap.scss). // We do it ourself here with a tweak: we introduce btn-fill-* (working as the // normal btn-* classes (in opposition to btn-outline-* classes). We then map // the btn-* classes to either btn-fill-* or btn-outline-* classes depending on // the configuration. We also allow to define a border-color different than the // background color. $o-btn-bg-colors: () !default; $o-btn-border-colors: () !default; @each $color, $value in $theme-colors{$-bg-color: map-get($o-btn-bg-colors, $color) or $value; $-border-color: map-get($o-btn-border-colors, $color) or $-bg-color; .btn-fill-#{$color}{@include button-variant($-bg-color, $-border-color);}}@each $color, $value in $theme-colors{$-bg-color: map-get($o-btn-bg-colors, $color) or $value; $-border-color: map-get($o-btn-border-colors, $color) or $-bg-color; .btn-outline-#{$color}{@include button-outline-variant($-border-color);}}$o-btn-outline-defaults: () !default; @each $color, $value in $theme-colors{.btn-#{$color}{@if index($o-btn-outline-defaults, $color){@extend .btn-outline-#{$color};}@else{@extend .btn-fill-#{$color};}}}// Compensate navbar brand padding if no visible border @if alpha($navbar-dark-toggler-border-color) < 0.001{.navbar-dark .navbar-toggler{padding-left: 0; padding-right: 0;}}@if alpha($navbar-light-toggler-border-color) < 0.001{.navbar-light .navbar-toggler{padding-left: 0; padding-right: 0;}}// Review bootstrap navbar to work with different nav styles $o-navbar-nav-pills-link-padding-x: $nav-link-padding-x !default; $o-navbar-nav-pills-link-border-radius: $nav-pills-border-radius !default; .navbar-nav.nav-pills .nav-link{// The rules is needed so that the padding is not reset to 0 in mobile. // Also use default nav-link paddings instead of navbar ones. padding-right: $o-navbar-nav-pills-link-padding-x; padding-left: $o-navbar-nav-pills-link-padding-x; @if $o-navbar-nav-pills-link-border-radius != $nav-pills-border-radius{@include border-radius($o-navbar-nav-pills-link-border-radius);}}.carousel-control-next .sr-only{left: 50%; // Avoid horizontal scrollbar in Chrome}

/* /web/static/src/core/utils/transitions.scss defined in bundle 'web.assets_frontend' */
 @mixin owl-fade($time, $name){.#{$name}_fade-enter-active, .#{$name}_fade-active{transition: all $time;}.#{$name}_fade-enter{opacity: 0;}.#{$name}_fade-leave-to{opacity: 0;}}

/* /web/static/src/core/checkbox/checkbox.scss defined in bundle 'web.assets_frontend' */
// = Checkbox // ============================================================================ .custom-control.custom-checkbox .custom-control-input{// Force default bts default border color &:not(:checked):not(:indeterminate):not(:disabled) ~ .custom-control-label:before{border-color: $custom-control-indicator-border-color;}&:disabled{~ .custom-control-label{cursor: not-allowed; &:before{border-color: $custom-control-indicator-checked-disabled-bg;}}&:checked ~ .custom-control-label:after{// Use odoo custom muted icon background-image: $o-custom-checkbox-indicator-icon-checked-disabled;}}@media print{-webkit-print-color-adjust: exact !important; color-adjust: exact !important;}}

/* /web/static/src/core/debug/debug_menu.scss defined in bundle 'web.assets_frontend' */
.o_dialog{.o_debug_manager .dropdown-toggle{padding: 0 4px; margin: 2px 10px 2px 0;}}

/* /web/static/src/core/debug/profiling/profiling_item.scss defined in bundle 'web.assets_frontend' */
.o_debug_profiling_item{.o_profiling_switch{padding-top: 3px; padding-bottom: 3px; .custom-switch{display: inline-block;}.custom-control-label{cursor: pointer;}.o_open_profiling{padding-top: 3px;}}}.o_debug_manager .fa-bug{position: relative; .o_recording{position: absolute; bottom: -0.1em; right: -0.4em; font-size: 0.8em;}}

/* /web/static/src/core/dialog/dialog.scss defined in bundle 'web.assets_frontend' */
.o_dialog{> .modal{display: block;}}.modal.o_technical_modal{.modal-content{border-radius: 0; .modal-header .modal-title{word-break: break-word;}.modal-footer{flex-wrap: wrap; text-align: left; justify-content: flex-start; footer{> :not(:first-child){margin-left: 0.25rem;}> :not(:last-child){margin-right: 0.25rem;}button{margin-bottom: 0.5rem;}}}}@include media-breakpoint-up(sm){.modal-dialog .modal-content.o_dialog_error .modal-body{overflow: visible; display: flex; flex-flow: column nowrap; > .alert, > button{flex: 0 0 auto;}> .o_error_detail{flex: 1 1 auto; min-height: 0; overflow: auto;}}}}

/* /web/static/src/core/dropdown/dropdown.scss defined in bundle 'web.assets_frontend' */
// = Owl components specific rules // ----------------------------------------------------------------------------- .dropdown-menu{.dropdown-toggle:focus, .dropdown-item:focus{background-color: transparent;}.dropdown-toggle.focus, .dropdown-item.focus{background-color: $dropdown-link-hover-bg;}}.dropdown-item:not(.disabled):not(:disabled){// Needed 'cause <DropdownItem> generate <span> html tags that for browsers are // normally not clickable. cursor: pointer;}button.dropdown-toggle{&.active, &:hover, &:focus, &:active{outline: none; box-shadow: none !important;}&.dropdown-item{&::after, &::before{// Changes the placement of bootstrap dropdown carets for subdropdowns @include o-position-absolute($right: 0, $top: 0); transform: translate(-.6em, .6em) #{""};}}}// = New Owl Dropdown specific rules // ----------------------------------------------------------------------------- .o-dropdown{&--menu{// Makes sure the dropdown menus are already in a // fixed position before the positioning computations begin. position: fixed;}&.dropup > .o-dropdown--menu, &.dropdown > .o-dropdown--menu, &.dropleft > .o-dropdown--menu, &.dropright > .o-dropdown--menu{// Also makes sure that left/right stuffs are not polluted // by bootstrap rules processed by rtlcss left: auto; right: auto; margin-left: 0; margin-right: 0;}&--no-caret{> .dropdown-toggle{&::before, &::after{content: normal;}}}// Correctly align sub dropdowns items with its parent's .o-dropdown > .o-dropdown--menu.o-popper-position{&--rs, &--ls{margin-top: calc(-.5rem - 1px);}&--re, &--le{margin-top: calc(.5rem - 2px);}}}

/* /web/static/src/core/effects/rainbow_man.scss defined in bundle 'web.assets_frontend' */
.o_reward{$reward-size: 400px; $reward-size-mobile: 300px; $reward-text-color: #727880; $reward-base-time: 1.4s; will-change: transform; z-index: $zindex-modal; padding: 50px; margin: -5% auto 0 (-$reward-size / 2); @include media-breakpoint-down(sm){margin: -5% auto 0 (-$reward-size-mobile / 2);}background-image: -webkit-radial-gradient(#edeff4 30%, transparent 70%, transparent); background-image: -o-radial-gradient(#edeff4 30%, transparent 70%, transparent); background-image: radial-gradient(#edeff4 30%, transparent 70%, transparent); animation: reward-fading ($reward-base-time * 0.5) ease-in-out 0s 1 normal forwards; @include o-position-absolute(20%, auto, auto, 50%); @include size($reward-size, $reward-size); @include media-breakpoint-down(sm){@include size($reward-size-mobile, $reward-size-mobile);}&.o_reward_fading{display: block; animation: reward-fading-reverse ($reward-base-time * 0.4) ease-in-out 0s 1 normal forwards; .o_reward_face_group{animation: reward-jump-reverse ($reward-base-time * 0.4) ease-in-out 0s 1 normal forwards;}.o_reward_rainbow{path{animation: reward-rainbow-reverse ($reward-base-time * 0.5) ease-out 0s 1 normal forwards;}}}.o_reward_face, .o_reward_stars, .o_reward_shadow, .o_reward_thumbup{margin: 0 auto;}.o_reward_rainbow{path{stroke-dasharray: 600; stroke-dashoffset: 0; fill: none; stroke-linecap: round; stroke-width: 21px; animation: reward-rainbow $reward-base-time ease-out 0s 1 normal forwards;}}.o_reward_face_group{transform-origin: center; animation: reward-jump $reward-base-time * 0.8 ease-in-out 0s 1 normal none running; @include o-position-absolute(6%, 0, 0, 0); @include size(100%, 60%);}.o_reward_face{display: block; top: 42%; position: relative; border-radius: 100%; background: center center / contain no-repeat; animation: reward-float $reward-base-time ease-in-out $reward-base-time infinite alternate; @include size(34%, 56.67%);}.o_reward_stars{display: block; @include size($reward-size * 0.75, $reward-size / 2); @include media-breakpoint-down(sm){@include size($reward-size-mobile * 0.75, $reward-size-mobile / 2);}@include o-position-absolute(18%, 7%); svg{transform-origin: center center; @include o-position-absolute(28%, $left: 3%); animation: reward-stars $reward-base-time ease-in-out 0s infinite alternate-reverse; &.star2, &.star4{animation: reward-stars ($reward-base-time * 1.2) ease-in-out 0s infinite alternate;}&.star2{left: 20%; top: 2%;}&.star3{left: 49%; top: 6%;}&.star4{left: 70%; top: 27%;}}}.o_reward_thumbup{width: 40px; display: block; animation: reward-scale ($reward-base-time * 0.5) ease-in-out 0s infinite alternate; @include o-position-absolute(63%, auto, auto, 65%);}.o_reward_msg_container{will-change: transform; padding-top: 11%; width: 70%; margin-left: 15%; // Translate before animate transform: translateY(5px); animation: reward-float $reward-base-time ease-in-out $reward-base-time infinite alternate-reverse; @include o-position-absolute(85%, auto, auto, 0%); .o_reward_thumb_right{height: 40px; z-index: 1; @include o-position-absolute(0, auto, auto, 16%);}.o_reward_msg{margin-left: 7%; margin-top: -9.5%; padding: 25px 15px 20px; background: white; border: 1px solid #ecf1ff; border-top-width: 0; display: inline-block; // Reset margins for first and penultimate childs (the last one is shadow) *:first-child{margin-top: 0;}}.o_reward_msg_content{position: relative; font-family: sans-serif; text-align: left; color: $reward-text-color;}.o_reward_shadow_container{transform: translateY(0px) rotateZ(0); animation: reward-float $reward-base-time ease-in-out $reward-base-time infinite alternate;}.o_reward_shadow{@include size(100%, 12px); background-color: #e7eaf0; border-radius: 100%; transform: scale(0.8) rotateZ(0); animation: reward-scale $reward-base-time ease-in-out $reward-base-time infinite alternate; @include o-position-absolute(auto, auto, -40px, 0);}}}@keyframes reward-fading{0%{opacity: 0;}100%{opacity: 1;}}@keyframes reward-fading-reverse{100%{opacity: 0;}}@keyframes reward-jump{0%{transform: scale(0.5);}50%{transform: scale(1.05);}to{transform: scale(1);}}@keyframes reward-jump-reverse{0%{transform: scale(1);}50%{transform: scale(1.05);}to{transform: scale(0.5);}}@keyframes reward-rainbow{0%{stroke-dashoffset: -500;}to{stroke-dashoffset: 0;}}@keyframes reward-rainbow-reverse{to{stroke-dashoffset: -500;}}@keyframes reward-float{from{transform: translateY(0px);}to{transform: translateY(5px);}}@keyframes reward-stars{from{transform: scale(0.3) rotate(0deg);}50%{transform: scale(1) rotate(20deg);}to{transform: scale(0.3) rotate(80deg);}}@keyframes reward-scale{from{transform: scale(0.8);}to{transform: scale(1);}}

/* /web/static/src/core/hotkeys/hotkey.scss defined in bundle 'web.assets_frontend' */
.o_web_hotkey_overlay{@include o-position-absolute(0, 0); display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); color: #ffffff; font-size: 1rem; font-family: $font-family-sans-serif;}

/* /web/static/src/core/notifications/notification.scss defined in bundle 'web.assets_frontend' */
$notification-width: 320px; $notification-text-color: #212529; $notification-title-text-color: #6c757d; // Colors of the notification are not managed by this file. // It is handled by the other classes defining a background. (like danger, warning, etc.) // The notification just add overlays. .o_notification_manager{@include o-position-absolute(3.5rem, 0); position: fixed; z-index: ($zindex-modal + $zindex-popover) / 2; width: $notification-width; margin-right: 0.5rem; max-width: 100%; .o_notification{width: 100%; margin-bottom: 0.375rem; overflow: hidden; background-color: rgba(255, 255, 255, 0.7); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); border-radius: 0.25rem; .o_notification_body{padding: 0.5rem 0.625rem; background-color: rgba(255, 255, 255, 0.78) !important; color: $notification-text-color; .o_notification_close{margin-left: 1rem;}}.o_notification_header{display: flex; align-items: center; padding: 0.5rem 1.5rem; color: $notification-title-text-color; background-color: rgba(255, 255, 255, 0.7); border-bottom: 1px solid rgba(0, 0, 0, 0.05);}}}@include owl-fade(0.5s, "o_notification"); 

/* /web/static/src/core/popover/popover.scss defined in bundle 'web.assets_frontend' */
 @keyframes slide-top{0%{opacity: 0; transform: translateY(-5%);}100%{opacity: 1; transform: translateY(0);}}@keyframes slide-right{0%{opacity: 0; transform: translateX(5%);}100%{opacity: 1; transform: translateX(0);}}@keyframes slide-bottom{0%{opacity: 0; transform: translateY(5%);}100%{opacity: 1; transform: translateY(0);}}@keyframes slide-left{0%{opacity: 0; transform: translateX(-5%);}100%{opacity: 1; transform: translateX(0);}}.o_popover{$border-color: gray("300"); $bg-color: gray("200"); $arrow-pad: 0px; $arrow-size: 8px; $animation-time: 0.2s; max-width: 100vw; z-index: 1060; border: 1px solid $border-color; background-color: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); &.o-popper-position{&--tm{animation: $animation-time slide-top; margin-top: $arrow-size; &::before, &::after{pointer-events: none; content: ""; position: absolute; top: 100%; left: 50%; margin-left: -$arrow-size; border: $arrow-size solid transparent; border-top-color: $bg-color;}&::before{margin-top: 1px; border-top-color: $border-color;}}&--rm{animation: $animation-time slide-right; margin-left: -$arrow-size; &::before, &::after{pointer-events: none; content: ""; position: absolute; top: 50%; right: 100%; margin-top: -$arrow-size; border: $arrow-size solid transparent; border-right-color: $bg-color;}&::before{margin-right: 1px; border-right-color: $border-color;}}&--bm{animation: $animation-time slide-bottom; margin-top: -$arrow-size; &::before, &::after{pointer-events: none; content: ""; position: absolute; bottom: 100%; left: 50%; margin-left: -$arrow-size; border: $arrow-size solid transparent; border-bottom-color: $bg-color;}&::before{margin-bottom: 1px; border-bottom-color: $border-color;}}&--lm{animation: $animation-time slide-left; margin-left: $arrow-size; &::before, &::after{pointer-events: none; content: ""; position: absolute; top: 50%; left: 100%; margin-top: -$arrow-size; border: $arrow-size solid transparent; border-left-color: $bg-color;}&::before{margin-left: 1px; border-left-color: $border-color;}}}}

/* /web/static/src/core/position/position.scss defined in bundle 'web.assets_frontend' */
 .o-popper-position{position: fixed; top: 0; left: 0;}

/* /web/static/src/core/tooltip/tooltip.scss defined in bundle 'web.assets_frontend' */
.o-tooltip{font-size: smaller; .o-tooltip--string{background-color: $o-tooltip-title-background-color; font-weight: bold; padding: 5px 8px;}.o-tooltip--help{white-space: pre-line; padding: 8px; margin-bottom: 0px;}.o-tooltip--technical{padding: 8px; margin: 0 0 0 15px; list-style-type: circle; .o-tooltip--technical--title{font-weight: bold;}}}

/* /web/static/src/core/ui/block_ui.scss defined in bundle 'web.assets_frontend' */
.o_blockUI{position: fixed; top: 0; left: 0; z-index: 1100; cursor: wait; background: #000000; opacity: 0.6; height: 100vh; width: 100vw; display: flex; justify-content: center; align-items: center; flex-direction: column; .o_spinner{height: 4.2rem; margin-bottom: 1rem; img{animation: fa-spin 1s infinite steps(12);}}.o_message{color: #ffffff; text-align: center;}}

/* /web/static/src/legacy/scss/base_frontend.scss defined in bundle 'web.assets_frontend' */
// Frontend general html, body, #wrapwrap{width: 100%; height: 100%; overflow: hidden;}#wrapwrap{// The z-index is useful to prevent that children with a negative z-index // go behind the wrapwrap (we create a new stacking context). z-index: 0; position: relative; display: flex; flex-flow: column nowrap; // ... we delegate the scroll to that top element instead of the window/body // This is at least needed for the edit mode to not have a double scrollbar // due to the right editor panel (and since we want to minimize the style // difference between edit mode and non-edit mode (wysiwyg)...). overflow: auto; > *{flex: 0 0 auto;}> main{flex: 1 0 auto;}}.modal-open #wrapwrap{overflow: hidden;}

/* /web/static/src/legacy/scss/lazyloader.scss defined in bundle 'web.assets_frontend' */
 // Disable buttons and links marked with the o_wait_lazy_js class or in a // section which is marked with the o_wait_lazy_js class. a[href], button, input[type="submit"], input[type="button"], .btn{&.o_wait_lazy_js, .o_wait_lazy_js &{pointer-events: none;}}

/* /web/static/src/legacy/scss/navbar_mobile.scss defined in bundle 'web.assets_frontend' */
// Achieve a top-menu design visually similar to the backend's 'burger' one. // = Mobile Main Navbar // ============================================================================ @include media-breakpoint-down(sm){#oe_main_menu_navbar.o_main_navbar{// = Scoped Variables // // Variables scopend within the current context that mirror backend's // boostrap values. // -------------------------------------------------------------------- $-bg: darken($o-brand-odoo, 10%); $-color: color-yiq($-bg); $-font-size-base: 16px; $-font-size-lg: 18px; $-entry-hover-bg: rgba(invert($-color), .08); // = Invalidate top-menu native 'grid' layout // -------------------------------------------------------------------- &, .o_menu_sections li, .dropdown-menu.show{display: block;}.o_menu_sections li, .dropdown-menu.show{position: relative; width: 100%; height: auto;}// = Design // -------------------------------------------------------------------- .o_mobile_menu_toggle, .dropdown-toggle, .dropdown-item, .o_menu_sections > .css_published{height: $o-navbar-height; @include o-hover-text-color(rgba($-color, .9), $-color);}.o_menu_sections{@include o-position-absolute($o-navbar-height, 0, 0, 0); display: none; overflow: auto; background-color: $-bg; > li > a{font-size: $-font-size-lg;}li.css_published:hover{background-color: $-entry-hover-bg;}}.dropdown-divider{border-top-color: rgba($-color, .06); margin-left: $dropdown-item-padding-x; margin-right: $dropdown-item-padding-x;}.dropdown.show{&, .dropdown-toggle, .dropdown-item, .dropdown-menu{background-color: darken($-bg, 5%);}> .dropdown-toggle{@include o-hover-text-color($-color, $-color); outline: 0; box-shadow: inset 0 1px 0 rgba(invert($-color), .1);}.dropdown-menu{border: 0; padding-top: 0; box-shadow: inset 0 -1px 0 rgba($-color, .1);}.dropdown-item{display: flex; align-items: center; font-size: $-font-size-base;}}// = Toggle Menu (open) // -------------------------------------------------------------------- body.o_mobile_menu_opened > &{height: 100%; .o_menu_sections{display: block;}.o_mobile_menu_toggle:before{content: "\f00d"}}}}@include media-breakpoint-down(sm){.o_switch_company_menu > .dropdown-menu{padding-top: 0px; .bg-info{padding: 10px;}}}

/* /web_editor/static/src/scss/web_editor.common.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups basic style rules for web_editor enable page edition and backend utils. /// :root{@each $color, $value in $grays{@include print-variable($color, $value);}// Most of the keys of the color combination color should be null. We have // to indicate their fallback values. @for $index from 1 through length($o-color-combinations){$-bg-color: o-color(color('o-cc#{$index}-bg')); $-text: color('o-cc#{$index}-text') or color-yiq(o-color('o-cc#{$index}-bg')); $-headings: color('o-cc#{$index}-headings') or $-text; $-h2: color('o-cc#{$index}-h2') or $-headings; $-h3: color('o-cc#{$index}-h3') or $-h2; $-h4: color('o-cc#{$index}-h4') or $-h3; $-h5: color('o-cc#{$index}-h5') or $-h4; $-h6: color('o-cc#{$index}-h6') or $-h5; @if not color('o-cc#{$index}-text'){@include print-variable('o-cc#{$index}-text', $-text);}@if not color('o-cc#{$index}-headings'){@include print-variable('o-cc#{$index}-headings', $-headings);}@if not color('o-cc#{$index}-h2'){@include print-variable('o-cc#{$index}-h2', $-h2);}@if not color('o-cc#{$index}-h3'){@include print-variable('o-cc#{$index}-h3', $-h3);}@if not color('o-cc#{$index}-h4'){@include print-variable('o-cc#{$index}-h4', $-h4);}@if not color('o-cc#{$index}-h5'){@include print-variable('o-cc#{$index}-h5', $-h5);}@if not color('o-cc#{$index}-h6'){@include print-variable('o-cc#{$index}-h6', $-h6);}$-link: color('o-cc#{$index}-link'); $-link-color: if($-link, o-color($-link), theme-color('primary')); @include print-variable('o-cc#{$index}-link', auto-contrast($-link-color, $-bg-color, 'o-cc#{$index}-link')); $-btn-primary: color('o-cc#{$index}-btn-primary'); @if not $-btn-primary{@include print-variable('o-cc#{$index}-btn-primary', theme-color('primary'));}@if not color('o-cc#{$index}-btn-primary-border'){@include print-variable('o-cc#{$index}-btn-primary-border', $-btn-primary or theme-color('primary'));}$-btn-secondary: color('o-cc#{$index}-btn-secondary'); @if not $-btn-secondary{@include print-variable('o-cc#{$index}-btn-secondary', theme-color('secondary'));}@if not color('o-cc#{$index}-btn-secondary-border'){@include print-variable('o-cc#{$index}-btn-secondary-border', $-btn-secondary or theme-color('secondary'));}}}html, body{position: relative; width: 100%; height: 100%;}*[contenteditable=true]{outline: none;}.css_non_editable_mode_hidden{display: none !important;}.editor_enable .css_editable_mode_hidden{display: none !important;}.note-toolbar{margin-left: 0 !important;}.note-popover .popover > .arrow{display: none;}.note-popover .popover, .note-editor{.dropdown-menu .dropdown-item{> i{visibility: hidden;}&.checked > i{visibility: visible;}}}#wrapwrap, .o_editable{// Only style editor-made tables (shop/portal/... tables are not supposed to // use table-bordered...) table.table.table-bordered{table-layout: fixed; td{min-width: 20px;}}@include media-breakpoint-down(sm){.table-responsive > table.table{table-layout: auto;}}}// List ul.o_checklist{list-style: none; >li{list-style: none; position: relative; margin-left: $o-checklist-margin-left; &:not(.oe-nested)::before{content: ''; position: absolute; left: - $o-checklist-margin-left; display: block; height: $o-checklist-before-size; width: $o-checklist-before-size; margin-top: 4px; border: 1px solid; text-align: center; cursor: pointer;}&.o_checked{text-decoration: line-through; &::after{content: "✓"; position: absolute; left: - ($o-checklist-margin-left - $o-checklist-checkmark-width); top: +1px;}}}}ol > li.o_indent, ul > li.o_indent{margin-left: 0; list-style: none; &::before{content: none;}}// Medias img.o_we_custom_image{// Images added with the editor are .img-fluid by default but should // still behave like inline content. display: inline-block;}img.shadow{box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);}img.padding-small, .img.padding-small, span.fa.padding-small, iframe.padding-small{padding: 4px;}img.padding-medium, .img.padding-medium, span.fa.padding-medium, iframe.padding-medium{padding: 8px;}img.padding-large, .img.padding-large, span.fa.padding-large, iframe.padding-large{padding: 16px;}img.padding-xl, .img.padding-xl, span.fa.padding-xl, iframe.padding-xl{padding: 32px;}img.ml-auto, img.mx-auto{display: block;}.fa-6x{font-size: 6em;}.fa-7x{font-size: 7em;}.fa-8x{font-size: 8em;}.fa-9x{font-size: 9em;}.fa-10x{font-size: 10em;}.fa.mx-auto{display: block; text-align: center;}div.media_iframe_video{margin: 0 auto; text-align: center; position: relative; overflow: hidden; min-width: 100px; iframe{width: 100%; height: 100%; @include o-position-absolute($top: 0); margin: 0 auto; margin-left: -50%;}&.padding-small iframe{padding: 4px;}&.padding-medium iframe{padding: 8px;}&.padding-large iframe{padding: 16px;}&.padding-xl iframe{padding: 32px;}.media_iframe_video_size{padding-bottom: 66.5%; position: relative; width: 100%; height: 0;}.css_editable_mode_display{@include o-position-absolute(0,0,0,0); width: 100%; height: 100%; display: none; z-index: 2;}}html[data-browser^="msie"] div.media_iframe_video iframe{margin-left: 0;}// Fields address{.fa.fa-mobile-phone{margin: 0 3px 0 2px;}.fa.fa-file-text-o{margin-right: 1px;}}span[data-oe-type="monetary"]{white-space: nowrap;}// Menus // TODO should not be here but used by web_studio so must stay here for now ul.oe_menu_editor{.oe_menu_placeholder{outline: 1px dashed #4183C4;}ul{list-style: none;}li div{cursor: move;}}// Generate all spacings for all sizes @mixin o-spacing-all($factor: 1){// Generate vertical margin/padding classes used by the editor @for $i from 0 through (256 / 8){@include o-vspacing($i * 8, $factor);}@include o-vspacing(4, $factor); // 92px vertical margin is kept for compatibility @include o-vmargins(92, $factor); // Some horizontal margin classes defined for convenience // (and compatibility) @include o-hmargins(0, $factor); @include o-hmargins(4, $factor); @include o-hmargins(8, $factor); @include o-hmargins(16, $factor); @include o-hmargins(32, $factor); @include o-hmargins(64, $factor);}// Generate all spacings for one size, scalled by a given factor // (0 <= factor <= 1) @mixin o-vspacing($name, $factor: 1){@include o-vmargins($name, $factor); @include o-vpaddings($name, $factor);}@mixin o-vmargins($name, $factor: 1){@include o-vmargins-define($name, $factor * $name);}@mixin o-vpaddings($name, $factor: 1){@include o-vpaddings-define($name, $factor * $name);}@mixin o-hspacing($name, $factor: 1){@include o-hmargins($name, $factor); @include o-hpaddings($name, $factor);}@mixin o-hmargins($name, $factor: 1){@include o-hmargins-define($name, $factor * $name);}@mixin o-hpaddings($name, $factor: 1){@include o-hpaddings-define($name, $factor * $name);}// Generate all spacings for one size, given the name of the spacing and // intended size @mixin o-vmargins-define($name, $size: $name){.mt#{$name}{margin-top: $size * 1px !important;}.mb#{$name}{margin-bottom: $size * 1px !important;}}@mixin o-vpaddings-define($name, $size: $name){.pt#{$name}{padding-top: $size * 1px !important;}.pb#{$name}{padding-bottom: $size * 1px !important;}}@mixin o-hmargins-define($name, $size: $name){.ml#{$name}{margin-left: $size * 1px !important;}.mr#{$name}{margin-right: $size * 1px !important;}}@mixin o-hpaddings-define($name, $size: $name){.pl#{$name}{padding-left: $size * 1px !important;}.pr#{$name}{padding-right: $size * 1px !important;}}// Generate all margins @include o-spacing-all; // Underline a.o_underline{text-decoration: underline; &:hover{text-decoration: underline;}}// ACE EDITOR .o_ace_view_editor{background: $o-we-ace-color; color: white; display: flex; flex-flow: column nowrap; opacity: 0.97; .o_ace_view_editor_title{flex: 0 0 auto; display: flex; align-items: center; padding: $grid-gutter-width/4; >.o_ace_type_switcher>button::after{@include o-caret-down; margin-left: 4px;}>*{flex: 0 0 auto; margin: 0 $grid-gutter-width/4; &.o_include_option{display: flex; align-items: center; font-size: 11px; >.custom-control{margin-right: $grid-gutter-width/4;}}&.o_res_list{flex: 1 1 auto; min-width: 60px;}}}#ace-view-id{flex: 0 0 auto; padding: $grid-gutter-width/4 $grid-gutter-width/2; background-color: lighten($o-we-ace-color, 10%); .o_ace_editor_resource_info{color: #ebecee;}}#ace-view-editor{@mixin ace-line-error-mixin{content: ""; z-index: 1000; display: block; background-color: theme-color('danger'); opacity: 0.5; pointer-events: none;}height: 70%; // in case flex is not supported flex: 1 1 auto; .ace_gutter{cursor: ew-resize; .ace_gutter-cell.o_error{position: relative; &::after{@include o-position-absolute(-100%, 0, -100%, 0); @include ace-line-error-mixin;}}}.ace_resize_bar{@include o-position-absolute($right: 0); width: 25px; height: 100%; cursor: ew-resize;}.ace_scroller.o_error::after{@include o-position-absolute(0, auto, 0, 0); width: 3px; @include ace-line-error-mixin;}}}.o_ace_select2_dropdown{width: auto !important; padding-top: 4px; font-family: monospace !important; >.select2-results{max-height: none; max-height: 70vh; .select2-result-label{padding-top: 1px; padding-bottom: 2px; >.o_ace_select2_result{padding: 0; font-size: 12px; white-space: nowrap;}}}}.o_nocontent_help{@include o-nocontent-empty; .o_empty_folder_image:before{@extend %o-nocontent-empty-document;}}.o_we_search_prompt{position: relative; min-height: 250px; width: 100%; display: flex; align-items: center; justify-content: flex-start; & > h2{max-width: 500px; text-align: center; margin-left: 150px;}&::before{transform: scale(-1, 1); content: ""; @include o-position-absolute($top: 0, $left: 50px); width: 100px; height: 150px; opacity: .5; background-image: url('/web_editor/static/src/img/curved_arrow.svg'); background-size: 100%; background-repeat: no-repeat;}}@include media-breakpoint-down(sm){odoo-wysiwyg-container{.panel-heading.note-toolbar{overflow-x: auto;}.btn-group{position: static;}}// modal select media .o_technical_modal.o_web_editor_dialog{// see template 'web_editor.FieldTextHtml.fullscreen' z-index: 2001; > .o_select_media_dialog{max-width: inherit !important; z-index: 2001; .modal-dialog, .model-content{height: 100%;}.modal-body{.nav .nav-item.search{width: 100%; .btn-group{display: flex; justify-content: space-around; padding: 5px;}}// center pictogram .font-icons-icons{text-align: center;}// fix search image .form-control.o_we_search{height: inherit;}.form-inline{.btn-group{width: 100%; .btn.btn-primary:not(.dropdown-toggle){width: 90%;}}> .input-group.ml-2{margin-left: 0 !important; > .input-group-append{width: 100%; > .btn{width: 100%;}> .ml-2{margin-left: 0 !important;}}}}// attachment cells .o_we_existing_attachments > .row{flex-direction: column; > .o_existing_attachment_cell{flex: initial; max-width: 100%; > .o_existing_attachment_remove{opacity: inherit; top: 10px;}}}// select media dialog unsplash error #editor-media-image .unsplash_img_container .unsplash_error .mx-auto{width: 100%; .form-group{input.w-100{min-width: 100px;}}}}}}}// BS4 blockquote has no style anymore, except bloquote <footer> blockquote{padding: $spacer/2 $spacer; border-left: 5px solid; border-color: gray('300'); font-style: italic;}// Extend bootstrap to create background and text utilities for some colors // outside of the $theme-colors too (but not btn-, alert-, etc). @for $index from 1 through 5{$-color-name: 'o-color-#{$index}'; $-color: color($-color-name); @include bg-variant(".bg-#{$-color-name}", $-color); @include text-emphasis-variant(".text-#{$-color-name}", $-color);}// Bg/text color classes generation .o_cc{#{$o-color-extras-nesting-selector}{// Re-force dropdown-item colors inside presets otherwise the presets // 'link' colors take over. .dropdown-menu .dropdown-item{// Need to add +1 priority thanks to // .dropdown-menu to counter a:not(.btn) &, h6{// Quick fix: sometimes we use h6 in dropdowns color: $dropdown-link-color !important; @include hover-focus{color: $dropdown-link-hover-color !important;}}&.disabled, &:disabled{&, h6{// Quick fix: sometimes we use h6 in dropdowns color: $dropdown-link-disabled-color !important;}}}}}@for $index from 1 through length($o-color-combinations){$-bg: color('o-cc#{$index}-bg'); $-text: color('o-cc#{$index}-text'); $-headings: color('o-cc#{$index}-headings'); $-h2: color('o-cc#{$index}-h2'); $-h3: color('o-cc#{$index}-h3'); $-h4: color('o-cc#{$index}-h4'); $-h5: color('o-cc#{$index}-h5'); $-h6: color('o-cc#{$index}-h6'); $-link: color('o-cc#{$index}-link'); $-btn-primary: color('o-cc#{$index}-btn-primary'); $-btn-primary-border: color('o-cc#{$index}-btn-primary-border'); $-btn-secondary: color('o-cc#{$index}-btn-secondary'); $-btn-secondary-border: color('o-cc#{$index}-btn-secondary-border'); // Those color classes color multiple elements when applied on a snippet. // Those rules are not important so that they can be overridden through // bg and text utility classes. ** .o_cc#{$index}{// Background & Text $-bg-color: o-color($-bg); @include o-bg-color($-bg-color, o-color($-text), $important: false, $yiq-min-opacity-threshold: 0); #{$o-color-extras-nesting-selector}{// Headings h1, h2, h3, h4, h5, h6{// 'inherit' comes from the o-bg-color mixin color: o-color($-headings);}h2, h3, h4, h5, h6{color: o-color($-h2);}h3, h4, h5, h6{color: o-color($-h3);}h4, h5, h6{color: o-color($-h4);}h5, h6{color: o-color($-h5);}h6{color: o-color($-h6);}// Links $-link-color: if($-link, o-color($-link), theme-color('primary')); $-link-hover-color: darken($-link-color, 15%); a:not(.btn), .btn-link{color: auto-contrast($-link-color, $-bg-color, 'o-cc#{$index}-link'); @include hover{color: auto-contrast($-link-hover-color, $-bg-color, 'o-cc#{$index}-link');}}// Buttons // Primary $-btn-primary-color: if($-btn-primary, o-color($-btn-primary), theme-color('primary')); $-btn-primary-border-color: if($-btn-primary-border, o-color($-btn-primary-border), $-btn-primary-color); .btn-fill-primary{@include button-variant($-btn-primary-color, $-btn-primary-border-color);}.btn-outline-primary{@include button-outline-variant($-btn-primary-border-color);}// Secondary $-btn-secondary-color: if($-btn-secondary, o-color($-btn-secondary), theme-color('secondary')); $-btn-secondary-border-color: if($-btn-secondary-border, o-color($-btn-secondary-border), $-btn-secondary-color); .btn-fill-secondary{@include button-variant($-btn-secondary-color, $-btn-secondary-border-color);}.btn-outline-secondary{@include button-outline-variant($-btn-secondary-border-color);}// 'Active' states. Note: this only emulates very common components // used in snippets. This might need to be more complex the day we // can apply color combinations anywhere (page-item, ...). .nav-pills{.nav-link.active, .show > .nav-link{background-color: $-btn-primary-color; color: color-yiq($-btn-primary-color);}}.dropdown-menu .dropdown-item{// Need to add +1 priority thanks to // .dropdown-menu (see .o_cc). &.active, &:active{&, h6{// Quick fix: sometimes we use h6 in dropdowns @include gradient-bg($-btn-primary-color); color: color-yiq($-btn-primary-color) !important; @include hover-focus{color: color-yiq($-btn-primary-color) !important;}}}}a.list-group-item{color: $-btn-primary-color; &.active{background-color: $-btn-primary-color; color: color-yiq($-btn-primary-color); border-color: $-btn-primary-color;}}}}}// Buttons with custom colors .btn-custom:hover, .btn-fill-custom:hover{filter: invert(0.2);}.btn-outline-custom{&:not(:hover){background-color: transparent !important; background-image: none !important;}&:hover{background-color: ''; background-image: '';}}// Base snippet rules %o-we-background-layer-parent{&, & > *{// Allow background layers to be placed accordingly and snippet content // to be displayed on top. Note: we cannot just position the layers // with z-index: -1, otherwise it would go under the snippet own // background. Adding a z-index: 0 on the snippet to create its own // stacking context won't solve that either as, in that case, any BS // component inside would be using that stacking context (e.g. a // dropdown inside snippet 1 of the page would go under snippet 2 // when opened since the dropdown z-index would be confined into // snippet 1's stacking context. position: relative;}}%o-we-background-layer{@include o-position-absolute(0, 0, 0, 0); position: absolute !important; display: block; overflow: hidden; background-repeat: no-repeat; pointer-events: none;}section, .oe_img_bg, [data-oe-shape-data]{@extend %o-we-background-layer-parent;}.o_we_bg_filter{@extend %o-we-background-layer;}.o_full_screen_height{display: flex; flex-direction: column; justify-content: space-around; min-height: 100vh !important;}.o_half_screen_height{@extend .o_full_screen_height; min-height: 55vh !important;}// TODO remove cover_full and cover_mid classes (kept for compatibility for now) .cover_full{@extend .o_full_screen_height;}.cover_mid{@extend .o_half_screen_height;}// Smaller container .o_container_small{@extend .container; @include media-breakpoint-up(lg){max-width: map-get($container-max-widths, md);}}// Gradient // TODO should be in the editor lib since it is handled there... but could not // find the right place for it. .text-gradient{-webkit-background-clip: text; -webkit-text-fill-color: transparent; // FIXME (or wait for a fix in Chrome): the code below is needed to make // animated text work with gradient background on Chrome. But the side // effect is that text node wrapping by a span (e.g. bold, italic) no longer // have the "gradient crossing all the text" on it but its own gradient. *{background-image: inherit; -webkit-background-clip: inherit; -webkit-text-fill-color: inherit;}}.odoo-editor, .o_readonly{t, [t-if], [t-elif], [t-else], [t-foreach]{background-color: rgba(0, 0, 102, 0.1) !important;}t, [t-esc], [t-out], [t-raw]{border-radius: 2px;}[t-esc], [t-out], [t-raw]{background-color: rgba(36, 154, 255, 0.16) !important;}[t-esc]:empty::before{content: attr(t-esc);}[t-raw]:empty::before{content: attr(t-raw);}[t-out]:empty::before{content: attr(t-out);}t[t-set]{display: none;}t[data-oe-t-inline]{display: inline;}t:not([data-oe-t-inline]){display: block;}t[data-oe-t-inline]:not([data-oe-t-group-active]){display: unset;}[data-oe-t-group]:not([data-oe-t-group-active]){display: none !important;}[data-oe-t-group][data-oe-t-selectable]{outline: 1px dashed rgba(0, 0, 102, 0.4) !important;}}.oe-qweb-select{position: absolute; z-index: 1051; background-color: white;}

/* /web_editor/static/src/scss/web_editor.frontend.scss defined in bundle 'web.assets_frontend' */
@include media-breakpoint-down(sm){img, .media_iframe_video, span.fa, i.fa{transform: none !important;}}.o_wysiwyg_loader{@extend :disabled; pointer-events: none; min-height: 100px; color: transparent;}.o_wysiwyg_loading{@include o-position-absolute($top: 50%, $left: 50%); transform: translate(-50%, -50%)}.ui-autocomplete{max-height: 50vh; overflow-y: auto; overflow-x: hidden; .ui-menu-item{padding: 0; > .ui-state-active{border: none; font-weight: normal; margin: 0;}}}// Background shapes @function compute-shape-url-params($colors, $color-to-cc-bg-map){$url-params: ''; @each $i in $colors{$mapped-color: map-get($color-to-cc-bg-map, $i); // %23 is the url-encoded form of '#' $color: str-replace("#{o-color($mapped-color)}", '#', '%23'); $url-params: '#{$url-params}&c#{$i}=#{$color}';}@return $url-params;}.o_we_shape{@extend %o-we-background-layer; // Default map to use to map shape file colors to color combination // background colors. $default-color-to-cc-bg-map: ( 1: 4, 2: 3, 3: 2, 4: 1, 5: 5, ); @each $module, $shapes in $o-bg-shapes{@each $shape, $style in $shapes{$colors: map-get($style, 'colors'); $color-to-cc-bg-map: map-merge($default-color-to-cc-bg-map, map-get($style, 'color-to-cc-bg-map') or ()); $url-params: compute-shape-url-params($colors, $color-to-cc-bg-map); $extra-mappings: map-get($style, 'extra-mappings') or (); // eg: o_website_shape_bg_1 &.o_#{$module}_#{str-replace($shape, '/', '_')}{// When the shape is not customized, this URL, built in SCSS, // allows for the shape to respond to palette changes. // Mainly useful for default pages built by the configurator. background-image: url("/web_editor/shape/#{$module}/#{$shape}.svg?#{str-slice($url-params, 2)}"); background-position: map-get($style, 'position'); background-size: map-get($style, 'size'); background-repeat: if(map-get($style, 'repeat-x'), repeat, no-repeat) if(map-get($style, 'repeat-y'), repeat, no-repeat); @each $mapping-name, $mapping in $extra-mappings{$color-to-cc-bg-map: map-merge($default-color-to-cc-bg-map, $mapping or ()); $url-params: compute-shape-url-params($colors, $color-to-cc-bg-map); &.o_#{$mapping-name}_extra_shape_mapping{background-image: url("/web_editor/shape/#{$module}/#{$shape}.svg?#{str-slice($url-params, 2)}");}}}}}}@include media-breakpoint-down(sm){.o_we_shape{display: none;}}.o_we_flip_x{transform: scaleX(-1);}.o_we_flip_y{transform: scaleY(-1);}.o_we_flip_x.o_we_flip_y{transform: scale(-1);}

/* /portal/static/src/scss/bootstrap.extend.scss defined in bundle 'web.assets_frontend' */
@each $breakpoint in map-keys($grid-breakpoints){@include media-breakpoint-up($breakpoint){$infix: breakpoint-infix($breakpoint, $grid-breakpoints); @if $infix != ''{// Standard ones are already created by bootstrap @each $prop, $abbrev in (width: w, height: h){@each $size, $length in $sizes{.#{$abbrev}#{$infix}-#{$size}{#{$prop}: $length !important;}}}}}}

/* /portal/static/src/scss/portal.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the frontend general design rules and portal design /// rules. /// // ====== Variables ========= $o-theme-navbar-logo-height: $nav-link-height !default; $o-theme-navbar-fixed-logo-height: $nav-link-height !default; // Portal toolbar (filters, search bar) $o-portal-mobile-toolbar: true; // Enable/Disable custom design $o-portal-mobile-toolbar-border: $border-color; $o-portal-mobile-toolbar-bg: $gray-200; // Portal Tables $o-portal-table-th-pt: map-get($spacers, 2) !default; // bts4 pt-2 $o-portal-table-th-pb: map-get($spacers, 2) !default; // bts4 pb-2 $o-portal-table-td-pt: map-get($spacers, 1) !default; // bts4 pt-1 $o-portal-table-td-pb: map-get($spacers, 1) !default; // bts4 pb-1 // Portal custom bg color $o-portal-bg-color: desaturate($gray-200, 100%); // Check if portal uses default colors $o-portal-use-default-colors: $body-bg == $o-portal-default-body-bg; // Frontend general body{// Set frontend direction that will be flipped with // rtlcss for right-to-left text direction. direction: ltr;}header{.navbar-brand{flex: 0 0 auto; max-width: 75%; &.logo{padding-top: 0; padding-bottom: 0; img{// object-fit does not work on IE but is only used as a fallback object-fit: contain; display: block; width: auto; height: $o-theme-navbar-logo-height; @include media-breakpoint-down(sm){max-height: min($o-theme-navbar-logo-height, 5rem);}}}}.nav-link{white-space: nowrap;}}.navbar{margin-bottom: 0; .nav.navbar-nav.float-right{@include media-breakpoint-down(sm){float: none!important;}}}@include media-breakpoint-up(md){.navbar-expand-md ul.nav > li.divider{display: list-item;}}ul.flex-column > li > a{padding: 2px 15px;}// Link without text but an icon a, .btn-link{&.fa:hover{text-decoration: $o-theme-btn-icon-hover-decoration;}}// Odoo options classes .jumbotron{margin-bottom: 0;}// Typography ul{list-style-type: disc;}ul ul{list-style-type: circle;}ul ul ul{list-style-type: square;}ul ul ul ul{list-style-type: disc;}ul ul ul ul ul{list-style-type: circle;}ul ul ul ul ul ul{list-style-type: square;}ul ul ul ul ul ul ul{list-style-type: disc;}ol{list-style-type: decimal;}ol ol{list-style-type: lower-alpha;}ol ol ol{list-style-type: lower-greek;}ol ol ol ol{list-style-type: decimal;}ol ol ol ol ol{list-style-type: lower-alpha;}ol ol ol ol ol ol{list-style-type: lower-greek;}ol ol ol ol ol ol ol{list-style-type: decimal;}li > p{margin: 0;}// Bootstrap hacks %o-double-container-no-padding{padding-right: 0; padding-left: 0;}.container{.container, .container-fluid{@extend %o-double-container-no-padding;}}.container-fluid .container-fluid{@extend %o-double-container-no-padding;}#wrap{.container, .container-fluid{// BS3 used to do this on all containers so that margins and floats are // cleared inside containers. As lots of current odoo layouts may rely // on this for some alignments, this is restored (at least for a while) // here only for main containers of the frontend. &::before, &::after{content: ""; display: table; clear: both;}}}[class^="col-lg-"]{min-height: 24px;}.input-group{flex-flow: row nowrap;}.list-group-item:not([class*="list-group-item-"]):not(.active){color: color-yiq($list-group-bg);}%o-portal-breadcrumbs{background-color: inherit;}// Replaces old BS3 page-header class %o-page-header{margin-bottom: $headings-margin-bottom * 2; padding-bottom: $headings-margin-bottom; border-bottom-width: $border-width; border-bottom-style: solid; border-bottom-color: $border-color; line-height: 2.1rem;}.o_page_header{@extend %o-page-header;}// Images spacing img, .media_iframe_video, .o_image{&.float-right{margin-left: $grid-gutter-width / 2;}&.float-left{margin-right: $grid-gutter-width / 2;}}// Others ::-moz-selection{background: rgba(150, 150, 220, 0.3);}::selection{background: rgba(150, 150, 220, 0.3);}.oe_search_box{padding-right: 23px;}// Kept for (up to) saas-12 compatibility .para_large{font-size: 120%;}.jumbotron .para_large p{font-size: 150%;}.readable{font-size: 120%; max-width: 700px; margin-left: auto; margin-right: auto; .container{padding-left: 0; padding-right: 0; width: auto;}}// Background (kept for 8.0 compatibility) (! some are still used by website_blog) .oe_dark{background-color: rgba(200, 200, 200, 0.14);}.oe_black{background-color: rgba(0, 0, 0, 0.9); color: white;}.oe_green{background-color: #169C78; color: white; .text-muted{color: #ddd !important;}}.oe_blue_light{background-color: #41b6ab; color: white; .text-muted{color: #ddd !important;}}.oe_blue{background-color: #34495e; color: white;}.oe_orange{background-color: #f05442; color: white; .text-muted{color: #ddd !important;}}.oe_purple{background-color: #b163a3; color: white; .text-muted{color: #ddd !important;}}.oe_red{background-color: #9C1b31; color: white; .text-muted{color: #ddd !important;}}.oe_none{background-color: #FFFFFF;}.oe_yellow{background-color: #A2A51B;}.oe_green{background-color: #149F2C;}// Portal specific // === Page custom bg === // To be applied to all portal pages if bg-color is white (default). @if ($o-portal-use-default-colors){#wrapwrap.o_portal{@include o-bg-color($o-portal-bg-color, $with-extras: false);}}.o_portal{.breadcrumb{@extend %o-portal-breadcrumbs;}> tbody.o_portal_report_tbody{vertical-align: middle;}}.o_portal_wrap{.o_portal_my_home > .o_page_header > a:hover{text-decoration: none;}.o_portal_navbar{.breadcrumb{padding-left: 0; padding-right: 0; @extend %o-portal-breadcrumbs;}@if ($o-portal-use-default-colors){background-color: white!important;}}.o_portal_my_doc_table{th{padding-top: $o-portal-table-th-pt; padding-bottom: $o-portal-table-th-pb; max-width: 500px;}td{padding-top: $o-portal-table-td-pt; padding-bottom: $o-portal-table-td-pb; max-width: 10rem;}tr:last-child td{padding-bottom: $o-portal-table-td-pb * 1.5;}td, th{vertical-align: middle; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}}address{span[itemprop="name"]{margin-bottom: 0.3em;}div[itemprop="address"] > div{position: relative; span[itemprop="streetAddress"]{line-height: 1.2; margin-bottom: 0.3em;}.fa{@include o-position-absolute(0, $left: 0); line-height: $line-height-base; + span, + div{display: block; // FontAwesome '.fa-fw' fixed-with + margin padding-left: 1.28571429em + 0.5em;}}}}.o_my_sidebar div[itemprop="address"] > div{margin-top: 0.5em;}@if ($o-portal-mobile-toolbar){#o_portal_navbar_content{@include media-breakpoint-down(md){margin: $navbar-padding-y (-$navbar-padding-x) 0; padding: $navbar-padding-y $navbar-padding-x ; border-top: $border-width solid $o-portal-mobile-toolbar-border; background-color: $o-portal-mobile-toolbar-bg;}}}table.table tr{word-wrap: break-word;}}.oe_attachments .o_image_small{height: 40px; width: 50px; background-repeat: no-repeat;}form label{font-weight: $font-weight-bold; &.label-optional{font-weight: $font-weight-normal;}}.o_portal_contact_img{width: 2.3em; height: 2.3em; object-fit: cover;}.o_portal_sidebar{#sidebar_content.card{border-left: 0; border-bottom: 0; > div.card-body{border-left: $border-width solid $border-color;}> ul > li{border-left: $border-width solid $border-color; margin-bottom: -1px;}> div.card-footer{border-left: $border-width solid $border-color; border-bottom: $border-width solid $border-color;}}.o_portal_html_view{overflow: hidden; background: white; position: relative; .o_portal_html_loader{@include o-position-absolute(45%, 0, auto, 0);}iframe{position: relative;}}}// ------------------------------------------------------------ // Frontend Discuss widget // ------------------------------------------------------------ // Readonly display .o_portal_chatter{padding: 10px; .o_portal_chatter_avatar{width: 45px; height: 45px; margin-right: 1rem;}.o_portal_chatter_header{margin-bottom: 15px;}.o_portal_chatter_composer{margin-bottom: 15px;}.o_portal_chatter_messages{margin-bottom: 15px; .o_portal_chatter_message{div.media-body > p:not(.o_portal_chatter_puslished_date):last-of-type{margin-bottom: 5px;}}.o_portal_chatter_message_title{p{font-size:85%; color:$o-main-color-muted; margin: 0px;}}}.o_portal_chatter_pager{text-align: center;}}// Readonly / Composer mix display .o_portal_chatter, .o_portal_chatter_composer{.o_portal_chatter_attachment{.o_portal_chatter_attachment_name{word-wrap: break-word;}.o_portal_chatter_attachment_delete{@include o-position-absolute($top: 0, $right: 0); opacity: 0;}&:hover .o_portal_chatter_attachment_delete{opacity: 1;}}.o_portal_message_internal_off{.btn-danger{display: none;}}.o_portal_message_internal_on{.btn-success{display: none;}}}.o_portal_security_body{@extend .mx-auto; max-width: map-get($container-max-widths, sm); section{@extend .mt-4; form.oe_reset_password_form{max-width: initial; margin: initial;}.form-group{// for the absolutely positioned meter on new password position: relative;}label, button{@extend .text-nowrap;}}}// Copyright .o_footer_copyright{.o_footer_copyright_name{vertical-align: middle;}.js_language_selector{display: inline-block;}@include media-breakpoint-up(md){.row{display: flex; > div{margin: auto 0;}}}}

/* /google_recaptcha/static/src/scss/recaptcha.scss defined in bundle 'web.assets_frontend' */
// Hide google recaptcha V3 don't forget to add legal // https://developers.google.com/recaptcha/docs/faq#id-like-to-hide-the-recaptcha-badge.-what-is-allowed .grecaptcha-badge{visibility: hidden;}

/* /website/static/src/scss/website.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups the website design rules. /// $-seen-urls: (); @each $alias, $key in $o-font-aliases-to-keys{$-url: o-get-font-info($alias, 'url'); @if $-url and index($-seen-urls, $-url) == null{$-seen-urls: append($-seen-urls, $-url); {unquote($-url)}&display=swap");}}:root{// The theme customize modal JS will need to know the value of some scss // variables used to render the user website, and those may have been // customized by themes, the user or anything else (so there is no file to // parse to get them). Those will be printed here as CSS variables. @include print-variable('support-13-0-color-system', $o-support-13-0-color-system); @include print-variable('has-customized-13-0-color-system', $o-has-customized-13-0-color-system); // 1) Handle default values @include print-variable('header-font-size', $font-size-base); // 2) The values in the $theme-colors map are already printed by Bootstrap. // 3) The values in the $colors map are also printed by Bootstrap. However, // we have color variables which can contain a reference to a color // combination and that is the info we want in that case. @each $key in ('menu', 'header-boxed', 'footer', 'copyright'){$-value: map-get($o-color-palette, $key); @if type-of($-value) == 'number'{@include print-variable($key, $-value);}}// 4) The Odoo values map, $o-website-values, must be printed. @each $key, $value in $o-website-values{@include print-variable($key, $value);}// 5) Use final value used by the theme @include print-variable('body', $body-bg); @include print-variable('logo-height', $o-theme-navbar-logo-height); @include print-variable('fixed-logo-height', $o-theme-navbar-fixed-logo-height); $-font-names: map-keys($o-theme-font-configs); @include print-variable('number-of-fonts', length($-font-names)); $i: 1; @each $font-name in $-font-names{@include print-variable('font-number-#{$i}', $font-name); $i: $i + 1;}@include print-variable('btn-padding-y', $btn-padding-y); @include print-variable('btn-padding-x', $btn-padding-x); @include print-variable('btn-font-size', $btn-font-size); @include print-variable('btn-padding-y-sm', $btn-padding-y-sm); @include print-variable('btn-padding-x-sm', $btn-padding-x-sm); @include print-variable('btn-font-size-sm', $btn-font-size-sm); @include print-variable('btn-padding-y-lg', $btn-padding-y-lg); @include print-variable('btn-padding-x-lg', $btn-padding-x-lg); @include print-variable('btn-font-size-lg', $btn-font-size-lg); @include print-variable('btn-border-width', $btn-border-width); @include print-variable('btn-border-radius', $btn-border-radius); @include print-variable('btn-border-radius-sm', $btn-border-radius-sm); @include print-variable('btn-border-radius-lg', $btn-border-radius-lg); @include print-variable('input-padding-y', $input-padding-y); @include print-variable('input-padding-x', $input-padding-x); @include print-variable('input-font-size', $input-font-size); @include print-variable('input-padding-y-sm', $input-padding-y-sm); @include print-variable('input-padding-x-sm', $input-padding-x-sm); @include print-variable('input-font-size-sm', $input-font-size-sm); @include print-variable('input-padding-y-lg', $input-padding-y-lg); @include print-variable('input-padding-x-lg', $input-padding-x-lg); @include print-variable('input-font-size-lg', $input-font-size-lg); @include print-variable('input-border-width', $input-border-width); @include print-variable('input-border-radius', $input-border-radius); @include print-variable('input-border-radius-sm', $input-border-radius-sm); @include print-variable('input-border-radius-lg', $input-border-radius-lg); @include print-variable('color-palettes-name', $o-original-color-palette-name); @include print-variable('has-customized-colors', $o-has-customized-colors); // 6) Get list of colorpalette custom colors $custom-colors: (); @each $key, $value in $o-color-palette{$custom-colors: append($custom-colors, $key);}@include print-variable('custom-colors', $custom-colors);}#wrapwrap{@if o-website-value('body-image'){background-image: url("/#{str-slice(o-website-value('body-image'), 2)}"); background-position: center; background-attachment: fixed; @if o-website-value('body-image-type') == 'pattern'{background-size: auto; background-repeat: repeat;}@else{background-size: cover; background-repeat: no-repeat;}}@if o-website-value('layout') != 'full'{> main{background-color: o-color('o-cc1-bg');}@include media-breakpoint-up(sm){padding-right: $grid-gutter-width * 2; padding-left: $grid-gutter-width * 2; > *{// When the website is visually acting like a container (eg. // boxed layout), increase its maximum size to handle bigger // horizontal paddings. $-max-widths: (); @each $key, $value in $container-max-widths{$-max-widths: map-merge($-max-widths, ( #{$key}: $value + $grid-gutter-width * 2, ));}@include make-container(0); @include make-container-max-widths($-max-widths);}> header .container{max-width: 100% !important;}// Vertical alignment when top-menu has visually "no background" $-menu-color: o-color('menu-custom') or o-color('menu'); @if (not $-menu-color or $-menu-color == o-color('body')){> header{.navbar, .container{padding-left: 0; padding-right: 0;}}}}@if o-website-value('layout') == 'framed'{@include media-breakpoint-up(md){padding-top: $grid-gutter-width; padding-bottom: $grid-gutter-width * 1.5;}}@else if o-website-value('layout') == 'postcard'{@include media-breakpoint-up(md){$-border-radius: $border-radius-lg; // Don't know why (browser rounding mistake?) but the inner // border radius must be 1px lower for this to be visually ok // (despite the fact there is no border or any space) $-inner-border-radius: $-border-radius - 0.0625rem; > *{margin-bottom: $spacer * 2;}> header{&, &.o_header_affix{.navbar{@include border-bottom-radius($-border-radius);}}}> main, > footer{@include border-radius($-border-radius); .oe_structure > :first-child{@include border-top-radius($-inner-border-radius);}}> main .oe_structure > :last-child, .o_footer_copyright{@include border-bottom-radius($-inner-border-radius);}}}}}body:not(.o_fullscreen){#oe_main_menu_navbar:not(.o_hidden) + #wrapwrap{.o_header_affixed, .modal{// For these elements, in #wrapwrap, position top should be size of // the navbar. top: $o-navbar-height;}.modal{// As the default bootstrap style no longer uses 'bottom: 0' and // added 'height: 100%' since the V4.2 because of a bug on Android. // We have to adapt the height of the modal by removing the height // of the navbar. height: calc(100vh - #{$o-navbar-height});}}}.navbar{.navbar-collapse{min-width: 0; // Allows it to shrink during loading}.btn{// This was a default bootstrap style before but it was removed from // the library at some point. It seems important in the header so that // the header does not flicker during loading. white-space: nowrap;}.o_menu_image_placeholder{width: 80px !important;}#top_menu{flex-wrap: nowrap !important; &.o_menu_loading{overflow: hidden !important; opacity: 0 !important;}}}.navbar-brand, .navbar-text, .navbar .nav-link, .navbar a.js_change_lang span, .navbar a.o_add_language{@if $o-theme-navbar-font != $o-theme-font{font-family: $o-theme-navbar-font;}}.navbar-light{// Style only navbar-light which Odoo is only supposed to use in standard // anyway. Automatically mimic navbar-dark if the user's menu color is dark. // Note: this only works because navbar-light is defined before navbar-dark, // we may want to use a safest way when possible. @include o-apply-colors('menu'); @include o-apply-colors('menu-custom'); $-menu-color: o-color('menu-custom') or o-color('menu'); @if ($-menu-color and color-yiq($-menu-color) != $yiq-text-dark){@extend .navbar-dark;}@include o-add-gradient('menu-gradient');}$-header-nav-link-height: $nav-link-height; @if o-website-value('header-font-size'){$-header-nav-link-height: o-website-value('header-font-size') * $line-height-base + $nav-link-padding-y * 2; header{font-size: o-website-value('header-font-size'); .dropdown-menu, .btn{font-size: inherit;}}}@if $o-theme-navbar-logo-height{// With default values, this makes it slightly bigger than standard // navbar-brand, which is what we want header .navbar-brand{font-size: $o-theme-navbar-logo-height / $line-height-base; $-logo-padding-y: max(0, $-header-nav-link-height - $o-theme-navbar-logo-height) / 2; &, &.logo{padding-top: $-logo-padding-y; padding-bottom: $-logo-padding-y;}}}.o_footer{@include o-apply-colors('footer'); @include o-apply-colors('footer-custom'); @include o-add-gradient('footer-gradient'); .o_footer_copyright{$-footer-color: o-color('footer-custom') or o-color('footer'); @include o-apply-colors('copyright', $background: $-footer-color); @include o-apply-colors('copyright-custom', $background: $-footer-color); @include o-add-gradient('copyright-gradient');}}h2, h3, h4, h5, h6{color: color('o-cc1-h2');}h3, h4, h5, h6{color: color('o-cc1-h3');}h4, h5, h6{color: color('o-cc1-h4');}h5, h6{color: color('o-cc1-h5');}h6{color: color('o-cc1-h6');}.btn{@if ($o-theme-buttons-font != $o-theme-font){font-family: $o-theme-buttons-font;}}// Texts font[style*='background']:not(.text-gradient), font[class*='bg-']{padding: 2px 6px 4px;}// Icons .fa{font-family: "FontAwesome" !important; $size: 3rem; &.rounded-circle, &.rounded, &.rounded-0, &.rounded-leaf, &.img-thumbnail, &.shadow{display: inline-block; vertical-align: middle; text-align: center; // fa-1x is not ouput @include size($size); line-height: $size; @for $i from 2 through 5{&.fa-#{$i}x{@include size($size + $i); line-height: $size + $i;}}// Default, if no background-color already selected background-color: $gray-100;}&.img-thumbnail{padding: 0;}&.rounded-leaf{border-top-left-radius: $size; border-bottom-right-radius: $size;}&.rounded-empty-circle{@extend .rounded-circle; border-width: ceil(1.4 * $border-width); border-style: solid; background: transparent;}}// Smaller container .o_container_small{@extend .container; @include media-breakpoint-up(lg){max-width: map-get($container-max-widths, md);}}// Buttons .btn{&.flat{border: 0; letter-spacing: 0.05em; text-transform: uppercase; @include button-size(0.75rem, 1.5rem, ($font-size-base * .75), $btn-line-height, 0); &.btn-lg{@include button-size(1rem, 2rem, ($font-size-lg * .75), $btn-line-height-lg, 0);}&.btn-sm{@include button-size(.5rem, 1rem, ($font-size-sm * .75), $btn-line-height-sm, 0);}&.btn-xs{@include button-size(.25rem, .5rem, ($font-size-base * .5), $btn-line-height-sm, 0);}}&.rounded-circle{border-radius: 100px !important; @include button-size(0.45rem, 1.35rem, $font-size-base, $btn-line-height, 30px); &.btn-lg{@include button-size(.6rem, 1.8rem, $font-size-lg, $btn-line-height-lg, 30px);}&.btn-sm{@include button-size(.3rem, .9rem, $font-size-sm, $btn-line-height-sm, 30px);}&.btn-xs{@include button-size(.15rem, .45rem, ($font-size-base * .75), $btn-line-height-sm, 30px);}}}// Background Images .oe_img_bg{background-size: cover; background-repeat: no-repeat; &.o_bg_img_opt_repeat{background-size: auto; background-repeat: repeat;}&.o_bg_img_center{background-position: center;}// Compatibility <= 13.0, TODO remove? // ----------------------------------- &.o_bg_img_opt_contain{background-size: contain; background-position: center center;}&.o_bg_img_opt_custom{background-size: auto;}&.o_bg_img_opt_repeat_x{background-repeat: repeat-x;}&.o_bg_img_opt_repeat_y{background-repeat: repeat-y;}}// Background videos .o_bg_video_container{@extend %o-we-background-layer;}.o_bg_video_iframe{position: relative; pointer-events: none !important;}.o_bg_video_loading{@include o-position-absolute(0, 0 ,0 ,0);}.o_background_video, .parallax{@extend %o-we-background-layer-parent;}// Probably outdated // Disable fixed height @media (max-width: 400px){section, .parallax, .row, .hr, .blockquote{height: auto !important;}}// Probably outdated // Table .table_desc{margin: 0 0 20px 0; width: 100%; word-break: break-all; border: 1px solid #dddddd;}.table_heading{background-color: #f5f5f5; border: 1px solid #dddddd; color: #666666; font-size: 14px; padding: 4px;}table.table_desc tr td{text-align: left; padding: 5px; font-size: 13px; &:first-child{width: 25%; font-weight: bold; border-bottom: 1px solid #c9c9c9; border-right: 1px solid #c9c9c9; border-left: none;}&:last-child{border-bottom: 1px solid #c9c9c9;}}// Jumbotron .jumbotron{border-radius: 0;}.o_full_screen_height{display: flex; flex-direction: column; justify-content: space-around; min-height: 100vh !important;}.o_half_screen_height{@extend .o_full_screen_height; min-height: 55vh !important;}// TODO remove cover_full and cover_mid classes (kept for compatibility for now) .cover_full{@extend .o_full_screen_height;}.cover_mid{@extend .o_half_screen_height;}// Allows custom border radius without contents overflowing. .card{overflow: hidden;}// // Snippets // // Carousel -> TODO: should be versioned in 000.scss file but how ? .s_carousel, .s_quotes_carousel{// Controls .carousel-control-prev, .carousel-control-next{position: absolute; cursor: pointer; width: 8%; opacity: 1;}@include media-breakpoint-down(sm){.carousel-control-prev, .carousel-control-next{display: none; // remove arrows on mobile}}.carousel-control-prev{justify-content: flex-start;}.carousel-control-next{justify-content: flex-end;}.carousel-control-prev-icon, .carousel-control-next-icon{@include size(auto); background-image: none; color: $body-color; &:before{font-family: "FontAwesome"; display: inline-block; background-color: #fff;}}// Content .carousel-inner{overflow: hidden; height: 100%; .carousel-item{height: 100%;}}// Indicators .carousel-indicators{position: absolute; li:hover:not(.active){background-color: rgba(255,255,255,.8);}}// Default &.s_carousel_default{// Controls - chevron .carousel-control-prev-icon:before{content: "\f053" #{""}; margin-left: 1.5rem;}.carousel-control-next-icon:before{content: "\f054" #{""}; margin-right: 1.5rem;}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{background-color: rgba(0,0,0,0); font-size: 2rem; color: #fff; text-shadow: $box-shadow-sm;}// Indicators .carousel-indicators li{height: .6rem; margin-bottom: .5rem; border: 0; border-radius: $border-radius-sm; box-shadow: $box-shadow-sm;}}// Border &.s_carousel_bordered{border: 2rem solid rgba(0,0,0,0); @include media-breakpoint-down(sm){border: 0.5rem solid rgba(0,0,0,0);}// Controls - caret .carousel-control-prev-icon:before{content: "\f0d9";}.carousel-control-next-icon:before{content: "\f0da";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(2rem, 6rem); line-height: 6rem; font-size: 1.5rem;}// Indicators .carousel-indicators li{@include size(3rem, 1rem);}}// Circle &.s_carousel_rounded{// Container // .carousel-inner{// border-top-left-radius: 10rem; // border-bottom-right-radius: 10rem; //}// Controls - arrow .carousel-control-prev{margin-left: 1.5rem;}.carousel-control-next{margin-right: 1.5rem;}.carousel-control-prev-icon:before{content: "\f060";}.carousel-control-next-icon:before{content: "\f061";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(4rem); line-height: 4rem; border-radius: 50%; font-size: 1.25rem;}// Indicators .carousel-indicators li{@include size(1rem); border-radius: 50%;}}// Boxed &.s_carousel_boxed{@include make-container(); @include make-container-max-widths(); .carousel-item{padding: 0 1rem;}// Controls - angle .carousel-control-prev, .carousel-control-next{align-items: flex-end; margin-bottom: 1.25rem;}.carousel-control-prev{margin-left: 3rem;}.carousel-control-next{margin-right: 3rem;}.carousel-control-prev-icon:before{content: "\f104";}.carousel-control-next-icon:before{content: "\f105";}.carousel-control-prev-icon:before, .carousel-control-next-icon:before{@include size(2rem); line-height: 2rem; font-size: 1.25rem;}// Indicators .carousel-indicators li{@include size(1rem); &:hover:not(.active){background-color: rgba(255,255,255,.8);}}}}.carousel .container{.carousel-img img{max-height: 95%; padding: 10px;}> .carousel-caption{@include o-position-absolute($right: 50%, $left: 50%); bottom: 20px; > div{position: absolute; text-align: left; padding: 20px; background: rgba(0, 0, 0, 0.4); bottom: 20px;}}> .carousel-image{@include o-position-absolute($top: 5%, $bottom: 5%); max-height: 90%; margin: 0 auto;}.carousel-item.text_image .container{> .carousel-caption{left: 10%; > div{right: 50%; margin-right: -20%; max-width: 550px;}}> .carousel-image{right: 10%; left: 50%;}}.carousel-item.image_text .container{> .carousel-caption{right: 10%; > div{left: 50%; margin-left: -20%; max-width: 550px;}}> .carousel-image{right: 50%; left: 10%;}}.carousel-item.text_only .container{> .carousel-caption{left: 10%; right: 10%; top: 10%; bottom: auto; > div{text-align: center; background: transparent; bottom: auto; width: 100%;}}> .carousel-image{display: none !important;}}}// Parallax .parallax{// TODO this introduces a limitation: no dropdown will be able to // overflow. Maybe there is a better way to find. &:not(.s_parallax_no_overflow_hidden){overflow: hidden;}> .s_parallax_bg{@extend %o-we-background-layer;}@include media-breakpoint-up(xl){// Fixed backgrounds are disabled when using a mobile/tablet device, // which is not a big deal but, on some of them (iOS...), defining the // background as fixed breaks the background-size/position props. // So we enable this only for >= XL devices. &.s_parallax_is_fixed > .s_parallax_bg{background-attachment: fixed;}}}// Keeps parallax snippet element selectable when Height = auto. .s_parallax{min-height: 10px;}// // Layout // $-transition-duration: 200ms; // Affixed Header .o_header_affixed{display: block; @include o-position-absolute(0, 0, auto, 0); position: fixed; background: $light; &:not(.o_header_no_transition){transition: transform $-transition-duration;}@if o-website-value('header-template') == 'boxed'{background: transparent;}&.o_header_is_scrolled{.navbar-brand{font-size: $o-theme-navbar-fixed-logo-height / $line-height-base; img{height: $o-theme-navbar-fixed-logo-height;}}@if o-website-value('header-template') == 'vertical'{.o_header_centered_logo{display: none;}@include media-breakpoint-up(lg){.navbar-brand{font-size: 0; opacity: 0; img{height: 0;}}}}}&.o_header_standard.o_header_is_scrolled{@if index(('menu_logo_below', 'logo_menu_below'), o-website-value('header-template')) != null{.navbar-brand{&, img{transition: none;}}}}}// Navbar .navbar .o_extra_menu_items.show > ul{> li{+ li{border-top: 1px solid gray('200');}> a.dropdown-toggle{background-color: gray('200'); color: inherit; // Useful when the toggle is active pointer-events: none; // hack to prevent clicking on it because dropdown always opened}> ul, > .o_mega_menu{// remove dropdown-menu default style as it is nested in another one position: static; float: none; display: block; max-height: none; margin-top: 0; padding: 0; border: none; box-shadow: none;}> .o_mega_menu .row > div{// remove mega menu col-lg-* style max-width: none; flex: auto;}}}$-off-canvas-hamburger: o-website-value('hamburger-type') == 'off-canvas'; $-hamburger-left: o-website-value('hamburger-position') == 'left'; $-hamburger-center: o-website-value('hamburger-position') == 'center'; $-hamburger-right: o-website-value('hamburger-position') == 'right'; $zindex-website-header: $zindex-fixed !default; header{&#top{// We need this z-index for the shadow option of the header but also // to create a stacking context so that header dropdowns appear below // and above the same elements as the header. z-index: $zindex-website-header;}&:not(.o_header_no_transition){#top_menu_container{transition: all $-transition-duration;}.navbar-brand{transition: margin $-transition-duration, font-size $-transition-duration, opacity $-transition-duration ease-out; img{transition: height $-transition-duration;}}}// Dropdown menus // In mobile there is no need to limit the height... @include media-breakpoint-up(lg){.navbar .dropdown-menu{max-height: 60vh; overflow-y: auto; overflow-x: hidden; // Needed because of container in container having 0px padding... TODO improve}}// ... but we limit the navbar-collapse height .navbar-collapse.show{max-height: 80vh; overflow-y: auto; overflow-x: hidden; // Needed because of container in container having 0px padding... TODO improve}&:not(.o_header_is_scrolled){$-is-hamburger: o-website-value('header-template') == 'hamburger'; @include media-breakpoint-up(md){@if $-is-hamburger{#top_menu_container{padding-top: $spacer * 0.5; padding-bottom: $spacer * 0.5;}}}}#top_menu_container{flex-direction: inherit;}@if $-hamburger-center{.collapsing, .show{#top_menu{@if not $-off-canvas-hamburger{padding-top: 15vh; padding-bottom: 15vh;}text-align: center;}}}@include media-breakpoint-up(md){// Allow to center the logo, ignoring the toggler space .o_navbar_toggler_container{flex: 0 0 0; min-width: 0; direction: if($-hamburger-left, ltr, rtl);}}nav.navbar{@if o-website-value('menu-border-width'){border: o-website-value('menu-border-width') o-website-value('menu-border-style') o-color('menu-border-color') !important;}border-radius: o-website-value('menu-border-radius') !important; box-shadow: o-website-value('menu-box-shadow') !important;}}@if $-off-canvas-hamburger{#top_menu_collapse{&.collapsing, &.show{// Note: position relatively to the header instead of the viewport // because fixed position cannot work inside an element whose CSS // transform is different to none, which the header element is // because of header effects. @include o-position-absolute(0, 0, 0, 0); z-index: $zindex-sticky; height: 100vh; max-height: 100vh; transition: none; transform: none; &, & > .o_header_collapsed_content_wrapper{// TODO improve: ugly code to reset a potential wrapper display: flex !important; flex-flow: if($-hamburger-left, row, row-reverse) nowrap !important; align-items: stretch !important; justify-content: flex-start !important;}> .o_header_collapsed_content_wrapper{// TODO improve: ugly code to reset a potential wrapper max-width: none !important; padding: 0 !important; margin: 0 !important;}.o_offcanvas_menu_backdrop{@include o-position-absolute(0, 0, 0, 0); opacity: .2; cursor: pointer;}#top_menu{flex: 0 0 auto !important; overflow: auto; flex-flow: column nowrap !important; @if $-hamburger-center{width: 100%; max-width: none;}@else{max-width: 560px; text-align: left !important;}min-width: 250px; margin: 0 !important; background-color: o-color('menu-custom') or o-color('menu'); @include o-add-gradient('menu-gradient'); transition: transform $-transition-duration cubic-bezier(.694, .0482, .335, 1); @if $-hamburger-center{.o_offcanvas_menu_backdrop{display: none;}.o_offcanvas_menu_toggler{max-width: 90%;}}.nav-item, .o_offcanvas_logo{padding-left: $grid-gutter-width; padding-right: $grid-gutter-width;}.nav-item, .dropdown-menu{text-align: inherit;}.nav-item, .nav-link{margin: 0 !important;}.navbar-toggler{display: block !important;}// Open all dropdowns .dropdown-toggle{padding-bottom: $nav-link-padding-y*0.5; &:after{content: none;}}.dropdown-menu{display: block; padding-top:0; border: 0; background: inherit; color: inherit;}.dropdown-item{padding-left: .5em; padding-right: .5em;}}.o_connected_user:not(.editor_has_snippets) header &{// TODO this has to be reviewed $-header-template: o-website-value('header-template'); @if not index(('Contact', 'boxed', 'magazine'), $-header-template){top: -$o-navbar-height; padding-top: $o-navbar-height;}@else if $-header-template == 'magazine'{@include media-breakpoint-up(lg){position: fixed; #top_menu{align-items: normal !important;}}}}}&.collapsing #top_menu{@if $-hamburger-center{transform: translateY(-100%);}@else if $-hamburger-left{transform: translateX(-100%);}@else if $-hamburger-right{transform: translateX(100%);}}&.show #top_menu{transform: translate(0);}.o_offcanvas_menu_backdrop{@if $-hamburger-left{background-image: linear-gradient(90deg, currentColor 20%, transparent);}@else{background-image: linear-gradient(-90deg, currentColor 20%, transparent);}}}}@if o-website-value('header-template') == 'vertical'{header .o_header_centered_logo{order: -1; width: 50%; margin-top: $spacer; @include media-breakpoint-up(lg){order: inherit; width: 40%; margin-bottom: $spacer;}}.navbar-nav{padding-top: $navbar-padding-y; padding-bottom: $navbar-padding-y;}}@else if o-website-value('header-template') == 'sidebar'{@include media-breakpoint-up(lg){#wrapwrap{// Hack: padding is used by layout option (boxed, etc) so use // border here to be able to combine the effect. @if $-hamburger-right{border-right: o-website-value('sidebar-width') solid transparent;}@else{border-left: o-website-value('sidebar-width') solid transparent;}> header{@if $-hamburger-right{@include o-position-absolute(0, 0, 0, auto);}@else{@include o-position-absolute(0, auto, 0, 0);}position: fixed; z-index: $zindex-fixed; display: flex; width: o-website-value('sidebar-width'); transform: none !important; .navbar{width: 100%; align-items: start; padding: $spacer; .navbar-brand{max-width: 100%; padding: 0 0 $spacer 0;}#top_menu_container{flex-direction: column; align-items: start; padding: 0;}.navbar-nav{flex-direction: column;}.nav-link, .dropdown-item{white-space: initial;}.dropdown-menu{position: static;}}}}body.o_connected_user{&:not(.editor_has_snippets) #wrapwrap > header{top: $o-navbar-height;}&.editor_has_snippets #wrapwrap > header{@if $-hamburger-right{right: $o-we-sidebar-width;}}}}}@else if o-website-value('header-template') == 'boxed'{#wrapwrap:not(.o_header_overlay) .o_header_boxed_background{@include o-apply-colors('header-boxed'); @include o-apply-colors('header-boxed-custom'); @include o-add-gradient('header-boxed-gradient');}}@else if o-website-value('header-template') == 'centered_logo'{header .o_header_centered_logo{@include media-breakpoint-up(lg){width: 50%;}}}@else if o-website-value('header-template') == 'hamburger-full'{@if not $-off-canvas-hamburger{@include media-breakpoint-up(md){#wrapwrap{$o-hamburger-full-navbar-height: $o-theme-navbar-logo-height + ($navbar-padding-y * 2); > header{.navbar-collapse{> .container{height: calc(100vh - #{$o-navbar-height}- #{$o-hamburger-full-navbar-height}); transition: height .3s ease;}.nav-link{padding-right: $nav-link-padding-x; padding-left: $nav-link-padding-x;}.dropdown-menu{position: absolute;}}}}}@include media-breakpoint-up(lg){#wrapwrap > header #top_menu{align-items: center !important;}}}}// Mega menu .o_mega_menu{width: 100%; padding: 0; margin-top: 0; border-radius: 0; background-clip: unset; // Remove the 1px gap introduced by BS4 .container, .container-fluid{// Need to reforce those because they are removed since its a container // inside another container (the one in the navbar) padding-left: $grid-gutter-width / 2; padding-right: $grid-gutter-width / 2;}}.o_mega_menu_container_size{$-header-template: o-website-value('header-template'); @if not index(('sidebar', 'hamburger', 'magazine'), $-header-template){$bp: if($-header-template == 'minimalist', md, lg); @include media-breakpoint-up($bp){left: 50%; transform: translateX(-50%);}}$-mm-max-widths: (); @each $k, $v in $container-max-widths{$-mm-max-widths: map-merge($-mm-max-widths, ( #{$k}: $v - $grid-gutter-width, ));}@include make-container-max-widths($-mm-max-widths);}#wrapwrap.o_header_overlay{> header:not(.o_header_affixed):not(.o_top_menu_collapse_shown){@include o-position-absolute(0, 0, auto, 0); z-index: 1000; > .navbar{@include o-apply-colors(1); // Reset to default colored components background-color: transparent !important; border-color: transparent; color: inherit; .nav-item{> .nav-link{&, &:hover{background-color: transparent; color: inherit;}&.active{font-weight: bolder;}}}}}}// Navbar Links Styles @if index(('block', 'border-bottom'), o-website-value('header-links-style')){@include media-breakpoint-up(md){.navbar, .navbar-nav{padding-top: 0; padding-bottom: 0;}}}.navbar-nav{.nav-link{@if o-website-value('header-links-style') == 'outline'{// Need to force the padding in this case so that it stays in mobile padding-right: $navbar-nav-link-padding-x; padding-left: $navbar-nav-link-padding-x; border: $border-width solid transparent; @include border-radius($nav-pills-border-radius);}@else if o-website-value('header-links-style') == 'block'{// There is no way to control navbar links vertical padding in BS4 // independently from nav ones, just double them here instead padding-top: $nav-link-padding-y * 2; padding-bottom: $nav-link-padding-y * 2; @include border-radius(0);}@else if o-website-value('header-links-style') == 'border-bottom'{// There is no way to control navbar links vertical padding in BS4 // independently from nav ones, just double them here instead padding-top: ($nav-link-padding-y * 2); padding-bottom: ($nav-link-padding-y * 2); border-bottom: $nav-link-padding-y solid transparent; // Replace horizontal paddings by margins (do this with an extra // class to override .navbar-expand-* paddings priority). .navbar &{padding-left: 0; padding-right: 0; margin: 0 $navbar-nav-link-padding-x;}}}@if index(('outline', 'border-bottom'), o-website-value('header-links-style')){.nav-link.active, .show > .nav-link{border-color: currentColor;}}}@if index(('slideout_slide_hover', 'slideout_shadow'), o-website-value('footer-effect')){@include media-breakpoint-up(lg){#wrapwrap.o_footer_effect_enable{> main{@if o-website-value('layout') == 'full'{// Ensure a transparent snippet at the end of the content // still appears with the same background when hovering the // footer during the scroll effect. background-color: $body-bg;}@if o-website-value('footer-effect') == 'slideout_shadow'{box-shadow: $box-shadow;}}> footer{@include o-position-sticky(auto, 0, 0, 0); z-index: -1;}}}}// Language selector .js_language_selector{.dropdown-menu{min-width: 0;}a.list-inline-item{padding: 3px 0; > *{vertical-align: middle;}}}.o_lang_flag{width: 1em; height: 1em; margin-right: 0.2em; border-radius: $rounded-pill;}a.js_change_lang:hover, a.o_add_language:hover{text-decoration: none; span{text-decoration: $link-hover-decoration;}}span.list-inline-item.o_add_language:last-child{display: none !important; // Hide the separator if it is the last list item}// Footer scrolltop button @if o-website-value('footer-scrolltop'){#o_footer_scrolltop{$-footer-color: o-color('footer-custom') or o-color('footer') or rgba(0, 0, 0, 0); $-footer-color: mix(rgba($-footer-color, 1.0), $body-bg, percentage(alpha($-footer-color))); $-copyright-color: o-color('copyright-custom') or o-color('copyright') or rgba(0, 0, 0, 0); $-copyright-color: mix(rgba($-copyright-color, 1.0), $-footer-color, percentage(alpha($-copyright-color))); box-sizing: content-box; width: 3rem; height: 3rem; border: 0; padding: 0; @include o-apply-colors($-footer-color, $with-extras: false, $background: $-footer-color); text-decoration: none; @if $-footer-color == $-copyright-color{color: rgba(color-yiq($-footer-color), 0.5);}@include hover-focus{@include o-apply-colors($-copyright-color, $with-extras: false, $background: $-footer-color); text-decoration: none;}}}// Figure with special style .o_figure_relative_layout{position: relative; .figure-img{margin-bottom: 0;}.figure-caption{@include o-position-absolute(auto, 0, 0, 0); @include o-bg-color(rgba(theme-color('dark'), $o-theme-figcaption-opacity)); padding: $tooltip-padding-y $tooltip-padding-x; font-weight: $font-weight-bold; a{color: inherit;}}}@each $color, $value in $theme-colors{.bg-#{$color}-light{background-color: rgba($value, 0.1);}}@each $media, $color in $o-social-colors{@include text-emphasis-variant(".text-#{$media}", $color);}// TODO: Will be handled properly in master/saas-12.2, temp fix for website_event.registration_attendee_details .modal-footer > .float-left{margin-right: auto;}// CoverProperties .o_record_cover_container{position: relative; .o_record_cover_component{@include o-position-absolute(0, 0, 0, 0); background-size: cover; background-position: center; background-repeat: no-repeat;}}// Scroll down button .o_scroll_button{@include o-position-absolute(auto, 0, 0, 0); display: flex; width: 50px; height: 50px; animation: o-anim-heartbeat 2.6s ease-in-out 1s infinite; &, &:hover{text-decoration: none;}&:focus{outline: none;}&:hover{animation-iteration-count: 1;}}// Attention keeper for the "scroll down" top-banner button @keyframes o-anim-heartbeat{0%, 14%, 35%{transform: scale(1);}7%, 21%{transform: scale(1.3); background-color: rgba(theme-color('primary'), 0.8);}}// Ribbons $ribbon-padding: 100px; .o_ribbon{margin: 0; font-size: 1rem; font-weight: bold; white-space: nowrap; text-align: center; pointer-events: none;}.o_ribbon_right{@include o-ribbon-right();}.o_ribbon_left{@include o-ribbon-left();}.o_tag_right{@include o-tag-right();}.o_tag_left{@include o-tag-left();}// Conditional visibility .o_conditional_hidden{display: none !important;}// Cookies Bar #website_cookies_bar{:not(.o_cookies_popup){bottom: 0;}}.o_website_btn_loading{cursor: wait; opacity: $btn-disabled-opacity; .fa:not(.fa-spin){display: none;}}ul.o_checklist > li.o_checked::after{left: - ($o-checklist-margin-left - $o-checklist-checkmark-width) - 1; top: 0;}// Bottom fixed element (e.g. livechat button) .modal-open .o_bottom_fixed_element, .o_bottom_fixed_element_hidden{// Prevent bottom fixed elements from hidding buttons and // hide them if a modal is open. display: none !important;}//------------------------------------------------------------------------------ // Website Animate //------------------------------------------------------------------------------ .o_animate{animation-duration: 1s; animation-fill-mode: both; transform: translate3d(0,0,0); // force GPU acceleration backface-visibility: hidden; // avoid flickering text-rendering: geometricPrecision; // take care of animated titles visibility: hidden; &:not(.o_animating){transform: none !important;}}.o_animate_preview{visibility: visible;}.o_wanim_overflow_x_hidden{overflow-x: hidden !important;}.o_animated_text{display: inline-block;}@keyframes o_anim_bounce_in{0%, 20%, 40%, 60%, 80%, 100%{transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}0%{opacity: 0; transform: scale(0.3);}20%{transform: scale(1.1);}40%{transform: scale(0.9);}60%{opacity: 1; transform: scale(1.03);}80%{transform: scale(0.97);}100%{opacity: 1; transform: scale(1);}}.o_anim_bounce_in{animation-name: o_anim_bounce_in;}@keyframes o_anim_bounce_in_down{0%, 20%, 40%, 60%, 80%, 100%{transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}0%{opacity: 0; transform: translate(0, -3000px);}60%{opacity: 1; transform: translate(0, 25px);}75%{transform: translate(0, -10px);}90%{transform: translate(0, 5px);}100%{transform: translate(0, 0);}}.o_anim_bounce_in_down{animation-name: o_anim_bounce_in_down;}@keyframes o_anim_bounce_in_left{0%, 20%, 40%, 60%, 80%, 100%{transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}0%{opacity: 0; transform: translate(-3000px, 0);}60%{opacity: 1; transform: translate(25px, 0);}75%{transform: translate(-10px, 0);}90%{transform: translate(5px, 0);}100%{transform: translate(0, 0);}}.o_anim_bounce_in_left{animation-name: o_anim_bounce_in_left;}@keyframes o_anim_bounce_in_right{0%, 20%, 40%, 60%, 80%, 100%{transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);}0%{opacity: 0; transform: translate(3000px, 0);}60%{opacity: 1; transform: translate(-25px, 0);}75%{transform: translate(10px, 0);}90%{transform: translate(-5px, 0);}100%{transform: translate(0, 0);}}.o_anim_bounce_in_right{animation-name: o_anim_bounce_in_right;}@keyframes o_anim_fade_in{0%{opacity: 0;}100%{opacity: 1;}}.o_anim_fade_in{animation-name: o_anim_fade_in;}@keyframes o_anim_fade_in_down{0%{opacity: 0; transform: translate(0, -100%);}100%{opacity: 1; transform: translate(0, 0);}}.o_anim_fade_in_down{animation-name: o_anim_fade_in_down;}@keyframes o_anim_fade_in_left{0%{opacity: 0; transform: translate(-100%, 0);}100%{opacity: 1; transform: translate(0, 0);}}.o_anim_fade_in_left{animation-name: o_anim_fade_in_left;}@keyframes o_anim_fade_in_right{0%{opacity: 0; transform: translate(100%, 0);}100%{opacity: 1; transform: translate(0, 0);}}.o_anim_fade_in_right{animation-name: o_anim_fade_in_right;}@keyframes o_anim_fade_in_up{0%{opacity: 0; transform: translate(0, 100%);}100%{opacity: 1; transform: translate(0, 0);}}.o_anim_fade_in_up{animation-name: o_anim_fade_in_up;}@keyframes o_anim_fade_out{0%{opacity: 1;}100%{opacity: 0;}}.o_anim_fade_out{animation-name: o_anim_fade_out;}@keyframes o_anim_rotate_in{0%{opacity: 0; transform: rotate(-200deg);}100%{opacity: 1; transform: rotate(0);}}.o_anim_rotate_in{animation-name: o_anim_rotate_in;}@keyframes o_anim_rotate_in_down_left{0%{opacity: 0; transform-origin: left bottom; transform: rotate(-45deg);}100%{opacity: 1; transform-origin: left bottom; transform: rotate(0);}}.o_anim_rotate_in_down_left{animation-name: o_anim_rotate_in_down_left;}@keyframes o_anim_rotate_in_down_right{0%{opacity: 0; transform-origin: right bottom; transform: rotate(45deg);}100%{opacity: 1; transform-origin: right bottom; transform: rotate(0);}}.o_anim_rotate_in_down_right{animation-name: o_anim_rotate_in_down_right;}@keyframes o_anim_zoom_out{0%{opacity: 0; transform: scale(1.3);}100%{opacity: 1;}}.o_anim_zoom_out{animation-name: o_anim_zoom_out;}@keyframes o_anim_zoom_in{0%{opacity: 0; transform: scale(0.3);}50%{opacity: 1;}}.o_anim_zoom_in{animation-name: o_anim_zoom_in;}@keyframes o_anim_zoom_in_down{0%{opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}60%{opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);}}.o_anim_zoom_in_down{animation-name: o_anim_zoom_in_down;}@keyframes o_anim_zoom_in_left{0%{opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}60%{opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);}}.o_anim_zoom_in_left{animation-name: o_anim_zoom_in_left;}@keyframes o_anim_zoom_in_right{0%{opacity: 0; transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);}60%{opacity: 1; transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);}}.o_anim_zoom_in_right{animation-name: o_anim_zoom_in_right;}@keyframes o_anim_flash{0%, 50%, 100%{opacity: 1;}25%, 75%{opacity: 0;}}.o_anim_flash{animation-name: o_anim_flash;}@keyframes o_anim_pulse{0%{transform: scale(1);}50%{transform: scale(1.05);}100%{transform: scale(1);}}.o_anim_pulse{animation-name: o_anim_pulse;}@keyframes o_anim_shake{0%, 100%{transform: translate(0, 0);}10%, 30%, 50%, 70%, 90%{transform: translate(-10px, 0);}20%, 40%, 60%, 80%{transform: translate(10px, 0);}}.o_anim_shake{animation-name: o_anim_shake;}@keyframes o_anim_tada{0%{transform: scale3d(1, 1, 1);}10%, 20%{transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);}30%, 50%, 70%, 90%{transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);}40%, 60%, 80%{transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);}100%{transform: scale3d(1, 1, 1);}}.o_anim_tada{animation-name: o_anim_tada;}@keyframes o_anim_flip_in_x{0%{perspective: 400px; transform: rotateX(90deg); transition-timing-function: ease-in; opacity: 0;}40%{perspective: 400px; transform: rotateX(-20deg); transition-timing-function: ease-in;}60%{perspective: 400px; transform: rotateX(10deg); opacity: 1;}80%{perspective: 400px; transform: rotateX(-5deg);}100%{perspective: 400px;}}.o_anim_flip_in_x{backface-visibility: visible; animation-name: o_anim_flip_in_x;}@keyframes o_anim_flip_in_y{0%{perspective: 400px; transform: rotateY(90deg); transition-timing-function: ease-in; opacity: 0;}40%{perspective: 400px; transform: rotateY(-20deg); transition-timing-function: ease-in;}60%{perspective: 400px; transform: rotateY(10deg); opacity: 1;}80%{perspective: 400px; transform: rotateY(-5deg);}100%{perspective: 400px;}}.o_anim_flip_in_y{backface-visibility: visible; animation-name: o_anim_flip_in_y;}// Compatibility <= 13.0 .o_anim_dur500{animation-duration: 500ms;}.o_anim_dur1500{animation-duration: 1500ms;}.o_anim_dur2000{animation-duration: 2000ms;}.o_anim_dur2500{animation-duration: 2500ms;}.o_anim_dur3000{animation-duration: 3000ms;}.o_anim_del500{animation-delay: 500ms;}.o_anim_del1000{animation-delay: 1000ms;}.o_anim_del1500{animation-delay: 1500ms;}.o_anim_del2000{animation-delay: 2000ms;}.o_anim_del2500{animation-delay: 2500ms;}

/* /website/static/src/scss/website.ui.scss defined in bundle 'web.assets_frontend' */
/// /// This file regroups main website UI layout rules (when the user is connected) /// and the UI components rules. /// // LAYOUTING body{// Set frontend direction that will be flipped with // rtlcss for right-to-left text direction. direction: ltr;}body.o_connected_user{padding-top: $o-navbar-height!important; &.o_fullscreen_transition{transition: padding 400ms ease 0s; #oe_main_menu_navbar, #web_editor-top-edit, .o_we_website_top_actions, #oe_snippets{transition: transform 400ms ease 0s !important;}.o_header_affixed{transition: top 0.35s !important;}}&.o_fullscreen{padding-top: 0 !important; &.editor_enable.editor_has_snippets{padding-right: 0 !important; .modal:not(.o_technical_modal){right: 0;}}#oe_main_menu_navbar, #web_editor-top-edit{transform: translateY(-100%);}.o_we_website_top_actions, #oe_snippets{transform: translateX(100%);}.o_header_affixed{top: 0 !important; right: 0 !important;}}}//FULLSCREEN INDICATION LAYOUT .o_fullscreen_indication{display: flex; position: absolute; width: 100%; align-items: center; justify-content: center; top: 0; margin-top: $o-navbar-height!important; opacity: 0; pointer-events: none; p{padding: 15px 30px; background-color: rgba(0, 0, 0, 0.7); color: white; span{border: 1px solid white; border-color: white; border-radius: 5px; padding: 7px 5px; margin: 5px;}}&.o_transition{transition: opacity 400ms;}&.o_visible{opacity: 1;}}// MAIN MENU STYLE (added above navbar.scss) #oe_main_menu_navbar{@include o-w-preserve-dropdown-menus; @include o-position-absolute(0, 0, auto, 0); position: fixed; z-index: $zindex-modal - 10; font-family: $o-we-font-family; font-size: 14px; a:hover, a:focus{text-decoration: none;}.dropdown-menu{border-top: 0; margin-top: 0; background-clip: border-box; font-size: inherit; border-radius: 0; color: $dropdown-link-active-color;}#oe_applications .dropdown-menu{// Compensate #oe_applications's padding margin-left: $dropdown-item-padding-x * -0.5; max-height: 500px; // Fallback max-height: calc(90vh - #{$o-navbar-height}); overflow: auto;}.o_menu_sections{.o_mobile_preview a{text-align: center; font-size: 20px;}}.o_menu_systray{> li > a{&.css_edit_dynamic{padding: 0 $grid-gutter-width/4;}&[data-action="edit"], &[data-action="translate"], &.css_edit_dynamic{@include button-variant($o-brand-primary, $o-brand-primary);}&, &:hover, &:focus{text-decoration: none;}}.o_mobile_preview a{text-align: center; font-size: 20px;}}@include media-breakpoint-down(sm){#oe_applications{position: inherit; z-index: 1002;}}}@mixin o-w-close-icon($size:12px, $color:#000, $color-hover:#000, $thickness: 1px, $opacity: 0.7, $opacity-hover: 1){color: transparent; position: relative; display: inline-block; opacity: $opacity; width: $size; height: $size; &:hover, &:focus{outline: none; opacity: $opacity-hover; &::after, &::before{background: $color-hover;}}&:after, &:before{content: ''; margin-top: -1px; background: $color; @include size(100%, $thickness); @include o-position-absolute(50%, $left:0); transform: rotate(45deg);}&:after{transform: rotate(-45deg);}}// MODALS body .modal{&.o_technical_modal{@include o-w-preserve-base; @include o-w-preserve-dropdown-menus; @include o-w-preserve-headings; @include o-w-preserve-forms; @include o-w-preserve-links; @include o-w-preserve-btn; @include o-w-preserve-cards; @include o-w-preserve-modals; @include o-w-preserve-tabs;}// MOBILE PREVIEW &.oe_mobile_preview{text-align: center; .modal-dialog{display: inline-block; width: auto; .modal-content{background-color: black!important; border: 3px outset gray; border-radius: 20px; .modal-header{border: none; cursor: pointer; font-family: $o-we-font-family; &, .close{color: white;}h4{font-family: inherit; font-weight: normal; color: inherit; .fa{margin-left: $grid-gutter-width/2;}}.close{color: #4e525b;}}.modal-body{background-color: inherit!important; border-radius: 20px; padding: 15px; $mobile-preview-width: 320px; $mobile-preview-height: 530px; display: flex; width: $mobile-preview-width + 15; height: $mobile-preview-height; transition: all 400ms ease 0s; &.o_invert_orientation{width: $mobile-preview-height + 15; height: $mobile-preview-width;}> iframe{display: block; width: 100%; border: none;}}.modal-footer{display: none;}}}}// TOP MENU EDITOR .oe_menu_editor{ul{padding-left: 37px;}li{margin-top: -1px; .input-group-addon{border-radius: 0;}}}// SEO CONFIGURATION &.oe_seo_configuration{#language-box{padding-right: 25px; background-color: white;}.o_seo_og_image{.o_meta_img{position: relative; transition: border-color 200ms; display: inline-block; border: 2px solid gray('400'); > img{width: 70px; height: 70px; object-fit: cover; cursor: pointer;}&:hover{border-color: $o-brand-primary;}&.o_active_image{border-color: $o-brand-primary; &:before{@include o-position-absolute($right: 0); content: ''; border: 16px solid rgba($o-brand-primary, 0.8); border-left-color: transparent; border-bottom-color: transparent;}&:after{@include o-position-absolute(2px, 3px); display: inline-block; content: "\f00c"; font-family: FontAwesome; color: white; font-size: 12px;}}.o-custom-label{@include o-position-absolute($bottom: 0px); background: rgba(gray('800'), 0.6); font-size: 12px;}}.o_meta_img_upload{transition: 200ms; display: inline-block; padding: 23px 27px; border: 3px dashed lighten(gray('700'), 30%); vertical-align: top; cursor: pointer; color: lighten(gray('600'), 30%); &:hover{border-color: $o-brand-primary; color: $o-brand-primary;}}.o_meta_active_img{height: 240px; object-fit: cover;}}div.oe_seo_preview_g{list-style: none; font-family: arial, sans-serif; .r{cursor: pointer; color:#1a0dab; font-size: 18px; overflow: hidden; text-overflow: ellipsis; -webkit-text-overflow: ellipsis; white-space: nowrap;}.s{font-size: 13px; line-height: 18px; color: #545454; .kv{color: #006621; font-size: 14px; line-height: 18px;}}}td.o_seo_keyword_suggestion span.o_seo_suggestion.badge{cursor: pointer;}}}// ADD NEW PAGE MODAL .o_new_content_open{// Kill the scroll on the body overflow: hidden;}#o_new_content_menu_choices{@include o-w-preserve-base; @include o-position-absolute($o-navbar-height, 0, 0, 0); position: fixed; display: flex; overflow: auto; background-color: rgba(0, 0, 0, 0.8); font-family: $o-we-font-family; &::before{content: " "; @include o-position-absolute(0, 0, 0, 0); z-index: -1; pointer-events: none;}.container{max-width: 720px; margin: auto;}.o_new_content_element{opacity: 0; animation: fadeInDownSmall 1s forwards; .o_uninstalled_module{filter: brightness(70%) contrast(60%);}.module_icon{display: block; margin: auto;}a{display: block; font-size: 34px; text-align: center; text-decoration: none; i{width: 110px; height: 110px; border: 3px solid lighten(#2C2C36, 10%); border-radius: 100%; line-height: 104px; background-color: #2C2C36; color: white; transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;}p{color: white; margin-top: 0.7em; font-size: 0.5em;}&:hover, &:focus{text-decoration: none; outline: none; // remove ugly dotted border on Firefox i{border-color: #1cc1a9; box-shadow: 0 0 10px rgba(28, 193, 169, 0.46);}}}}}// LOGIN FORM .oe_login_form, .oe_signup_form, .oe_reset_password_form{max-width: 300px; position: relative; margin: 50px auto;}// ACE EDITOR .o_ace_view_editor{@include o-w-preserve-base; @include o-w-preserve-btn; @include o-w-preserve-forms; @include o-position-absolute($o-navbar-height, 0, 0); position: fixed; z-index: $zindex-modal;}// POPOVER NAVIGATION .tour .popover-navigation{margin-left: 13px; margin-bottom: 8px;}// PUBLISH .css_published{.btn-danger, .css_publish{display: none;}}.css_unpublished{.btn-success, .css_unpublish{display: none;}}[data-publish='off'] > *:not(.css_options){opacity: 0.5;}// Do not show path behind the links in browser printing @media print{a[href]:after{content: initial;}}// Pages Management .o_page_management_info{.o_switch{padding-top: 9px;}}#list_website_pages{th{background-color: $o-brand-odoo; color: white;}td, th{padding: 0.45rem;}td{> a.fa{margin-left: 5px; color: $o-brand-odoo;}.text-muted{opacity: 0.5;}}.fa-check, .fa-eye-slash{color: $info;}}.ui-autocomplete.o_website_ui_autocomplete{max-width: 400px; font-size: $o-we-sidebar-font-size; border: none; background-color: $o-we-sidebar-content-field-dropdown-bg; box-shadow: $o-we-sidebar-content-field-dropdown-shadow; > li{border-bottom: $o-we-sidebar-content-field-border-width solid lighten($o-we-sidebar-content-field-dropdown-border-color, 15%); border-radius: $o-we-sidebar-content-field-border-radius; background-color: $o-we-sidebar-content-field-clickable-bg; color: $o-we-sidebar-content-field-clickable-color; &.ui-menu-item{> div{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 20px; &.ui-state-active{border: $o-we-sidebar-content-field-dropdown-border-width solid transparent; background-color: $o-we-sidebar-content-field-dropdown-item-bg-hover;}}}&.ui-autocomplete-category{background-color: $o-we-bg-lighter;}}}

/* /payment/static/src/scss/portal_payment.scss defined in bundle 'web.assets_frontend' */
input#cc_number{background-repeat: no-repeat; background-position: center right calc(2.7em);}div.card_placeholder{background-image: url("/payment/static/src/img/placeholder.png"); background-repeat: no-repeat; width: 32px; height: 20px; position: absolute; top: 8px; right: 20px; -webkit-transition: 0.4s cubic-bezier(0.455,0.03,0.515,0.955); transition: 0.4s cubic-bezier(0.455,0.03,0.515,0.955); pointer-events: none;}div.o_card_brand_detail{position: relative; div.card_placeholder{right: 5px;}}div.amex{background-image: url("/payment/static/src/img/amex.png"); background-repeat: no-repeat;}div.diners{background-image: url("/payment/static/src/img/diners.png"); background-repeat: no-repeat;}div.discover{background-image: url("/payment/static/src/img/discover.png"); background-repeat: no-repeat;}div.jcb{background-image: url("/payment/static/src/img/jcb.png"); background-repeat: no-repeat;}div.mastercard{background-image: url("/payment/static/src/img/mastercard.png"); background-repeat: no-repeat;}div.visa{background-image: url("/payment/static/src/img/visa.png"); background-repeat: no-repeat;}ul.checkout img.rounded{max-width: 100px; max-height: 40px;}

/* /payment/static/src/scss/payment_form.scss defined in bundle 'web.assets_frontend' */
.o_payment_form{label > input[type="radio"], input[type="checkbox"]{vertical-align: middle; margin-right: 5px;}.payment_option_name{font-size: 14px; font-weight: normal !important; font-family: Helvetica Neue, sans-serif; line-height: 1.3em; color: #4d4d4d;}label{font-weight: normal; margin-top: 5px;}.card{border-radius: 5px; overflow: hidden;}.card-body{&:not(:first-child){border-top: 1px solid #dddddd;}padding: 1.14em !important; &.o_payment_option_card:hover{cursor: pointer;}}.card-footer{padding: 0.5rem; label{margin-top: 15px;}}.card-footer:last-child{border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important;}.payment_icon_list{position: relative; li{padding-left: 5px !important; padding-right: 0px !important;}.more_option{@include o-position-absolute($right: 10px); font-size:10px;}margin-top: 0px !important; margin-bottom: -5px !important;}}

/* /sale/static/src/scss/sale_portal.scss defined in bundle 'web.assets_frontend' */
 .orders_vertical_align{display: flex; align-items: center;}.orders_label_text_align{vertical-align: 15%;}.sale_tbody .o_line_note{word-break: break-word; word-wrap: break-word; overflow-wrap: break-word;}.sale_tbody input.js_quantity{min-width: 48px; text-align: center;}.sale_tbody div.input-group.w-50.pull-right{width: 100% !important;}.o_portal .sale_tbody .js_quantity_container{.js_quantity{padding: 0;}.input-group-text{padding: 0.2rem 0.4rem;}@include media-breakpoint-down(sm){width: 100%;}}

/* /website_mail/static/src/css/website_mail.scss defined in bundle 'web.assets_frontend' */
.js_follow[data-follow='on'] .js_follow_btn , .js_follow[data-follow='off'] .js_unfollow_btn{display: none;}.js_follow_icons_container{.js_follow_btn, .js_unfollow_btn{animation: js_follow_fade 1s ease forwards; opacity: 0; small{opacity: 0; transition: opacity 0.3s ease;}@include hover-focus (){small{transition-duration: 1s; opacity: 1;}};}.fa:before{content: "\f0f3"; color: $text-muted;}.js_follow_btn:hover .fa:before{color: $body-color;}.js_unfollow_btn .fa:before{color: theme-color('primary');}.js_unfollow_btn:hover .fa:before{content: "\f1f6"; color: theme-color('danger');}}@keyframes js_follow_fade{to{opacity: 1;}}

/* /rating/static/src/scss/rating.scss defined in bundle 'web.assets_frontend' */
 .o_rating_page_submit{.btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn{margin-left: 0 !important;}.o_rating_label{transition: .3s; &:hover{transform: scale(1.1);}a{&.bg-white:hover, &.bg-white:focus{background-color: #ffffff !important;}}&.active{filter: drop-shadow(0 0 10px rgba(0,0,0,0.25)); -webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,0.25)); transform: scale(1.1); a{&.bg-white:hover, &.bg-white:focus{background-color: #ffffff !important;}}}}}

/* /portal_rating/static/src/scss/portal_rating.scss defined in bundle 'web.assets_frontend' */
 $o-w-rating-star-color: #FACC2E; .o_website_rating_static{color: $o-w-rating-star-color;}.o_website_rating_card_container{.o_message_counter{color: gray('700');}table.o_website_rating_progress_table{width: 100%; overflow: visible; .o_website_rating_table_star_num{min-width: 50px; white-space: nowrap;}.o_website_rating_select[style*="opacity: 1"]{cursor: pointer;}.o_website_rating_table_progress{min-width: 120px; > .progress{margin-bottom: 5px; margin-left: 5px; margin-right: 5px;}.o_rating_progressbar{background-color: $o-w-rating-star-color;}}.o_website_rating_table_percent{text-align: right; padding-left: 5px; font-size: $font-size-sm;}.o_website_rating_table_reset{.o_website_rating_select_text{visibility: hidden;}}}}.o_rating_star_card{margin-bottom: 5px; .stars{display: inline-block; color: #FACC2E; margin-right: 15px;}.stars i{margin-right: -3px; text-align: center;}.stars.enabled{cursor: pointer;}.rate_text{display: inline-block;}}.o_rating_popup_composer{.o_rating_clickable{cursor: pointer;}.o_portal_chatter_avatar{margin-right: 10px;}}.o_rating_popup_composer_label{color: color-yiq(white);}

/* /website_sale/static/src/scss/website_sale.scss defined in bundle 'web.assets_frontend' */
// 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;}h1[itemprop="name"]{font-size: $h3-font-size; font-weight: $font-weight-bold;}@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;}.breadcrumb{background-color: gray('100'); padding: 0.6rem 0.75rem; font-size: 0.9rem; a{color: theme-color('primary'); font-weight: bold;}.breadcrumb-item + .breadcrumb-item::before{font-family: 'FontAwesome'; content: "\f105"; padding-right: 0.2rem;}}.o_wsale_products_searchbar_form{flex-grow: 1; @include media-breakpoint-up(md){max-width: 450px;}}.table-striped tbody tr:nth-of-type(even){background-color: rgba(0, 0, 0, 0.025);}.table-striped tbody tr:nth-of-type(odd){background-color: rgba(0, 0, 0, 0);}*:not(#product_attributes_simple) > .table-sm tbody td{padding-top: 0.75rem; padding-bottom: 0.75rem;}#products_grid_before{@include media-breakpoint-up(lg){border-right: 1px solid gray('400');}#wsale_products_categories_collapse{label{&:hover{color: theme-color('primary'); cursor: pointer;}}.nav-hierarchy{padding-left: map-get($spacers, 2);}i.fa{color: gray('500');}}.o_categories_collapse_title, .o_products_attributes_title{font-size: 0.9rem;}.custom-control.custom-checkbox{.custom-control-input{~ .custom-control-label:before{outline: none; border: 0px; border: 2px solid gray('400'); border-radius: 0px; cursor: pointer;}&:checked{~ .custom-control-label:before{background-color: theme-color('primary'); border: 2px solid theme-color('primary');}}}label:hover{color: theme-color('primary'); cursor: pointer;}}.css_attribute_color{height: 32px; width: 32px; margin-bottom: 0.2rem;}}.o_pricelist_dropdown, .o_sortby_dropdown{min-width: fit-content; > .btn{&, &:hover, &:focus, &:active{background-color: transparent !important; box-shadow: none !important;}}}.o_wsale_apply_layout > .btn{color: gray('500'); background-color: transparent; border-radius: 0%; &.active, &:focus{color: gray('600'); background-color: gray('200'); box-shadow: none !important;}}}#product_detail ~ .oe_structure.oe_empty > section:first-child, .o_shop_discussion_rating{border-top: 1px solid gray('400');}.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); opacity: 0; transform: scale(1, 0); transition: all ease 0.3s;}.o_wsale_product_btn{@include o-position-absolute(auto, auto, 100%, 0); padding-bottom: map-get($spacers, 1); z-index: 2; .btn{width: 46px; padding: 0.375rem 0.75rem; // prevent default Bootstrap padding from being modified by theme variables line-height: 32px; border-radius: 50%; transform: scale(0); opacity: 0; transition: transform ease 200ms 0s, opacity ease 50ms;}&:empty{display: none !important;}}&:hover{.o_wsale_product_information{background-color: white !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); opacity: 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); opacity: 1;}}.o_ribbon_left, .o_ribbon_right{box-shadow: 0px -10px 70px 30px rgba(black, 0.05);}.o_product_link{@include o-position-absolute(0, 0, 0, 0); z-index: 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); &.card{border: none; @if $o-wsale-products-layout-grid-gutter-width > 0{border-bottom: 1px solid gray('400');}&, .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: 12rem; 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; padding: $spacer/2 !important;}.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; margin-left: $spacer*2; margin-right: $spacer; .o_wsale_products_item_title{font-size: $h5-font-size; padding-bottom: $spacer/3; border-bottom: 1px solid gray('300');}.oe_subdescription{font-size: 0.9rem; margin-top: $spacer/2;}}.o_wsale_product_btn{flex: 0 0 auto; position: static; display: flex; align-items: flex-end; padding: map-get($spacers, 2); .btn + .btn{margin-left: map-get($spacers, 2);}}.oe_subdescription{max-height: none !important;}.oe_subdescription, .o_wsale_product_btn .btn{transform: scale(1) !important; opacity: 1;}&:hover{.o_wsale_product_information{background-color: $white !important;}}}}}}.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;}.popover-body{max-height: 70vh; overflow-y: auto;}}tr#empty{display: none;}.js_change_shipping{cursor: pointer;}a.no-decoration{cursor: pointer; text-decoration: none !important;}#o-carousel-product{transition: top 200ms; &.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 .fa{padding-right: 2px;}.carousel-control-next .fa{padding-left: 2px;}.carousel-control-prev, .carousel-control-next{height: 70%; top: 15%; opacity: 0.5; cursor: pointer; transition: opacity 0.8s; &:focus{opacity: 0.65;}&:hover{opacity: 0.8;}> span{width: 2.5rem; height: 2.5rem; line-height: 2.5rem; color: gray('900'); background: white; font-size: 1.15rem; border: 1px solid gray('400'); border-radius: 50%;}@include media-breakpoint-down(md){> span{width: 2rem; height: 2rem; line-height: 2rem; font-size: 1rem;}}}@include media-breakpoint-up(xl){&:not(:hover){.carousel-control-prev, .carousel-control-next{opacity: 0;}}}.carousel-item, .o_carousel_product_indicators, .carousel-indicators{transition: transform 0.3s ease-in-out;}.o_carousel_product_indicators{max-height: 400px; @include media-breakpoint-up(lg){.carousel-indicators{justify-content: start; li{width: 64px; height: 64px; text-indent: unset; border: 1px solid gray('500'); opacity: 0.5; position: relative; transition: opacity 0.3s; .o_product_video_thumb{@include o-position-absolute(0, 0, 0, 0); background-color: rgba(black, 0.5); color: #e0e0e0; text-align: center; line-height: 64px;}&.active{border: 1px solid theme-color('primary'); box-shadow: 0 0 2px 2px rgba(theme-color('primary'), 0.5);}&.active, &:hover{opacity: 1;}}}}}@include media-breakpoint-down(md){&.o_carousel_product_left_indicators{flex-direction: column-reverse;}.carousel-indicators{padding-top: 0px !important; justify-content: center; li{width: 8px; height: 8px; min-width: 8px; border-radius: 50%; border: 2px solid gray('500'); &.active{background-color: gray('500');}> div{display: none;}}}}}.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;}.zoomodoo-flyout{box-shadow: 0 0 20px 2px rgba(black, 0.2);}}#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;}.o_mycart_zoom_animation{transform: scale(1.4); transition: all 0.3s ease-in-out;}.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;}// customer reviews .o_product_page_reviews_title{.fa{font-size: 1.4rem; color: theme-color('primary'); &:before{content: "\f067";}}&:not(.collapsed){.fa:before{content: "\f068";}}}#o_product_page_reviews_content{.o_website_rating_avg{h1{font-size: 3.5rem;}}.o_portal_chatter_composer{position: sticky; transition: top 200ms;}.o_portal_chatter_messages > .o_portal_chatter_message{border-bottom: 1px solid rgba(0, 0, 0, 0.1);; padding: 1rem 0; margin-bottom: 1rem;}.o_portal_chatter_avatar{border-radius: 50%;}}

/* /website_sale/static/src/scss/website_mail.scss defined in bundle 'web.assets_frontend' */
 .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;}}}

/* /website_sale/static/src/scss/website_sale_frontend.scss defined in bundle 'web.assets_frontend' */
//## 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;}}}

/* /website/static/lib/multirange/multirange_custom.scss defined in bundle 'web.assets_frontend' */
// This code has been more that widely inspired by the multirange library // which can be found on https://github.com/LeaVerou/multirange. // The license file can be found in the same folder as this file. input[type="range"][multiple]{pointer-events: none; visibility: hidden; &::-webkit-slider-thumb{pointer-events: auto;}&::-moz-range-thumb{pointer-events: auto;}&.reverse{direction: rtl;}&.multirange{width: 100%; padding: 0; margin: 0; display: inline-block; vertical-align: top; &::-webkit-slider-thumb{height: 16px; width: 16px;}&.original{position: absolute; &::-webkit-slider-thumb{position: relative; z-index: 2;}&::-moz-range-thumb{transform: scale(1); z-index: 1;}}&::-moz-range-track{border-color: transparent;}&.ghost{border-radius: 45%; position: relative; background: var(--track-background); --track-background: linear-gradient(to right, transparent var(--low), #{theme-color('primary')}var(--low) var(--high), transparent 0) no-repeat 50% / 100% 35%; &::-webkit-slider-runnable-track{background: var(--track-background);}&::-moz-range-track{background: var(--track-background);}}}}.multirange-wrapper{position: relative; margin: 3rem 0; visibility: hidden; input[type="range"][multiple]{visibility: initial;}[x-out-of-boundaries]{display: none;}}.tip-locator{position: absolute;}

/* /sale/static/src/scss/product_configurator.scss defined in bundle 'web.assets_frontend' */
.css_attribute_color{position: relative; display: inline-block; border: 5px solid gray('300'); border-radius: 50%; text-align: center; transition: border 200ms; &:before{content: ""; display: block; @include o-position-absolute(-3px, -3px, -3px, -3px); border: 4px solid white; border-radius: 50%; box-shadow: inset 0 0 3px rgba(black, 0.3);}input{margin: 8px; height: 13px; width: 13px; opacity: 0;}&.active{border: 5px solid theme-color('primary');}&.custom_value{background-image: linear-gradient(to bottom right, #FF0000, #FFF200, #1E9600);}}.css_not_available_msg{display: none;}.css_not_available.js_product{.css_quantity{display: none !important;}.css_not_available_msg{display: block;}.js_add, .oe_price, .oe_default_price, .oe_optional{display: none;}}.css_quantity{width: initial; // We don't want the quantity form to be full-width .btn{background: gray('200'); color: theme-color('primary'); font-weight: normal; padding: 0.7rem; border: none;}input{background-color: gray('100'); height: auto; max-width: 50px; padding: 0.7rem; text-align: center; border-color: gray('200');}}option.css_not_available{color: #ccc;}select.custom-select.css_attribute_select{background: str-replace(url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='175' height='100' fill='#{theme-color('primary')}'><polygon points='0,0 100,0 50,50'/></svg>"), "#", "%23") ; background-size: 25px; background-position: 100% 75%; background-repeat: no-repeat; max-width: 400px;}label, .o_variant_pills{&.css_not_available{opacity: 0.6;}}label.css_attribute_color.css_not_available{opacity: 1; &:after{content: ""; @include o-position-absolute(-5px, -5px, -5px, -5px); border: 2px solid theme-color('danger'); border-radius: 50%; background: str-replace(url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='39' height='39'><line y2='0' x2='39' y1='39' x1='0' style='stroke:#{theme-color('danger')};stroke-width:2'/><line y2='1' x2='40' y1='40' x1='1' style='stroke:rgb(255,255,255);stroke-width:1'/></svg>"), "#", "%23") ; background-position: center; background-repeat: no-repeat;}}.radio_input_value, select, label{.badge{margin-left: 3px; padding-left: 3px;}.sign_badge_price_extra{display: inline-block; width: 1rem; height: 1rem; color: theme-color('primary'); background: white; line-height: 1rem; border-radius: 50%;}}.variant_attribute{padding-bottom: 1rem; .attribute_name{display: flex; align-items: center; font-size: 0.9rem; text-transform: uppercase; padding-bottom: 0.5rem; &:after{content: ''; margin-left: $spacer; flex-grow: 1; border-bottom: 1px solid gray('400');}}.radio_input_value{font-weight: 400; &:not(.o_variant_pills_input_value){margin-right: $spacer; &, > span{vertical-align: middle;}}&.o_variant_pills_input_value{.badge{color: gray('600'); background: white; border: 1px solid theme-color('primary'); &, > span{vertical-align: middle;}.sign_badge_price_extra{font-size: 1.1rem;}}}}.variant_custom_value{margin-bottom: 0.7rem; &.custom_value_radio{display: inline-block;}}select{margin-bottom: 0.5rem;}ul.list-inline{margin-left: 0;}.o_variant_pills{padding: $spacer/2 $spacer; margin-right: 0.2rem; border: none; cursor: default !important; &.btn.active{background-color: theme-color('primary');}&:not(.active){color: gray('600'); background-color: gray('200');}&.css_not_available{pointer-events: none;}}}.o_product_configurator{.product_detail_img{max-height: 240px;}}.table-striped tbody tr:nth-of-type(odd){.o_select_options{background-color: rgba(0, 0, 0, 0.025);}.o_total_row{font-size: 1.2rem;}}.modal.o_technical_modal .oe_advanced_configurator_modal .btn.js_add_cart_json{padding: 0.075rem 0.75rem;}.js_product{.td-product_name{word-wrap: break-word;}.td-product_name{min-width: 140px;}.td-img{width: 100px;}.td-qty{width: 200px; a.input-group-addon{background-color: transparent; border: 0px;}.input-group{display: inline-flex;}}.td-action{width: 30px;}.td-price, .td-price-total{width: 120px;}@include media-breakpoint-down(sm){.td-img, .td-price-total{display: none;}.td-qty{width: 60px;}.td-price{width: 80px;}}@media (max-width: 476px){.td-qty{width: 60px;}#modal_optional_products table thead, .oe_cart table thead{display: none;}#modal_optional_products table td.td-img, .oe_cart table td.td-img{display: none;}}}.o_total_row{height: 50px;}.oe_striked_price{text-decoration: line-through; white-space: nowrap;}.o_list_view{.o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier){.o_field_widget .o_edit_product_configuration{padding: 0; background-color: inherit; margin-left: 3px;}}}

/* /odoo_marketplace/static/src/css/marketplace.css defined in bundle 'web.assets_frontend' */
 .invalide_url{box-shadow: 0 0 8px #f00 !important;}.url_info .popover{width: 100%; color: #fff; background: #333;}.url_info .popover.right .arrow:after{border-right-color: #333;}.url_info .popover-body{color: #fff; font-size:14px;}.panel.with-mp-nav-tabs .panel-heading{padding: 5px 5px 0 5px;}.panel.with-mp-nav-tabs .nav-tabs{border-bottom: none;}.panel.with-mp-nav-tabs .nav-justified{margin-bottom: -1px;}.with-mp-nav-tabs.panel-default .nav-tabs > li > a, .with-mp-nav-tabs.panel-default .nav-tabs > li > a:hover, .with-mp-nav-tabs.panel-default .nav-tabs > li > a:focus{color: #777;}.with-mp-nav-tabs.panel-default .nav-tabs > .open > a, .with-mp-nav-tabs.panel-default .nav-tabs > .open > a:hover, .with-mp-nav-tabs.panel-default .nav-tabs > .open > a:focus, .with-mp-nav-tabs.panel-default .nav-tabs > li > a:hover, .with-mp-nav-tabs.panel-default .nav-tabs > li > a:focus{color: #777; background-color: #ddd; border-color: transparent;}.with-mp-nav-tabs.panel-default .nav-tabs > li.active > a, .with-mp-nav-tabs.panel-default .nav-tabs > li.active > a:hover, .with-mp-nav-tabs.panel-default .nav-tabs > li.active > a:focus{color: #555; background-color: #fff; border-color: #ddd; border-bottom-color: transparent;}.seller-landing-page{background-image: url("/odoo_marketplace/static/src/img/mp1.jpg"); background-color: black; opacity: 0.5;}.hilight h2{font-family: Helvetica, Verdana; color: #FFF; z-index: 200;}.promo{position: relative;}.promo img{z-index: 1;}.hilight{background-color: #000; position: absolute; height: 100%; width: 100%; opacity: 0.55; font-family: Verdana, Geneva, sans-serif; color: #FFF; bottom: 0px; z-index: 1; text-align: center;}.sell_page_main_div{position: absolute; height: 100%; width: 100%; font-family: Verdana, Geneva, sans-serif; color: #FFF; bottom: 0px; z-index: 1; text-align: center; padding: 15%;}.mp_hexagon{width: 36px; height: 20px; background: #3b97e7; position: relative; color: white;}.mp_hexagon:before{content: ""; position: absolute; top: -9px; left: 0; width: 0; height: 0; border-left: 18px solid transparent; border-right: 18px solid transparent; border-bottom: 9px solid #3b97e7;}.mp_hexagon:after{content: ""; position: absolute; bottom: -9px; left: 0; width: 0; height: 0; border-left: 18px solid transparent; border-right: 18px solid transparent; border-top: 9px solid #3b97e7;}.feature-text{font-weight: 600;}.seller-register{margin-bottom: 32px; padding-bottom: 10px; border-bottom: 1px solid #E2E2E2; font-style: normal; font-weight: bold; font-size: 18px; line-height: 25px; text-transform: uppercase;}.seller-profile-pic{max-width: 265px; border: 10px solid #A4A4A4; position: absolute; height: 200px; width: 200px; top: -115px; z-index: 18;}div.sort{font-family: robotoLight;}.sort{line-height: 38px; background: #F5F5F5;}.reviewer-imgName{padding-left: 2px; font-size: 25px; line-height: 54px; color: #fff; text-align: center; width: 55px; height: 55px; margin-top: 0px; border-radius: 50%; font-family: robotoRegular; display: inline-block;}.reviewer-image{}.seller-review-bubble{position: relative; background: #FFFFFF; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 3px; border: #DDDDDD solid 1px;}.seller-review-bubble:after{content: ''; position: absolute; border-style: solid; border-width: 15px 14px 15px 0; border-color: transparent #FFFFFF; display: block; width: 0; z-index: 1; left: -14px; top: 20px;}.seller-review-bubble:before{content: ''; position: absolute; border-style: solid; border-width: 15px 14px 15px 0; border-color: transparent #DDDDDD; display: block; width: 0; z-index: 0; left: -15px; top: 20px;}.mp-sprite{background: url("/odoo_marketplace/static/src/img/icon-like-unlike.png") no-repeat 0 0;}.mp-TopLeft{width: 29px; height: 30px; display: inline-block;}.mp-TopRight{width: 30px; height: 30px; display: inline-block; background-position:-30px 0;}.mp-BottomLeft{width: 28px; height: 30px; display: inline-block; background-position: 0 -30px;}.mp-BottomRight{width: 29px; height: 30px; display: inline-block; background-position:-30px -30px;}div.mp-TopLeft:hover{background-position: 0 -30px; cursor: pointer;}div.mp-TopRight:hover{background-position:-30px -30px; cursor: pointer;}div.mp-BottomLeft:hover{background-position: 0 0px; cursor: pointer;}div.mp-BottomRight:hover{background-position:-30px 0; cursor: pointer;}.fa-icon-smaller{font-size:0.7em;}.mp-bubble{background: #fff; border: 1px solid #f4f4f4; border-radius: 3px; color: #c3c3c3; font-size: 14px; text-align: center; padding: 10px 20px; text-transform: uppercase; font-family: "robotoRegular"; cursor: default; width: auto; cursor: default; border: solid 1px #e9e9e9; margin-left: 94px; border-radius: 3px; position: relative;}.mp-bubble:after{left: -10px;}.mp-bubble:before{border-width: 3px 6px 3px 5px; top: 5px;}.seller-review-bottom{background: whitesmoke; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; padding-top: 5px; padding-bottom: 5px;}.middle-grey-button:before{border-width: 3px 6px 3px 5px; top: 5px;}.middle-grey-button:before{left: -10px;}.text{position: relative; height: 25px;}.middle-grey-button{background: #fff; border: 1px solid #DDDDDD; border-radius: 3px; color: #c3c3c3; font-size: 14px; text-align: center; padding: 10px 20px; text-transform: uppercase; font-family: "robotoRegular"; cursor: default; width: auto; cursor: default;}.middle-grey-button.text:before{left: -10px;}.text:before{border-color: transparent #fff transparent transparent; left: -19px; z-index: 1; position: absolute; border-width: 10px; content: ""; border-style: solid; top: 26px;}.text:after{border-color: transparent #DDDDDD transparent transparent; left: -20px; position: absolute; border-width: 10px; content: ""; border-style: solid; top: 26px;}.middle-grey-button.text:after{left: -12px;}.middle-grey-button.text:after, .middle-grey-button.text:before{border-width: 3px 6px 3px 5px; top: 8px;}.mp-load-more-btn{background-color: whitesmoke; border-color: whitesmoke;}.mp-load-more-btn:hover{background-color: #DDDDDD;}.rating-bar-star{position: relative; bottom: 100px; text-align: center;}.star-progress-bar{height: 10px; margin-bottom: 1px; width: 70%; display: -webkit-inline-box;;}.review-tiles{border: 1px solid; padding: 10px; border-radius: 3px; border-color: #DDDDDD;}.tile1-header{font-family: 'Open Sans'; font-weight: 600; font-size: 24px; color: #000000; text-align: center; background-color: whitesmoke; margin-bottom: 0px;}.hide-comment{display: none;}.submit-error-msg{border-radius: 5px; padding: 6px 12px; width:100%;}li>#most_helpful_tab:hover{background-color: antiquewhite; cursor:pointer;}li>#most_recent_tab:hover{background-color: antiquewhite; cursor:pointer;}.active-sort-tab{color:#23527c; border-top: 2px solid #23527c; border-bottom: 2px solid #23527c;}a.active-sort-tab{color:#23527c;}.default-color{color:currentColor;}.mp-box-review_loader{position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(/odoo_marketplace/static/src/img/marketplace_loader.gif) center no-repeat rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px white;}section#seller_review_discussion section.mb32.hidden-print{display: none;}section#seller_review_discussion ul.media-list.marketplace_mail_comments li.media{display: none;}#mp_shop_content{padding: 5px 15px 24px 15px;}#mp_shop_content:hover #shop_products_sales{visibility:hidden;}#btn_seller_shop{visibility:hidden;}#mp_shop_content:hover #btn_seller_shop{position:inherit; visibility:visible;}#shop_products_sales{position:absolute;}#mp_shop_content:hover{background: rgba(0, 0, 0, 0.7); color: white;}.oe_product.oe_ribbon_promo .wk_ribbon-wrapper{display: block;}.oe_product .wk_ribbon-wrapper{display: none; width: 85px; height: 88px; z-index: 5; overflow: hidden; top: 0; right: 0;}.oe_product .wk_ribbon{font: bold 15px Sans-Serif; color: white; text-align: center; -webkit-transform: rotate(-45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); position: relative; padding: 7px 0; left: -30px; top: 15px; width: 120px; cursor: default; z-index: 5;}@media (min-width: 992px){#sellers_grid.oe-height-1{height: 95px;}#sellers_grid.oe-height-2{height: auto;}#sellers_grid.oe-height-4{height: 380px;}#sellers_grid.oe-height-6{height: 570px;}#sellers_grid.oe-height-8{height: 760px;}}@media (min-width: 1200px){#sellers_grid.oe-height-1{height: 95px;}#sellers_grid.oe-height-2{height: auto;}#sellers_grid.oe-height-4{height: 380px;}#sellers_grid.oe-height-6{height: 570px;}#sellers_grid.oe-height-8{height: 760px;}}@media (max-width: 768px){#sellers_grid table, #sellers_grid tbody, #sellers_grid tr, #sellers_grid td{float: left; width: 100%; display: inline-block;}}.all-seller-label{font-family: Helvetica; font-weight: 700; font-size: 25px; color: #333333;}.all-seller-count{font-family: Helvetica; font-weight: 400; font-size: 14px; color: #333333;}.all-seller-avl{font-family: Helvetica; font-weight: 400; font-size: 14px; color: #555555;}.grid-seller-name{font-family: Helvetica; font-weight: 700; font-size: 16px; color: #333333;}.grid-seller-detail{font-family: Helvetica; font-style: italic; font-weight: 700; font-size: 12px; color: #777777;}.seller-shop-name{font-family: Helvetica; font-size: 14px; color: #337AB7; font-weight: 700;}.shop-tag-line{font-family: Helvetica; font-size: 12px; color: #333333; font-weight: 700;}.view-profile{font-family: Helvetica; font-size: 12px; font-style: italic; color: #337AB7; font-weight: 700;}.sold-by-label{font-family: Helvetica; font-weight: 700; font-size: 12px; color: #555555;}.pp-addrees{font-family: Helvetica; font-weight: 700; font-size: 12px; font-style: italic; color: #333333;}div#shop_all_product .pagination{margin-top: -8px; margin-bottom: 20px;}.oe_mp_product{position: relative;}.oe_mp_product section{position: absolute; left: 0; right: 0; bottom: 0; overflow: hidden; padding: 0 15px 0 10px; min-height: 56px; border-top: 1px solid rgba(255,255,255,0.2); background: rgba(255, 255, 255, 0.75); z-index: 5;}.mp_wrap_content{word-wrap: break-word;}

/* /odoo_marketplace/static/src/css/marketplace_snippet.css defined in bundle 'web.assets_frontend' */
 .sell_page_main_div_snipp2{height: 500px; width: 100%; font-family: Verdana, Geneva, sans-serif; color: #FFF; padding: 2% 4%;}.sell_page_main_div_snipp3{height: 500px; width: 100%; font-family: Verdana, Geneva, sans-serif; color: #FFF; padding: 2% 4%;}.sell_page_main_div_snipp4{height: 400px; width: 100%; font-family: Verdana, Geneva, sans-serif; color: #FFF;}.border_right_content{border: 2px dashed #00000026; border-right:none; border-radius: 200px 10px 10px 200px; -moz-border-radius: 200px 10px 10px 200px; -webkit-border-radius: 279px 64px 10px 44%; border: 6px 0 dashed #E4E4E4; border-radius: 31% 0% 0% 31% / 100% 0% 0% 100%; z-index: 99999999999999; color:#4C5267;}.border_left_content{border: 2px dashed #00000026; border-left:none; border-radius: 10px 200px 200px 10px; -moz-border-radius: 10px 200px 200px 10px; -webkit-border-radius: 64px 279px 44% 10px; border: 6px 0 dashed #E4E4E4; border-radius: 0% 31% 31% 0%/ 0% 100% 100% 0%; color:#4C5267;}.border_left_content::after, .border_left_content::before{background-color: white; content: ""; display: block; height: 3px; position: absolute; width: 80%;}.border_left_content::after{bottom: 0px; left: -2px;}.border_left_content::before{top: 0px; left: -2px;}.show_bottom_border::after{left: -18%; height: 2px; content: ""; width: 18%; background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='rgba(0, 0, 0, 0.15)' stroke-width='4' stroke-dasharray='6%2c 7' stroke-dashoffset='3' stroke-linecap='square'/%3e%3c/svg%3e");}.top_border_extent::before{top:0px; right: -18%; height: 2px; position: absolute; content: ""; width: 18%; background-image: url("data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' stroke='rgba(0, 0, 0, 0.15)' stroke-width='4' stroke-dasharray='6%2c 7' stroke-dashoffset='3' stroke-linecap='square'/%3e%3c/svg%3e");}.sell_page_main_div_snipp2_bg_img{height: 100%; width: 100%; border-radius: 15px; padding: 4% 3%;}.sell_page_main_div_snipp3_bg_img{height: 100%; width: 100%; border-radius: 15px; padding: 2% 1%; position: relative;}.sell_page_main_div_snipp4_bg_img{height: 100%; width: 100%; position: relative;}.inner_page_main_div_2{height: fit-content; width: 60%; background-color: rgba(244,244,244, 0.5); padding: 1.5%; border-radius: 15px; color: #5E5E5E; font-weight:550;}.inner_page_main_div_4{position: absolute; z-index: 1; left: 50%; transform: translate(-50%, 0%); width: 65%; font-family: Poppins; text-align: center; text-transform: capitalize; color: #FFFFFF;}.inner_page_main_div_3{position: absolute; z-index: 1; left: 50%; transform: translate(-50%, 0%); bottom: -25%; width: 70%; background-color: #fff; padding: 3%; color: #5E5E5E; font-weight:550; box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.25); border-radius: 20px;}.main_head_snipp_2{color: #FFF; font-weight: 600; font-size: 32px; line-height: 127.7%;}.main_head{font-weight: bold; font-size: 48px; line-height: 165.7%;}.main_center_snipp2{font-family: Open Sans; font-style: normal; font-weight: normal; font-size: 20px; line-height: 150.7%; text-transform: capitalize; color: #FFF;}.store_button>a{background-color: #ffb703 !important;}.img_border{border-right: 1px solid #6D6D6D;}@media (max-width: 992px){.main_head_snipp_2{font-weight: 600; font-size: 36px; line-height: 125.7%;}.main_center_snipp2{font-size: 18px; line-height: 125.7%;}}@media (max-width: 768px){.sell_page_main_div_snipp2_bg_img{text-align: center; display: flex; justify-content: center;}.sell_page_main_div_snipp2{height: 540px;}.sell_page_main_div_snipp3{height: 350px; width: 100%;}.sell_page_main_div_snipp4{height: 250px; width: 100%;}.main_head_snipp_2, .main_head{font-weight: 600; font-size: 24px; line-height: 165.7%;}.border_left_content, .border_right_content{border: none;}.img_border{border-right: none;}}

/* /odoo_marketplace/static/src/css/star-rating.css defined in bundle 'web.assets_frontend' */
 .rating-loading{width: 25px; height: 25px; font-size: 0px; color: #fff; background: transparent url('/odoo_marketplace/static/src/css/../img/marketplace_loader.gif') top left no-repeat; border: none;}.rating-fa{font-family: 'FontAwesome'; padding-left: 1px;}.rating-fa .rating-stars:before{padding-left: 1px;}.rating-gly{font-family: 'Glyphicons Halflings';}.rating-gly-star{font-family: 'Glyphicons Halflings'; padding-left: 2px;}.rating-gly-star .rating-stars:before{padding-left: 2px;}.rating-lg .rating-gly-star, .rating-lg .rating-gly-star .rating-stars:before{padding-left: 4px;}.rating-xl .rating-gly-star, .rating-xl .rating-gly-star .rating-stars:before{padding-left: 2px;}.rating-active{cursor: default;}.rating-disabled{cursor: not-allowed;}.rating-uni{font-size: 1.2em; margin-top: -5px;}.rating-container{position: relative; vertical-align: middle; display: inline-block; color: #e3e3e3; overflow: hidden;}.rating-container:before{content: attr(data-content);}.rating-container .rating-stars{position: absolute; left: 0; top: 0; white-space: nowrap; overflow: hidden; color: #fde16d; transition: all 0.25s ease-out; -o-transition: all 0.25s ease-out; -moz-transition: all 0.25s ease-out; -webkit-transition: all 0.25s ease-out;}.rating-container .rating-stars:before{content: attr(data-content); text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);}.rating-container-rtl{position: relative; vertical-align: middle; display: inline-block; overflow: hidden; color: #fde16d;}.rating-container-rtl:before{content: attr(data-content); text-shadow: 0 0 1px rgba(0, 0, 0, 0.7);}.rating-container-rtl .rating-stars{position: absolute; left: 0; top: 0; white-space: nowrap; overflow: hidden; color: #e3e3e3; transition: all 0.25s ease-out; -o-transition: all 0.25s ease-out; -moz-transition: all 0.25s ease-out; -webkit-transition: all 0.25s ease-out;}.rating-container-rtl .rating-stars:before{content: attr(data-content);}.rating-xl{font-size: 4.89em;}.rating-lg{font-size: 3.91em;}.rating-md{font-size: 3.13em;}.rating-sm{font-size: 2.5em;}.rating-xs{font-size: 2em;}.star-rating .clear-rating, .star-rating-rtl .clear-rating{color: #aaa; cursor: not-allowed; display: inline-block; vertical-align: middle; font-size: 60%;}.clear-rating-active{cursor: pointer !important;}.clear-rating-active:hover{color: #843534;}.star-rating .clear-rating{padding-right: 5px;}.star-rating .caption, .star-rating-rtl .caption{color: #999; display: inline-block; vertical-align: middle; font-size: 55%;}.star-rating .caption{padding-left: 5px;}.star-rating-rtl .caption{padding-right: 5px;}@media print{.rating-container, .rating-container:before , .rating-container-rtl .rating-stars, .rating-container-rtl .rating-stars:before{color: #f3f3f3!important;}.star-rating .clear-rating, .star-rating-rtl .clear-rating{display: none;}}

/* /odoo_marketplace/static/src/css/review_chatter.scss defined in bundle 'web.assets_frontend' */
.wk_message_thread{display: None; .o_portal_chatter{display: none;}.o_portal_chatter_header{display: none;}.o_portal_chatter_composer{display: none;}.o_portal_chatter_messages{display: none;}}

/* /odoo_website_sale_rental/static/src/css/website_sale_rental.css defined in bundle 'web.assets_frontend' */
 .rental_product_section{position: absolute; left: 16px; right: 16px; bottom: 21px; min-height: 56px; z-index: 5; overflow: hidden; padding: 7px 10px 6px 10px; border-top: 1px solid rgb(221, 221, 221); background: rgba(255, 255, 255, 0.75)}.thumbnail_div{display: block; padding: 4px; margin-bottom: 20px; line-height: 1.42857143; background-color: #ffffff; border: 1px solid #dddddd; border-radius: 4px; -webkit-transition: border 0.2s ease-in-out; -o-transition: border 0.2s ease-in-out; transition: border 0.2s ease-in-out;}.price_info .popover{font-weight: bold;}.price_info .popover.right .arrow:after{border-right-color: #333; background-color: #f8f8f8;}.invalid{border: 2px solid #a94447 !important; color:#a94447 !important; box-shadow: 0 0 3px #f00 !important;}.valid{border: 2px solid #3c753d !important; color:#3c753d !important; box-shadow: 0 0 3px #008000 !important;}.rental_loader{position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(/odoo_website_sale_rental/static/src/img/rental_loader.gif) center no-repeat rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px white;}.tenure_radio label{width: 100%; border-radius: 3px; border: 1px solid #D1D3D4; font-weight: normal;}.tenure_radio input[type="radio"]:empty{display: none;}.tenure_radio input[type="radio"]:empty ~ label{position: relative; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; margin-bottom:0px; font-size:15px; padding: 6px; padding-left: 24px; border-color: #eeeeee; opacity: 0.8; box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.08);}.tenure_radio input[type="radio"]:empty ~ label:before{position: absolute; display: block; top: 0; bottom: 0; left: 0; content: ''; width: 0.4em; font-size: 20px; background: #D1D3D4; border-radius: 3px 0 0 3px; color: #C2C2C2;}.tenure_radio input[type="radio"]:hover:not(:checked) ~ label{background-color: #88888814;}.tenure_radio input[type="radio"]:hover:not(:checked) ~ label:before{content: ''; color: #C2C2C2;}.tenure_radio input[type="radio"]:checked ~ label{background-color: #dae0ee;}.tenure_radio input[type="radio"]:checked ~ label:before{content: ''; color: #333; background-color: #ccc;}.tenure_radio input[type="radio"]:focus ~ label:before{box-shadow: 0 0 0 3px #999;}.tenure_radio-success{padding: 2%; margin: 0;}.tenure_radio-success input[type="radio"]:checked ~ label:before{color: #fff; background-color: #387ab7;}.tenure_radio-success input[type="radio"]:checked ~div{border:1px solid #387ab7 !important;}

/* /website_sale_delivery/static/src/scss/website_sale_delivery.scss defined in bundle 'web.assets_frontend' */
@include media-breakpoint-down(sm){.o_wsale_delivery_badge_price{max-width: 130px; text-overflow: ellipsis; overflow: hidden;}}#delivery_method .o_delivery_carrier_select:hover{cursor: pointer;}

/* /marketplace_hyperlocal_system/static/src/scss/wk_hyperlocal.scss defined in bundle 'web.assets_frontend' */
 .my_location{font-size: 20px !important; line-height: 1.9 !important; color: white; cursor: pointer;}#pac-input{width: 100%; box-sizing: border-box; border: 2px solid #ccc; border-radius: 4px; font-size: 15px; background-color: white; background-image: url('/marketplace_hyperlocal_system/static/src/img/ic_search.svg'); background-position: 10px 10px; background-repeat: no-repeat; padding: 12px 20px 12px 40px;}#pac-input:focus{width: 99%;}.pac-container{z-index: 99999; width: 75%}// #hyperlocalmodal{// padding-top: 12%; //}#selected-location{cursor: pointer; margin-left: 2px; font-size: 13px; color: white; position: relative; bottom: 5px; display: inline;}#locationWarning{z-index: 9999;}#address-for-shop{background: #31374A; min-height: 40px; padding-left: 5%;}#wk_location{color: #333333; font-weight: bold; font-size: 20px; border-radius: 10px; margin-bottom: -3%;}#wk_header{border-bottom:0px;}#wk_content{padding: 3%;}#wk_close{margin: -4%;}#wk_shop_btn{color: #ffffff; font-size: 14px; border-radius: 4px; background-color: #F05135; box-shadow: 0px 1px 0.94px 0.06px rgba(0,0,0,0.24), 0px 0px 1.96px 0.04px rgba(0,0,0,0.16);}#wk_shop_btn_err{color: #ffffff; font-size: 14px; border-radius: 4px; background-color: #2c9b41; box-shadow: 0px 1px 0.94px 0.06px rgba(0,0,0,0.24), 0px 0px 1.96px 0.04px rgba(0,0,0,0.16);}#wk_modal_content{position: absolute; z-index: 101; top: 45px; left: 0; right: 0; background: #ffffff; text-align: center; line-height: 2.5; border-top: 4.5px solid #ff5151;}#wk_div_warning{float: right;}#wk_btn_warning{background: #2fa545; color: #ffffff; border-radius: 4px; font-size: 14px;}#wk_btn_warning_close{background: #fc6161; color: #ffffff; border-radius: 4px; font-size: 14px;}@media screen and (min-width: 992px){#wk_modal_lg{width: 1150px;}}

/* /marketplace_vendor_signup/static/src/css/vendor_signup.css defined in bundle 'web.assets_frontend' */
 .mp_form{max-width: 45% !important;}@media only screen and (max-width: 768px){.mp_form{max-width: 100% !important;}#group_progress li{font-size: 7px !important; margin-right: 0px;}}@media screen and (max-width: 900px) and (min-width: 600px){.mp_form{max-width: 80% !important;}#group_progress li{font-size: 7px !important; margin-right: 0px;}}.oe_signup_form fieldset{box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.13);}.action-button{color: white !important;}.oe_signup_form .form-control{background: #EEEEEE;}#wk_mp fieldset:not(:first-of-type){display: none}.wk_warning{border-color:#dc3545;}.wk_boolean_warning{color: #dc3545;}#group_progress{margin-bottom: 30px; overflow: hidden; color: lightgrey}#group_progress .active{color: #000000}#group_progress li{list-style-type: none; font-size: 12px; width: 25%; float: left; position: relative;}#group_progress li:before{font-family: FontAwesome; content: "\f192"}#group_progress li:before{width: 20px; height: 19px; line-height: 16px; display: block; font-size: 18px; color: #ffffff; background: lightgray; border-radius: 50%; margin: 15px auto 10px auto; padding: 2px 2px 2px 2px;}#group_progress li:after{content: ''; width: 100%; height: 2px; background: lightgray; position: absolute; left: 0; top: 25px; z-index: -1}#group_progress li.active:before, #group_progress li.active:after{background: #000000;}#group_progress li:nth-child(n):after{left: -50%}#group_progress li:first-child:after{left: 50%}.seller-register-multistep{margin-bottom: 20px; padding-bottom: 10px; border-bottom: 1px solid #E2E2E2; font-style: normal; font-weight: bold; font-size: 18px; line-height: 25px; text-transform: uppercase;}

/* /payment_stripe_marketplace/static/src/css/frontent_stripe.css defined in bundle 'web.assets_frontend' */
 #payment_stripe_loader{position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(/odoo_marketplace/static/src/img/marketplace_loader.gif) center no-repeat rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px white;}

/* /website_product_advance_filters/static/src/css/product_filters.css defined in bundle 'web.assets_frontend' */
 .p_filter_group{margin-top: 40px; margin-bottom: 30px;}.p_filter_header{color: white; cursor: pointer;}.flt_heading{background-color: #2c6fae; color: #FFFFFF; padding: 8px 11px; font-size: 18px; border-width: 1px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-color: #1c629e; box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.14);}.cat_main{color: #222222; font-weight: bold; font-size: 15px; padding: 7px; cursor: pointer; border-bottom: 1px solid #c9c9c9;}li.cat_main:last-of-type{border-bottom: 0;}.cat_main > a{display: inline-block !important; color: #222222 !important; padding: 2px 2px 2px 7px !important;}.cat_main > a:hover{background-color: unset !important; color: #2468A6 !important;}.sel_cat{color: #2468A6; font-weight: bold; font-size: 15px; padding: 7px;}.sel_cat > span{padding: 2px 2px 2px 7px;}.cat_back{color: #666666; border-bottom: 1px solid #c9c9c9; font-weight: bold; font-size: 15px; padding: 7px; cursor: pointer;}.cat_back > a{display: inline-block !important; color: #666666 !important; padding: 2px 2px 2px 7px !important;}.cat_back > a:hover{background-color: unset !important; color: #2468A6 !important;}.set_p_filters{font-size: 12px; font-weight: normal; color: #2468A6;}.remove_fltr_value{background-color: #FFFFFF; color: #484848; padding: 2px 6px; text-align: center; display: inline-block; margin: 4px 2px; cursor: pointer; border: 1px solid #2d6eae; border-radius: 4px; font-size: 14px;}.p_filter_icon{border: 2px solid #2d6eae; border-radius: 15px; content: ''; padding: 0px 4px; color: #2d6eae; font-size: 15px;}.fltr_box input{opacity: 0; display: none;}.flt_label{font-weight: 100; padding-left: 5px !important;}.flt_mark{content: ''; position: absolute; border: 1px solid; width: 16px; height: 16px; left: -1px; top: 2px; border-radius: 3px; background-color: white;}.flt_mark:after{content: ''; width: 9px; height: 5px; position: absolute; top: 4px; left: 3px; border: 3px solid #2468A6; border-top: none; border-right: none; background: #c42e2e00; opacity: 0; -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}.fltr_box:hover{color: #2468A6;}.fltr_box input:checked ~ .flt_label{color: #2468A6;}.fltr_box input:checked ~ .flt_mark:after{opacity: 10;}.flt_label:before{content: none !important;}.wk_filter_catg_form{margin: 10px 0px 10px 15px;}.wk_filter_catg{margin-top: 0px !important;}.wk_filter_catg_div{border: 1px solid #e1e1e1;"}

/* /website_quote_system/static/src/css/quote_form.css defined in bundle 'web.assets_frontend' */
 td{padding : 5px ; padding-right: 0px; margin: 4px;}.qty_error , .price_error{display: none; margin-left: 0px;}.qty_error_show , .price_error_show{color: #ad4442; margin-left: 0px; font-size: 12px;}input.invalid{border: 2px solid #ad4442;}input.valid{border: 2px solid #3c753d;}.quote_loader{position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(/website_quote_system/static/src/img/quote_loader.gif) center no-repeat rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px white;}.btn-xs{padding: 0.5rem 0.4rem !important; font-size: .875rem !important; line-height: .5 !important; border-radius: .2rem !important;}

/* /whatsapp_sharing_bot/static/src/scss/whatsapp_sharing_bot.scss defined in bundle 'web.assets_frontend' */
 .wk_missing{border:1px solid red !important;}

/* /clarity_backend_theme_bits/static/src/scss/login.scss defined in bundle 'web.assets_frontend' */
#wrapwrap{.login-view-bits{.card{padding: 15px; box-shadow: 0px 0px 10px #d2d1d1; background-color: #fff !important; border-radius: 20px; .input-group{a.btn{background-color: #282828; color: #fff !important; border-radius: 0px 8px 8px 0px !important; display: flex; align-items: center; i{color: #fff !important;}}}input,.form-control{display: block; width: 100%; padding: 0.775rem 1rem; font-size: 1.1rem; font-weight: 500; line-height: 1.5; color: #4B5675; appearance: none; background-clip: padding-box; border: 1px solid #DBDFE9; border-radius: 0.475rem; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; &#db{border-radius: 8px 0px 0px 8px !important;}}.col-form-label,.form-label{font-size: 14px !important; font-weight: bold !important;}}.oe_login_buttons{.btn-primary[type=submit]{padding: 14px; border-radius: 8px; background: #282828; color: #fff; &:hover,&:active,&:focus{color: #282828; background: #fff; border: 1px solid #282828;}}a,button.btn{font-size: 12px; font-weight: 600;}}div.small{a,button.btn{font-size: 12px; font-weight: 600;}}}}

/* /auth_oauth/static/src/scss/auth_oauth.scss defined in bundle 'web.assets_frontend' */
.o_auth_oauth_providers{.fa-facebook-square{color: #3b5998;}.fa-google-plus-square{color: #de564a;}.o_custom_icon{margin: 0 0.15em; @include size(1em); border: 3px solid #875A7B; border-radius: 100%; transform: translateY(2px);}}

/* /website_ajax_login/static/src/css/login.css defined in bundle 'web.assets_frontend' */
#wk_ajax_loader{position: fixed; left: 0px; top: 0px; width: 100%; height: 100%; z-index: 9999; background: url(/website_ajax_login/static/src/images/wk_ajax_loader.gif) center no-repeat rgba(255, 255, 255, 0.5); text-shadow: 0 1px 1px white;}#wk_ModalLabel{font-family: 'Opensans' Sans-serif; font-weight: 400; color: #252525; font-size: 29px;}#subtitle{font-family: 'Opensans' Sans-serif; font-weight: 400; color: #252525; font-size: 15px;}.oe_login_form, .oe_signup_form{max-width: 310px; position: relative; margin: 25px auto}#wk_Modal_login input ,#wk_Modal_signup input{color:#252525; font-weight: 400; font-family: 'Opensans' Sans-serif; font-size: 16px;}#wk_Modal_login input::-webkit-input-placeholder ,#wk_Modal_signup input::-webkit-input-placeholder{font-family: 'Opensans' Sans-serif; font-weight: 400; color: #CCCCCC; font-size: 16px;}#footertitle{font-family: 'Opensans' Sans-serif; font-weight: 600; color: #777777; font-size: 15px;}#wk_login_button,#wk_signup_button,#wk_reset_confirm_button{font-family: 'Opensans' Sans-serif; font-weight: 600; color: #FFFFFF; font-size: 17px;}#linksignup,#linklogin{font-family: 'Opensans' Sans-serif; font-weight: 700; color: #4061a4; font-size: 15px;}#socialmedia >li> a{width: 100%; font-family: 'Opensans' Sans-serif; font-weight: 400; color: #FFFFFF; font-size: 16px;}#wk_model > .input-group-addon, .input-group-btn{width: 0%;}#wk_model > .modal-footer{border-top:0px; text-align: left;}#wk_model > .modal-header{border-bottom:0px;}#socialmedia{top:0px; width:265px; padding-left:29px;}#socialmedia >.list-group-item{border: 0px;}.test{background: url("/website_ajax_login/static/src/css/../images/icon-fb.png") no-repeat ; border: green 1px solid;}.icon-odoo{padding-left: 20px; padding-top:4px; background: url("/website_ajax_login/static/src/css/../images/icon-odoo.png") no-repeat ;}.icon-fb{padding-left: 20px; padding-top:3px; background: url("/website_ajax_login/static/src/css/../images/icon-fb.png") no-repeat ;}.icon-google-plus{padding-left: 20px; padding-top:3px; background: url('/website_ajax_login/static/src/css/../images/icon-google-plus.png') no-repeat ;}.icon-twitter{padding-left: 36px; height: 20px; background: url('/website_ajax_login/static/src/css/../images/icon-twitter.png') no-repeat ;}.btn-twitter{background: #00acee; border-radius: 0; color: #fff}.btn-odoo{background: rgb(217, 50, 200); border-radius: 0; color: #fff}.btn-facebook{background: #3b5998; border-radius: 0; color: #fff}.btn-googleplus{background: #e93f2e; border-radius: 0; color: #fff}.btn-odoo:active ,.btn-odoo:hover{background:rgb(164, 73, 140); color: #fff;}.btn-facebook:active, .btn-facebook:hover{background: #30477a; color: #fff}.btn-googleplus:active, .btn-googleplus:hover{background: #ba3225; color: #fff}.btn-twitter:active, .btn-twitter:hover{background: #0087bd; color: #fff}.wk_close{overflow: hidden; transition-duration: 0.5s; transition-property: transform;}.wk_close:hover{transform: rotate(180deg); -webkit-transform: rotate(180deg);}.wk_main{max-height: 460px; overflow-y: auto; height: auto; width: 100%;}.wk_left{text-align: left; float: left; width: 60%; height: inherit; margin-right: 20px; margin-left:22px; padding: 55px;}.wk_left .form-control{height: 44px;}.wk_right{height: inherit; width: 35%; float: left; position: relative; padding: 12;}.wk_box{height: 50px; width: 50px; position: absolute; background-color: white; z-index:12; left:-50px; top:54px; padding:10px;}.wk_footer{height: 40px; width: 100%; float:left; margin-bottom: 0px; margin-top:25px;}#wk_Modal_login .form-control-feedback{top:7px ;}#wk_Modal_signup .form-control-feedback{top:0px ; right: -30%;}#wk_Modal_signup .popover{background: red; font-family: 'Opensans' Sans-serif; font-weight: 200; color: #fff; font-size: 20px; text-align: center;}#wk_Modal_signup .popover.right .arrow:after{border-right-color: red;}#wk_Modal_login .alert-danger{background: #f2dede; font-family: 'Opensans' Sans-serif; font-weight: 200; color: #a94442; font-size: 20px; text-align: center; border-color: #ebccd1;}#wk_Modal_login .alert{padding:1px !important;}#wk_Modal_signup .modal-footer ,#wk_Modal_login .modal-footer{border-top:0px;}.top_ribbon{}.top_ribbon_login,.top_ribbon_signup{border-radius: 10px; padding:0px ; margin:-15px -15px 0px; list-style:none; font-size:0;}.top_ribbon_login > li,.top_ribbon_signup>li{margin: 0%; display:inline-block; width:25%; height:12px;}.top_ribbon_login li:nth-child(1) ,.top_ribbon_signup li:nth-child(1){background:#2ecc71; border-top-left-radius: 10px;}.top_ribbon_login li:nth-child(2) , .top_ribbon_signup li:nth-child(2){background:#3498db;}.top_ribbon_login li:nth-child(3), .top_ribbon_signup li:nth-child(3){background:#f1c40f;}.top_ribbon_login li:nth-child(4) ,.top_ribbon_signup li:nth-child(4){background:#e74c3c; border-top-right-radius: 10px;}#wk_model{border-left-color: red;}.modal-content{border-radius: 10px;}.modal{overflow-y: scroll;}.wk_Modal_signup::-webkit-scrollbar{display: none;}.model-open{overflow: hidden;}#wk_ajax_reset_form{max-width: 300px; position: relative; margin: 20px auto;}@media (min-width: 576px){.modal-content{max-height: fit-content;}}

/* /marketplace_ajax_login/static/src/css/marketplace_login.css defined in bundle 'web.assets_frontend' */
 #wk_Modal_signup .ajax_url_info .popover{width: 70%; color: #fff; background: #333;}#wk_Modal_signup .ajax_url_info .popover > .arrow:after{border-top-color: #333;}#wk_Modal_signup .ajax_url_info .popover > .popover-body{color: #fff;}#wk_Modal_signup .ajax_url_info .popover > .arrow{bottom: -10px;}.mp_ajax_form_button{font-family: 'Opensans' Sans-serif; font-weight: 600; color: #FFFFFF; font-size: 17px;}.mail-invite{background-color: #e7e7e7; background-color: #e7e7e7; padding: 5px; font-weight: 600; border-radius: 5px;}

/* /sh_website_store_locator/static/src/scss/style.scss defined in bundle 'web.assets_frontend' */
.js_cls_store_locator_wrapper .oe_search_found{display: none;}.sh_store_locator_loder{position: fixed;left: 0px;top: 0px;width: 100%;height: 100%;z-index: 9999;background: url(/sh_website_store_locator/static/src/img/loading.gif) center no-repeat rgba(255, 255, 255, 0.5);text-shadow: 0 1px 1px white;}.sh_store_section .store-image, .sh_store_section .store-contact.fax{display: none;}//.sh_store_section .web-addr .js_cls_store_locator_wrapper .shop-hidden{display: none !important;}input[type="radio"].js_cls_radio_view_btn:checked+label{background: o-color(o-color-1);color:#fff;}// style 1 .sh_store_locator_wrapper_style_1 #googleMap .js_cls_store_direct_link_to_map, .sh_store_locator_wrapper_style_1 #googleMap .js_cls_store_more_info{display: none !important;}header.o_header_is_scrolled + main .card-header.store-header{top: 56px !important; position: fixed; width: 100%;z-index:3; left:0;}.sh_js_cls_filter_countries .multiselect-container li label.checkbox, .sh_js_cls_filter_states .multiselect-container li label.checkbox, .sh_js_cls_filter_cities .multiselect-container li label.checkbox{display: flex;align-items: center;}// Style-1 Design Store Locator // .sh_store_locator_wrapper_style_1 .container-fluid{padding:0 !important;}.sh_store_locator_wrapper_style_1 .card{border:0; overflow: initial !important;overflow-x: hidden !important;}.sh_store_locator_wrapper_style_1 .card-header.store-header{border-bottom:none;background:rgba(235,235,235,1);padding: 0.7rem 2rem;z-index: 1;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show{overflow-y: auto;height: auto;max-height: 50vh;box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;border: none;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{color:#fff; max-width: 150px;min-width: 160px;margin-left: 5px;}//white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show .multiselect-item.multiselect-filter .input-group{position: relative;width: 100%;left: 0;top: 0;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show .multiselect-item.multiselect-filter .input-group-addon{position: absolute;top: 6px;left: 7px;z-index: 1;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show .multiselect-clear-filter{display:none;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show li{padding:5px 10px;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show li a .checkbox input{height: 20px;width: 20px;vertical-align:middle;margin-right: 5px;opacity:1;position: relative;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show li a .checkbox input:checked:after{opacity:1;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show li a .checkbox input:after{background: transparent;border-bottom: 3px solid #104cba;border-left: 3px solid #104cba;content: '';height: 7px;width: 13px;transform: rotate(-42deg);top: 5px;left: 4px; opacity:0; position: absolute;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show li a .checkbox input:before{position: absolute;height: 20px;width: 20px;background: #fff;content: '';border: 1px solid #104cba; border-radius: 0.25rem;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show .form-control.multiselect-search{padding: 0.375rem 2rem;transition:0.1s;border-radius:0.25rem; border-top-left-radius:0.25rem !important; border-bottom-left-radius:0.25rem !important;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show .form-control.multiselect-search:focus{padding: 0.375rem 0.75rem;}.sh_store_locator_wrapper_style_1 .sh_list_grid_box{float: right;}.sh_store_locator_wrapper_style_1 .sh_list_grid_box .waves-effect{padding:8px 10px; margin-right:3px;}.sh_store_locator_wrapper_style_1 .sh_store_section.listView{height:500px; overflow: auto;}.sh_store_locator_wrapper_style_1 .card-body .store_box{margin-bottom:10px;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list{box-shadow: rgba(38, 42, 76, 0.1) 0px 5px 70px 0px, rgba(38, 42, 76, 0.1) 0px 2px 16px 0px;padding: 20px; position: relative; margin-bottom:15px; border-radius: 0.25rem; margin-bottom:0px; transition:0.5s;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list:hover{box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list .sh_location_details{display: flex;flex-direction: column;position: absolute;right: -18px;top: 50%;transform: translateY(-50%);}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list .sh_location_details .js_cls_store_more_info{margin: 5px 0px;width: 30px;padding: 0.375rem 0.5rem; height: 30px;display: flex;justify-content: center;align-items: center;border-radius: 0.25rem;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list .sh_location_details .js_cls_store_direct_link_to_map{margin: 5px 0px;width: 30px;padding: 0.375rem 0.5rem; height: 30px;display: flex;justify-content: center;align-items: center;border-radius: 0.25rem;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list a{text-decoration:none; transition:0.5s;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list span.fa{margin-right:10px;}.sh_store_locator_wrapper_style_1 .card-body .store_box .store-list a:hover{color: darken(o-color(o-color-1), 20%);}.sh_store_locator_wrapper_style_1 .search-store{border-top-left-radius: 0px;border-bottom-left-radius: 0px; color:#fff;}.sh_store_locator_wrapper_style_1 .js_cls_current_location{color:#fff;}.sh_store_locator_wrapper_style_1 .store-header .col-lg-12{flex: 33.33% !important;}// POP-Up Design // .modal-content .sh_details_popup.modal-body span .fa.fa-map-marker{font-size: 20px;margin-right: 5px;}.modal-content .sh_details_popup h3{font-weight:600;font-size:25px;}.modal-content .sh_details_popup .sh_main_cls{display: flex; align-items: center;}.modal-content .sh_details_popup .sh_main_cls .sh_cls_1{margin-right: 10px;}.modal-content .sh_details_popup .fa.fa-user-circle-o{font-size: 20px;margin-right: 8px; margin-top: 5px;margin-bottom: 5px;}.modal-content .sh_details_popup .fa.fa-phone{font-size: 20px;margin-right: 11px;}.modal-content .sh_details_popup .fa.fa-mobile{font-size: 25px;margin-right: 14px;}.modal-content .sh_details_popup .fa.fa-fax{font-size: 20px;margin-right: 8px; margin-bottom: 5px;margin-top: 5px;}.modal-content .sh_details_popup .fa.fa-envelope{font-size: 20px;margin-right: 7px;}.modal-content .sh_details_popup .fa.fa-globe{font-size: 20px;margin-right: 9px; margin-top:3px;}.modal-content .sh_details_popup .fa.fa-calendar{font-size: 20px;margin-right: 5px;}.modal-content .sh_details_popup .fa.fa-clock-o{font-size: 20px;margin-right: 5px;}.modal-content .sh_details_popup .badge{padding:4px; font-size:12px; margin-right:5px; margin-top:5px;}.modal-content .sh_details_popup .sh_calender_details{text-transform: capitalize;}.modal-content .sh_details_popup a{text-decoration:none; transition:0.3s;}.modal-content .sh_details_popup a:hover{color: darken(o-color(o-color-1), 20%);}// style list View// .sh_store_section.listView .table > tbody{vertical-align: middle;}.sh_store_section.listView .table > thead{position: sticky;top: 0;background: #fff;z-index:0;}.sh_store_section.listView table .store_box td:nth-child(2){width:15%;}.sh_store_section.listView table .store_box td:nth-child(3){width:40%;}.sh_store_section.listView table .store_box td:nth-child(4){width:20%;}.sh_store_section.listView table .store_box td:nth-child(5){width:15%;}.sh_store_section.listView table .store_box td:nth-child(6){width:10%;}.sh_store_section.listView table .store_box a{text-decoration:none;}.sh_details_popup .store_address, .sh_store_section.listView table .store_box td:nth-child(3){line-break: anywhere;}// Media Queries // @media screen and (max-width:1200px){.sh_store_locator_wrapper_style_1 .js_cls_current_location{font-size:14px;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{padding: 0.375rem 0.5rem;}.sh_store_locator_wrapper_style_1 .store-header .col-xl-8.col-lg-12.col-md-12{margin-top:10px;}.sh_store_locator_wrapper_style_1 .store-header .col-lg-12{max-width: 100% !important; flex: 100% !important;}}@media screen and (max-width:1000px){.sh_store_locator_wrapper_style_1 .card-body .store_box .js_cls_store_direct_link_to_map{margin-top:10px;}.modal-content .sh_details_popup .store_address{margin-bottom:10px;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{min-width:155px;}.sh_store_locator_wrapper_style_1 .sh_list_grid_box .waves-effect{padding: 8px 7px;}.sh_store_locator_wrapper_style_1 .store-header .col-xl-8.col-lg-12.col-md-12{padding-left:0 !important;}}@media screen and (max-width:767px){.sh_store_locator_wrapper_style_1 .store-header .col-xl-8.col-lg-12.col-md-12{display: flex;flex-direction: column;align-items: center;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{margin-top:10px;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show{height:150px;}.sh_store_locator_wrapper_style_1 .sh_list_grid_box{margin-top:10px;}.sh_store_locator_wrapper_style_1 .js_cls_current_location{width:100%;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_cities{width:100%;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_cities .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_states{width:100%;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_states .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_countries{width:100%;}.sh_store_locator_wrapper_style_1 .sh_js_cls_filter_countries .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{margin-left: 0;}.sh_store_locator_wrapper_style_1 .multiselect.dropdown-toggle{max-width:100%;}.sh_store_locator_wrapper_style_1 .multiselect-container.dropdown-menu.show{left:0 !important; right:0 !important;}.modal-content .sh_details_popup .store_address{margin-bottom:10px;}}@media screen and (max-width:576px){.modal-content .sh_details_popup .store_address{margin-bottom:10px;}.sh_store_locator_wrapper_style_1 .card-header.store-header{padding: 0.7rem 1.8rem !important;}.sh_store_locator_wrapper_style_1 .store-header .col-xl-8.col-lg-12.col-md-12{padding-left:0px !important;}}// style 2 .sh_store_locator_wrapper_style_2 .store-menu .store_box{max-width:100% !important; flex: 100% !important;}.sh_store_locator_wrapper_style_2 #map-container .js_cls_store_direct_link_to_map, .sh_store_locator_wrapper_style_2 .js_cls_store_more_info{display: none !important;}.sh_store_locator_wrapper_style_2 .js_cls_current_location{color:#fff;}.sh_custom_style_2_store_loc::-webkit-scrollbar{width: 4px;}.sh_store_locator_wrapper_style_2 .store-header .col-lg-12{min-width:33.33% !important; flex:33.33% !important;}.sh_custom_style_2_store_loc::-webkit-scrollbar-track{background: #f1f1f1;}.sh_custom_style_2_store_loc::-webkit-scrollbar-thumb{background: #888;}.sh_custom_style_2_store_loc::-webkit-scrollbar-thumb:hover{background: #555;}// POPUP STYLE .style_2_popup_main_info{display: flex;justify-content: space-between;align-items: center;width: 22rem;}.style_2_popup_main_info img{margin:10px 0px;}.style_2_popup_main_info > div > .js_cls_store_name{font-size: 1.2rem;font-weight: 600;margin-bottom:5px;}// Style-2 Design Store Locator // .sh_store_locator_wrapper_style_2 .card-body .store_box .store-list{box-shadow: rgba(38, 42, 76, 0.1) 0px 5px 70px 0px, rgba(38, 42, 76, 0.1) 0px 2px 16px 0px;padding: 20px;margin-bottom: 10px;margin-top: 5px; border-radius:0.25rem; cursor: pointer; transition:0.5s;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list:hover{box-shadow: rgba(14, 30, 37, 0.12) 0px 2px 4px 0px, rgba(14, 30, 37, 0.32) 0px 2px 16px 0px;}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section{padding-right: 0px !important;}.sh_store_locator_wrapper_style_2 .js_cls_store_direct_link_to_map{display:none;}.sh_store_locator_wrapper_style_2 .card-body .col-xxl-3.col-xl-3{overflow-y:scroll;height:100vh;}.sh_store_locator_wrapper_style_2 .col-xxl-8.col-xl-8.col-lg-12.col-md-12{display: flex;justify-content: end;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show{overflow-y: auto;height: auto;max-height: 50vh;box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 50px;border:none;}.sh_store_locator_wrapper_style_2 .multiselect.dropdown-toggle{color: #FFFFFF;background-color:o-color(o-color-1);border-color:o-color(o-color-1); max-width:150px; min-width: 170px;margin-left: 5px; white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show .multiselect-item.multiselect-filter .input-group{position: relative;width: 100%;left: 0;top: 0;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show .multiselect-item.multiselect-filter .input-group-addon{position: absolute;top: 6px;left: 7px;z-index: 1;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show .multiselect-clear-filter{display:none;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li{padding:5px 10px;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li a .checkbox{display: block;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width: 140px;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li a .checkbox input{height: 20px;width: 20px;vertical-align:middle;margin-right: 5px;opacity:1;position: relative;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li a .checkbox input:checked:after{opacity:1;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li a .checkbox input:after{background: transparent;border-bottom: 3px solid #104cba;border-left: 3px solid #104cba;content: '';height: 7px;width: 13px;transform: rotate(-42deg);top: 4px;left: 3px; opacity:0; position: absolute;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show li a .checkbox input:before{position: absolute;height: 20px;width: 20px;background: #fff;content: '';border: 1px solid #104cba; border-radius:0.25rem;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show .form-control.multiselect-search{padding: 0.375rem 2rem;transition:0.1s; border-radius:0.25rem;border-top-left-radius: 0.25rem !important;border-bottom-left-radius: 0.25rem !important;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show .form-control.multiselect-search:focus{padding: 0.375rem 0.75rem;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list.h-100{height:auto !important;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list a{text-decoration:none; font-weight:500; transition: 0.3s; display: flex;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list a:hover{color: darken(o-color(o-color-1), 20%);}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list span.fa.fa-phone{font-size:20px; margin-right:10px;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list span.fa.fa-globe{font-size:20px; margin-right:8px;}.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list .store-contact.tel{margin-top:10px;}.sh_store_locator_wrapper_style_2 #googleMap .gm-style .gm-style-iw-c{border-radius:0.25rem;}.sh_store_locator_wrapper_style_2 .store-contact.email .fa.fa-envelope{margin-right: 9px;}.sh_store_locator_wrapper_style_2 .card-header{padding:1rem 2rem;}.sh_store_locator_wrapper_style_2 .card{border:0; overflow: initial !important;}.sh_store_locator_wrapper_style_2 .card-header.store-header{border-bottom:none;background:rgba(235,235,235,1);padding: 0.7rem 2rem;}.sh_store_locator_wrapper_style_2 .store-image{text-align:center; margin-bottom:10px;}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section a{text-decoration:none; color:o-color(o-color-1); font-weight:500; transition:0.3s;}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section a:hover{color: darken(o-color(o-color-1), 20%);}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section span.fa{font-size:20px; margin-right:8px; color:o-color(o-color-1);}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section span.fa.fa-phone{margin-right: 12px; color:o-color(o-color-1);}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section span.fa.fa-envelope{margin-right:10px; color:o-color(o-color-1);}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section span.fa.fa-globe{margin-right:12px; color:o-color(o-color-1);}.sh_store_locator_wrapper_style_2 .sh_store_locator_style_2_map_section .store-contact.tel{margin-top:10px;}.sh_store_locator_wrapper_style_2 .search-store{border-top-left-radius: 0px;border-bottom-left-radius: 0px; color:#fff;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .fa.fa-calendar{font-size:20px; margin-right:7px;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .fa.fa-clock-o{font-size:24px; margin-right:4px;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .icon_1{margin:5px 0px;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .icon_1 .sh_text{display:flex; align-items: center; text-transform: capitalize;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .badge{padding:5px; margin-right:5px; margin-top:5px;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .fa.fa-long-arrow-right{margin:0px 5px;}@media screen and (max-width:1200px){.sh_store_locator_wrapper_style_2 .col-xxl-8.col-xl-8.col-lg-12.col-md-12{margin-top:10px;}.sh_store_locator_wrapper_style_2 .col-xxl-8.col-xl-8.col-lg-12.col-md-12{justify-content: center;}.sh_store_locator_wrapper_style_2 .store-header .col-lg-12{max-width: 100% !important; flex: 100% !important;}}@media screen and (max-width:991px){.sh_store_locator_wrapper_style_2 .card-body .store_box .store-list{padding:15px;}.style_2_popup_main_info{width:12rem; flex-direction: column;}.sh_store_locator_wrapper_style_2 .style_2_popup_main_info img{margin:10px 0px;}.sh_store_locator_wrapper_style_2 .col-xxl-8.col-xl-8.col-lg-12.col-md-12{padding-left: 0px !important;}}@media screen and (max-width:767px){.sh_store_locator_wrapper_style_2 .col-xxl-8.col-xl-8.col-lg-12.col-md-12{padding-left: 10px;padding-right: 0;display: flex;align-items: center;justify-content: center;flex-direction: column;}.sh_store_locator_wrapper_style_2 .multiselect.dropdown-toggle{margin-top:10px;max-width:100%;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show{height:150px;}.sh_store_locator_wrapper_style_2 .sh_list_grid_box{margin-top:10px;}.sh_store_locator_wrapper_style_2 .js_cls_current_location{width:100%;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_cities{width:100%;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_cities .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_states{width:100%;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_states .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_countries{width:100%;}.sh_store_locator_wrapper_style_2 .sh_js_cls_filter_countries .btn-group{width:100% !important;}.sh_store_locator_wrapper_style_2 .multiselect.dropdown-toggle{margin-left: 0;}.sh_store_locator_wrapper_style_2 .multiselect-container.dropdown-menu.show{left:0 !important; right:0 !important;}}@media screen and (max-width:576px){.sh_custom_style_2_store_loc{height:50vh !important;}.sh_store_locator_wrapper_style_2 .style_2_popup_main_info{width:7rem; flex-direction: column;}.sh_store_locator_wrapper_style_2 .style_2_popup_main_info img{margin:10px 0px;}.style_2_popup_main_info > div > .js_cls_store_name{font-size:0.9rem;}.sh_store_locator_wrapper_style_2 .card-header.store-header{position: relative;}header.o_header_is_scrolled + main .card-header.store-header{top: 50px !important; position:relative; width: 100%; left:0;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .fa.fa-clock-o{font-size:22px;}.sh_store_locator_wrapper_style_2 .style_2_popup_other_info .fa.fa-calendar{font-size:18px;}}

/* /sh_wsale_address_google_place/static/src/scss/sh_wsale_address_autofill.scss defined in bundle 'web.assets_frontend' */
.sh_js_cls_address_autofill{.dropdown-menu{.dropdown-item{cursor: pointer;}}}

/* /website_blog/static/src/scss/website_blog.scss defined in bundle 'web.assets_frontend' */
// ======= VARIABLES ======= $o-wblog-sidebar-width: 280px; $o-wblog-loader-size: 50px; // ======= ANIMATIONS ======= // Generic fade-in @keyframes o-wblog-fade-In{0%{opacity: 0;}100%{opacity: 1;}}@keyframes o-wblog-loader{0%, 100%{animation-timing-function: cubic-bezier(0.5, 0, 1, 0.5);}0%{transform: rotateY(0deg);}50%{transform: rotateY(1800deg); animation-timing-function: cubic-bezier(0, 0.5, 0.5, 1);}100%{transform: rotateY(3600deg);}}// ======== MIXINS ========= // Create easing-linear-gradients. Compared to the standards liner-gradients // these are smoother and blends into their context increasing readability when // acts as background for text placed over images. // based on: https://css-tricks.com/easing-linear-gradients/ @mixin o-wbblog-scrim-gradient($colorFrom, $colorTo){$scrimStops: 0% 0%, 26.2% 19%, 45.9% 34%, 61.8% 47%, 72.2% 56.5%, 80.6% 65%, 87.4% 73%, 92.5% 80.2%, 95.8% 86.1%, 97.9% 91%, 99.2% 95.2%, 99.8% 98.2%, 100% 100%; $stops: (); @each $scrimStop in $scrimStops{$stops: append($stops, mix($colorTo, $colorFrom, nth($scrimStop, 1)) nth($scrimStop, 2), comma)}background-image: linear-gradient(#{$stops});}//------------------------------------------------------------------------------ // Website Blog //------------------------------------------------------------------------------ .website_blog{.css_website_mail{.o_has_error{border-color: red;}.css_nav_month{display: none; &:first-of-type{display: block;}}}.o_wblog_page_cards_bg{// To be applied to the main container when 'card design' option is // enabled. Provide a slight darker bg that will blend the background // color chosen by the user, visually increasing the contrast in case of // brights (or white) backgrounds. // It shouldn't be noticeable on dark backgrounds. background-color: rgba(black, 0.005);}.o_wblog_read_with_sidebar{max-width: map-get($container-max-widths, md) + $o-wblog-sidebar-width;}// This option class is assigned to the post's content using the "Customize" // menu. The aim is to be able to write simple articles on the fly, // achieving a good design without being forced to use snippets. .o_wblog_read_text{font-size: 18px; line-height: 28px; font-weight: 300; p, ul, ol{margin-bottom: 1.55em;}li{margin-bottom: 1em;}.lead{font-size: 26px; line-height: 34px; margin-bottom: 40px;}}.o_wblog_author_avatar{width: 1.2em; height: 1.2em; max-width: none; object-fit: cover;}.o_wblog_author_avatar_date{// Resize in order to double the current font-size and accommodate // two text lines, name and date. width: 2em; height: 2em; max-width: none; object-fit: cover;}.o_wblog_social_links > a{@include size(3em); > i{font-size: 1.3em;}}// Blog Post Page // ============================================== #o_wblog_post_content{min-height: 350px !important; a.oe_mail_expand:after{content: " →";}a.oe_mail_expand{font-weight: bold;}}#o_wblog_post_comments{.o_portal_chatter > hr{display: none;}}// Blog Post Page Cover // ============================================== .o_wblog_post_page_cover{// Cover sizes // ============================================== &.cover_auto{padding: 3rem 0; // The actual height will always be 'auto'. The following // min-height rule is set to trigger the page transition only. min-height: 1px;}// "Regular Cover" design sizes // ============================================== &.o_wblog_post_page_cover_regular{&.o_full_screen_height{min-height: 70vh !important;}&.o_half_screen_height{min-height: 40vh !important;}&.cover_auto{min-height: 150px; padding: 0;}}// If a cover image is defined, adapt inner typography &.o_record_has_cover{.o_record_cover_image:after{content: ""; display: block; @include o-position-absolute(0,0,50%,0); @include o-wbblog-scrim-gradient(rgba(black, 0.5), transparent);}.o_wblog_post_title{color: white;}&.o_wblog_post_page_cover_regular{.o_record_cover_image:after{visibility: hidden;}}}}// Blog Post Specific // ============================================== .o_wblog_post_title{#o_wblog_post_name{font-weight: $display4-weight; line-height: $display-line-height; // Default font-size. @include font-size($display4-size);}#o_wblog_post_subtitle{font-weight: $lead-font-weight; // Default font-size. @include font-size($lead-font-size);}}// Refine multi-lines titles when using 'regular' cover .o_wblog_regular_cover_container #o_wblog_post_name{line-height: 1; padding-bottom: 0.5rem;}.o_wblog_post_page_cover_footer{min-height: 33vh; // Emulate native jQuery 'swing' easing to match js code transition: all 0.3s cubic-bezier(.02, .01, .47, 1);}#o_wblog_next_container{background-color: $body-bg; cursor: pointer; .o_wblog_next_loader{transform: translateZ(1px); div{@include size($o-wblog-loader-size); background: rgba(black, 0.15); animation: o-wblog-loader 2.4s cubic-bezier(0, 0.2, 0.8, 1) infinite;}}.o_wblog_next_fake_btn{height: $o-wblog-loader-size;}}#o_wblog_post_main.o_wblog_post_main_transition{animation: o-wblog-fade-In 1s cubic-bezier(.02, .01, .47, 1);}// Blog Index Pages // ============================================== #o_wblog_posts_loop{.o_record_cover_container{box-shadow: inset 0 0 0 1px rgba(white, 0.3); padding-top: 33%; height: auto!important; // This is mandatory as we do not want the CoverProperties // sizing classes to be applied here min-height: auto!important; &:hover .o_record_cover_image{opacity: 0.8;}}.o_wblog_normalize_font{// normalize fonts font-size: 13px; line-height: 1.45;}.o_wblog_post_list_author{@include o-wbblog-scrim-gradient(transparent, rgba(black, 0.5));}&.o_wblog_list_view{.o_record_cover_container{padding-top: 20%;}.o_wblog_post_cover_nocard .o_record_cover_container{padding-top: 33%;}}}// Editor Helpers // ============================================== body.editor_enable &{// Make empty covers visible in edit mode .o_record_cover_container.o_wblog_post_page_cover:not(.o_record_has_cover){padding: 30px 0;}// Hide the big "DRAG BUILDING BLOCKS HERE" box when inside a sidebar. // The purple lines are enough to help the user dropping snippets. #o_wblog_sidebar .oe_structure:empty{display: none;}}}#o_wblog_post_content_jump{@extend .o_scroll_button; @include size($o-wblog-loader-size); background-color: rgba(black, 0.5); &:hover{background-color: rgba(black, 0.7);}}

/* /website_profile/static/src/scss/website_profile.scss defined in bundle 'web.assets_frontend' */
// Retrive the tab's height by summ its properties $owprofile-tabs-height: ($nav-link-padding-y*2) + ($font-size-base * $line-height-base); // Overal page bg-color: Blend it 'over' the color chosen by the user // ($body-bg), rather than force it replacing the variable's value. $owprofile-color-bg: mix($body-bg, #efeff4); .o_wprofile_body{background-color: $owprofile-color-bg;}.o_wprofile_gradient{background-image: linear-gradient(120deg, #875A7B, darken(#875A7B, 10%));}.o_wprofile_pict{@include size(100%); padding-top: 30%; background-size: cover; background-position: center; @include media-breakpoint-up(md){padding-top: 70%; border: 1px solid darken(#875A7B, 10%); border-bottom-width: 0;}}.o_wprofile_header{@include media-breakpoint-up(md){&:before{content: ""; @include o-position-absolute(auto, 0, 0, 0); height: $owprofile-tabs-height; background: rgba(black, 0.2);}}}.o_wprofile_sidebar{border: 1px solid $border-color; @include media-breakpoint-up(md){border-top-width: 0;}}.o_wprofile_nav_tabs{@include media-breakpoint-up(md){margin-top: $owprofile-tabs-height * -1; border-bottom: 0; .nav-link{border-radius: 0; border-width: 0 1px; line-height: $line-height-base; @include o-hover-text-color(rgba(white, 0.8), white); &{border-color: transparent;}&:hover{border-color: transparent; background: #3d2938;}&.active{color: color-yiq($owprofile-color-bg); background: $owprofile-color-bg; border-color: $owprofile-color-bg;}}}@include media-breakpoint-only(xs){overflow-x: auto; overflow-y: hidden; li{white-space: nowrap;}}}.o_wprofile_tabs_content{@include media-breakpoint-down(sm){background-color: $nav-tabs-link-active-bg; padding:0 ($grid-gutter-width * 0.5);}@include media-breakpoint-only(xs){margin: 0 ($grid-gutter-width * -0.5);}}/// Progress Circle .o_wprofile_progress_circle{position: relative; svg.o_pc_circular_chart{display: block; max-width: 100%; .o_pc_circle_bg, .o_pc_circle{fill: none; stroke-width: 1.5px; stroke-linecap: round;}.o_pc_circle_bg{stroke: rgba(black, 0.1);}.o_pc_circle{animation: progress 1s ease-out forwards;}#gradient{--o-pc-color-stop-1: #{lighten(theme-color('primary'), 10%)}; --o-pc-color-stop-2: #{theme-color('primary')};}}.o_pc_overlay{@include o-position-absolute(0,0,0,0);}@keyframes progress{0%{stroke-dasharray: 0 100;}}}// All Users Page .o_wprofile_all_users_nav{border-width: 1px 0; &, .o_wprofile_course_nav_search, .o_wprofile_all_users_nav_btn{background-color: rgba(white, 0.05); border-color: rgba(white, 0.1); border-style: solid;}.o_wprofile_course_nav_search, .o_wprofile_all_users_nav_btn{border-width: 0 1px;}.o_wprofile_all_users_nav_btn{@include media-breakpoint-up(md){@include o-hover-text-color(white, $gray-800); margin-top: -1px; border-radius: 0; min-height: 35px; &:hover{background-color: white;}}}.o_wprofile_all_users_nav_btn_container{@include media-breakpoint-down(sm){~ .o_wprofile_user_profile_sub_nav_mobile_col{padding-left: 0;}.o_wprofile_all_users_nav_btn{@include o-hover-text-color(white, white); border-radius: $btn-border-radius; background-color: rgba(black, 0.25);}}}.breadcrumb-item.active a, .breadcrumb-item a:hover{color: white;}.breadcrumb-item a, .breadcrumb-item + .breadcrumb-item::before, .o_wprofile_course_nav_search input::placeholder{color: rgba(white, 0.8);}}.o_wprofile_top3_card_footer div{border-color: $border-color; border-style: solid; border-width: 1px 0; margin-top: -1px; + div{border-left-width: 1px; margin-left: -1px;}}.o_wprofile_pager{li.page-item{a.page-link{background-color: transparent; border: 0; color: $gray-600; transition-duration: .3s; &:hover{color: $primary;}}&.active{a.page-link{color: $white;}}&.o_wprofile_pager_arrow a{color: $primary; &:hover{transform: scaleX(1.50) scaleY(1.50);}}&.o_wprofile_pager_arrow.disabled a{color: $gray-600;}.page-link:focus{box-shadow: 0 0 0 0;}}}.wprofile_badge_img{height: 2.5em;}// Other stuffs .country_flag{display: inline-block; margin-left: 2px; max-height: 13px; width: auto !important;}// Tools .o_wprofile_pointer{cursor: pointer;}// Own profile border .o_wprofile_border_focus{border-left: 4px solid theme-color('secondary');}

/* /website_forum/static/src/scss/website_forum.scss defined in bundle 'web.assets_frontend' */
$gold: #eca801; $silver: #cccccc; $bronze: #eea91e; .website_forum{.o_forum_ask_btn{@include media-breakpoint-up(md){box-shadow: $box-shadow; width: 200px;}}.o_wforum_nav .nav-link{@include o-hover-text-color($body-color, $link-color); line-height: 1; .fa{opacity: 0.5;}&:hover, &.active{.fa{opacity: 1;}}&.active{background-color: rgba(theme-color('info'), 0.1); color: darken(theme-color('info'), 15%)!important;}img.o_forum_avatar{@include size(30px);}}// Single Post .o_wforum_post, .note-editable.panel-body{word-wrap: break-word; pre{color: color-yiq(gray('100')); border-radius: $border-radius; padding: 1rem; background-color: gray('100'); white-space: pre-wrap;}blockquote{position: relative; padding-left: 1em; border-left: .25em solid gray('500'); color: gray('600');}#post_reply{img.o_forum_avatar{@include size(24px);}}}.o_wforum_readable{max-width: 700px; p{margin-bottom: 0.5rem;}img{max-width: 100%;}&::after{content: ""; display: table; clear: both;}}textarea.o_wysiwyg_loader + .note-editor{border: 0; .note-toolbar{@include border-top-radius($border-radius); height: 32px;}.note-editable, .note-statusbar{border: 1px solid $border-color; border-width: 0 1px;}.note-statusbar{display: block; border-bottom-width: 1px;}}.o_wforum_author_box{&.o_show_info{line-height: 1.2; img{@include size(2em);}}&.o_compact{line-height: 1; img{@include size(1.4em);}}}.forum_answer{.o_wforum_answer_correct_badge{display: none;}.o_wforum_author_box_check{@include size(1em); display: none; top: 0; right: -3px; box-shadow: 0 0 0 2px white; line-height: .8;}.o_wforum_validate_toggler{@include o-hover-text-color(gray('400'), lighten(theme-color('success'), 20%));}&.o_wforum_answer_correct{.o_wforum_answer_correct_badge, .o_wforum_author_box .o_wforum_author_box_check{display: inline;}.o_wforum_validate_toggler{@include o-hover-text-color(theme-color('success'), theme-color('warning')); &:hover .fa.fa-check:before{content: '\f00d';}}.o_wforum_answer_header .o_wforum_author_pic{border: 2px solid $success; padding: 3px;}}}.o_wforum_gold{color: $gold;}a.no-decoration{cursor: pointer; text-decoration: none !important;}}.website_forum, .o_wforum_profile_tab{.vote{.vote_count{line-height: 1; animation-play-state: paused; &.o_forum_vote_animate{animation: bounceIn 0.3s ease running;}}.vote_down, .vote_up{line-height: 0.5; font-size: 1.1em; @include o-hover-text-color(rgba($text-muted, 0.5), theme-color('success'));}.vote_down{@include o-hover-text-color(rgba($text-muted, 0.5), theme-color('danger'));}&.o_wforum_vote_vertical{@include media-breakpoint-up(sm){font-size: 1.2em;}}}}.o_js_forum_tag_follow{.badge{font-size: 100%;}.o_forum_tag_follow_box{@include o-position-absolute(100%, auto, auto, 0); display: none; z-index: 1; .card{padding: ($grid-gutter-width*0.5) - 1px;}}}.o_profile_main{overflow: hidden;}img.o_forum_avatar{@include size(40px); object-fit: cover;}img.o_forum_avatar_big{@include size(75px); object-fit: cover;}.o_wprofile_email_validation_container{img.o_forum_avatar{@include size(16px);}}.o_wforum_bio_popover_wrap{.o_wforum_bio_popover_name{address > div, span[data-oe-model="res.country"]{display: flex; align-items: center;}span[data-oe-model="res.country"]{margin-left: 10px;}}.o_wforum_bio_popover_info .css_editable_mode_hidden > div:last-child > .o_forum_tooltip_line{margin-top: -0.5rem; // compensate parent 'mt-2' class}.o_wforum_bio_popover_bio p{margin-top: 8px; margin-bottom: 0;}}.o_wforum_elearning_navtabs_container{@include media-breakpoint-up(md){background-color: theme-color('secondary');}}.website_forum{margin-bottom: $spacer;}.popover.o_wforum_bio_popover_container{max-width: 552px;}.o_wforum_forum_card_bg{background-image: linear-gradient(99deg, theme-color('secondary') 10%, darken(theme-color('secondary'), 10%) 90%); #o_wforum_forums_index_list &{min-height: 100px;}}

/* /website_hr_recruitment/static/src/scss/website_hr_recruitment.scss defined in bundle 'web.assets_frontend' */
.o_website_hr_recruitment_jobs_list{#jobs_grid_left{ul.flex-column > li.nav-item > a{padding: .5rem 1rem; border-radius: 0.125rem;}}.card{padding: 15px; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.17); &:hover{transition: box-shadow 0.3s cubic-bezier(0.55, 0, 0.1, 1); box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.1), 0 2px 2px 0 rgba(0, 0, 0, 0.05);}.o_job_infos{.fa{color: theme-color('primary'); margin-right: 8px;}}}.o_website_hr_recruitment_job_description{//The ellipsis may not be supported on all platforms, the text will just break for them max-height: 60px; //Limit to 3 lines line-height: 20px; -webkit-line-clamp: 3; -moz-line-clamp: 3; -ms-line-clamp: 3; line-clamp: 3; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical; -moz-box-orient: vertical; -ms-box-orient: vertical; box-orient: vertical; overflow: hidden;}}

/* /auth_totp_portal/static/src/scss/auth_totp_portal.scss defined in bundle 'web.assets_frontend' */
 .o_auth_totp_enable_2FA{.o_field_copy{height: 24px; position: relative; width: 100% !important; border-radius: 5px; border: 1px solid $primary; font-size: $font-size-sm; text-transform: uppercase; color: $o-brand-primary; font-weight: $badge-font-weight; text-align: center; padding-right: 6rem; word-break: break-word; .o_clipboard_button{@include o-position-absolute($top: 0, $right: 0); &.o_btn_text_copy{position: absolute; top: 0; right: 0;}&.o_btn_char_copy{height: 100%;}}&.o_field_copy_url{cursor: pointer; padding-left: 3px;}}}

/* /website_links/static/src/css/website_links.css defined in bundle 'web.assets_frontend' */
.no-link-style{color: black; text-decoration: none;}.required-form-control{background-color: #CECDFF;}#filters li a, #filters li.active a, #filters li.active a.active, #filters li.active a:hover, #filters li.active a:focus, #filters li a:hover{padding: 0px 5px; border-radius: 0px; border: 0px; border-color: transparent; border-right: 1px solid #999; padding-bottom: 0; background-color: #FFFFFF;}#filters li.active a{color: #999;}#filters li:last-child a, #filters li:last-child a:hover, #filters li:last-child a:focus{border-right: 0px;}.nav-tabs-inline{font-size: 14px;}#o_website_links_recent_links{min-height:30em;}.o_website_links_code_error{display:none; color:red; font-weight:bold;}.truncate_text{white-space: nowrap; text-overflow: ellipsis; overflow: hidden; max-width: 500px;}

/* /website_mass_mailing/static/src/scss/website_mass_mailing_popup.scss defined in bundle 'web.assets_frontend' */
.o_newsletter_modal{.modal-header{padding: 0; border: none;}.modal-title{display: none;}.close{z-index: $zindex-modal; @include o-position-absolute(0, 0); width: $font-size-lg * 2; height: $font-size-lg * 2; line-height: $font-size-lg * 2; margin: 0; padding: 0; @include o-bg-color(color-yiq(o-color('primary')), o-color('primary'), $with-extras: false); box-shadow: $box-shadow-sm; opacity: 1;}}

/* /website_sale_comparison/static/src/scss/website_sale_comparison.scss defined in bundle 'web.assets_frontend' */
.o_product_feature_panel{position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); z-index:10; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom: 0px; padding: 10px 20px; text-align: center; border: 2px solid theme-color('primary'); border-bottom: 0px; background-color: white; opacity: 0.95; .o_product_panel{position: relative; .o_product_panel_header{margin: 0 10px 0 10px; cursor: pointer; .o_product_icon{margin-right: 5px;}.o_product_text{text-transform: uppercase; vertical-align: middle; font-size: 16px;}.o_product_circle{vertical-align: 6px; padding: 0 3px; line-height: 14px;}}.o_product_panel_content{display: none !important;}}}.oe_website_sale{.product_summary > *{display: block; margin: 15px 0 15px 0;}.table-comparator{.o_product_comparison_collpase{margin-right: 8px;}}div.css_not_available .o_add_compare_dyn{display: none;}.o_comparelist_remove{@include o-position-absolute($top: 0, $right: 0.5rem);}.o_ws_compare_image{vertical-align: middle;}}// Add to compare button #product_details .o_add_compare_dyn{margin-top: 0.75rem;}.o_add_compare_dyn{&, &:hover, &:focus{color: theme-color('primary'); text-decoration: none;}}// Specifications #product_full_spec{border-top: 1px solid gray('400'); .o_add_compare_dyn{font-size: 1.1rem;}}

/* /website_sale_wishlist/static/src/scss/website_sale_wishlist.scss defined in bundle 'web.assets_frontend' */
.oe_website_sale{.td-wish-btn{width: 140px;}div.css_not_available .o_add_wishlist_dyn{display: none;}.btn.o_add_wishlist_dyn{line-height: 1rem; transform: scale(0.9); transition: transform 300ms; &:hover:not(.disabled){background-color: transparent; color: theme-color('primary'); transform: scale(1);}&.disabled i::before{content: "\f004";}}}// XS size @include media-breakpoint-down(sm){.oe_website_sale{.td-wish-btn{width: 100px;}}}table.table-comparator .td-img img{// allows sizing the placeholder image to the "image" size of 100px max-height: 100px;}

/* /website_sale_product_configurator/static/src/scss/website_sale_options.scss defined in bundle 'web.assets_frontend' */
.css_not_available.js_product{.product_price{display: none !important;}}div#modal_optional_products table tr td{border: 0;}@include media-breakpoint-down(sm){div#modal_optional_products .td-qty{display: none;}}

/* /website_sale_stock_wishlist/static/src/scss/website_sale_stock_wishlist.scss defined in bundle 'web.assets_frontend' */
.o_notify_stock{text-align: left; small{i{width: 12px; height: 12px;}}}

/* /website/static/src/snippets/s_title/000.scss defined in bundle 'web.assets_frontend' */
 .s_title:not([data-vcss]){.s_title_boxed{> *{display: inline-block; padding: $grid-gutter-width; border: 1px solid;}}.s_title_lines{overflow: hidden; &:before, &:after{content: ""; display: inline-block; vertical-align: middle; width: 100%; border-top: 1px solid; border-top-color: inherit;}&:before{margin: 0 $grid-gutter-width/2 0 -100%;}&:after{margin: 0 -100% 0 $grid-gutter-width/2;}}.s_title_underlined{@extend %o-page-header;}.s_title_small_caps{font-variant: small-caps;}.s_title_transparent{opacity: .5;}.s_title_thin{font-weight: 300;}}

/* /website/static/src/snippets/s_three_columns/000.scss defined in bundle 'web.assets_frontend' */
.s_three_columns:not([data-vcss]){.align-items-stretch > .card{height: 100%;}}

/* /website/static/src/snippets/s_alert/000.scss defined in bundle 'web.assets_frontend' */
 .s_alert{margin: $grid-gutter-width/2 0; border: $alert-border-width solid; border-radius: $alert-border-radius; p, ul, ol{&:last-child{margin-bottom: 0;}}&.s_alert_sm{padding: $grid-gutter-width/3; font-size: $font-size-sm;}&.s_alert_md{padding: $grid-gutter-width/2; font-size: $font-size-base;}&.s_alert_lg{padding: $grid-gutter-width; font-size: $font-size-lg;}.s_alert_icon{float: left; margin-right: 10px;}.s_alert_content{overflow: hidden;}}

/* /website/static/src/snippets/s_card/000.scss defined in bundle 'web.assets_frontend' */
 .s_card{margin: $grid-gutter-width/2 0; .card-body{// color: initial; p, ul, ol{&:last-child{margin-bottom: 0;}}}}

/* /website/static/src/snippets/s_share/000.scss defined in bundle 'web.assets_frontend' */
 .s_share{> *{display: inline-block; vertical-align: middle;}.s_share_title{margin: 0 .4rem 0 0;}a{i.fa{display: flex; justify-content: center; align-items: center;}margin: .2rem;}&:not(.no_icon_color){.s_share_facebook{&, &:hover, &:focus{@extend .text-facebook;}}.s_share_twitter{&, &:hover, &:focus{@extend .text-twitter;}}.s_share_linkedin{&, &:hover, &:focus{@extend .text-linkedin;}}.s_share_google{&, &:hover, &:focus{@extend .text-google-plus;}}.s_share_whatsapp{&, &:hover, &:focus{@extend .text-whatsapp;}}.s_share_pinterest{&, &:hover, &:focus{@extend .text-pinterest;}}.s_share_github{&, &:hover, &:focus{@extend .text-github;}}.s_share_instagram{&, &:hover, &:focus{@extend .text-instagram;}}.s_share_youtube{&, &:hover, &:focus{@extend .text-youtube;}}}}

/* /website/static/src/snippets/s_rating/001.scss defined in bundle 'web.assets_frontend' */
 .s_rating[data-vcss="001"]{&.s_rating_inline{display: flex; align-items: center; .s_rating_title{margin: 0; margin-right: 0.5em;}.s_rating_icons{margin-left: auto;}}}

/* /website/static/src/snippets/s_hr/000.scss defined in bundle 'web.assets_frontend' */
 .s_hr{line-height: 0; hr{padding: 0; border: 0; border-top: 1px solid currentColor; margin: 0; color: inherit;}}

/* /website/static/src/snippets/s_image_gallery/001.scss defined in bundle 'web.assets_frontend' */
 .s_image_gallery[data-vcss="001"]{&.o_grid, &.o_masonry{.img{width: 100%;}}&.o_grid{&.o_spc-none div.row{margin-bottom: 0px;}&.o_spc-small div.row > div{margin-bottom: $spacer;}&.o_spc-medium div.row > div{margin-bottom: $spacer * 2;}&.o_spc-big div.row > div{margin-bottom: $spacer * 3;}}&.o_masonry{&.o_spc-none div.o_masonry_col{padding: 0; > img{margin: 0 !important;}}&.o_spc-small div.o_masonry_col{padding: 0 ($spacer * .5); > img{margin-bottom: $spacer !important;}}&.o_spc-medium div.o_masonry_col{padding: 0 $spacer; > img{margin-bottom: $spacer * 2 !important;}}&.o_spc-big div.o_masonry_col{padding: 0 ($spacer * 1.5); > img{margin-bottom: $spacer * 3 !important;}}}&.o_nomode{&.o_spc-none .row div{padding-top: 0; padding-bottom: 0;}&.o_spc-small .row div{padding-top: $spacer * .5; padding-bottom: $spacer * .5;}&.o_spc-medium .row div{padding-top: $spacer; padding-bottom: $spacer;}&.o_spc-big .row div{padding-top: $spacer * 1.5; padding-bottom: $spacer * 1.5;}}&:not(.o_slideshow){img{cursor: pointer;}}&.o_slideshow{.carousel{.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{padding-bottom: 64px;}ul.carousel-indicators li{border: 1px solid #aaa;}}ul.carousel-indicators{position: absolute; left: 0%; bottom: 0; width: 100%; height: auto; margin-left: 0; padding: 0; border-width: 0; > *{list-style-image: none; display: inline-block; width: 40px; height: 40px; line-height: 40px; margin: 2.5px 2.5px 2.5px 2.5px; padding: 0; border: 1px solid #aaa; text-indent: initial; background-size: cover; background-color: #fff; background-position: center; border-radius: 0; vertical-align: bottom; flex: 0 0 40px; &:not(.active){opacity: 0.8; filter: grayscale(1);}}}> .container, > .container-fluid, > .o_container_small{height: 100%;}&.s_image_gallery_cover .carousel-item{> a{width: 100%; height: 100%;}> a > img, > img{width: 100%; height: 100%; object-fit: cover;}}&:not(.s_image_gallery_show_indicators) .carousel{ul.carousel-indicators{display: none;}.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{padding-bottom: 0px;}}&.s_image_gallery_indicators_arrows_boxed, &.s_image_gallery_indicators_arrows_rounded{.carousel{.carousel-control-prev .fa, .carousel-control-next .fa{text-shadow: none;}}}&.s_image_gallery_indicators_arrows_boxed{.carousel{.carousel-control-prev .fa:before{content: "\f104"; padding-right: 2px;}.carousel-control-next .fa:before{content: "\f105"; padding-left: 2px;}.carousel-control-prev .fa:before, .carousel-control-next .fa:before{display: block; width: 3rem; height: 3rem; line-height: 3rem; color: black; background: white; font-size: 1.25rem; border: 1px solid $gray-500;}}}&.s_image_gallery_indicators_arrows_rounded{.carousel{.carousel-control-prev .fa:before{content: "\f060";}.carousel-control-next .fa:before{content: "\f061";}.carousel-control-prev .fa:before, .carousel-control-next .fa:before{color: black; background: white; font-size: 1.25rem; border-radius: 50%; padding: 1.25rem; border: 1px solid $gray-500;}}}&.s_image_gallery_indicators_rounded{.carousel{ul.carousel-indicators li{border-radius: 50%;}}}&.s_image_gallery_indicators_dots{.carousel{ul.carousel-indicators{height: 40px; margin: auto; li{max-width: 8px; max-height: 8px; margin: 0 6px; border-radius: 10px; background-color: $black; background-image: none !important; &:not(.active){opacity: .4;}}}}}@extend %image-gallery-slideshow-styles;}.carousel-inner .item img{max-width: none;}}.s_gallery_lightbox{.close{font-size: 2rem;}.modal-dialog{height: 100%; background-color: rgba(0,0,0,0.7);}@include media-breakpoint-up(sm){.modal-dialog{max-width: 100%; padding: 0;}}ul.carousel-indicators{display: none;}.modal-body.o_slideshow{@extend %image-gallery-slideshow-styles;}}%image-gallery-slideshow-styles{&:not(.s_image_gallery_cover) .carousel-item{> a{display: flex; height: 100%; width: 100%;}> a > img, > img{max-height: 100%; max-width: 100%; margin: auto;}}.carousel{height: 100%; .carousel-inner{height: 100%;}.carousel-item.active, .carousel-item-next, .carousel-item-prev, .carousel-control-next, .carousel-control-prev{display: flex; align-items: center; height: 100%;}.carousel-control-next .fa, .carousel-control-prev .fa{text-shadow: 0px 0px 3px $gray-800;}}}

/* /website/static/src/snippets/s_product_catalog/001.scss defined in bundle 'web.assets_frontend' */
.s_product_catalog[data-vcss='001']{.s_product_catalog_dish{// Title .s_product_catalog_dish_title{line-height: $headings-line-height;}// Description .s_product_catalog_dish_description{margin-bottom: $spacer;}&:last-child{.s_product_catalog_dish_description{margin-bottom: 0;}}// Dot Leaders .s_product_catalog_dish_dot_leaders{display: flex; flex-grow: 1; align-items: center; &::after{content: ''; margin-left: $spacer/2; flex: 1 0 auto; border-bottom: 1px dotted;}}}}

/* /website/static/src/snippets/s_comparisons/000.scss defined in bundle 'web.assets_frontend' */
 .s_comparisons{.card-body{.card-title{margin: 0;}.s_comparisons_currency, .s_comparisons_price, .s_comparisons_decimal{display: inline-block; vertical-align: middle;}.s_comparisons_currency, .s_comparisons_decimal{font-size: 80%;}.s_comparisons_price{font-size: 200%;}}}

/* /website/static/src/snippets/s_company_team/000.scss defined in bundle 'web.assets_frontend' */
 .s_company_team{@include media-breakpoint-down(md){img{max-width: 50%;}}}

/* /website/static/src/snippets/s_references/000.scss defined in bundle 'web.assets_frontend' */
 .s_references .img-thumbnail{border: none;}

/* /website/static/src/snippets/s_popup/001.scss defined in bundle 'web.assets_frontend' */
.s_popup[data-vcss='001']{.modal-content{min-height: $font-size-lg * 2; max-height: none; border: 0; border-radius: 0; box-shadow: $modal-content-box-shadow-sm-up;}.modal-dialog{height: auto; min-height: 100%;}// Close icon .s_popup_close{z-index: $zindex-modal; @include o-position-absolute(0, 0); width: $font-size-lg * 2; height: $font-size-lg * 2; line-height: $font-size-lg * 2; @include o-bg-color(color-yiq(o-color('primary')), o-color('primary'), $with-extras: false); box-shadow: $box-shadow-sm; cursor: pointer; font-size: $font-size-lg; text-align: center;}// Size option - Full .s_popup_size_full{padding: 0 !important; max-width: 100%; > .modal-content{// Use the backdrop color as background-color background-color: transparent; box-shadow: none; border-radius: 0;}}// Position option - Middle .s_popup_middle .modal-dialog{align-items: center;}// Position option - Top/Bottom .s_popup_top, .s_popup_bottom{.modal-dialog{margin-right: 0; &:not(.s_popup_size_full){padding: $spacer !important;}}}.s_popup_top .modal-dialog{align-items: flex-start;}.s_popup_bottom .modal-dialog{align-items: flex-end;}// No backdrop .s_popup_no_backdrop{pointer-events: none; .modal-content{pointer-events: auto;}}}

/* /website/static/src/snippets/s_faq_collapse/000.scss defined in bundle 'web.assets_frontend' */
.s_faq_collapse{.accordion .card{.card-header{cursor: pointer; display: inline-block; width: 100%; position: relative; padding: .5em 1em; padding-left: 2.25em; border-radius: 0; outline: none; &:before{content: '\f056'; font-family: 'FontAwesome'; color: $gray-600; position: absolute; margin-left: -1.5em;}&.collapsed:before{content: '\f055';}&:hover, &:focus{text-decoration: none;}}.s_faq_collapse_right_icon{padding-left: 1em; &:before{position: static; float: right; margin-left: 0;}& + div .card-body{padding-left: 1em;}}.card-body{padding: 1em; padding-left: 2.25em;}}.card-body p:last-child, .card-body ul:last-child{margin-bottom: 0;}&.s_faq_collapse_light{.accordion .card{border-left: 0; border-right: 0; border-radius: 0; .card-header{background-color: transparent; &:before{content:'\f068';}&.collapsed:before{content:'\f067';}}.s_faq_collapse_right_icon{padding-left: 0;}.card-header + div .card-body{padding-left: 0; padding-right: 0;}}}&.s_faq_collapse_big{.accordion .card{border: 0; .card-header{background-color: transparent; font-size: $font-size-lg * 1.5; &:before{content:'\f068';}&.collapsed:before{content:'\f067';}}.s_faq_collapse_right_icon{padding-left: 0;}.card-header + div .card-body{padding-left: 0; padding-right: 0;}}}&.s_faq_collapse_boxed{.accordion .card{border: 0; margin: $btn-padding-y-lg 0; &:first-child{margin-top: 0;}&:last-child{margin-bottom: 0;}.card-header{border: 0;}.card-header.collapsed{background-color: transparent;}.collapse.show, .collapsing{.card-body{background-color: rgba(0, 0, 0, 0.03) !important;}}}}}

/* /website/static/src/snippets/s_features_grid/000.scss defined in bundle 'web.assets_frontend' */
 .s_features_grid{.s_features_grid_content{overflow: hidden; p{margin-bottom: 0;}}.s_features_grid_icon{float: left; margin-right: $grid-gutter-width/2;}}

/* /website/static/src/snippets/s_tabs/001.scss defined in bundle 'web.assets_frontend' */
// Tabs .s_tabs[data-vcss="001"]{.s_tabs_content{&.s_tabs_slide_up, &.s_tabs_slide_down, &.s_tabs_slide_left, &.s_tabs_slide_right{> .tab-pane.fade{transition: all 0.2s;}> .tab-pane.fade.show{transform: translateX(0rem) translateY(0rem);}}&.s_tabs_slide_up > .tab-pane.fade{transform: translateY(-1rem);}&.s_tabs_slide_down > .tab-pane.fade{transform: translateY(1rem);}&.s_tabs_slide_left > .tab-pane.fade{transform: translateX(-1rem);}&.s_tabs_slide_right > .tab-pane.fade{transform: translateX(1rem);}}}

/* /website/static/src/snippets/s_table_of_content/000.scss defined in bundle 'web.assets_frontend' */
.s_table_of_content:not([data-vcss]){.s_table_of_content_navbar_wrap{&.s_table_of_content_navbar_sticky{&.s_table_of_content_horizontal_navbar, &.s_table_of_content_vertical_navbar .s_table_of_content_navbar{@include o-position-sticky($top: 0px);}}&:not(.s_table_of_content_navbar_sticky){&, .s_table_of_content_navbar{top: 0px !important;}}&.s_table_of_content_vertical_navbar .s_table_of_content_navbar{> a.list-group-item-action{background: none; color: inherit; opacity: 0.7; font-weight: $font-weight-normal + 100; padding-left: 3px; transition: padding 0.1s; &:before{@include o-position-absolute(10px, auto, 10px, 0); width: 2px; content: "";}&:hover{opacity: 1;}&:focus{background: none;}&.active{background: none; padding-left: 8px; opacity: 1; &:before{background-color: theme-color('primary');}}}}&.s_table_of_content_horizontal_navbar{z-index: 1; padding-top: $navbar-padding-y; padding-bottom: $navbar-padding-y; margin-bottom: $spacer * 2; .s_table_of_content_navbar{display: inline; > a{&.list-group-item-action{width: auto;}&.list-group-item{display: inline-block; margin-bottom: 2px;}}}}}}

/* /website/static/src/snippets/s_quotes_carousel/001.scss defined in bundle 'web.assets_frontend' */
.s_quotes_carousel_wrapper[data-vcss='001']{.s_blockquote{margin-bottom: 0; @include media-breakpoint-down(sm){width: 100% !important; // TODO add the right class in the xml when it's possible}}}

/* /website/static/src/snippets/s_masonry_block/001.scss defined in bundle 'web.assets_frontend' */
.s_masonry_block[data-vcss='001'] .row > div{display: flex; flex-direction: column; justify-content: center;}

/* /website/static/src/snippets/s_media_list/001.scss defined in bundle 'web.assets_frontend' */
.s_media_list[data-vcss="001"]{.s_media_list_item > .row{overflow: hidden; // To support rounded option}.s_media_list_body{padding: $spacer * 2;}.s_media_list_img{object-fit: cover;}}

/* /website/static/src/snippets/s_showcase/000.scss defined in bundle 'web.assets_frontend' */
 #wrapwrap .s_showcase:not([data-vcss]){@include media-breakpoint-up(lg){.container, .container-fluid{position: relative; &:before{content: " "; display: block; @include o-position-absolute($left: 50%); height: 100%; border-right: 1px solid gray('200');}}}.fa{opacity: 0.5;}.text-right{.fa{float: right; margin-left: .5em;}p{float: right; display: block;}}.text-left{.fa{float: left; margin-right: .5em;}p{float: left;}}.row{margin-top: 1em;}.feature p{max-width: 300px; margin-top: 0.6em; clear: both;}}@include media-breakpoint-down(md){#wrapwrap .s_showcase:not([data-vcss]){.text-right, .text-left{text-align: center; .fa{font-size: 2em; opacity: 0.5; float: none; display: block; position: relative; margin-left: auto; margin-right: auto;}}.feature{margin-bottom: 3em; p{float: none; display: block; position: relative; margin-left: auto; margin-right: auto;}}}}

/* /website/static/src/snippets/s_showcase/002.scss defined in bundle 'web.assets_frontend' */
.s_showcase[data-vcss='002']{.s_showcase_icon{// Avoid images stretched depending on title size (when icons // are images an not Font Awesome icons). Because the default // value of "align-self" is "strech". align-self: flex-start;}}

/* /website/static/src/snippets/s_timeline/000.scss defined in bundle 'web.assets_frontend' */
.s_timeline{.s_timeline_line{position: relative; border-color: gray('800'); // For inheritance, not actual border &:before{content: ''; display: block !important; // override portal '#wrap .container' value position: absolute; width: 1px; top: 0px; bottom: 0px; left: 50%; border-left: 1px solid; border-color: inherit;}}.s_timeline_row{align-items: center; .s_timeline_content{align-items: center; justify-content: flex-end; width: 100%; ~ .s_timeline_content{justify-content: flex-start;}}&.flex-row-reverse{.s_timeline_content{flex-direction: row-reverse;}}@include media-breakpoint-up(md){&.flex-row-reverse{.s_timeline_content{flex-direction: row-reverse; &:not(:last-child){margin-left: 10%;}}}&:not(.flex-row-reverse){.s_timeline_content:last-child{margin-left: 10%;}}}}.s_timeline_date{@include media-breakpoint-up(md){position: absolute; left: 0%; right: 0%;}@include media-breakpoint-down(sm){position: relative; margin: 20px 0px;}span:not(.fa){display: inline-block; padding: 5px;}.fa{margin: 0 $grid-gutter-width/2;}text-align: center;}.s_timeline_icon{flex: 0 0 auto; margin: $grid-gutter-width/2; z-index: 1;}}

/* /website/static/src/snippets/s_process_steps/000.scss defined in bundle 'web.assets_frontend' */
.s_process_steps{.s_process_step_icon{margin: $grid-gutter-width 0; span{display: block; overflow: hidden;}.fa{display: block;}}.s_process_step_content{padding: 0 $grid-gutter-width/2;}@include media-breakpoint-up(lg){overflow-x: hidden; .s_process_step{.s_process_step_icon{position: relative; z-index: 1; span:after{content: ''; z-index: -1; border-top: 1px solid gray('500'); @include o-position-absolute(50%, 0, 0, auto);}}.s_process_step_icon{span:after{width: 100%;}}&:first-child .s_process_step_icon, &:last-child .s_process_step_icon{span:after{width: 50%;}}&:first-child .s_process_step_icon{.fa:after{right: 0;}.fa.float-right:after{width: 0;}}&:last-child .s_process_step_icon{span:after{left: 0;}.fa{&:after{left: 0;}&.float-left:after{width: 0;}}}}}}

/* /website/static/src/snippets/s_text_highlight/000.scss defined in bundle 'web.assets_frontend' */
.s_text_highlight{padding: 1.5rem; border-radius: $border-radius; :last-child{margin-bottom: 0;}}

/* /website/static/src/snippets/s_blockquote/000.scss defined in bundle 'web.assets_frontend' */
.s_blockquote{// Reset border: 0; padding: 0; .s_blockquote_icon{font-size: $font-size-base;}.s_blockquote_author{opacity: .75;}// Classic &.s_blockquote_classic{.s_blockquote_icon{float: left; border-top-right-radius: 0 !important; border-bottom-right-radius: 0 !important; &.float-right{border-top-left-radius: 0 !important; border-bottom-left-radius: 0 !important;}}.s_blockquote_content{overflow: hidden; padding: $spacer * 1.5; .blockquote-footer{&::before{content: '';}.s_blockquote_avatar{max-height: $spacer * 2.5;}}}}// Cover &.s_blockquote_cover{text-align: center; .s_blockquote_icon{position: relative; z-index: 1; float: none; margin-bottom: -$spacer * 1.5;}p:last-of-type{margin-bottom: $spacer * .5;}.s_blockquote_content, .s_blockquote_filter{// s_blockquote_filter is there for compatibility padding: $spacer * 3 $spacer * 2 $spacer * 2;}// Compatibility .s_blockquote_filter{margin: $spacer * -3 $spacer * -2 $spacer * -2;}.quote_char{margin: $spacer * 2 0 $spacer 0; & ~ .blockquote-footer{padding-bottom: $spacer * 2;}}}// Minimalist &.s_blockquote_minimalist{border-left: 5px solid; border-color: o-color('secondary'); .s_blockquote_content{padding: $spacer; @include border-right-radius($border-radius); p:last-of-type{margin-bottom: 0;}}}}

/* /website/static/src/snippets/s_badge/000.scss defined in bundle 'web.assets_frontend' */
 .s_badge{padding: $s-badge-padding; margin: $s-badge-margin; border-radius: if($s-badge-border-radius != null, $s-badge-border-radius, $badge-border-radius); font-size: $font-size-sm; .fa{margin: $s-badge-i-margin;}}

/* /website/static/src/snippets/s_color_blocks_2/000.scss defined in bundle 'web.assets_frontend' */
.s_color_blocks_2{// Needed to be able to stretch the inner container so that // the snippet works with the 50% and 100% height &.o_half_screen_height, &.o_full_screen_height{> :first-child{// container &, > .row{min-height: inherit;}}}.row{display: flex; flex-flow: row wrap; // Fix for safari browser as it 'supports' flex but not with the right // behavior &::before, &::after{width: 0;}}[class*="col-lg-"]{padding: 8% 5%; padding-top: 8vw; // A flex item cannot have % padding top and bottom (even if it works on chrome) padding-bottom: 8vw; // Solution is vw units but we keep 8% as a fallback}@include media-breakpoint-down(md){[class*="col-lg-"]{flex: 1 1 100%;}}img{max-width: 100%; height: auto;}}

/* /website/static/src/snippets/s_product_list/000.scss defined in bundle 'web.assets_frontend' */
 .s_product_list{padding-top: 20px; > div > .row > div{margin-bottom: 20px; // without this style the columns go directly to the top of the bellow ones. height: 200px; text-align: center; a{display: block;}img{margin: auto; max-height: 130px; @include s-product-list-img-hook;}.s_product_list_item_link{@include o-position-absolute($left: 10%, $bottom: 0, $right: 10%); > .btn{width: 100%; padding: 5px !important; font-size: 16px; @media only screen and (max-width : 1280px){// FIXME font-size: 12px;}.fa{font-size: 18px; padding-right: 5px; @media only screen and (max-width : 1024px){// FIXME display: block; font-size: 25px;}}}}}}

/* /website/static/src/snippets/s_mega_menu_thumbnails/000.scss defined in bundle 'web.assets_frontend' */
.s_mega_menu_thumbnails:not([data-vcss]){.s_mega_menu_thumbnails_footer{background: rgba(0, 0, 0, .05);}}

/* /website/static/src/snippets/s_mega_menu_little_icons/000.scss defined in bundle 'web.assets_frontend' */
 .s_mega_menu_little_icons:not([data-vcss]){.nav-link{@include hover-focus{background: rgba(0, 0, 0, .05);}}.s_mega_menu_gray_area:last-child{// Allow to show the grey background used in the pseudo-element z-index: 1; &:before{content: ''; display: block; width: 100vw; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; pointer-events: none; background: rgba(0, 0, 0, .05);}}}

/* /website/static/src/snippets/s_mega_menu_images_subtitles/000.scss defined in bundle 'web.assets_frontend' */
 .s_mega_menu_images_subtitles:not([data-vcss]){.media img{max-width: 64px;}.nav-link{@include hover-focus{background: rgba(0, 0, 0, .05);}}}

/* /website/static/src/snippets/s_mega_menu_menus_logos/000.scss defined in bundle 'web.assets_frontend' */
 .s_mega_menu_menus_logos:not([data-vcss]){.s_mega_menu_gray_area:last-child{// Allow to show the grey background used in the pseudo-element z-index: 1; &:before{content: ''; display: block; width: 100vw; height: 100%; position: absolute; left: 0; top: 0; z-index: -1; pointer-events: none; background: rgba(0, 0, 0, .05);}}.s_mega_menu_menus_logos_wrapper{// Apply color transparency to match with the preset used border-color: rgba(0, 0, 0, .05) !important;}}

/* /website/static/src/snippets/s_mega_menu_odoo_menu/000.scss defined in bundle 'web.assets_frontend' */
 .s_mega_menu_odoo_menu:not([data-vcss]){.s_mega_menu_odoo_menu_footer{// Apply color transparency to match with the preset used border-color: rgba(0, 0, 0, .05) !important; background: rgba(0, 0, 0, .05) !important;}}

/* /website/static/src/snippets/s_mega_menu_cards/000.scss defined in bundle 'web.assets_frontend' */
 .s_mega_menu_cards:not([data-vcss]){.nav-link{@include hover-focus{background: rgba(0, 0, 0, .05);}}}

/* /website/static/src/snippets/s_google_map/000.scss defined in bundle 'web.assets_frontend' */
 $s-google-map-desc-bg: theme-color('primary') !default; $s-google-map-desc-alpha: 0.80 !default; $s-google-map-desc-hover-bg: theme-color('primary') !default; $s-google-map-desc-hover-alpha: 0.55 !default; .s_google_map{position: relative; min-height: 100px; .map_container{@include o-position-absolute(0, 0, 0, 0);}.description{@include o-position-absolute(auto, 0, 0, 0); z-index: 99; padding: 0 1em; background: rgba($s-google-map-desc-bg, $s-google-map-desc-alpha); color: color-yiq(rgba($s-google-map-desc-bg, $s-google-map-desc-alpha)); transition: background-color 250ms ease; font{float: left; margin-top: 20px; margin-bottom: 15px; font-weight: bold; text-transform: uppercase;}span{float: left; text-transform: none; font-weight: normal; margin-top: 20px; margin-left: 10px;}}&:hover .description{background: $s-google-map-desc-hover-bg; background: rgba($s-google-map-desc-hover-bg, $s-google-map-desc-hover-alpha); color: color-yiq(rgba($s-google-map-desc-hover-bg, $s-google-map-desc-hover-alpha));}}

/* /website/static/src/snippets/s_map/000.scss defined in bundle 'web.assets_frontend' */
 $s-map-desc-bg: theme-color('primary') !default; $s-map-desc-alpha: 0.80 !default; $s-map-desc-hover-bg: theme-color('primary') !default; $s-map-desc-hover-alpha: 0.55 !default; .s_map{position: relative; min-height: 100px; .map_container{@include o-position-absolute(0, 0, 0, 0);}.description{@include o-position-absolute(auto, 0, 0, 0); z-index: 99; padding: 0 1em; background: rgba($s-map-desc-bg, $s-map-desc-alpha); color: color-yiq(rgba($s-map-desc-bg, $s-map-desc-alpha)); transition: background-color 250ms ease; font{float: left; margin-top: 20px; margin-bottom: 15px; font-weight: bold; text-transform: uppercase;}span{float: left; text-transform: none; font-weight: normal; margin-top: 20px; margin-left: 10px;}}&:hover .description{background: $s-map-desc-hover-bg; background: rgba($s-map-desc-hover-bg, $s-map-desc-hover-alpha); color: color-yiq(rgba($s-map-desc-hover-bg, $s-map-desc-hover-alpha));}.s_map_color_filter{@include o-position-absolute(0, 0, 0, 0); position: absolute !important; pointer-events: none;}}.editor_enable .s_map{iframe{pointer-events: none;}}

/* /website/static/src/snippets/s_dynamic_snippet/000.scss defined in bundle 'web.assets_frontend' */
.s_dynamic{[data-url]{cursor: pointer;}.card-img-top{height: 12rem;}img{object-fit: scale-down;}}

/* /website/static/src/snippets/s_dynamic_snippet_carousel/000.scss defined in bundle 'web.assets_frontend' */
.s_dynamic{.carousel-control-prev, .carousel-control-next{position: absolute; width: 4rem; > span.fa{color: gray('700'); background: radial-gradient($white 50%, transparent 50%);}}.dynamic_snippet_template .card-footer a, .dynamic_snippet_template .card-footer button, .o_dynamic_snippet_btn_wrapper{z-index: 2;}.dynamic_snippet_template .card-body .card-text{display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden;}}

/* /website/static/src/snippets/s_embed_code/000.scss defined in bundle 'web.assets_frontend' */
 .editor_enable .s_embed_code{min-height: $o-font-size-base;}

/* /website/static/src/snippets/s_website_form/001.scss defined in bundle 'web.assets_frontend' */
.editor_enable .s_website_form[data-vcss="001"]{// Hidden field is only partially hidden in editor .s_website_form_field_hidden{display: block; opacity: 0.5;}// Fields with conditional visibility are visible and identifiable in the editor .s_website_form_field_hidden_if{display: block !important; background-color: $o-we-fg-light;}// Select inputs do not trigger the default browser behavior // Since we use a custom editable element .s_website_form_field select{pointer-events: none;}// Display the editable select as a single big field #editable_select.form-control{height: auto; .s_website_form_select_item.selected{font-weight: bold;}}}.s_website_form[data-vcss="001"]{.s_website_form_label{@include media-breakpoint-down(xs){width: auto !important;}}.s_website_form_field_hidden{display: none;}span.s_website_form_mark{font-size: 0.85em; font-weight: 400;}.s_website_form_dnone{display: none;}// The snippet editor uses padding and not margin. // This will include bootstrap margin in the dragable y axes .s_website_form_rows > .form-group{margin-bottom: 0; padding-top: 0.5rem; padding-bottom: 0.5rem;}.s_website_form_submit, .s_website_form_recaptcha{.s_website_form_label{float: left; height: 1px;}}.s_website_form_no_submit_label{.s_website_form_label{display: none;}}}body:not(.editor_enable) .s_website_form[data-vcss="001"]{.s_website_form_date, .s_website_form_datetime{&:not(.s_website_form_datepicker_initialized){[value]{color: transparent;}}}}

/* /website_payment/static/src/snippets/s_donation/000.scss defined in bundle 'web.assets_frontend' */
.s_donation:not([data-vcss]){@include o-input-number-no-arrows(); .s_donation_btn{transition: background 0.2s; &:focus{box-shadow: none !important;}}#s_donation_amount_input{border: none; outline: none; max-width: 145px; background-color: transparent; font-size: inherit; color: inherit; &::placeholder{opacity: 0.6; color: inherit;}}.s_donation_range_slider_wrap{// not at 100% to prevent the bubble overflowing the viewport // to the right (with small device when set with max value) width: 90%; #s_donation_range_slider{margin-bottom: 50px;}.s_range_bubble{position: absolute; left: 0%; margin-top: 28px; padding: 0.5rem 1rem; color: color-yiq(o-color('primary')); background: theme-color('primary'); font-size: 1.15rem; border-radius: 0.3rem; transform: translateX(-50%); &::after{content: ""; position: absolute; top: -5px; left: 50%; width: 0; border-style: solid; border-color: theme-color('primary') transparent; border-width: 0 5px 5px; margin-left: -5px;}}}}

/* /website_sale/static/src/snippets/s_dynamic_snippet_products/000.scss defined in bundle 'web.assets_frontend' */
// class name are dynamically added. // If you don't find it with a grep, don't consider it as useless without extra check. .s_product_product_centered{.card{overflow: visible; margin-top: 6rem; padding-top: 6rem;}.o_carousel_product_img_link{max-width: 75%; margin-top: -12rem; left: 0; right: 0;}}.s_product_product_banner{img{max-height: 400px;}}.s_product_product_horizontal_card img{img{height: 100%;}}@include media-breakpoint-down(md){.s_product_product_horizontal_card img{height: 12rem;}}.o_dynamic_product_hovered{transition: transform 250ms ease; &:hover{transform: scale(.95);}}

/* /website_blog/static/src/snippets/s_blog_posts/000.scss defined in bundle 'web.assets_frontend' */
.s_dynamic{.s_blog_posts_post_title{font-weight: $headings-font-weight; // Tweek line-height to help fit multi-line titles. line-height: 1;}.s_blog_posts_post_subtitle{font-size: 1em;}&.s_blog_post_list{// Set sizes relative to the container font-size. // (handle parents with, for example, '.small' or '.h1' classes) .s_blog_posts_post_cover{@include size(3.5em); max:{width: 85px; height: 85px}}.s_blog_posts_post_title{font-size: 1.25em;}}&.s_blog_post_big_picture{.s_blog_posts_post{min-height: 150px; figcaption{position: relative; justify-content: center; pointer-events: auto;}.s_blog_posts_post_cover{min-height: 100%; .o_record_cover_container{top: 0;}}.s_blog_posts_post_title{@include font-size($h3-font-size); margin-bottom: 0.5em; word-spacing: -0.15em;}}.row{align-items: stretch; .s_blog_posts_post_subtitle{margin: 0;}}&.s_blog_posts_effect_marley{figcaption{text-align: right; .s_blog_posts_post_title, .s_blog_posts_post_subtitle{padding: 10px 0;}.s_blog_posts_post_subtitle{bottom: 30px; line-height: 1.5; transform: translate3d(0,100%,0); opacity: 0; transition: opacity 0.35s, transform 0.35s;}.s_blog_posts_post_title{top: 30px; transition: transform 0.35s; transform: translate3d(0,20px,0); &:after{@include o-position-absolute(100%, auto, auto, 0); width: 100%; height: 2px; background: #fff; content: ""; transform: translate3d(0,40px,0); opacity: 0; transition: opacity 0.35s, transform 0.35s;}}}.s_blog_posts_post:hover figcaption{.s_blog_posts_post_title{transform: translate3d(0,0,0);}.s_blog_posts_post_title::after, .s_blog_posts_post_subtitle{opacity: 1; transform: translate3d(0,0,0);}}}&.s_blog_posts_effect_dexter .s_blog_posts_post{.o_record_cover_container{transition: opacity 0.35s;}figcaption{&::before{content: ""; @include o-position-absolute(0, 0, 0, 0); background: linear-gradient(to bottom, darken(theme-color('secondary'), 10%) 0%, darken(theme-color('secondary'), 30%) 100%); z-index: -1;}padding: 3em; text-align: left; &:after{@include o-position-absolute(10px, 10px, 10px, 10px); border: 2px solid #fff; border-top-width: 4px; border-bottom-width: 4px; content: ""; transition: transform-origin 0.35s; transform: scaleY(0.5); transform-origin: top;}}.s_blog_posts_post_subtitle{@include o-position-absolute(auto, 20px, 20px, 20px); opacity: 0; transition: opacity 0.35s linear, transform 0.35s; transform: translate3d(0,-100px,0);}.s_blog_posts_post_title{@include o-position-absolute(20px, 20px, auto, 20px);}&:hover{.o_record_cover_container{opacity: 0.4 !important;}figcaption::after{transform-origin: bottom;}.s_blog_posts_post_subtitle{opacity: 1; transform: translate3d(0, 0, 0);}}}&.s_blog_posts_effect_chico{.o_record_cover_image{transition: opacity 0.35s, transform 0.35s; transform: scale(1.12);}.s_blog_posts_post figcaption{&::before{@include o-position-absolute(15px,15px,15px,15px); border: 1px solid #fff; content: ""; transform: scale(1.1); opacity: 0; transition: opacity 0.35s, transform 0.35s;}}.s_blog_posts_post_subtitle{opacity: 0; transition: opacity 0.35s, transform 0.35s; margin-left: auto; margin-right: auto; max-width: 200px; transform: scale(1.5);}.s_blog_posts_post_title{padding: 0;}.s_blog_posts_post:hover{.o_record_cover_image{transform: scale(1);}figcaption::before, .s_blog_posts_post_subtitle{opacity: 1; transform: scale(1);}}}}&.s_blog_post_horizontal{.o_record_cover_container{width: auto; height: auto; padding: 0;}.row{position: relative; overflow: visible; text-align: left; .s_blog_posts_post{position: relative; figcaption:after{position: relative; width: 100%; height: 150px; content: ""; display: block;}h4{position: relative; text-align: left; padding-right: 5%; &:before{content: ""; z-index: 0; display: inline; float: left; width: 20%; position: absolute; top: 49%; left: 0; border-bottom: 1px solid $body-color;}a{z-index: 1; display: block; line-height: 1; padding-left: 25%; position: relative;}}h5{padding-left: 24%;}> a{position: absolute; bottom: 0; left: 0; display: block; background: theme-color('primary'); width: 100%; height: 150px; overflow: hidden; > div{height: 100%; width: 100%; background-size: cover; background-position: center; opacity: 1; transform-origin: 50%; transition: all 400ms; backface-visibility: hidden; &:hover{opacity: 0.8; transform: scale(1.1);}}}@media only screen and (max-width : 480px){// FIXME width: 100%;}}@include media-breakpoint-down(sm){display: block;}}}&.s_blog_post_card{.card{height: 100%; box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.17); .s_blog_posts_post_cover{height: 170px; .o_record_cover_container{background-color: transparent !important; .o_record_cover_image{@extend .card-img-top; height: inherit;}}}a:hover{text-decoration: none;}h4{font-size: 19px; font-weight: 600;}.card-footer{background-color: transparent; border-top: 2px solid rgba(0, 0, 0, 0.06); .text-muted{color: rgba(52, 58, 64, 0.4) !important;}}}}}

/* /mass_mailing/static/src/snippets/s_alert/000.scss defined in bundle 'web.assets_frontend' */
 .s_mail_alert{margin: $grid-gutter-width/2 0; border-width: $alert-border-width; border-style: solid; border-radius: $alert-border-radius; p, ul, ol{&:last-child{margin-bottom: 0;}}&.s_alert_sm{padding: $grid-gutter-width/3; font-size: $font-size-sm;}&.s_alert_md{padding: $grid-gutter-width/2; font-size: $font-size-base;}&.s_alert_lg{padding: $grid-gutter-width; font-size: $font-size-lg;}.s_alert_icon{float: left; margin-right: 10px;}.s_alert_content{overflow: hidden;}}

/* /mass_mailing/static/src/snippets/s_features_grid/000.scss defined in bundle 'web.assets_frontend' */
 .s_mail_features_grid{.s_mail_features_grid_content{overflow: hidden; p{margin-bottom: 0;}}.s_mail_features_grid_icon{float: left;}}

/* /mass_mailing/static/src/snippets/s_hr/000.scss defined in bundle 'web.assets_frontend' */
 .s_hr{line-height: 0; hr{padding: 0; border: 0; border-top: 1px solid currentColor; margin: 0; color: inherit;}}

/* /mass_mailing/static/src/snippets/s_masonry_block/001.scss defined in bundle 'web.assets_frontend' */
.o_mail_snippet_general.s_masonry_block[data-vcss='001']{.row > div{display: flex; flex-direction: column; justify-content: center;}.o_masonry_grid_container > .row{height: 100%;}}

/* /mass_mailing/static/src/snippets/s_media_list/001.scss defined in bundle 'web.assets_frontend' */
.s_media_list[data-vcss="001"]{.s_media_list_item > .row{overflow: hidden; // To support rounded option}.s_media_list_body{padding: $spacer * 2;}.s_media_list_img{object-fit: cover;}}

/* /mass_mailing/static/src/snippets/s_rating/001.scss defined in bundle 'web.assets_frontend' */
 .s_rating[data-vcss="001"]{&.s_rating_inline{display: flex; align-items: center; .s_rating_title{margin: 0; margin-right: 0.5em;}.s_rating_icons{margin-left: auto;}}}

/* /website/static/src/scss/user_custom_rules.scss defined in bundle 'web.assets_frontend' */
// // This file is meant to regroup your design customizations. For example, doing // this will separate your footer with a dotted border using your primary color. // // footer{// border-top: 5px dotted theme-color('primary'); //}// 