Commit 78c5ca8f by Arturo Jasso Origel

eliminando carpetas

parent 30036129
# sphinx build directories
_build/
# dotfiles
.*
!.gitignore
!.github
!.mailmap
# compiled python files
*.py[co]
__pycache__/
# setup.py egg_info
*.egg-info
# emacs backup files
*~
# hg stuff
*.orig
status
# odoo filestore
odoo/filestore
# maintenance migration scripts
odoo/addons/base/maintenance
# generated for windows installer?
install/win32/*.bat
install/win32/meta.py
# needed only when building for win32
setup/win32/static/less/
setup/win32/static/wkhtmltopdf/
setup/win32/static/postgresql*.exe
# js tooling
node_modules
package-lock.json
package.json
.husky
# various virtualenv
/bin/
/build/
/dist/
/include/
/lib/
/man/
/share/
/src/
# avoid adding it after generation from tsconfig command
tsconfig.json
# -*- coding: utf-8 -*-
from . import models
# -*- coding: utf-8 -*-
{
'name': "anita_theme_base",
'summary': """
Base for anita odoo themes, it support free login for odoo
""",
'description': """
Odoo Login,
Odoo login page,
Odoo login theme
Login,
Anita Theme Base,
Anita Theme,
Awesome Theme,
Multi tab theme,
Pop form theme
""",
'author': "Funenc Odoo Team",
'website': "https://odoo.funenc.com",
'live_test_url': 'http://124.223.107.118:8007/',
'license': 'OPL-1',
'images': ['static/description/screen_shot.png', 'static/description/banner.png'],
'support': 'supports@funenc.com',
'live_chat': 'supports@funenc.com',
'maintainer': 'Funenc Odoo Team',
'category': 'Theme/Backend',
'version': '15.0.0.7',
'installable': True,
'application': True,
'auto_install': False,
'depends': ['base', 'web'],
'data': [
"views/anita_web.xml"
],
'assets': {
'web.assets_backend': [
'anita_theme_base/static/css/anita_variables.scss',
'anita_theme_base/static/css/mixins/_flex.scss',
'anita_theme_base/static/css/mixins/_box_shadow.scss',
'anita_theme_base/static/css/mixins/_clearfix.scss',
'anita_theme_base/static/css/mixins/_float.scss',
'anita_theme_base/static/css/mixins/_hover.scss',
'anita_theme_base/static/css/mixins/_gradients.scss',
'anita_theme_base/static/css/mixins/_buttons.scss',
'anita_theme_base/static/css/anita_functions.scss',
'anita_theme_base/static/css/anita_form_controls.scss',
'anita_theme_base/static/css/anita_buttons.scss',
'anita_theme_base/static/css/anita_form_view.scss',
'anita_theme_base/static/css/anita_list_view.scss',
'anita_theme_base/static/css/anita_scroll.scss',
'anita_theme_base/static/css/anita_misc.scss',
'anita_theme_base/static/js/anita_form_controller.js',
'anita_theme_base/static/js/anita_customizer.js',
],
'web.assets_qweb': [
'anita_theme_base/static/xml/misc.xml'
]
}
}
# -*- coding: utf-8 -*-
from . import anita_view_extend
# -*- coding: utf-8 -*-
import inspect
from odoo import models, _
from odoo.exceptions import AccessError
from odoo.models import check_method_name
class AnitaViewExtend(models.Model):
'''
anita view extend current_theme_mode
'''
_inherit = 'ir.ui.view'
def _render_template(self, template, values=None, engine='ir.qweb'):
"""
rewrite to change the title
:param template:
:param values:
:param engine:
:return:
"""
if template in ['web.login', 'web.webclient_bootstrap']:
if not values:
values = {}
values["title"] = self.env['ir.config_parameter'].sudo().get_param(
"anita_theme_setting.window_default_title", "Awesome Odoo")
return super(AnitaViewExtend, self)._render_template(
template, values=values, engine=engine)
def _validate_tag_button(self, node, name_manager, node_info):
if not node_info['validate']:
return
name = node.get('name')
special = node.get('special')
type_ = node.get('type')
if special:
if special not in ('cancel', 'save', 'add', 'save_and_return', 'save_and_notify'):
self._raise_view_error(_("Invalid special '%(value)s' in button", value=special), node)
elif type_:
if type_ == 'edit': # list_renderer, used in kanban view
return
elif not name:
self._raise_view_error(_("Button must have a name"), node)
elif type_ == 'object':
func = getattr(type(name_manager.model), name, None)
if not func:
msg = _(
"%(action_name)s is not a valid action on %(model_name)s",
action_name=name, model_name=name_manager.model._name,
)
self._raise_view_error(msg, node)
try:
check_method_name(name)
except AccessError:
msg = _(
"%(method)s on %(model)s is private and cannot be called from a button",
method=name, model=name_manager.model._name,
)
self._raise_view_error(msg, node)
try:
inspect.signature(func).bind(self=name_manager.model)
except TypeError:
msg = "%s on %s has parameters and cannot be called from a button"
self._log_view_warning(msg % (name, name_manager.model._name), node)
elif type_ == 'action':
# logic mimics /web/action/load behaviour
action = False
try:
action_id = int(name)
except ValueError:
model, action_id = self.env['ir.model.data']._xmlid_to_res_model_res_id(name,
raise_if_not_found=False)
if not action_id:
msg = _("Invalid xmlid %(xmlid)s for button of type action.", xmlid=name)
self._raise_view_error(msg, node)
if not issubclass(self.pool[model], self.pool['ir.actions.actions']):
msg = _(
"%(xmlid)s is of type %(xmlid_model)s, expected a subclass of ir.actions.actions",
xmlid=name, xmlid_model=model,
)
self._raise_view_error(msg, node)
action = self.env['ir.actions.actions'].browse(action_id).exists()
if not action:
msg = _(
"Action %(action_reference)s (id: %(action_id)s) does not exist for button of type action.",
action_reference=name, action_id=action_id,
)
self._raise_view_error(msg, node)
name_manager.has_action(name)
elif node.get('icon'):
description = 'A button with icon attribute (%s)' % node.get('icon')
self._validate_fa_class_accessibility(node, description)
// Make the div behave like a button
.btn-group {
// Prevent double borders when buttons are next to each other
.btn + .btn,
.btn + .btn-group,
.btn-group + .btn,
.btn-group + .btn-group {
margin-left: -$btn-border-width;
}
}
.btn-group {
// Reset rounded corners
> .btn:not(:last-child):not(.dropdown-toggle),
> .btn-group:not(:last-child) > .btn {
@include border-right-radius(0);
}
> .btn:not(:first-child),
> .btn-group:not(:first-child) > .btn {
@include border-left-radius(0);
}
}
// Sizing
//
// Remix the default button sizing classes into new ones for easier manipulation.
.btn-group-sm > .btn { @extend .btn-sm; }
.btn-group-lg > .btn { @extend .btn-lg; }
//
// Split button dropdowns
//
.dropdown-toggle-split {
padding-right: $btn-padding-x * .75;
padding-left: $btn-padding-x * .75;
}
.btn-sm + .dropdown-toggle-split {
padding-right: $btn-padding-x-sm * .75;
padding-left: $btn-padding-x-sm * .75;
}
.btn-lg + .dropdown-toggle-split {
padding-right: $btn-padding-x-lg * .75;
padding-left: $btn-padding-x-lg * .75;
}
// The clickable button for toggling the menu
// Set the same inset shadow as the :active state
.btn-group.show .dropdown-toggle {
@include box-shadow($btn-active-box-shadow);
// Show no shadow for `.btn-link` since it has no other button styles.
&.btn-link {
@include box-shadow(none);
}
}
//
// Vertical button groups
//
.btn-group-vertical {
> .btn + .btn,
> .btn + .btn-group,
> .btn-group + .btn,
> .btn-group + .btn-group {
margin-top: -$btn-border-width;
}
// Reset rounded corners
> .btn:not(:last-child):not(.dropdown-toggle),
> .btn-group:not(:last-child) > .btn {
@include border-bottom-radius(0);
}
> .btn:not(:first-child),
> .btn-group:not(:first-child) > .btn {
@include border-top-radius(0);
}
}
\ No newline at end of file
.btn {
font-weight: $btn-font-weight;
// font-family: $btn-font-family;
border: $input-btn-border-width solid transparent;
@include button-size(
$btn-padding-y,
$btn-padding-x,
$btn-font-size,
$input-btn-line-height,
$btn-border-radius
);
@include transition($btn-transition);
&:hover,
&.hover {
cursor: pointer;
}
&:focus,
&.focus {
@include box-shadow(none);
}
&:not([disabled]):not(.disabled):active,
&:not([disabled]):not(.disabled).active {
background-image: none;
@include box-shadow(none);
}
&.btn-squared {
border-radius: 0;
}
&.btn-pill {
border-radius: $btn-pill-border-radius;
}
}
//
// Alternate buttons
//
@each $color, $value in $theme-colors {
.btn-#{$color} {
@include button-variant($value);
}
}
// White buttons
.btn-white {
@include button-variant($white);
}
// Black buttons
.btn-black {
@include button-variant($black);
}
// Outlined default buttons
@each $color, $value in $theme-colors {
.btn-outline-#{$color} {
@include button-outline-variant($value);
}
}
// White outline buttons
.btn-outline-white {
@include button-outline-variant($white);
color: $white;
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active {
color: $black;
}
}
// Black outline buttons
.btn-outline-black {
@include button-outline-variant($black);
color: $black;
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active {
color: $white;
}
}
// Make a button look and behave like a link
.btn-link {
font-weight: $font-weight-normal;
color: $link-color;
@include hover {
color: $link-hover-color;
text-decoration: $link-hover-decoration;
}
&:focus,
&.focus {
text-decoration: $link-hover-decoration;
}
&:disabled {
color: $btn-link-disabled-color;
}
}
//
// Button Sizes
//
.btn-lg {
@include button-size(
$btn-padding-y-lg,
$btn-padding-x-lg,
$btn-font-size-lg,
$btn-line-height-lg,
$btn-border-radius-lg
);
}
.btn-sm {
@include button-size(
$btn-padding-y-sm,
$btn-padding-x-sm,
$btn-font-size-sm,
$btn-line-height-sm,
$btn-border-radius-sm
);
}
// Vertically space out multiple block buttons
.btn-block + .btn-block {
margin-top: $btn-block-spacing-y;
}
\ No newline at end of file
// Checkboxes and radios
.custom-control {
min-height: (1 * $line-height-base);
padding-left: $custom-control-gutter;
&:hover {
cursor: pointer;
}
.custom-control-label:before {
pointer-events: all;
}
}
.custom-control-inline {
margin-right: $custom-control-spacer-x;
}
.custom-control-input {
&:checked~.custom-control-label::before {
color: $custom-control-indicator-checked-color;
border-color: transparent;
// @include gradient-bg($custom-control-indicator-checked-bg);
box-shadow: $custom-control-indicator-checked-box-shadow;
}
&:focus~.custom-control-label::before {
// the mixin is not used here to make sure there is feedback
// box-shadow: $custom-control-indicator-focus-box-shadow;
}
&:active~.custom-control-label::before {
color: $custom-control-indicator-active-color;
background-color: $custom-control-indicator-active-bg;
box-shadow: $custom-control-indicator-active-box-shadow;
}
&:disabled {
~.custom-control-label {
color: $custom-control-description-disabled-color; // $custom-control-label-disabled-color
&:hover {
cursor: not-allowed;
}
&::before {
background-color: $custom-control-indicator-disabled-bg;
}
}
}
}
// Custom control indicators
// Build the custom controls out of psuedo-elements.
.custom-control-label {
position: static;
&:hover {
cursor: pointer;
}
// Background-color and (when enabled) gradient
&::before {
top: ($line-height-base - $custom-control-indicator-size) / 2.0;
left: 0 !important;
width: $custom-control-indicator-size;
height: $custom-control-indicator-size;
background-color: $custom-control-indicator-bg;
border: $custom-control-indicator-border;
transition: all 250ms cubic-bezier(.27, .01, .38, 1.06);
box-shadow: $custom-control-indicator-box-shadow;
}
// Foreground (icon)
&::after {
top: ($line-height-base - $custom-control-indicator-size) / 2.0;
width: $custom-control-indicator-size;
height: $custom-control-indicator-size;
background-size: $custom-control-indicator-bg-size;
}
}
// Custom Switches (core)
// Adjustments for the default Bootstrap custom switches.
.custom-switch {
padding-left: $custom-switch-padding-left;
.custom-control-label {
position: relative;
::before {
left: -2.25rem !important;
width: 1.75rem !important;
}
}
}
// Checkboxes
.custom-checkbox {
.custom-control-label::before {
@include border-radius($custom-checkbox-indicator-border-radius);
}
.custom-control-label::after {
content: '';
position: absolute;
top: ($custom-control-indicator-size - 0.9166rem) / 2.0;
left: ($custom-control-indicator-size - 0.4166rem) / 2.0;
width: 5px;
height: 11px;
opacity: 0;
transform: rotate(45deg) scale(0);
border-right: 2px solid $white;
border-bottom: 2px solid $white;
transition: $custom-checkbox-indicator-transition;
transition-delay: 100ms;
}
.custom-control-input:checked~.custom-control-label {
// &::before {
// background-image: none;
// }
&::after {
opacity: 1;
transform: rotate(45deg) scale(1);
background-image: $custom-checkbox-indicator-icon-checked;
}
}
.custom-control-input:indeterminate~.custom-control-label {
&::before {
border: none;
// @include gradient-bg($custom-checkbox-indicator-indeterminate-bg);
box-shadow: $custom-checkbox-indicator-indeterminate-box-shadow;
}
&::after {
content: '';
position: absolute;
transform: scale(1);
background-image: $custom-checkbox-indicator-icon-indeterminate;
background-color: $white;
border: none;
width: 10px;
height: 2px;
top: 11px;
left: 4px;
opacity: 1;
transition: none;
}
}
.custom-control-input:disabled:checked~.custom-control-label {
&::before {
background: $custom-control-indicator-disabled-bg;
border-color: $border-color;
}
&::after {
border-color: $border-color;
}
}
}
// Radios
.custom-radio {
.custom-control-label::before {
border-radius: $custom-radio-indicator-border-radius;
}
.custom-control-label::after {
content: '';
border-radius: 50%;
transform: scale(0);
background-image: none !important;
position: absolute;
background: #fff;
width: 8px;
height: 8px;
top: (($line-height-base - 8 / 12.0) / 2.0);
left: (($custom-control-indicator-size - 8 / 12.0) / 2.0);
transition: all 250ms cubic-bezier(.27, .01, .38, 1.06);
transition-delay: .1s;
opacity: 0;
transform: scale(0);
}
.custom-control-input:checked~.custom-control-label {
&::before {
//@include gradient-bg($custom-control-indicator-checked-bg);
}
&::after {
opacity: 1;
transform: scale(1);
}
}
.custom-control-input:disabled {
&:checked~.custom-control-label::before {
background-color: lighten($blueish-grey, 30%);
}
}
.custom-control-input:disabled:checked~.custom-control-label {
&::before {
background: $custom-control-indicator-disabled-bg;
border-color: $border-color;
}
&::after {
background: $border-color;
}
}
}
// File
.custom-file {
height: $custom-file-height;
font-size: $input-font-size;
@include transition($input-transition);
}
.custom-file-input {
min-width: $custom-file-width;
height: $custom-file-height;
&:focus~.custom-file-label {
border-color: $custom-file-focus-border-color;
color: $input-focus-color;
// box-shadow: $custom-file-focus-box-shadow;
&::after {
border-color: $custom-file-focus-border-color;
color: theme-color("primary");
background: lighten($custom-file-focus-border-color, 45);
}
&:hover {
border-color: $custom-file-focus-border-color;
}
}
@each $lang,
$value in $custom-file-text {
&:lang(#{$lang})~.custom-file-label::after {
content: $value;
}
}
&:not(:disabled):hover {
cursor: pointer;
&~.custom-file-label,
&~.custom-file-label:before {
border-color: $input-hover-border-color;
}
}
&:disabled+.custom-file-label {
color: $custom-select-disabled-color;
background-color: lighten($custom-select-disabled-bg, 5%);
}
}
.custom-file-label {
height: $custom-file-height;
padding: $custom-file-padding-x $custom-file-padding-y;
line-height: $custom-file-line-height;
color: $custom-file-color;
background-color: $custom-file-bg;
border: $custom-file-border-width solid $custom-file-border-color;
font-weight: $font-weight-normal;
box-shadow: $custom-file-box-shadow;
@include transition(box-shadow $transition-duration $ease-in-out-circ, border-color $transition-duration $ease-in-out-circ);
@include border-radius($custom-file-border-radius);
&::after {
padding: $custom-file-padding-x $custom-file-padding-y;
height: calc(#{$custom-file-height} - #{$custom-file-border-width} * 2);
line-height: $custom-file-line-height;
color: $custom-file-button-color;
border-left: $custom-file-border-width solid $custom-file-border-color;
// @include gradient-bg($custom-file-button-bg);
@include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0);
}
}
// Custom toggle
.custom-toggle {
position: relative;
padding-left: ($custom-toggle-width + 0.625rem);
.custom-control-label {
// Background
&::before {
position: absolute;
top: 0;
left: 0;
display: block;
width: $custom-toggle-width;
height: $custom-toggle-height;
background: $custom-toggle-background-color;
border-radius: $custom-toggle-border-radius;
border: $custom-toggle-border;
}
// Knob
&::after {
content: '';
position: absolute;
top: 0.25rem;
left: 0.25rem;
width: $custom-toggle-knob-width;
height: $custom-toggle-knob-height;
background: $input-border-color;
border-radius: $custom-toggle-knob-border-radius;
transition: 350ms;
}
}
// Checked state
.custom-control-input:checked~.custom-control-label {
// Background
&::before {
background: $custom-toggle-checked-background;
border-color: $custom-toggle-checked-border-color;
}
// Knob
&::after {
left: $custom-toggle-width - $custom-toggle-border-width - 0.1875rem;
transform: translateX(-100%);
background: $custom-toggle-checked-knob-background;
}
}
// Disabled and checked state
.custom-control-input:checked:disabled~.custom-control-label {
&::before {
background: $custom-control-indicator-disabled-bg;
border-color: $border-color;
}
&::after {
background: $border-color;
}
}
// Active state
.custom-control-input:active:not(:disabled)~.custom-control-label {
// Knob
&::after {
width: $custom-toggle-knob-active-width;
}
}
// Active, but not checked.
.custom-control-input:active:not(:checked)~.custom-control-label {
&::before {
background-color: $custom-toggle-background-color;
}
}
// Disabled and active.
.custom-control-input:disabled:active~.custom-control-label {
&::before {
background-color: $custom-control-indicator-disabled-bg;
}
}
// Focus state
.custom-control-input:focus {
&~.custom-control-label {
&::before {
// box-shadow: $custom-toggle-focus-box-shadow;
}
}
&:not(:checked)~.custom-control-label {
&::before {
// box-shadow: $input-focus-box-shadow;
}
}
}
&.custom-toggle-sm {
padding-left: 2.625rem;
.custom-control-label {
// Background
&::before {
top: .1875rem;
position: absolute;
display: block;
width: $custom-toggle-width-sm;
height: $custom-toggle-height-sm;
background: $custom-toggle-background-color;
border-radius: $custom-toggle-border-radius;
border: $custom-toggle-border;
}
// Knob
&::after {
content: '';
position: absolute;
top: .375rem;
left: 0.1875rem;
width: $custom-toggle-knob-width-sm;
height: $custom-toggle-knob-height-sm;
}
}
// Checked state
.custom-control-input:checked~.custom-control-label {
// Knob
&::after {
left: $custom-toggle-width-sm - $custom-toggle-border-width - 0.1875rem;
}
}
// Active state
.custom-control-input:active:not(:disabled)~.custom-control-label {
// Knob
&::after {
width: $custom-toggle-knob-active-width-sm;
}
}
}
}
.o_boolean_toggle {
.custom-control.custom-checkbox>label.custom-control-label {
&::before {
width: 2.6375rem;
max-height: 20px;
}
i.fa-check-circle {
right: 3px;
}
}
}
\ No newline at end of file
// form
$o-form-lightsecondary: lighten($o-brand-secondary, 25%) !default;
$o-chatter-min-width: 530px !default;
$o-form-sheet-min-width: 990px !default;
$o-font-size-base-touch: 12px;
.o_input,
.single-line,
.js_import_options input {
-webkit-appearance: none;
background-color: #fff;
background-image: none;
border-radius: 4px;
border: 1px solid #dcdfe6;
box-sizing: border-box;
color: #606266;
font-size: inherit;
height: 34px;
line-height: 34px;
outline: none;
padding: 0 10px;
width: 100%;
&:focus {
border-color: #66afe9;
outline: 0;
}
&:hover {
border-color: #c0c4cc;
}
input {
&.o_input {
height: 30px;
}
}
}
.o_form_view {
background-color: transparent;
.o_form_sheet_bg {
border-bottom: 1px solid #ddd;
background: transparent
}
.o_group {
.o_td_label {
border-right: none
}
}
.o_form_sheet_bg {
border: none;
background: transparent;
>.o_form_sheet {
min-width: inherit;
}
}
.o_form_statusbar {
@include media-breakpoint-down(sm) {
padding-left: 0px;
}
>.o_statusbar_status {
>.o_arrow_button.btn-primary.disabled:after {
border-left-color: #007bff;
}
}
.o_statusbar_buttons_dropdown.dropdown-toggle {
width: 80px;
padding-left: 0px;
border: none;
border-right: 1px solid;
border-radius: 0px;
}
.dropdown-menu {
padding: 5px;
button {
margin-bottom: 5px;
width: 150px;
text-overflow: ellipsis;
}
}
}
.oe_button_box {
+.oe_title,
+.oe_avatar+.oe_title {
width: auto;
}
}
.o_cp_pager {
margin-right: 5px;
display: flex;
align-items: center;
.o_pager_counter {
margin: 5px;
padding: 5px;
}
button {
max-height: 30px;
}
}
.table-responsive {
border-top: 1px solid #dee2e6;
}
.o_list_table {
border-top: 1px solid #dee2e6;
margin-top: 5px;
}
}
.o_form_view {
@include media-breakpoint-up(md) {
display: flex;
flex-flow: column nowrap;
min-height: 100%;
}
// Sheet
.o_form_sheet_bg {
flex: 1 0 auto;
border-bottom: 1px solid gray('300');
>.o_form_sheet {
@include make-container();
@include make-container-max-widths();
border: 1px solid gray('300');
box-shadow: 0 5px 20px -15px black;
margin: $o-sheet-vpadding * 0.2 auto;
@include media-breakpoint-up(md) {
margin: $o-sheet-vpadding*0.5 auto;
}
padding: $o-sheet-vpadding;
@include o-form-sheet-inner-right-padding;
@include o-form-sheet-inner-left-padding;
// Selection
>.o_selection {
float: right;
}
}
}
// Title & avatar
.oe_title {
color: $headings-color;
@include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
padding-right: $o-innergroup-rpadding;
}
}
.oe_avatar+.oe_title {
padding-right: $o-avatar-size + 10;
}
// Groups
.o_group {
// all groups take width 100% in mobile
@mixin o-generate-groups($n) {
@for $i from 1 through $n {
.o_group_col_#{$i} {
@include media-breakpoint-down(md) {
width: 100%;
}
}
}
}
@include o-generate-groups($o-form-group-cols);
&.o_inner_group {
>tbody>tr>td {
padding: 0 $o-innergroup-rpadding 0 0;
}
}
@include media-breakpoint-up(vsm, $o-extra-grid-breakpoints) {
.o_field_widget {
&.o_text_overflow {
width: 1px !important;
// hack to make the table layout believe it is a small element (so that the table does not grow too much) ...
min-width: 100%;
// ... but in fact it takes the whole table space
}
}
.o_form_label {
margin-bottom: $o-form-spacing-unit;
}
}
@include media-breakpoint-down(md) {
&.o_label_nowrap .o_form_label {
white-space: normal;
}
}
}
// Labels
.o_form_label {
margin: auto;
text-align: right;
&.o_form_label_empty,
&.o_form_label_false {
opacity: 0.5;
font-weight: normal;
}
@include media-breakpoint-down(sm) {
font-size: $o-font-size-base-touch;
}
}
// Chatter
>.oe_chatter,
.o_FormRenderer_chatterContainer {
flex: 1000 0 auto;
@include make-container();
// @include make-container-max-widths();
padding: $grid-gutter-width*0.25 0;
}
@include media-breakpoint-up(xl) {
>.oe_chatter,
.o_FormRenderer_chatterContainer {
max-width: 530px;
}
}
// Notebooks
.o_notebook {
>.o_notebook_headers {
@include o-form-sheet-negative-margin;
>.nav.nav-tabs {
@include o-form-sheet-inner-left-padding;
//border-bottom: $nav-tabs-border-width solid gray('400');
>.nav-item {
white-space: nowrap;
>.nav-link {
color: $body-color;
//border-color: gray('400');
//background-color: white;
&:hover,
&:focus,
&:active {
outline: none;
color: $link-color;
}
&.active {
//border-bottom-color: white;
&,
&:hover,
&:focus,
&:active {
color: $headings-color;
//border-top-color: $o-brand-odoo;
}
}
&.disabled {
color: $text-muted;
}
}
}
}
}
>.tab-content {
border-bottom: 1px solid gray('400');
>.tab-pane {
> :first-child {
// Reset margin to 0 and use tab-pane's padding
// to define the distance between panel and content
margin-top: 0;
// These elements will appear attached to the tabs
&.oe_form_field_html {
@include o-form-sheet-negative-margin;
margin-top: -$o-horizontal-padding;
border: none;
.note-editor.panel {
border: none;
}
.note-toolbar.panel-heading {
@include o-form-sheet-inner-left-padding;
@include o-form-sheet-inner-right-padding;
border-top: none;
padding-top: $o-horizontal-padding*0.3;
// background: white;
.btn-secondary {
@include o-hover-text-color($body-color, $link-color);
}
}
.note-editing-area,
.o_readonly {
padding: $card-spacer-y $card-spacer-x;
@include o-form-sheet-inner-left-padding;
@include o-form-sheet-inner-right-padding;
}
// If immediatly followed by an .oe_clear element, the note-editor it's the 'only'
// tab's element. Reset margins to push the bar at the bottom.
+.oe_clear:last-child {
margin-bottom: -$o-horizontal-padding - $o-sheet-vpadding - $o-form-spacing-unit;
}
}
&.o_field_x2many.o_field_x2many_list {
display: block;
width: auto;
@include o-form-sheet-negative-margin;
margin-top: -$o-horizontal-padding;
.o_pager {
button {
min-width: 34px;
}
}
.table-responsive {
border-top: 1px solid #dee2e6
}
// use original padding-left for handle cell in editable list
tr> :first-child.o_handle_cell {
padding-left: $o-horizontal-padding;
}
tr> :first-child {
@include o-form-sheet-inner-left-padding;
}
tr> :last-child {
@include o-form-sheet-inner-right-padding;
}
}
}
}
}
&:last-child>.tab-content {
border-bottom: none;
}
}
// Notebooks for small screen
@include media-breakpoint-down(sm) {
.o_notebook .o_notebook_headers {
overflow-x: auto;
&::-webkit-scrollbar {
display: none;
}
.nav.nav-tabs {
flex-flow: row nowrap;
}
}
.o_cp_buttons {
width: 100%;
div,
.o-kanban-button-new {
width: 100%;
}
}
.o_cp_action_menus {
padding: 5px;
}
}
// One2Many List views
.o_field_widget {
.o_list_table {
&.table-striped {
>tbody {
>tr:not(.o_data_row)>td {
border-top: none;
}
}
// Show "border" if tfoot has content only
>tfoot>tr {
// box-shadow: inset 0 1px 0 gray('300');
>td {
border: none;
&:empty {
padding: 0;
}
}
}
}
}
}
// Translate icon
.o_field_translate {
padding-right: 0;
}
// Specific style classes
.o_group.o_inner_group.oe_subtotal_footer {
border-top: 1px solid gray('300');
.oe_subtotal_footer_separator {
border-top: 1px solid gray('300');
}
}
// Status Bar
.o_form_statusbar {
position: sticky;
top: 0;
z-index: 1;
>.o_statusbar_status {
.dropdown-menu {
.o_arrow_button {
font-weight: 500;
padding: 0.75rem;
&.btn-primary.disabled {
font-weight: bold;
}
// Last element at the right should respect overall padding
&:first-of-type {
padding-right: $o-horizontal-padding;
}
}
}
}
}
@include media-breakpoint-up(xxl, $o-extra-grid-breakpoints) {
flex-flow: row nowrap;
height: 100%;
>.o_form_sheet_bg {
flex: 1 1 auto; // Side chatter is disabled if this has to shrink but this was added for safety
// width: $o-form-sheet-min-width + 2 * $o-horizontal-padding;
// max-width: map-get($container-max-widths, xl) + 2 * $o-horizontal-padding; // would be logical but breaks no-chatter form views
padding: 0 $o-horizontal-padding;
overflow: auto;
border-bottom: none;
> :not(.o_form_sheet) {
margin-left: -$o-horizontal-padding;
margin-right: -$o-horizontal-padding;
}
>.o_form_sheet {
width: 100%;
max-width: map-get($container-max-widths, xl);
}
}
>.oe_chatter,
.o_FormRenderer_chatterContainer {
// flex: 1 1 auto; // Side chatter is disabled if this has to shrink but this was added for safety
width: $o-chatter-min-width;
max-width: 530px;
padding: 0;
overflow: auto;
border-left: 1px solid gray('300');
background-color: white;
.o_chatter_topbar {
height: $o-statusbar-height + $nav-tabs-border-width;
.btn,
.btn.o_active {
border-top: 0;
}
}
&.o_chatter_composer_active {
.o_chatter_topbar {
.btn,
.btn.o_active {
border-top: 0;
&:first-child {
border-left: 0;
}
}
}
}
.o_thread_composer {
border-width: 1px 0;
margin-top: 0;
// have mention drowdown below composer
.o_composer_mention_dropdown {
position: absolute;
top: 100%;
>.dropdown-menu {
top: 100%;
bottom: auto;
}
}
}
}
}
.o_field_widget {
&.o_field_many2one {
.o_external_button {
background: transparent;
min-width: 34px;
&:hover {
background: transparent;
}
&:focus {
outline: none;
background: transparent;
}
&:active {
background: transparent;
}
}
}
.o_input_dropdown>input {
height: 34px;
line-height: 34px;
padding-right: 15px;
cursor: pointer;
}
.o_field_color {
width: 24px;
height: 24px;
border-radius: 5px;
}
.o_input_dropdown {
.o_dropdown_arrow {
position: absolute;
line-height: 34px;
top: 0px;
bottom: 0px;
left: auto;
bottom: auto;
right: 8px;
color: #c0c4cc;
font-size: 14px;
cursor: pointer;
pointer-events: none;
-webkit-transition: -webkit-transform .3s;
transition: -webkit-transform .3s;
transition: transform .3s;
transition: transform .3s, -webkit-transform .3s;
-webkit-transform: rotateZ(180deg);
transform: rotateZ(180deg);
&.anita_reverse {
-webkit-transform: rotateZ(0);
transform: rotateZ(0)
}
&.dropdown_reverse {
-webkit-transform: rotateZ(0);
transform: rotateZ(0)
}
}
}
&.o_field_many2manytags {
overflow: hidden;
align-items: center;
.o_input_dropdown {
.o_dropdown_arrow {
right: 3px;
}
}
}
&.o_form_uri {
line-height: 36px;
}
}
}
// Overriden style when form view in modal
.modal .modal-dialog {
.o_form_view {
@include media-breakpoint-down(md) {
.o_group.o_inner_group>tbody>tr>td.o_td_label {
min-width: 100px;
}
}
}
&.modal-sm .o_form_view {
.o_group {
@include form-break-table;
}
}
}
// XXS form view specific rules
.o_form_view.o_xxs_form_view {
.o_group {
// Target XXS form view on mobile devices in portrait mode
@include media-breakpoint-down(sm) {
&.o_inner_group>tbody>tr>td {
.o_field_widget {
margin-bottom: $o-form-spacing-unit * 4;
}
}
}
.o_td_label .o_form_label {
font-weight: normal;
}
}
.o_form_label {
margin-top: 3px;
font-size: $o-label-font-size-factor * $o-font-size-base-touch;
font-weight: normal;
color: #6c757d;
&.o_form_label_empty {
display: none;
}
}
}
.form-control:focus {
color: #495057;
background-color: #FFFFFF;
border-color: #007bff;
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(233, 236, 239, 0.25);
}
.ui-autocomplete {
margin-top: 3px;
}
.o_setting_right_pane {
.o_web_settings_invite {
margin: 8px;
}
}
.o_external_button {
background: none;
border: none;
&:hover {
background: none;
border: none;
box-shadow: none;
}
}
.note-editor {
border: 1px solid #dcdfe6 !important;
.panel-heading {
&.note-toolbar {
border-bottom: 1px solid #dcdfe6;
background-color: #ffffff;
color: #212529;
.btn {
border-left: none;
border-right: none;
background: transparent;
}
.dropdown-item {
background-color: #595964;
color: #C6C6C6;
}
.btn-group.show>.btn {
background: #dee2e6;
color: rgba(76, 76, 76, 0.82);
}
.dropdown-item:not(.d-none)~.dropdown-item {
border-top: none;
}
}
}
}
.o_input_dropdown {
.o_dropdown_arrow {
position: absolute;
line-height: 34px;
top: 0px;
bottom: 0px;
left: auto;
bottom: auto;
right: 8px;
color: #c0c4cc;
font-size: 14px;
cursor: pointer;
pointer-events: none;
-webkit-transition: -webkit-transform .3s;
transition: -webkit-transform .3s;
transition: transform .3s;
transition: transform .3s, -webkit-transform .3s;
-webkit-transform: rotateZ(180deg);
transform: rotateZ(180deg);
}
}
.o_field_binary_file {
.btn,
button {
margin-left: 5px;
}
}
.nav-tabs {
.nav-link.active,
.nav-item.show .nav-link {
color: #495057;
background-color: #FFFFFF;
border-color: #dee2e6 #dee2e6 #FFFFFF;
}
}
.o_field_binary_file>.btn {
padding: 0px 10px;
height: 34px;
line-height: 34px;
}
.o_required_modifier.o_input,
.o_required_modifier .o_input {
background-color: #f8f8ff !important;
}
.oe_title {
h1 {
padding: 10px 0px;
}
}
.o_form_view .o_form_statusbar>.o_statusbar_status>.o_arrow_button.btn-primary.disabled {
background-color: #006fe6;
}
.note-popover .popover .popover-body .dropdown-menu,
.panel-heading.note-toolbar .dropdown-menu {
border: none;
background-color: inherit;
border-color: inherit;
box-shadow: inherit;
}
.o_field_x2many_list {
border: 1px solid #dcdfe6;
.o_list_table {
border-top: none;
margin-top: 0px;
}
}
.o_form_view {
.o_notebook {
.tab-content {
padding: 10px
}
}
}
.o_boolean_toggle {
&.custom-control.custom-checkbox>label.custom-control-label::after {
content: none !important;
}
&.custom-control.custom-checkbox>label.custom-control-label::before,
&.custom-control.custom-checkbox>label.custom-control-label::after {
left: 1px !important;
}
}
\ No newline at end of file
// Bootstrap functions
//
// Utility mixins and functions for evalutating 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 {
// 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
// Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map) {
$values: map-values($map);
$first-value: nth($values, 1);
@if $first-value != 0 {
@warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
}
}
// 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
@mixin color-yiq($color) {
$r: red($color);
$g: green($color);
$b: blue($color);
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
@if ($yiq >= 150) {
color: darken($color, 65);
} @else {
color: #fff;
}
}
// Retreive color Sass maps
@function color($key: "blue") {
@return map-get($colors, $key);
}
@function theme-color($key: "primary") {
@return map-get($theme-colors, $key);
}
@function grayscale($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, #000, #fff);
@if $level < 0 {
// Lighter values need a quick double negative for the Sass math to work
@return mix($color-base, $color, $level * -1 * $theme-color-interval);
} @else {
@return mix($color-base, $color, $level * $theme-color-interval);
}
}
\ No newline at end of file
.o_list_view {
.custom-checkbox {
.custom-control-label::before {
border-radius: 2px;
}
}
thead > tr > th:nth-of-type(1) {
border-left: none;
}
.o_list_table {
tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell) {
vertical-align: middle !important;
}
.o_list_record_selector {
vertical-align: middle !important;
}
}
.table-responsive {
overflow-y: hidden;
.o_list_table {
thead {
box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.1);
> tr {
min-height: 36px;
height: 36px;
}
}
thead,
thead tr th {
position: sticky !important;
top: 0;
z-index: 1;
background: white;
}
.o_list_record_selector {
width: 40px;
padding-left: 16px;
}
tfoot,
tfoot > tr > td {
position: sticky;
bottom: 0;
background: white;
background-color: $o-list-footer-bg-color;
}
.o_list_record_selector {
vertical-align: middle;
}
.o_column_sortable:not(.o_handle_cell) {
position: relative;
user-select: none;
}
tfoot {
background-color: none !important;
}
.o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier) {
background-color: transparent;
}
.o_data_row.o_selected_row
> .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier):not(.o_remaining_days_cell)
.o_input {
border: 1px solid #dcdfe6 !important;
height: 32px;
line-height: 32px;
}
thead {
> tr {
> th {
padding: 5px 4px !important;
border-top: none;
border-bottom: none;
&:not(.o_list_record_selector) {
border-left: none;
vertical-align: middle;
}
&:nth-of-type(1) {
border-left: none;
padding: 0px 10px !important;
}
}
}
}
// add the shaddow
tbody {
> tr {
> td {
padding: 0px 10px !important;
&:not(.o_list_record_selector) {
&.o_list_button > button {
padding: 0.4rem 1.2rem;
}
&:not(.o_handle_cell) {
vertical-align: middle;
}
}
}
&:nth-of-type(odd) {
background-color: rgba(0, 0, 0, 0.01);
}
}
}
.o_list_record_remove {
padding-right: 0px !important;
line-height: 40px;
}
}
.o_field_cell,
.o_column_sortable {
height: 36px;
line-height: 36px;
padding: 0 10px;
position: relative;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
box-sizing: border-box;
}
}
.o_optional_columns_dropdown_toggle,
.o_optional_columns {
top: 5px;
right: 5px;
}
.o_field_badge {
margin-top: 8px;
margin-left: 5px;
}
.o_optional_columns_dropdown_toggle,
.o_optional_columns {
top: 5px;
right: 5px;
}
}
.o_list_view {
.o_list_table {
tfoot {
background-color: none !important;
}
.o_data_row.o_selected_row > .o_data_cell:not(.o_readonly_modifier):not(.o_invisible_modifier) {
background-color: transparent;
}
thead > tr > th:not(.o_list_record_selector) {
border-left: none;
vertical-align: middle;
}
&.table-bordered {
border-collapse: collapse;
.tfoot {
border-top: none;
}
}
}
.o_field_x2many_list_row_add {
list-style: 36px;
height: 36px;
}
}
.o_list_buttons {
button {
margin-right: 5px;
}
}
.o_form_sheet {
.o_list_view {
.o_list_table {
thead {
box-shadow: none !important;
border-bottom: 1px solid #dcdfe6;
}
}
}
}
.o_filter_condition {
select:not(:first-child) {
margin-top: 5px;
}
}
.row {
.o_field_widget.o_readonly_modifier {
padding-top: calc(0.375rem + 1px);
padding-bottom: calc(0.375rem + 1px - 5px);
}
}
// scroll bar
::-webkit-scrollbar {
width: 6px;
height: 6px;
}
::-webkit-scrollbar-track {
background: #FFFFFF;
}
::-webkit-scrollbar-thumb {
background: #888;
border-radius: 3px;
}
::-webkit-scrollbar-thumb:increment,
::-webkit-scrollbar-thumb:decrement {
background: #000;
}
::-webkit-scrollbar-thumb:hover {
background: #555;
}
\ No newline at end of file
$border-color: #becad6 !default;
$white: #fff !default;
$blue: #007bff !default;
$indigo: #674eec !default;
$purple: #8445f7 !default;
$pink: #ff4169 !default;
$red: #c4183c !default;
$orange: #fb7906 !default;
$yellow: #ffb400 !default;
$green: #17c671 !default;
$teal: #1adba2 !default;
$cyan: #00b8d8 !default;
$gray-100: #f8f9fa !default;
$gray-200: #e9ecef !default;
$gray-300: #dee2e6 !default;
$gray-400: #37424d !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #495057 !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$primary: $blue !default;
$secondary: $blueish-grey !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-200 !default;
$dark: $gray-900 !default;
// Shards Specific
$blueish-grey: #5A6169 !default;
$border-width: 1px !default;
$border-radius: .375rem !default;
$border-radius-lg: .5rem !default;
$border-radius-sm: .35rem !default;
// Easings
$ease-in-out-circ: cubic-bezier(.27,.01,.38,1.06);
// Transitions
$transition-duration: 250ms;
$transition-base: all $transition-duration $ease-in-out-circ !default;
$transition-fade: opacity 200ms ease-in-out !default;
$transition-collapse: height 350ms ease-in-out !default;
// Fonts
$google-fonts-import: 'https://fonts.googleapis.com/css?family=Poppins:300,400,500,600|Roboto+Mono' !default; // Includes: Poppins: Light, Regular, Medium, Semi-bold; Roboto Mono: Regular
$font-family-poppins-first: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$font-family-system-first: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$font-family-roboto-mono-first: "Roboto Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
$font-family-sans-serif: $font-family-system-first !default;
$font-family-monospace: $font-family-roboto-mono-first !default;
$font-family-base: $font-family-sans-serif !default;
$font-size-base: 1rem !default;
$font-size-lg: 1.25rem !default;
$font-size-sm: .875rem !default;
$font-weight-normal: 300 !default;
$font-weight-bold: 500 !default;
$font-weight-base: $font-weight-normal !default;
$line-height-base: 1.5rem;
// Buttons
// For each of Bootstrap's buttons, define text, background and border color.
$btn-padding-y-lg: .75rem !default;
$btn-padding-x-lg: 1.75rem !default;
$btn-line-height-sm: $line-height-sm !default;
$btn-line-height-lg: $line-height-lg !default;
$btn-padding-y-sm: .35rem !default;
$btn-padding-x-sm: 1rem !default;
$input-btn-padding-y: .5rem !default;
$input-btn-padding-x: 1rem !default;
$input-btn-line-height: 1.125 !default;
$input-btn-padding-y-sm: .35rem !default;
$input-btn-padding-x-sm: .75rem !default;
$input-btn-padding-y-lg: .75rem !default;
$input-btn-padding-x-lg: 1rem !default;
$btn-pill-border-radius: 50px !default;
$btn-padding-y: .75rem !default;
$btn-padding-x: 1.25rem !default;
$btn-font-weight: $font-weight-normal !default;
$btn-font-size: .875rem !default;
$btn-font-size-sm: 0.75rem !default;
$btn-font-size-lg: 1.125rem !default;
$btn-font-family: $font-family-poppins-first !default;
$btn-box-shadow: none !default;
$input-btn-focus-width: .2rem !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-border-width: 1px !default;
$btn-transition: $transition-base !default;
// Forms
$input-padding-y: $input-btn-padding-y !default;
$input-padding-x: $input-btn-padding-x !default;
$input-line-height: 1.5 !default;
$input-padding-y-sm: $input-btn-padding-y-sm !default;
$input-padding-x-sm: $input-btn-padding-x-sm !default;
$input-line-height-sm: 1.5 !default;
$input-padding-y-lg: $input-btn-padding-y-lg !default;
$input-padding-x-lg: $input-btn-padding-x-lg !default;
$input-line-height-lg: 1.5 !default;
$input-bg: $white !default;
$input-disabled-bg: #f5f6f7 !default;
$input-font-size: .95rem !default;
$input-color: $gray-700 !default;
$input-border-color: $border-color !default;
$input-btn-border-width: $border-width !default;
$input-box-shadow: none !default;
$input-border-width: $border-width !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: theme-color("primary") !default;
$input-focus-box-shadow: 0 .313rem .719rem rgba(theme-color("primary"),.1), 0 .156rem .125rem rgba($black, .06) !default;
$input-focus-color: $input-color !default;
$input-hover-border-color: darken($input-border-color, 15) !default;
$input-placeholder-color: $gray-600 !default;
$input-height-border: $input-border-width * 2 !default;
$input-height-inner: ($input-font-size * $input-line-height) + ($input-padding-y * 2) !default;
$input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
$input-height-inner-sm: ($font-size-sm * $input-line-height-sm) + ($input-padding-y-sm * 2) !default;
$input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
$input-height-inner-lg: ($font-size-lg * $input-line-height-lg) + ($input-padding-y-lg * 2) !default;
$input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
$input-transition: box-shadow $transition-duration $ease-in-out-circ,
border $transition-duration $ease-in-out-circ !default;
$form-text-margin-top: .25rem !default;
$form-check-input-gutter: 1.25rem !default;
$form-check-input-margin-y: .313rem !default;
$form-check-input-margin-x: .313rem !default;
$form-check-inline-margin-x: .75rem !default;
$form-check-inline-input-margin-x: .3125rem !default;
$form-group-margin-bottom: 1rem !default;
$input-group-padding-y: 12px !default;
$input-group-padding-x: 14px !default;
$input-group-addon-bg: lighten($input-border-color, 19%) !default;
$input-group-addon-border-color: $input-border-color !default;
$input-group-addon-color: $input-frozen-color !default;
$custom-control-gutter: 1.688rem;
$custom-control-spacer-x: 1rem !default;
$input-focus-box-shadow: 0 .313rem .719rem rgba($blue,.1), 0 .156rem .125rem rgba($black, .06) !default;
$custom-control-indicator-active-color: $white !default;
$custom-control-indicator-size: 1.3rem;
$custom-control-indicator-bg: $white !default;
$custom-control-indicator-bg-size: 50% 50% !default;
$custom-control-indicator-box-shadow: none !default;
$custom-control-indicator-border: 1px solid $border-color !default;
$custom-checkbox-indicator-transition: transform $transition-duration $ease-in-out-circ, border $transition-duration $ease-in-out-circ !default;
$custom-control-indicator-disabled-bg: $gray-200 !default;
$custom-control-description-disabled-color: $gray-600 !default;
$custom-control-indicator-checked-color: $white !default;
$custom-control-indicator-checked-bg: $blue !default;
$custom-control-indicator-checked-box-shadow: none !default;
$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
$custom-control-indicator-active-color: $white !default;
$custom-control-indicator-active-bg: lighten($blue, 35%) !default;
$custom-control-indicator-active-box-shadow: none !default;
// Custom checkbox
$custom-checkbox-indicator-border-radius: 2px !default;
$custom-checkbox-indicator-icon-checked: '' !default;
$custom-checkbox-indicator-indeterminate-bg: $blue !default;
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
$custom-checkbox-indicator-icon-indeterminate: none !default;
$custom-checkbox-indicator-indeterminate-box-shadow: none !default;
// Custom radio
$custom-radio-indicator-border-radius: 50% !default;
$custom-file-height: calc(2.428rem + 2px) !default;
$custom-file-width: 14rem !default;
$custom-file-focus-box-shadow: $input-focus-box-shadow !default;
$custom-file-focus-border-color: $input-focus-border-color !default;
$custom-file-padding-y: 1rem !default;
$custom-file-padding-x: .5rem !default;
$custom-file-line-height: 1.5 !default;
$custom-file-color: $gray-700 !default;
$custom-file-bg: $white !default;
$custom-file-border-width: $border-width !default;
$custom-file-border-color: $input-border-color !default;
$custom-file-border-radius: $border-radius !default;
$custom-file-box-shadow: none !default;
$custom-file-button-color: $custom-file-color !default;
$custom-file-button-bg: $gray-200 !default;
$custom-file-text: (
en: "Browse"
) !default;
// Custom switches (core)
$custom-switch-padding-left: 2.25rem !default;
// Custom switches (core)
$custom-switch-padding-left: 2.25rem !default;
// Form validation
$form-feedback-margin-top: $form-text-margin-top !default;
$form-feedback-font-size: $small-font-size !default;
$form-feedback-valid-color: $green !default;
$form-feedback-invalid-color: theme-color("danger") !default;
// Custom toggle
$custom-toggle-width: 3.125rem !default;
$custom-toggle-height: 1.75rem !default;
$custom-toggle-border-width: 0.0625rem !default;
$custom-toggle-border: $custom-toggle-border-width solid $input-border-color !default;
$custom-toggle-background-color: $white !default;
$custom-toggle-border-radius: 100px !default;
$custom-toggle-focus-box-shadow: 0 .313rem .719rem rgba(theme-color("success"),.1), 0 .156rem .125rem rgba($black, .06) !default;
$custom-toggle-checked-background: $green !default;
$custom-toggle-checked-border-color: $custom-toggle-checked-background !default;
$custom-toggle-checked-knob-background: $white !default;
$custom-toggle-knob-width: 1.25rem !default;
$custom-toggle-knob-height: 1.25rem !default;
$custom-toggle-knob-border-radius: 6.25rem !default;
$custom-toggle-knob-active-width: 1.625rem !default;
$custom-toggle-invalid-knob-background-color: #eb8c95 !default;
$custom-toggle-invalid-background-color: $white !default;
$custom-toggle-width-sm : 2.1875rem !default;
$custom-toggle-height-sm : 1.125rem !default;
$custom-toggle-knob-width-sm: .75rem !default;
$custom-toggle-knob-active-width-sm: 1rem !default;
$custom-toggle-knob-height-sm: .75rem !default;
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiEyp8kv8JHgFVrJJbecmNE.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiEyp8kv8JHgFVrJJnecmNE.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiEyp8kv8JHgFVrJJfecg.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2') format('woff2');
unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2') format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Poppins';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url('/anita_theme_base/static/css/login/fonts/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
\ No newline at end of file
html,
body {
height: 100%;
}
body {
overflow: auto;
margin: 0;
padding: 0;
background-color: #182139;
background-size: cover;
}
.form-control {
height: auto;
border: 1px solid #bfc9d4;
color: #3b3f5c;
font-size: 15px;
padding: 8px 10px;
letter-spacing: 1px;
height: calc(1.4em + 1.4rem + 2px);
padding: .75rem 1.25rem;
border-radius: 6px;
}
.form-control:focus {
box-shadow: 0 0 5px 2px rgba(194, 213, 255, 0.6196078431372549);
border-color: #1b55e2;
color: #3b3f5c;
}
.form-form {
width: 50%;
display: flex;
flex-direction: column;
min-height: 100%;
margin: 0 auto;
}
.form-form .form-form-wrap {
max-width: 480px;
margin: 0 auto;
min-width: 311px;
min-height: 100%;
align-self: center;
width: 100%;
height: 100vh;
justify-content: center;
}
.form-form .form-container {
align-items: center;
display: flex;
flex-grow: 1;
width: 100%;
min-height: 100%;
}
.form-form .form-container .form-content {
display: block;
width: 100%;
padding: 25px;
background: #fff;
text-align: center;
border-radius: 15px;
border: 1px solid #e0e6ed;
-webkit-box-shadow: 0 4px 6px 0 rgba(85, 85, 85, 0.09019607843137255), 0 1px 20px 0 rgba(0, 0, 0, 0.08), 0px 1px 11px 0px rgba(0, 0, 0, 0.06);
-moz-box-shadow: 0 4px 6px 0 rgba(85, 85, 85, 0.09019607843137255), 0 1px 20px 0 rgba(0, 0, 0, 0.08), 0px 1px 11px 0px rgba(0, 0, 0, 0.06);
box-shadow: 0 4px 6px 0 rgba(85, 85, 85, 0.09019607843137255), 0 1px 20px 0 rgba(0, 0, 0, 0.08), 0px 1px 11px 0px rgba(0, 0, 0, 0.06);
}
.form-form .form-container .form-content h1 {
font-size: 32px;
color: #3b3f5c;
}
.form-form .form-container .form-content>p {
font-size: 13px;
color: #888ea8;
font-weight: 600;
margin-bottom: 35px;
}
.form-form .form-form-wrap .user-meta {
margin-bottom: 35px;
}
.form-form .form-form-wrap .user-meta img {
width: 52px;
height: 52px;
border-radius: 50%;
margin-right: 15px;
border: 4px solid #e0e6ed;
}
.form-form .form-form-wrap .user-meta div {
align-self: center;
}
.form-form .form-form-wrap .user-meta p {
font-size: 31px;
color: #3b3f5c;
margin-bottom: 0;
}
.form-form .form-form-wrap h1 .brand-name {
color: #3b3f5c;
font-weight: 600;
}
.form-form .form-form-wrap p.signup-link {
font-size: 14px;
color: #3b3f5c;
font-weight: 700;
margin-bottom: 15px;
text-align: center;
margin-top: 50px;
}
.form-form .form-form-wrap p.signup-link.register {
font-size: 13px;
color: #888ea8;
font-weight: 600;
margin-bottom: 25px;
margin-top: 0;
}
.form-form .form-form-wrap p.signup-link.recovery {
margin-top: 0;
}
.form-form .form-form-wrap p.signup-link a {
color: #1b55e2;
border-bottom: 1px solid;
}
.form-form .form-form-wrap form .field-wrapper.input {
padding: 11px 0px 16px 0;
border-bottom: none;
position: relative;
}
.form-form .form-form-wrap form .field-wrapper.input:focus {
border: 1px solid #000;
}
.form-form .form-form-wrap form .field-wrapper.toggle-pass p {
font-weight: 600;
color: #3b3f5c;
margin-bottom: 0;
}
.form-form .form-form-wrap form .field-wrapper .logged-in-user-name {
font-size: 37px;
color: #3b3f5c;
}
.form-form .form-form-wrap form .field-wrapper label {
font-size: 10px;
font-weight: 700;
color: #3b3f5c;
margin-bottom: 8px;
}
.form-form .form-form-wrap form .field-wrapper.terms_condition {
margin-bottom: 20px;
}
.form-form .form-form-wrap form .field-wrapper.terms_condition label {
font-size: 14px;
color: #888ea8;
padding-left: 31px;
font-weight: 100;
}
.form-form .form-form-wrap form .field-wrapper.terms_condition a {
color: #1b55e2;
}
.form-form .form-form-wrap form .field-wrapper svg.feather-user {
top: 53px;
}
.form-form .form-form-wrap form .field-wrapper svg.feather-lock {
top: 48px;
}
.form-form .form-form-wrap form .field-wrapper svg.feather-at-sign {
top: 47px;
}
.form-form .form-form-wrap form .field-wrapper svg.feather-at-sign.register {
top: 53px;
}
.form-form .form-form-wrap form .field-wrapper svg:not(.feather-eye) {
position: absolute;
left: 12px;
color: #888ea8;
fill: rgba(0, 23, 55, 0.08);
width: 20px;
height: 20px;
}
.form-form .form-form-wrap form .field-wrapper svg.feather-eye {
position: absolute;
top: 46px;
right: 13px;
color: #888ea8;
fill: rgba(0, 23, 55, 0.08);
width: 17px;
cursor: pointer;
}
.form-form .form-form-wrap form .field-wrapper input {
display: inline-block;
vertical-align: middle;
border-radius: 6px;
min-width: 50px;
max-width: 635px;
width: 100%;
-ms-transition: all 0.2s ease-in-out 0s;
transition: all 0.2s ease-in-out 0s;
color: #3b3f5c;
font-weight: 600;
font-size: 16px;
padding: 13px 35px 13px 46px;
}
.form-form .form-form-wrap form .field-wrapper input::-webkit-input-placeholder {
color: #d3d3d3;
font-size: 14px;
}
.form-form .form-form-wrap form .field-wrapper input::-ms-input-placeholder {
color: #d3d3d3;
font-size: 14px;
}
.form-form .form-form-wrap form .field-wrapper input::-moz-placeholder {
color: #d3d3d3;
font-size: 14px;
}
.form-form .form-form-wrap form .field-wrapper {
width: 100%
}
.form-form .form-form-wrap form .field-wrapper button.btn {
align-self: center;
width: 100%;
padding: 11px 14px;
font-size: 16px;
letter-spacing: 2px;
}
.form-form .form-form-wrap form .field-wrapper a.forgot-pass-link {
font-weight: 600;
color: #888ea8;
display: block;
letter-spacing: 1px;
font-size: 12px;
margin-bottom: 8px;
}
.form-form .form-form-wrap form .field-wrapper .n-chk .new-control-indicator {
top: 2px;
border: 1px solid #bfc9d4;
background-color: #f1f2f3;
}
.form-form .form-form-wrap form .field-wrapper .n-chk .new-control-indicator:after {
top: 54%;
}
.new-control.new-checkbox.checkbox-primary>input:checked~span.new-control-indicator {
border: none;
}
.form-form .form-form-wrap form .division {
text-align: center;
font-size: 13px;
margin: 35px 0 38px 0;
}
.form-form .form-form-wrap form .social {
text-align: center;
}
.form-form .form-form-wrap form .social a {
background: transparent;
box-shadow: none;
border: 1px solid #e0e6ed;
padding: 12px 10px;
width: 181px;
}
.form-form .form-form-wrap form .social a.social-fb {
margin-right: 15px;
}
.form-form .form-form-wrap form .social a.social-fb svg {
color: #1b55e2;
}
.form-form .form-form-wrap form .social a.social-fb .brand-name {
color: #1b55e2;
}
@media (max-width: 991px) {
.form-form {
width: 100%;
}
.form-form .form-form-wrap {
min-width: auto;
margin: 0 auto;
}
.form-form .form-container .form-content {
border-radius: 15px;
}
}
@media (max-width: 575px) {
.form-form .form-form-wrap form .field-wrapper.toggle-pass {
margin-bottom: 28px;
}
.form-form .form-form-wrap form .social a.social-fb {
margin-right: auto;
margin-left: auto;
margin-bottom: 10px;
display: block;
}
.form-form .form-form-wrap form .social a.social-github {
margin-right: auto;
margin-left: auto;
margin-bottom: 10px;
display: block;
}
.form-form .form-container .form-content {
border: none;
border-radius: 0px;
}
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
.form-form .form-form-wrap {
width: 100%;
}
.form-form .form-container {
height: 100%;
}
}
@supports (-ms-ime-align: auto) {
.form-form .form-form-wrap {
height: 100%;
}
}
.btn {
transition: all 0.3s ease-out;
-webkit-transition: all 0.3s ease-out;
}
.main-container {
color: #fff;
}
.main-container .background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
display: block;
}
.main-container .background path {
opacity: .1;
fill: #e5edff;
border-color: #e2e8f0;
}
.bg-100 {
background-image: url('../../../images/bk1.jpg');
background-repeat: no-repeat;
background-size: cover;
}
\ No newline at end of file
*, ::after, ::before {
box-sizing: border-box;
}
.wrapper {
width: 100%;
height:100%
}
body {
font-size: 14px;
color: #525f7f;
background-color: #f8f9fe;
letter-spacing: 0.5px;
overflow-x: hidden;
font-family: "Roboto",sans-serif;
}
.authentication-header {
position: absolute;
background: #165078;
top: 0px;
left: 0px;
right: 0px;
height: 50%;
}
.d-flex {
display: flex !important;
}
.justify-content-center {
justify-content: center !important;
}
.align-items-center {
align-items: center !important;
}
.section-authentication-sign-in {
height: 100vh;
}
.btn {
display: inline-block;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: center;
text-decoration: none;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
padding: .375rem .75rem;
font-size: 1rem;
border-radius: .25rem;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn-primary {
color: #fff;
background-color: #0d6efd;
border-color: #0d6efd;
}
.my-4 {
margin-top: 1.5rem !important;
margin-bottom: 1.5rem !important;
}
.btn {
letter-spacing: 0.5px;
}
.btn-primary {
color: #fff;
background-color: #8833ff;
border-color: #8833ff;
}
[type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) {
cursor: pointer;
}
.bx {
font-family: "boxicons" !important;
font-weight: normal;
font-style: normal;
font-variant: normal;
line-height: inherit;
display: inline-block;
text-transform: none;
speak: none;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.btn i {
vertical-align: middle;
font-size: 1.3rem;
margin-top: -1em;
margin-bottom: -1em;
margin-right: 5px;
}
.form-check {
display: block;
min-height: 1.5rem;
padding-left: 1.5em;
margin-bottom: 0.12rem;
}
.form-switch {
padding-left: 2.5em;
}
.form-check-input {
width: 1em;
height: 1em;
margin-top: 0.25em;
vertical-align: top;
background-color: #fff;
background-repeat: no-repeat;
background-position: center;
background-size: contain;
border: 1px solid rgba(0,0,0,.25);
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
.form-check .form-check-input {
float: left;
margin-left: -1.5em;
}
[type=checkbox].form-check-input {
border-radius: .25em;
}
:checked.form-check-input {
background-color: #0d6efd;
border-color: #0d6efd;
}
.form-switch .form-check-input {
width: 2em;
margin-left: -2.5em;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
background-position: left center;
border-radius: 2em;
transition: background-position .15s ease-in-out;
}
:checked.form-check-input {
background-color: #8833ff;
border-color: #8833ff;
}
:checked[type=checkbox].form-check-input {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}
.form-switch :checked.form-check-input {
background-position: right center;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
}
label {
display: inline-block;
font-weight: 400 !important;
}
.form-label {
margin-bottom: 0.5rem;
}
.input-group {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: stretch;
width: 100%;
}
.form-control {
display: block;
width: 100%;
padding: .375rem .75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: .25rem;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.border-end-0 {
border-right: 0 !important;
}
.input-group > .form-control, .input-group > .form-select {
position: relative;
flex: 1 1 auto;
width: 1%;
min-width: 0px;
}
:not(.has-validation).input-group > :nth-last-child(n+3).dropdown-toggle, :not(.has-validation).input-group > :not(:last-child):not(.dropdown-menu):not(.dropdown-toggle) {
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
.input-group-text {
display: flex;
align-items: center;
padding: .375rem .75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: center;
white-space: nowrap;
background-color: #e9ecef;
border: 1px solid #ced4da;
border-radius: .25rem;
}
.bg-transparent {
background-color: transparent !important;
}
.input-group > :not(:first-child):not(.invalid-feedback):not(.invalid-tooltip):not(.valid-feedback):not(.valid-tooltip):not(.dropdown-menu) {
margin-left: -1px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.login-separater span {
position: relative;
top: 26px;
margin-top: -10px;
background: #ffffff;
padding: 5px;
font-size: 12px;
color: #cbcbcb;
z-index: 1;
}
hr {
margin: 1rem 0;
color: inherit;
background-color: currentColor;
border: 0;
opacity: 0.25;
}
hr:not([size]) {
height: 1px;
}
.shadow-sm {
box-shadow: 0px 0.12rem 0.25rem rgba(0,0,0,0.075) !important;
}
.btn-white {
background-color: #fff;
border-color: #e7eaf3;
}
img, svg {
vertical-align: middle;
}
.me-2 {
margin-right: 0.5rem !important;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
margin-top: 0px;
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
.h3, h3 {
font-size: calc(1.3rem + 0.6vw);
}
/* @media all and (min-width:1200px) */
.h3, h3 {
font-size: 1.75rem;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
color: #32393f;
}
p {
margin-top: 0px;
margin-bottom: 1rem;
}
.card-body {
box-shadow: 1px -1px 20px 1px #403c4329;
}
\ No newline at end of file
body {
margin: 0;
font-family: -apple-system,BlinkMacSystemFont,"Poppins",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji" !important;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
body {
font-family: Nunito,sans-serif;
font-size: 0.8rem;
font-weight: 400;
color: #3a3a3a;
background: #f8f8f8;
}
body {
min-height: calc(-150px + 100%);
position: relative;
padding-bottom: 90px;
}
body {
overflow-x: hidden !important;
}
.rounded {
border-radius: .25rem !important;
}
.rounded {
border-radius: 50px !important;
}
body.no-footer {
padding-bottom: initial;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
width: 100%;
height: 100%;
background: #f8f8f8;
}
html {
width: 100%;
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
.bootstrap-tagsinput.focus, .form-control:focus {
border-color: rgba(237,113,23,.6);
}
.has-float-label label::after, .has-float-label>span::after {
background: #fff;
}
.has-float-label label::after, .has-float-label > span::after {
content: " ";
display: block;
position: absolute;
height: 5px;
top: 3px;
left: -0.2em;
right: -0.2em;
z-index: -1;
}
.bootstrap-tagsinput, .form-control {
border-radius: .1rem;
outline: initial!important;
box-shadow: initial!important;
font-size: .8rem;
padding: .5rem .75rem;
line-height: 1;
border: 1px solid #d7d7d7;
background: #fff;
color: #3a3a3a;
border-color: #d7d7d7;
height: calc(2em + .8rem);
}
.fixed-background {
background: url(./images/bk.jpg) no-repeat center center fixed;
background-size: cover;
width: 100%;
height: 100%;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
main.default-transition {
transition: margin-left .3s;
}
main {
margin: 0 !important;
height: 100%;
}
main .container {
height: 100%;
}
.background .mx-auto {
margin-left: auto !important;
margin-right: auto !important;
}
.card {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
min-width: 0px;
word-wrap: break-word;
background-color: #fff;
background-clip: border-box;
border: 1px solid rgba(0,0,0,0.125);
border-radius: .25rem;
}
.card {
border: initial;
background: #fff;
border-radius: .1rem;
box-shadow: 0px 1px 15px rgba(0,0,0,0.04), 0px 1px 6px rgba(0,0,0,0.04);
}
.auth-card {
display: flex;
flex-direction: row;
box-shadow: 0px 1px 15px rgba(0,0,0,0.04), 0px 1px 6px rgba(0,0,0,0.04);
}
.rounded .card {
border-radius: .75rem;
}
.rounded .card.auth-card {
border-top-left-radius: 1.25rem;
border-bottom-left-radius: 1.25rem;
}
.position-relative {
position: relative !important;
}
.auth-card .image-side {
position: absolute;
width: 40%;
background: url(./images/aside_bk.png) no-repeat center top;
background-size: cover;
padding: 80px 40px;
}
.image-side::before {
content: '';
height: 100%;
width: 100%;
background: rgba(77, 76, 178, 0.9);
position: absolute;
left: 0;
z-index: 0;
top:0px
}
.text-layer {
position: absolute;
left: 0px;
right: 0px;
bottom: 0px;
top: 0px;
background-size: cover;
display: flex;
align-items: center;
flex-direction: column;
padding: 80px 40px
}
.rounded .auth-card .image-side {
border-top-left-radius: 0.75rem;
border-bottom-left-radius: 0.75rem;
}
.auth-card .form-side {
width: 60%;
padding: 80px;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a {
color: #3a3a3a;
transition: color .2s;
outline: initial !important;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0px;
margin-bottom: 0.5rem;
}
p {
margin-top: 0px;
margin-bottom: 1rem;
}
p {
font-size: 0.85rem;
line-height: 1.3rem;
font-family: Nunito,sans-serif;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
margin-bottom: 0.5rem;
font-weight: 500;
line-height: 1.2;
}
h6, .h6 {
font-size: 1rem;
}
.text-white {
color: #fff !important;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
line-height: 1.3;
}
h6 {
font-size: 1rem;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
.form-group {
margin-bottom: 1rem;
}
.mb-4, .my-4 {
margin-bottom: 1.5rem !important;
}
.has-float-label {
display: block;
position: relative;
}
.d-flex {
display: -webkit-box !important;
display: -ms-flexbox !important;
display: flex !important;
}
.justify-content-between {
-webkit-box-pack: justify !important;
-ms-flex-pack: justify !important;
justify-content: space-between !important;
}
.align-items-center {
-webkit-box-align: center !important;
-ms-flex-align: center !important;
align-items: center !important;
}
button {
border-radius: 0;
}
input, button, select, optgroup, textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button, input {
overflow: visible;
}
button, select {
text-transform: none;
}
button {
color: #3a3a3a;
outline: initial !important;
}
button, [type='button'], [type='reset'], [type='submit'] {
-webkit-appearance: button;
}
button {
color: #3a3a3a;
outline: initial !important;
}
.btn {
display: inline-block;
font-weight: 400;
color: #212529;
text-align: center;
vertical-align: middle;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
padding: .375rem .75rem;
font-size: 1rem;
line-height: 1.5;
border-radius: .25rem;
-webkit-transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
transition: color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
}
.btn-primary {
color: #fff;
background-color: #007bff;
border-color: #007bff;
}
.btn-lg, .btn-group-lg > .btn {
padding: .5rem 1rem;
font-size: 1.25rem;
line-height: 1.5;
border-radius: .3rem;
}
.btn {
border-radius: 50px;
outline: initial !important;
box-shadow: none !important;
box-shadow: initial !important;
font-size: 0.8rem;
padding: .5rem 1.25rem .5rem 1.25rem;
transition: background-color box-shadow .1s linear;
}
.btn-shadow {
box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.15), 0px 1px 3px 1px rgba(0,0,0,0.15) !important;
transition: background-color box-shadow .1s linear;
}
.btn-group-lg > .btn, .btn-group-sm > .btn, .btn-lg {
border-radius: 50px;
}
.btn-primary {
background-color: #00365a;
border-color: #00365a;
color: #fff;
}
.btn-group-lg > .btn, .btn-lg {
line-height: 1.5;
font-weight: 700;
letter-spacing: 0.05rem;
padding: .75rem 2.6rem .6rem 2.6rem;
}
button:not(:disabled), [type='button']:not(:disabled), [type='reset']:not(:disabled), [type='submit']:not(:disabled) {
cursor: pointer;
}
.form-control {
display: block;
width: 100%;
height: calc(1.5em + 2px + 0.75rem);
padding: .375rem .75rem;
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: .25rem;
-webkit-transition: border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
transition: border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
}
.bootstrap-tagsinput, .form-control {
border-radius: .1rem;
outline: initial !important;
box-shadow: initial !important;
font-size: 0.8rem;
padding: .5rem .75rem;
line-height: 1;
border: 1px solid #d7d7d7;
background: #fff;
color: #3a3a3a;
border-color: #d7d7d7;
height: calc(2em + 0.8rem);
}
.has-float-label label, .has-float-label > span, .has-top-label label, .has-top-label > span {
color: rgba(58, 58, 58, 0.7);
}
.has-float-label label, .has-float-label > span:last-of-type {
position: absolute;
cursor: text;
font-size: 90%;
opacity: 1;
top: -0.4em;
left: 0.75rem;
z-index: 3;
line-height: 1;
padding: 0 1px;
}
.logo-single {
width: 110px;
height: 35px;
background: url(../logos/black.svg) no-repeat;
background-position: center center;
display: inline-block;
margin-bottom: 60px;
}
h2, .h2 {
font-size: 2rem;
}
.text-white {
color: #fff !important;
}
.mb-0, .my-0 {
margin-bottom: 0px !important;
}
.white {
color: #fff !important;
}
@media all and (max-width:768px) {
.auth-card .form-side {
width: 100%;
padding: 40px;
}
.auth-card .image-side {
display: none;
}
}
/*
Theme Name: Betler
Theme URI: http://www.ansonika.com/betler/
Author: Ansonika
Author URI: http://themeforest.net/user/Ansonika/
[Table of contents]
1. SITE STRUCTURE and TYPOGRAPHY
- 1.1 Typography
- 1.2 Buttons
- 1.3 Structure
2. CONTENT
- 2.1 Content styles
3. COMMON
- 3.1 Forms
- 3.2 Show/hide password + Password Strenght
- 3.3 Misc
- 3.4 CSS for working forms demos
- 3.5 Success submit
- 3.6 Spacing
/*============================================================================================*/
/* 1. SITE STRUCTURE and TYPOGRAPHY */
/*============================================================================================*/
/*-------- 1.1 Typography --------*/
/* rem reference
10px = 0.625rem
12px = 0.75rem
14px = 0.875rem
16px = 1rem (base)
18px = 1.125rem
20px = 1.25rem
24px = 1.5rem
30px = 1.875rem
32px = 2rem
*/
html,
body {
height: 100%;
}
html * {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body {
background: #fff;
font-size: 0.875rem;
line-height: 1.4;
font-family: "Poppins", Helvetica, sans-serif;
color: #555;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: #222;
}
p {
margin-bottom: 25px;
}
strong {
font-weight: 500;
}
label {
font-weight: 400;
margin-bottom: 3px;
color: #222;
}
hr {
margin: 30px 0 30px 0;
border-color: #ddd;
}
ul, ol {
list-style: none;
margin: 0 0 25px 0;
padding: 0;
}
/*General links color*/
a {
color: #434bdf;
text-decoration: none;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
outline: none;
}
a:hover, a:focus {
color: #111;
text-decoration: none;
outline: none;
}
a.animated_link {
position: relative;
text-decoration: none;
}
a.animated_link {
position: relative;
text-decoration: none;
}
a.animated_link:before {
content: "";
position: absolute;
width: 100%;
height: 1px;
bottom: 0;
opacity: 1;
left: 0;
background-color: #434bdf;
visibility: hidden;
-webkit-transform: scaleX(0);
transform: scaleX(0);
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;
-ms-transition: all 0.3s ease;
transition: all 0.3s ease;
}
a.animated_link:hover:before {
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
a.animated_link.active {
position: relative;
text-decoration: none;
color: #434bdf;
}
a.animated_link.active:before {
content: "";
position: absolute;
width: 100%;
height: 1px;
bottom: 0;
opacity: 1;
left: 0;
background-color: #434bdf;
visibility: visible;
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
/*-------- 1.2 Buttons --------*/
a.btn_1,
.btn_1 {
border: none;
color: #fff;
background: #434bdf;
outline: none;
cursor: pointer;
display: inline-block;
text-decoration: none;
padding: 12px 25px;
color: #fff;
font-weight: 600;
text-align: center;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
font-size: 14px;
font-size: 0.875rem;
}
a.btn_1:hover,
.btn_1:hover {
-webkit-filter: brightness(125%);
filter: brightness(125%);
}
a.btn_1.full-width,
.btn_1.full-width {
display: block;
width: 100%;
text-align: center;
margin-bottom: 5px;
}
a.btn_1.small,
.btn_1.small {
padding: 7px 10px;
font-size: 13px;
font-size: 0.8125rem;
}
a.btn_1.medium,
.btn_1.medium {
font-size: 16px;
font-size: 1rem;
padding: 18px 30px;
}
a.btn_1.rounded,
.btn_1.rounded {
-webkit-border-radius: 25px !important;
-moz-border-radius: 25px !important;
-ms-border-radius: 25px !important;
border-radius: 25px !important;
-webkit-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
}
a.btn_1.black,
.btn_1.black {
background: #222;
}
a.btn_1.plus_icon,
.btn_1.plus_icon {
padding-right: 10px;
padding-bottom: 5px;
}
a.btn_1.plus_icon i,
.btn_1.plus_icon i {
font-size: 26px;
font-size: 1.625rem;
float: right;
position: relative;
top: -3px;
line-height: 1;
}
a.btn_1.plus_icon.medium,
.btn_1.plus_icon.medium {
padding-bottom: 10px;
padding-right: 20px;
}
.pulse_bt {
box-shadow: 0 0 0 rgba(0, 0, 0, 0.2);
animation: pulseanime 3s infinite;
-webkit-animation: pulseanime 3s infinite;
}
@-webkit-keyframes pulseanime {
0% {
-webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}
70% {
-webkit-box-shadow: 0 0 0 10px transparent;
}
100% {
-webkit-box-shadow: 0 0 0 0 transparent;
}
}
@keyframes pulseanime {
0% {
-moz-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
}
70% {
-moz-box-shadow: 0 0 0 10px transparent;
box-shadow: 0 0 0 10px transparent;
}
100% {
-moz-box-shadow: 0 0 0 0 transparent;
box-shadow: 0 0 0 0 transparent;
}
}
a.social_bt {
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
text-align: center;
color: #fff;
min-width: 200px;
margin-bottom: 15px;
display: block;
padding: 12px;
line-height: 1;
position: relative;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
cursor: pointer;
}
a.social_bt:hover {
-webkit-filter: brightness(110%);
filter: brightness(110%);
}
a.social_bt.facebook {
background: #3B5998 url(../img/Facebook__logo.svg) 10px center no-repeat;
}
a.social_bt.google {
background: #444 url(../img/Google__G__Logo.svg) 10px center no-repeat;
}
.divider {
text-align: center;
height: 1px;
margin: 20px 0 20px 0;
background-color: #ededed;
}
.divider span {
position: relative;
top: -20px;
background-color: #fff;
display: inline-block;
padding: 10px;
font-style: italic;
}
/*-------- 1.3 Structure --------*/
/* Preloader */
#preloader {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
bottom: 0;
background-color: #fff;
z-index: 999999;
}
[data-loader="circle-side"] {
position: absolute;
width: 50px;
height: 50px;
top: 50%;
left: 50%;
margin-left: -25px;
margin-top: -25px;
-webkit-animation: circle infinite .95s linear;
-moz-animation: circle infinite .95s linear;
-o-animation: circle infinite .95s linear;
animation: circle infinite .95s linear;
border: 2px solid #333;
border-top-color: rgba(0, 0, 0, 0.2);
border-right-color: rgba(0, 0, 0, 0.2);
border-bottom-color: rgba(0, 0, 0, 0.2);
border-radius: 100%;
}
#loader_form {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
height: 100%;
bottom: 0;
background-color: #fff;
background-color: rgba(255, 255, 255, 0.6);
z-index: 999999;
display: none;
}
[data-loader="circle-side-2"] {
position: absolute;
width: 50px;
height: 50px;
top: 50%;
left: 50%;
margin-left: -25px;
margin-top: -25px;
-webkit-animation: circle infinite .95s linear;
-moz-animation: circle infinite .95s linear;
-o-animation: circle infinite .95s linear;
animation: circle infinite .95s linear;
border: 2px solid #333;
border-top-color: rgba(0, 0, 0, 0.2);
border-right-color: rgba(0, 0, 0, 0.2);
border-bottom-color: rgba(0, 0, 0, 0.2);
border-radius: 100%;
}
@-webkit-keyframes circle {
0% {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-moz-keyframes circle {
0% {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-o-keyframes circle {
0% {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes circle {
0% {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
-o-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
-o-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.row-height {
min-height: 100vh !important;
height: 100vh;
}
@media (max-width: 991px) {
.row-height {
height: auto;
}
}
.content-left-bg-color {
background-color: #434bdf;
}
.content-left-wrapper {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
height: 100%;
min-height: 100%;
padding: 0 90px;
color: #fff;
text-align: center;
position: relative;
}
.content-left-wrapper.with_gradient {
background: transparent;
background: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.5));
background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.5));
}
@media (max-width: 991px) {
.content-left-wrapper {
height: auto;
padding: 95px 30px 60px 30px;
}
}
@media (max-width: 767px) {
.content-left-wrapper {
padding: 95px 15px 60px 15px;
}
}
.content-left-wrapper small {
text-transform: uppercase;
margin-bottom: 8px;
display: inline-block;
font-size: 14px;
font-size: 0.875rem;
opacity: 0.8;
font-weight: 500;
}
.content-left-wrapper h1 {
color: #fff;
margin-top: 0;
font-size: 36px;
font-size: 2.25rem;
}
@media (max-width: 767px) {
.content-left-wrapper h1 {
font-size: 26px;
font-size: 1.625rem;
}
}
.content-left-wrapper p {
font-size: 16px;
font-size: 1rem;
opacity: 0.8;
}
@media (max-width: 767px) {
.content-left-wrapper p {
font-size: 14px;
font-size: 0.875rem;
}
}
.content-right {
overflow-y: auto;
}
.copy {
text-align: center;
}
.copy.white {
color: #fff;
}
.copy.white a.animated_link {
color: #fff;
}
.copy.white a.animated_link:before {
background-color: #fff;
}
.copy.white a.animated_link.active {
color: #fff;
}
.copy.white a.animated_link.active:before {
background-color: #fff;
}
a#logo {
position: absolute;
left: 20px;
top: 15px;
display: block;
height: 35px;
}
@media (max-width: 991px) {
a#logo {
left: 15px;
top: 10px;
}
}
#social {
position: absolute;
top: 20px;
right: 30px;
z-index: 999;
}
#social ul {
margin: 0;
padding: 0;
text-align: center;
}
#social ul li {
float: left;
margin: 0 0 0 20px;
list-style: none;
}
#social ul li a {
color: #fff;
text-align: center;
line-height: 35px;
display: block;
font-size: 16px;
font-size: 1rem;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
text-decoration: none;
}
#social ul li a:hover {
transform: translateY(-4px);
}
/*============================================================================================*/
/* 2. CONTENT */
/*============================================================================================*/
/*-------- 2.1 Content styles --------*/
#forgot_pw {
background-color: #fff;
position: absolute;
left: 0;
top: 0;
width: 100%;
z-index: 99;
min-height: 100%;
display: none;
padding: 25px;
}
@media (max-width: 767px) {
#forgot_pw {
padding: 0 15px;
}
}
#forgot_pw label {
font-weight: 500;
}
.panel {
-webkit-box-shadow: 3px 0 30px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 3px 0 30px rgba(0, 0, 0, 0.2);
box-shadow: 3px 0 30px rgba(0, 0, 0, 0.2);
width: 430px;
padding: 30px 45px;
position: absolute;
left: 0;
top: 0;
overflow-y: auto;
background-color: #fff;
min-height: 100vh;
z-index: 99;
}
.panel figure {
margin: 0 0 15px 0;
text-align: center;
border-bottom: 1px solid #ededed;
padding: 0 60px 30px 60px;
}
@media (max-width: 767px) {
.panel figure {
margin: -30px -30px 20px -30px;
padding: 20px 30px;
}
}
.panel .copy {
padding-top: 30px;
left: 0;
bottom: 15px;
position: absolute;
text-align: center;
width: 100%;
}
@media (max-width: 767px) {
.panel {
width: 100%;
}
}
.panel #forgot_pw {
top: 101px;
display: none;
padding: 25px 45px;
}
.panel .input_style_2 .divider {
margin-bottom: 30px;
}
.panel.right {
left: auto;
right: 0;
}
.panel.center {
position: relative;
width: 100%;
min-height: inherit;
}
.panel.header_2 figure {
background-color: #f8f8f8;
margin: -30px -45px 45px -45px;
padding: 25px 15px;
}
.video {
position: fixed;
top: 50%;
left: 50%;
z-index: 1;
min-width: 100%;
min-height: 100%;
z-index: 9;
width: auto;
height: auto;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
.video {
display: none;
}
}
.review_block_numbers ul {
padding: 0;
margin: 0 -3px;
list-style-type: none;
display: flex;
justify-content: center;
}
.review_block_numbers ul li {
display: list-item;
margin: 0 3px;
width: 100%;
}
.container_numbers {
margin-bottom: 5px;
position: relative;
}
.container_numbers input[type="radio"] {
display: none;
}
.container_numbers label {
cursor: pointer;
}
.container_numbers .radio {
position: relative;
border: 1px solid #dae0e5;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
padding: 15px;
display: block;
text-align: center;
font-size: 18px;
font-size: 1.125rem;
font-weight: 500;
transition: all 450ms;
}
@media (max-width: 575px) {
.container_numbers .radio {
padding: 10px;
}
}
.container_numbers .radio:hover {
border-color: transparent;
}
.container_numbers .radio.very_bad:hover {
background-color: #ff0033;
}
.container_numbers .radio.bad:hover {
background-color: #ff5f7f;
}
.container_numbers .radio.average:hover {
background-color: #94b49b;
}
.container_numbers .radio.good:hover {
background-color: #68cd7f;
}
.container_numbers .radio.very_good:hover {
background-color: #68cd7f;
}
.container_numbers input[type="radio"]:checked ~ .radio, .container_numbers input[type="radio"]:checked:hover {
transition: all 450ms;
color: #fff;
border: 1px solid transparent;
}
.container_numbers input[type="radio"]:checked ~ .radio.very_bad, .container_numbers input[type="radio"]:checked:hover.very_bad {
background-color: #ff0033;
}
.container_numbers input[type="radio"]:checked ~ .radio.bad, .container_numbers input[type="radio"]:checked:hover.bad {
background-color: #ff5f7f;
}
.container_numbers input[type="radio"]:checked ~ .radio.average, .container_numbers input[type="radio"]:checked:hover.average {
background-color: #94b49b;
}
.container_numbers input[type="radio"]:checked ~ .radio.good, .container_numbers input[type="radio"]:checked:hover.good {
background-color: #68cd7f;
}
.container_numbers input[type="radio"]:checked ~ .radio.very_good, .container_numbers input[type="radio"]:checked:hover.very_good {
background-color: #68cd7f;
}
/*============================================================================================*/
/* 3. COMMON */
/*============================================================================================*/
/*-------- 3.1 Forms --------*/
.form-control {
border: 1px solid #dae0e5 !important;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
font-size: 0.875rem;
height: calc(2.55rem + 2px);
}
.form-control:focus {
box-shadow: none;
border-color: #434bdf;
}
.form-control::-webkit-input-placeholder, .form-control::-moz-placeholder, .form-control:-ms-input-placeholder, .form-control::-ms-input-placeholder {
color: #999;
opacity: 1;
}
.input_style_2 .form-control {
border: none !important;
border-bottom: 1px solid #dae0e5 !important;
padding-left: 0;
padding-right: 0;
height: calc(2.1rem);
-webkit-border-radius: 0 !important;
-moz-border-radius: 0 !important;
-ms-border-radius: 0 !important;
border-radius: 0 !important;
}
.input_style_2 .form-control:focus {
box-shadow: none;
border-color: #434bdf !important;
}
.input_style_2 .form-group {
margin-bottom: 30px;
}
.input_style_2 .my-toggle {
margin-right: 0;
padding: 0;
}
.input_style_2 .my-toggle:hover, .input_style_2 .my-toggle:focus {
background-color: transparent;
color: #434bdf;
}
/* Checkbox style */
.container_check {
display: block;
position: relative;
font-size: 14px;
font-size: 0.875rem;
padding-left: 30px;
margin-bottom: 10px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
color: #555;
}
.container_check input {
position: absolute;
opacity: 0;
cursor: pointer;
}
.container_check input:checked ~ .checkmark {
background-color: #434bdf;
border: 1px solid transparent;
}
.container_check .checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
border: 1px solid #dae0e5;
background-color: #fff;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
.container_check .checkmark:after {
content: "";
position: absolute;
display: none;
left: 7px;
top: 3px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.container_check:hover .checkmark {
border: 1px solid #434bdf;
}
.container_check.version_2 {
padding: 6px 0 0 45px;
min-height: 30px;
}
.container_check.version_2 .checkmark {
height: 30px;
width: 30px;
}
.container_check.version_2 .checkmark:after {
left: 12px;
top: 8px;
width: 5px;
height: 10px;
}
.container_check input:checked ~ .checkmark:after {
display: block;
}
/* Radio buttons */
.container_radio {
display: block;
position: relative;
font-size: 14px;
font-size: 0.875rem;
padding-left: 30px;
margin-bottom: 10px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.container_radio input {
position: absolute;
opacity: 0;
}
.container_radio input:checked ~ .checkmark:after {
opacity: 1;
}
.container_radio .checkmark {
position: absolute;
top: 0;
left: 0;
height: 20px;
width: 20px;
background-color: #fff;
border: 1px solid #ccc;
border-radius: 50%;
}
.container_radio .checkmark:after {
display: block;
content: "";
position: absolute;
opacity: 0;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
top: 3px;
left: 3px;
width: 12px;
height: 12px;
border-radius: 50%;
background: #434bdf;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
/* Fileupload */
.fileupload {
position: relative;
width: 100%;
margin-top: 5px;
}
input[type=file] {
background-color: #fff;
border: 1px solid #dae0e5;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
padding: 5px;
height: auto;
width: 100%;
color: #999;
}
input[type=file]:focus {
box-shadow: none;
outline: none;
}
input[type=file]::-webkit-file-upload-button, input[type=file].invalid::-webkit-file-upload-button, input[type=file].valid::-webkit-file-upload-button {
color: #fff;
font-size: 13px;
border: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
padding: 8px 10px 8px 38px;
background: #434bdf url(../img/upload_icon.svg) 8px center no-repeat;
outline: none;
}
input[type=file]::-webkit-file-upload-button:focus, input[type=file].invalid::-webkit-file-upload-button:focus, input[type=file].valid::-webkit-file-upload-button:focus {
box-shadow: none;
outline: none;
}
/*-------- 3.2 Show/hide password + Password Strenght --------*/
.my-toggle {
background: transparent;
border: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
color: #888;
cursor: pointer;
font-size: 10px;
font-size: 10px;
font-size: 0.625rem;
font-weight: bold;
margin-right: 5px;
height: 30px;
line-height: 30px;
padding: 0 10px;
text-transform: uppercase;
-moz-appearance: none;
-webkit-appearance: none;
}
.my-toggle:hover, .my-toggle:focus {
background-color: #eee;
color: #555;
outline: transparent;
}
.hideShowPassword-wrapper {
width: 100% !important;
}
/*Password strength */
#pass-info {
width: 100%;
color: #555;
text-align: center;
font-size: 12px;
font-size: 0.75rem;
padding: 5px 3px 3px 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
-ms-border-radius: 3px;
border-radius: 3px;
}
#pass-info.weakpass, #pass-info.stillweakpass, #pass-info.goodpass, #pass-info.strongpass, #pass-info.vrystrongpass {
margin-bottom: 12px;
}
#pass-info.weakpass {
border: 1px solid #FF9191;
background: #FFC7C7;
color: #94546E;
}
#pass-info.stillweakpass {
border: 1px solid #FBB;
background: #FDD;
color: #945870;
}
#pass-info.goodpass {
border: 1px solid #C4EEC8;
background: #E4FFE4;
color: #51926E;
}
#pass-info.strongpass {
border: 1px solid #6ED66E;
background: #79F079;
color: #348F34;
}
#pass-info.vrystrongpass {
border: 1px solid #379137;
background: #48B448;
color: #CDFFCD;
}
/*-------- 3.3 Misc --------*/
.background-image {
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
background-color: #ededed;
}
.opacity-mask {
width: 100%;
height: 100%;
position: relative;
left: 0;
top: 0;
z-index: 2;
}
.modal-content {
border: 1px solid transparent;
}
.modal-content .close {
font-weight: 300;
font-size: 32px;
font-size: 2rem;
outline: none;
}
.tooltip .tooltip-inner {
font-size: 13px;
font-size: 0.8125rem;
line-height: 1.3;
padding: 10px;
}
.tooltip.show {
opacity: 0.9;
}
.info {
display: block;
}
.info h6 {
font-size: 14px;
font-size: 0.875rem;
}
.info a {
font-size: 16px;
font-size: 1rem;
display: inline-block;
float: right;
color: #999;
padding-top: 3px;
}
.info a:hover {
color: #434bdf;
}
/*-------- 3.4 CSS for working forms demos --------*/
input#website {
display: none;
}
span.error {
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-webkit-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font-size: 12px;
position: absolute;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
top: -20px;
right: -15px;
z-index: 2;
height: 25px;
line-height: 1;
background-color: #e34f4f;
color: #fff;
font-weight: normal;
display: inline-block;
padding: 6px 8px;
}
span.error:after {
content: '';
position: absolute;
border-style: solid;
border-width: 0 6px 6px 0;
border-color: transparent #e34f4f;
display: block;
width: 0;
z-index: 1;
bottom: -6px;
left: 20%;
}
.terms span.error {
top: -30px;
left: -15px;
right: inherit;
}
/*-------- 3.5 Success submit --------*/
#success {
position: absolute;
top: 50%;
left: 50%;
width: 300px;
height: 190px;
margin-top: -85px;
margin-left: -150px;
text-align: center;
}
#success h4 {
font-weight: 400;
margin: 20px 0 0 0;
font-size: 18px;
font-size: 1.125rem;
}
#success h4 span {
display: block;
margin-bottom: 0;
font-weight: 500;
font-size: 21px;
font-size: 1.3125rem;
}
@-webkit-keyframes checkmark {
0% {
stroke-dashoffset: 50px;
}
100% {
stroke-dashoffset: 0;
}
}
@-ms-keyframes checkmark {
0% {
stroke-dashoffset: 50px;
}
100% {
stroke-dashoffset: 0;
}
}
@keyframes checkmark {
0% {
stroke-dashoffset: 50px;
}
100% {
stroke-dashoffset: 0;
}
}
@-webkit-keyframes checkmark-circle {
0% {
stroke-dashoffset: 240px;
}
100% {
stroke-dashoffset: 480px;
}
}
@-ms-keyframes checkmark-circle {
0% {
stroke-dashoffset: 240px;
}
100% {
stroke-dashoffset: 480px;
}
}
@keyframes checkmark-circle {
0% {
stroke-dashoffset: 240px;
}
100% {
stroke-dashoffset: 480px;
}
}
.inlinesvg .svg svg {
display: inline;
}
.icon--order-success svg path {
-webkit-animation: checkmark 0.25s ease-in-out 0.7s backwards;
animation: checkmark 0.25s ease-in-out 0.7s backwards;
}
.icon--order-success svg circle {
-webkit-animation: checkmark-circle 0.6s ease-in-out backwards;
animation: checkmark-circle 0.6s ease-in-out backwards;
}
/*-------- 3.6 Spacing --------*/
.add_bottom_10 {
margin-bottom: 10px !important;
}
.add_bottom_15 {
margin-bottom: 15px !important;
}
.add_bottom_30 {
margin-bottom: 30px !important;
}
.add_bottom_45 {
margin-bottom: 45px !important;
}
.add_bottom_60 {
margin-bottom: 60px;
}
.add_bottom_75 {
margin-bottom: 75px;
}
.add_top_10 {
margin-top: 10px;
}
.add_top_15 {
margin-top: 15px;
}
.add_top_20 {
margin-top: 20px;
}
.add_top_30 {
margin-top: 30px;
}
.add_top_60 {
margin-top: 60px;
}
.margin_30 {
padding-top: 30px;
padding-bottom: 30px;
}
.margin_60 {
padding-top: 60px;
padding-bottom: 60px;
}
.margin_60_35 {
padding-top: 60px;
padding-bottom: 35px;
}
<svg id="Capa_1" enable-background="new 0 0 510 510" height="512" viewBox="0 0 510 510" width="512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><linearGradient id="lg1"><stop offset="0" stop-color="#7faef4"/><stop offset="1" stop-color="#4c8df1"/></linearGradient><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="72.017" x2="448.659" xlink:href="#lg1" y1="30.771" y2="407.412"/><linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="393.324" x2="118.808" xlink:href="#lg1" y1="393.324" y2="118.808"/><linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="220.253" x2="342.575" y1="220.253" y2="342.575"><stop offset="0" stop-color="#4166bf"/><stop offset="1" stop-color="#4256ac"/></linearGradient><linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="368.352" x2="227.221" y1="309.634" y2="168.502"><stop offset="0" stop-color="#4256ac" stop-opacity="0"/><stop offset="1" stop-color="#1b1464"/></linearGradient><linearGradient id="lg2"><stop offset="0" stop-color="#ebeff0"/><stop offset="1" stop-color="#e3e5e4"/></linearGradient><linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="51.502" x2="399.05" xlink:href="#lg2" y1="-7.217" y2="340.331"/><linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="232.637" x2="276.114" xlink:href="#lg2" y1="303.885" y2="381.967"/><g><path d="m239.907 2.943c-38.555 15.625-127.875 53.362-171.842 62.404-9.715 1.998-16.648 10.61-16.648 20.528v127.182c0 99.733 44.909 194.164 122.273 257.105l23.878 19.426c33.451 27.215 81.411 27.215 114.863 0l23.878-19.426c77.364-62.941 122.273-157.376 122.273-257.109v-127.178c0-9.918-6.933-18.53-16.648-20.528-43.967-9.042-133.287-46.779-171.841-62.404-9.683-3.924-20.503-3.924-30.186 0z" fill="url(#SVGID_1_)"/><g><circle cx="255" cy="255" fill="url(#SVGID_2_)" r="169.321"/><path d="m405.238 255c0 45.321-20.067 85.954-51.801 113.5-26.365 22.886-60.783 22.738-98.437 22.738-37.275 0-71.379.426-97.639-22.05-32.195-27.555-52.599-68.489-52.599-114.188 0-82.974 67.264-150.238 150.238-150.238s150.238 67.264 150.238 150.238z" fill="url(#SVGID_3_)"/><path d="m255.332 127.937c-38.909 0-68.676 29.767-68.676 68.676 0 20.788 7.232 39.467 21.552 52.363l121.193 121.193c5.079-3.425 19.423 2.333 24.035-1.67 31.734-27.546 51.802-68.178 51.802-113.499 0-2.749-.079-5.48-.225-8.193l-97.318-97.318c-12.896-14.32-31.575-21.552-52.363-21.552z" fill="url(#SVGID_4_)"/><circle cx="255" cy="196.281" fill="url(#SVGID_5_)" r="70.452"/><path d="m348.476 315.4c19.076 12.239 20.97 39.524 3.686 54.185-.199.169-.398.337-.598.505-26.113 21.943-59.795 35.145-96.564 35.145-37.133 0-71.107-13.469-97.327-35.793-.102-.087-.204-.174-.306-.261-17.185-14.694-15.152-41.941 3.917-54.088 26.972-17.181 59.001-27.131 93.351-27.131 34.573 0 66.77 10.069 93.841 27.438z" fill="url(#SVGID_6_)"/></g></g></svg>
\ No newline at end of file
@mixin box-shadow($shadow...) {
box-shadow: $shadow;
}
\ No newline at end of file
@mixin button-variant( $background, $border: $background, $hover-background: darken($background, 5%), $hover-border: $hover-background, $hover-box-shadow: 0 4px 10px rgba($background, .25), $active-background: darken($background, 5%), $active-border: darken($border, 10%), $active-box-shadow: inset 0 3px 5px rgba($black, .125)) {
color: color-yiq($background);
border-color: $border;
// @include gradient-bg($background);
@include box-shadow($btn-box-shadow);
@include hover {
color: color-yiq($hover-background);
//@include gradient-bg($hover-background);
border-color: $hover-border;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05), $hover-box-shadow;
}
&:focus,
&.focus {
box-shadow: 0 0 0 3px rgba($background, .15), 0 3px 15px rgba($background, 0.2), 0 2px 5px rgba($black, .1);
}
// Disabled comes first so active can properly restyle
&.disabled,
&:disabled {
background-color: $background;
border-color: $border;
box-shadow: none;
cursor: not-allowed;
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show>&.dropdown-toggle {
color: color-yiq($active-background);
background-color: $active-background;
border-color: $active-border;
background-image: none;
//box-shadow: $active-box-shadow !important;
}
}
@mixin button-outline-variant( $color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
$button-text-color: $color; // Fix light or white outlined buttons
@if ($color==theme-color("light") or $color==$white) {
$button-text-color: color-yiq($color);
}
background-color: transparent;
background-image: none;
border-color: $color;
color: $button-text-color;
&:hover {
color: color-yiq($color);
background-color: $active-background;
border-color: $active-border;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05), 0 4px 10px rgba($color, .25);
}
&:focus,
&.focus {
box-shadow: 0 0 0 3px rgba($color, .15), 0 3px 15px rgba($color, 0.2), 0 2px 5px rgba($black, .1) !important;
}
&.disabled,
&:disabled {
color: $color;
background-color: transparent;
box-shadow: none;
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active,
.show>&.dropdown-toggle {
color: color-yiq($active-background);
background-color: $active-background;
border-color: $active-border;
// &:focus {
// // Avoid using mixin so we can pass custom focus shadow properly
// // box-shadow: inset 0 3px 5px rgba($black, .125) !important;
// }
}
}
// Button sizes
@mixin button-size( $padding-y, $padding-x, $font-size, $line-height, $border-radius) {
padding: $padding-y $padding-x;
font-size: $font-size;
line-height: $line-height;
border-radius: $border-radius;
}
\ No newline at end of file
@mixin clearfix() {
&::after {
display: block;
clear: both;
content: "";
}
}
\ No newline at end of file
@mixin awesome-flex {
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
}
@mixin awesome-align-items-center {
-webkit-box-align: center;
-webkit-align-items: center;
-moz-box-align: center;
-ms-flex-align: center;
align-items: center;
}
@mixin awesome-justify-content-center {
-webkit-box-pack: center;
-webkit-justify-content: center;
-moz-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
@mixin awesome-justify-content-between {
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-moz-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
}
@mixin awesome-flex-row {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-webkit-flex-direction: row;
-moz-box-orient: horizontal;
-moz-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
@mixin awesome-flex-column {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-moz-box-orient: vertical;
-moz-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
@mixin gradient-bg($color) {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
}
@mixin box-shadow($shadow...) {
box-shadow: $shadow;
}
@mixin border-radius($radius: $border-radius) {
-webkit-border-radius: $radius;
-moz-border-radius: $radius;
border-radius: $radius;
}
@mixin awesome-trainsition-all ($seconds) {
-webkit-transition: all $seconds;
-moz-transition: all $seconds;
-ms-transition: all $seconds;
-o-transition: all $seconds;
transition: all $seconds;
}
@mixin float-left {
float: left !important;
}
@mixin float-right {
float: right !important;
}
@mixin float-none {
float: none !important;
}
\ No newline at end of file
// Gradients
@mixin gradient-bg($color) {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
}
// Horizontal gradient, from left to right
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-x($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
background-repeat: repeat-x;
}
// Vertical gradient, from top to bottom
//
// Creates two color stops, start and end, by specifying a color and position for each color stop.
@mixin gradient-y($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
background-repeat: repeat-x;
}
@mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
background-image: linear-gradient($deg, $start-color, $end-color);
background-repeat: repeat-x;
}
@mixin gradient-x-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
background-repeat: no-repeat;
}
@mixin gradient-y-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
background-repeat: no-repeat;
}
@mixin gradient-radial($inner-color: #555, $outer-color: #333) {
background-image: radial-gradient(circle, $inner-color, $outer-color);
background-repeat: no-repeat;
}
@mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
}
\ No newline at end of file
@mixin hover {
&:hover { @content; }
}
@mixin hover-focus {
&:hover,
&:focus {
@content;
}
}
@mixin plain-hover-focus {
&,
&:hover,
&:focus {
@content;
}
}
@mixin hover-focus-active {
&:hover,
&:focus,
&:active {
@content;
}
}
\ No newline at end of file
<div class="container">
<div class="oe_styling_v8">
<div class="overflow-hidden mb-5 my-3 p-4 deep-3"
style="background-color:#fbfcfd; border-radius:20px; border: 1px solid #d2caca66;">
<div class="container">
<!-- Header -->
<div
class="row justify-content-md-between justify-content-center border-bottom align-items-center py-2 mx-0">
<div class="text-center d-flex flex-row align-items-center">
<a class="btn btn-primary mb-2 mb-lg-0" style="box-shadow: rgba(0, 0, 0, 0.18) -1px 2px 3px;"
href="https://apps.odoo.com/apps/themes/browse?repo_maintainer_id=260395" target="_blank"><i
class="fa fa-list-alt mr-1"></i>All Apps </a>
</div>
<div class="mt-md-0 mt-3">
<a class="btn btn-outline-success btn-sm mb-2 mb-lg-0"
style="font-size: 13px;border-radius: 4px !important;position: relative;overflow: hidden;color: #585e64;padding: 10px 4px;line-height: 0px;"><i
class="fa fa-check"></i> Community</a>
</div>
</div>
<div class="row">
<p style="width: 100%; font-size: 18px; text-indent:1em;" class="px-sm-4 p-2">
This module is base of anita themes, it supports some beautifull login page, and some common
utility for anita theme
</p>
<p style="width: 100%; font-size: 18px;" class="px-sm-4">
Our Other Apps:
<a class="btn btn-link mb-2 mb-lg-0" style="color: #7c6576"
href="https://apps.odoo.com/apps/browse?repo_maintainer_id=371266" target="_blank">APPS</a>
</p>
</div>
</div>
</div>
<h2 class="w-100 text-center mb-3">(Current Realse V15.0.0.3 -- 2021.10.21)</h2>
<div class="shadow row my-5 p-3 pb-2 overflow-hidden"
style="background-color:#fbfcfd; border-radius: 5px; border: 1px solid #d2caca66;">
<img src="./banner.png" style="width:100%; " />
</div>
<div class="shadow row my-5 p-3 pb-2 overflow-hidden"
style="background-color:#fbfcfd; border-radius: 5px; border: 1px solid #d2caca66;">
<div class="container">
<h3 style="opacity:1; padding:10px 0px; color:#201111; letter-spacing:0.2em;">
<b>Our Other Apps</b>
</h3>
<hr class="mb-4 mt-0">
<div class="row">
<div class="col-md-4">
<div style="text-align:center; border:1px solid #aaa">
<div class="sh_img" style="padding:10px">
<a href="https://apps.odoo.com/apps/themes/15.0/awesome_theme_pro/">
<img src="//apps.odoocdn.com/apps/module_image?image_id=10821661&unique=ce844bdd99013eae7d62b2fcf1291802ed0ffdab"
style="width:100%">
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div style="text-align:center; border:1px solid #aaa">
<div class="sh_img" style="padding:10px">
<a href="https://apps.odoo.com/apps/modules/14.0/anita_modeler/">
<img src="//apps.odoocdn.com/apps/module_image?image_id=10697884&unique=94c1bf91c041749c9b53eb6b0b4f0c8922913a89"
style="width:100%">
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div style="text-align:center; border:1px solid #aaa">
<div class="sh_img" style="padding:10px">
<a href="https://apps.odoo.com/apps/modules/14.0/anita_modeler/">
<img src="//apps.odoocdn.com/apps/module_image?image_id=10245978&unique=5fb35d17e29a109bd722cfcb0176ce6d1362c369"
style="width:100%">
</a>
</div>
</div>
</div>
<div class="col-md-4">
<div style="text-align:center; border:1px solid #aaa">
<div class="sh_img" style="padding:10px">
<a
href="//apps.odoocdn.com/apps/module_image?image_id=11048187&unique=075c302246ba9c735b831eaae6c25c8ce04db201">
<img src="//apps.odoocdn.com/apps/module_image?image_id=11048187&unique=075c302246ba9c735b831eaae6c25c8ce04db201"
style="width:100%">
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
\ No newline at end of file
odoo.define('anita_theme_setting.customizer', function (require) {
"use strict";
var SystrayMenu = require('web.SystrayMenu');
var Widget = require('web.Widget');
var AnitaCustomizer = Widget.extend({
template: 'anita_theme_base.customizer',
sequence: 0,
events: _.extend({}, Widget.prototype.events, {
"click .customizer-toggle": "_on_toggle_click",
}),
_on_toggle_click: function (ev) {
this.do_action({
'type': 'ir.actions.act_url',
'url': 'https://apps.odoo.com/apps/themes/15.0/anita_theme_switcher/',
'target': 'self'
})
}
});
SystrayMenu.Items.push(AnitaCustomizer);
return AnitaCustomizer;
});
odoo.define('anita_theme_base.form_controller', function (require) {
"use strict";
var FormController = require('web.FormController');
var Dialog = require('web.Dialog');
var core = require('web.core')
var FormController = FormController.include({
overlay: undefined,
/**
* @private
* @param {OdooEvent} ev
*/
_onButtonClicked: function (ev) {
// stop the event's propagation as a form controller might have other
// form controllers in its descendants (e.g. in a FormViewDialog)
ev.stopPropagation();
var self = this;
var def;
this._disableButtons();
function saveAndExecuteAction() {
return self.saveRecord(self.handle, {
stayInEdit: true,
}).then(function () {
// we need to reget the record to make sure we have changes made
// by the basic model, such as the new res_id, if the record is
// new.
var record = self.model.get(ev.data.record.id);
return self._callButtonAction(attrs, record);
});
}
function SaveAndReturnRecord() {
return self.saveRecord(self.handle, {
stayInEdit: true,
}).then(function () {
var record = self.model.get(ev.data.record.id);
var action = { type: 'ir.actions.act_window_close', infos: {
res_id: record.res_id,
data: record.data,
} }
return self.do_action(action, {})
});
}
function SaveAndNotify(msg_name) {
return self.saveRecord(self.handle, {
stayInEdit: true,
}).then(function () {
var record = self.model.get(ev.data.record.id);
core.bus.trigger(msg_name, record);
});
}
var attrs = ev.data.attrs;
if (attrs.confirm) {
def = new Promise(function (resolve, reject) {
Dialog.confirm(this, attrs.confirm, {
confirm_callback: saveAndExecuteAction,
}).on("closed", null, resolve);
});
} else if (attrs.special === 'cancel') {
def = this._callButtonAction(attrs, ev.data.record);
} else if (attrs.special === 'save_and_return') {
// extend to save and retur record
def = SaveAndReturnRecord();
} else if (attrs.special === 'save_and_notify') {
def = SaveAndNotify(attrs.name);
} else if (!attrs.special || attrs.special === 'save') {
// save the record but don't switch to readonly mode
def = saveAndExecuteAction();
} else {
console.warn('Unhandled button event', ev);
return;
}
// Kind of hack for FormViewDialog: button on footer should trigger the dialog closing
// if the `close` attribute is set
def.then(function () {
self._enableButtons();
if (attrs.close) {
self.trigger_up('close_dialog');
}
}).guardedCatch(this._enableButtons.bind(this));
}
})
})
\ No newline at end of file
window.onload=function() {
var togglePassword = document.getElementById("toggle-password");
if (togglePassword) {
togglePassword.addEventListener('click', function() {
var x = document.getElementById("password");
if (x.type === "password") {
x.type = "text";
} else {
x.type = "password";
}
});
}
$("#show_hide_password a").on('click', function (event) {
event.preventDefault();
if ($('#show_hide_password input').attr("type") == "text") {
$('#show_hide_password input').attr('type', 'password');
$('#show_hide_password i').addClass("fa-eye-slash");
$('#show_hide_password i').removeClass("fa-eye");
} else if ($('#show_hide_password input').attr("type") == "password") {
$('#show_hide_password input').attr('type', 'text');
$('#show_hide_password i').removeClass("fa-eye-slash");
$('#show_hide_password i').addClass("fa-eye");
}
});
// Background Image
$('.background-image').each(function(){
$(this).css('background-image', $(this).attr('data-background'));
});
// Opacity mask
$('.opacity-mask').each(function(){
$(this).css('background-color', $(this).attr('data-opacity-mask'));
});
}
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<div t-name="anita_theme_base.customizer" class="dropdown">
<a role="button" href="#" class="customizer-toggle dropdown-toggle o-no-caret o-dropdown--narrow">
<span class="fa fa-cog fa-fw"/>
</a>
</div>
</templates>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- add the responsible support -->
<template id="anita_theme_base.layout" inherit_id="web.layout">
<xpath expr="//head" position="inside">
<meta name="viewport" content="width=device-width,initial-scale=1" />
</xpath>
</template>
</odoo>
\ No newline at end of file
Code Backend Theme
==================
* Code Backend Theme module for Odoo 15 community editions
Installation
============
- www.odoo.com/documentation/15.0/setup/install.html
- Install our custom addon
License
-------
General Public License, Version 3 (LGPL v3).
(https://www.odoo.com/documentation/user/14.0/legal/licenses/licenses.html)
Company
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Credits
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Contacts
--------
* Mail Contact : odoo@cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
This module is maintained by Cybrosys Technologies.
For support and more information, please visit https://www.cybrosys.com
Further information
===================
HTML Description: `<static/description/index.html>`__
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from .hooks import test_pre_init_hook, test_post_init_hook
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
"name": "Code Backend Theme V15",
"description": """Minimalist and elegant backend theme for Odoo 14, Backend Theme, Theme""",
"summary": "Code Backend Theme V15 is an attractive theme for backend",
"category": "Themes/Backend",
"version": "15.0.1.0.4",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
"depends": ['base', 'web', 'mail'],
"data": [
'views/icons.xml',
'views/layout.xml',
],
'assets': {
'web.assets_frontend': [
'code_backend_theme/static/src/scss/login.scss',
],
'web.assets_backend': [
'code_backend_theme/static/src/scss/theme_accent.scss',
'code_backend_theme/static/src/scss/navigation_bar.scss',
'code_backend_theme/static/src/scss/datetimepicker.scss',
'code_backend_theme/static/src/scss/theme.scss',
'code_backend_theme/static/src/scss/sidebar.scss',
'code_backend_theme/static/src/js/fields/colors.js',
'code_backend_theme/static/src/js/chrome/sidebar_menu.js',
],
'web.assets_qweb': [
'code_backend_theme/static/src/xml/styles.xml',
'code_backend_theme/static/src/xml/top_bar.xml',
],
},
'images': [
'static/description/banner.png',
'static/description/theme_screenshot.png',
],
'license': 'LGPL-3',
'pre_init_hook': 'test_pre_init_hook',
'post_init_hook': 'test_post_init_hook',
'installable': True,
'application': False,
'auto_install': False,
}
## Module <code_backend_theme>
#### 22.10.2021
#### Version 15.0.1.0.0
#### ADD
Initial Commit
"""Hooks for Changing Menu Web_icon"""
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
import base64
from odoo import api, SUPERUSER_ID
from odoo.modules import get_module_resource
def test_pre_init_hook(cr):
"""pre init hook"""
env = api.Environment(cr, SUPERUSER_ID, {})
menu_item = env['ir.ui.menu'].search([('parent_id', '=', False)])
for menu in menu_item:
if menu.name == 'Contacts':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Contacts.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Link Tracker':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Link Tracker.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Dashboards':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Dashboards.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Sales':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Sales.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Invoicing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Invoicing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Inventory':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Inventory.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Purchase':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Purchase.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Calendar':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Calendar.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'CRM':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'CRM.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Note':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Note.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Website':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Website.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Point of Sale':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Point of Sale.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Manufacturing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Manufacturing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Repairs':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Repairs.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Email Marketing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Email Marketing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'SMS Marketing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'SMS Marketing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Project':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Project.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Surveys':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Surveys.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Employees':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Employees.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Recruitment':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Recruitment.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Attendances':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Attendances.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Time Off':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Time Off.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Expenses':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Expenses.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Maintenance':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Maintenance.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Live Chat':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Live Chat.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Lunch':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Lunch.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Fleet':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Fleet.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Timesheets':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Timesheets.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Events':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Events.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'eLearning':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'eLearning.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Members':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Members.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
def test_post_init_hook(cr, registry):
"""post init hook"""
env = api.Environment(cr, SUPERUSER_ID, {})
menu_item = env['ir.ui.menu'].search([('parent_id', '=', False)])
for menu in menu_item:
if menu.name == 'Contacts':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Contacts.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Link Tracker':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Link Tracker.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Dashboards':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Dashboards.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Sales':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Sales.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Invoicing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Invoicing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Inventory':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Inventory.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Purchase':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Purchase.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Calendar':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Calendar.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'CRM':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'CRM.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Note':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Note.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Website':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Website.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Point of Sale':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Point of Sale.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Manufacturing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Manufacturing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Repairs':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Repairs.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Email Marketing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Email Marketing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'SMS Marketing':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'SMS Marketing.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Project':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Project.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Surveys':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Surveys.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Employees':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Employees.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Recruitment':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Recruitment.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Attendances':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Attendances.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Time Off':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Time Off.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Expenses':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Expenses.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Maintenance':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Maintenance.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Live Chat':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Live Chat.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Lunch':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Lunch.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Fleet':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Fleet.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Timesheets':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Timesheets.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Events':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Events.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'eLearning':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'eLearning.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
if menu.name == 'Members':
img_path = get_module_resource(
'code_backend_theme', 'static', 'src', 'img', 'icons', 'Members.png')
menu.write({'web_icon_data': base64.b64encode(open(img_path, "rb").read())})
<!-- HERO -->
<div class="container">
<div class="row"
style="padding: 4rem 2.5rem 0 !important; background-color: #fff !important;">
<div class="col-lg-12 d-flex flex-column align-items-center">
<h1 class="text-center text-uppercase"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bolder !important; font-size: 2.5rem !important; color: #212121;">
Code Backend Theme <sup>
</h1>
<p class="my-1 text-center text-uppercase"
style="letter-spacing: 4px !important; color: #74788D !important;">
Minimalist and Elegant Backend
Theme for Odoo 15</p>
</div>
<div class="col-lg-12 d-flex justify-content-center align-items-center"
style="margin: 2rem 0;">
<img src="./assets/hero.png" width="100%" height="auto"
class="img-responsive">
</div>
</div>
</div>
<!-- END OF HERO -->
<!-- OVERVIEW -->
<div class="container">
<div class="row"
style="padding: 0rem 2.5rem !important; background-color: #fff !important;">
<div class="col-lg-12 d-flex flex-column justify-content-center">
<p class="my-1 text-center"
style="font-family: Montserrat, 'sans-serif' !important; color: #212121 !important;">
The Code Backend Theme V15 Gives You a Fully Modified View with
a Full Screen Display.
This is a Minimalist and Elegant Backend Theme for Odoo 15.
This Theme Will Change Your Old Experience to a New Experience
With Odoo.
It is a Perfect Choice for Your Odoo Backend and an Attractive
Theme for Your Odoo 15.
It will Give You a Clean Layout with a New Color Combination and
a Modified Font. It has a
Sidebar with
New App Icons and Company Logo. This Will Change Your Old
Kanban, List and Form Views to A Fully
Modified View.
</p>
</div>
<div class="col-lg-12 mt-4">
<div class="alert alert-warning text-center" role="alert">
<i class="fa fa-exclamation-triangle mr-2"
aria-hidden="true"></i>Please make sure that you install
all
your apps prior to the installation of this theme.
</div>
</div>
</div>
</div>
<!-- END OF OVERVIEW-->
<!--DOWNLOAD BUTTON ENTERPRISE-->
<div>
<div class="col-lg-12 text-center mt-5">
<a href="https://apps.odoo.com/apps/themes/14.0/code_backend_theme_enterprise/"
style="background-color:#556EE6 !important; color:#fff !important; font-weight:600 !important; padding:10px 15px 13px !important; margin:0 5px !important; border-radius:5px !important">
<i class="fa fa-download mr-1"></i>Download Code Backend Theme for Enterprise
</a>
<br/>
</div>
</div>
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Features</h2>
</div>
</div>
<!-- RESPONSIVE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/responsive.jpg" width="100%" height="auto"
class="img-responsive">
</div>
<div class="row">
<div class="col-lg-4 d-flex justify-content-center align-items-center"
style="padding: 1.5rem !important; margin: 0rem 0rem 3rem !important;">
<img src="assets/resp-gif.gif" width="80%" height="auto"
class="img-responsive rounded">
</div>
<div class="col-lg-8" style="padding: 2.5rem 1.5rem!important;">
<div class="text-center"
style="font-size: 0.9rem !important; background-color: #556EE6 !important; padding: 0.5 1.5rem !important; width: 60px; color: #ffffff !important; font-weight: 700; border-radius: 0.2rem !important; margin: 10px 0 !important;">
New
</div>
<h3 style="font-weight: 700 !important;">Fully Responsive
Layout</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Now take advantage of everything your dashboard has to
offer even on the go. Our design are
now
fully responsive enabling you to view and manage
everything from the comfort of your mobile
device. Everything
has been designed in a meticulous fashion so that every
view snaps itself to fit the size of
the
device you are using, be it smartphones, tablet or any
other portables, our theme adjusts
itself
to fit the screen size.
</h6>
<span class="d-flex" style="margin-top: 2rem !important;">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Fully responsive</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Fly-out hamburger menu on the left</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Fits perfectly to all screen sizes</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Quick access menu at the bottom in discuss</p>
</span>
</div>
</div>
</div>
</div>
<!-- END OF RESPONSIVE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Kanban Group View</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
The Code Backend Theme V15 Gives You a Fully Modified Kanban
View and Kanban Group View.
The Section Wise Separated Stages give a Pleasant Experience
And an Extraordinary Design
To Your Content Tiles Making The Tiles Look Great.
It will Give You a Clean Layout with the New Color
Combination and a Modified Font.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Font</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Full Screen View</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Stages are Separated in View</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Clean Layout</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Buttons with New Colors</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/kanabangroupview.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">List View</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
The All new Code Backend Theme V15 Gives You The Fully
Modified List View and This Table Design
is Also Have Awesome Design and it Gives You More Beauty for
Your Odoo Backend.
It will Give You a Clean Layout with the New Color
Combination and a Modified Font.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Table Style</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Scroll Bar</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Status Tag</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Scrollbar</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Buttons with New Colors</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/listview.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Form View</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Code Backend Theme Gives You The Fully Modified Form View
with a Full Screen Experience. It will
Give You a Clean Layout with the New Color Combination
and a Modified Font.
</h6>
<div class="row mt-4">
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Form Style</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Full Screen Form View</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Looks for Tabs</p>
</span>
</div>
<div class="col-lg-6">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Style for Required Field</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Chatter Style Under Form View</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Looks for Status Button</p>
</span>
</div>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/Form view.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- TWO COLUMN BLOCK -->
<div class="container" style="margin-top: 3rem;">
<div class="row" style="margin: 2rem; ; min-width: 100% !important;">
<div class="col-lg-8"
style="padding: 1rem 1rem 1rem 0rem !important;">
<div class=" shadow"
style="background-color: #fff !important; border-top: 3px solid #556EE6 !important; padding: 2.5rem 0rem 0rem 0rem !important;">
<h3 class="mx-4 mt-3" style="font-weight: 700 !important;">
Overview</h3>
<h6 class="mx-4"
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Code Backend Theme V15 is an Attractive Theme for Your
Odoo 15.
This Theme Will Change Improve Your Experience With
Odoo.
This is a Minimalist and Elegant Backend Theme for Odoo
15 And Can Offer a Perfect Choice
for
Your Odoo Backend.
</h6>
<div class="mx-4 my-4">
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Modified Structure for All Type Views</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Style for Active Menus, Radio Buttons and Checkboxes</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Color Combination</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>New Look for All Applications</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>A Clean layout and New Font Style</p>
</span>
<span class="d-flex">
<i class="fa fa-check-square mr-2"
style="color:#556EE6 !important; margin-top: 5px !important;"></i>
<p>Sidebar with New Menu Icons</p>
</span>
</div>
<img src="./assets/all_screens.png" class="img-responsive"
width="100% !important"
height="auto !important">
</div>
</div>
<div class="col-lg-4"
style="padding: 1rem 0rem 1rem 1rem!important;">
<div class="shadow"
style="background-color: #fff !important; border-top: 3px solid #556EE6 !important; padding: 2.5rem 0rem 0rem 1.5rem !important; position: relative; overflow: hidden !important;">
<div class="text-center"
style="font-size: 0.9rem !important; background-color: #556EE6 !important; padding: 0.5 1.5rem !important; width: 60px; color: #ffffff !important; font-weight: 700; border-radius: 0.2rem !important; margin: 10px 0 !important;">
New
</div>
<h3 class="mt-3" style="font-weight: 700 !important;">
All-New Menu Design</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important; padding-bottom: 3.8rem !important;">
The All-New Menu Design is Main Attractive Section for
the Code Backend Theme. The Sidebar
have New Minimalist
Icons for Applications in Odoo. Also the Sidebar Have
Closing and Opening Option.
Customisable Logo Attached in Sidebar
That is Automatically Fetch Your Company Logo.
</h6>
<img src="./assets/menu_focus.png" class="img-responsive"
width="100% !important"
height="auto !important">
</div>
</div>
</div>
</div>
<!-- END OF TWO COLUMN BLOCK -->
<!-- FEATURE -->
<div class="container" style="margin-top: 3rem;">
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #556EE6 !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2.5rem 1.5rem!important;">
<h3 style="font-weight: 700 !important;">Easily Access Sidebar
Menu</h3>
<h6
style="font-style: Montserrat, 'sans-serif' !important; color: #2A3042 !important; font-weight: 300 !important;">
Reveal the sidebar menu with just a click. Sidebar menu
features all the relevant links to
navigate
through the application.
Hiding the sidebar leaves more space on the main area
offering a distraction-free view that lets
you
focus on what matters the most.
</h6>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/easily-access-menu.gif" width="100%"
height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF FEATURE -->
<!-- SCREENSHOTS -->
<div class="container" style="margin-top: 3rem;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Screenshots</h2>
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
1</h6>
</div>
<h6 class="mt-2 ml-2">Login Page</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/login.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
2</h6>
</div>
<h6 class="mt-2 ml-2">Group By View</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/2.groupbyview.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
3</h6>
</div>
<h6 class="mt-2 ml-2">Settings Page</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/3.settings page.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
4</h6>
</div>
<h6 class="mt-2 ml-2">Discuss Page</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/4.discusspage.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
5</h6>
</div>
<h6 class="mt-2 ml-2">Product Kanban View</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/5.productskanaban.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
6</h6>
</div>
<h6 class="mt-2 ml-2">Purchase List View</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/6.purchase view.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
7</h6>
</div>
<h6 class="mt-2 ml-2">Product View with Smart Buttons</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/7.productviewsmartbuttons.png"
width="100%" height="auto"
class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
8</h6>
</div>
<h6 class="mt-2 ml-2">Modified Alert Notifications are
Placed on the Right Bottom of Display
</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/8error.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
9</h6>
</div>
<h6 class="mt-2 ml-2">Wizards and User Error Popups</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/modal.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
10</h6>
</div>
<h6 class="mt-2 ml-2">New Looks for The Tabs</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/10.newlookoftabs.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
11</h6>
</div>
<h6 class="mt-2 ml-2">Recruitment Kanban View With
Ribbons</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/11.recruitment.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
12</h6>
</div>
<h6 class="mt-2 ml-2">Sales Kanban View</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/12.saleskanban.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
13</h6>
</div>
<h6 class="mt-2 ml-2">Modified Kanban View for Employees
With New Designed Category Section</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/13.modified kanban employee.png"
width="100%" height="auto"
class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
14</h6>
</div>
<h6 class="mt-2 ml-2">Sidebar with List View</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/15.sidebarwithlistview.png"
width="100%" height="auto"
class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
15</h6>
</div>
<h6 class="mt-2 ml-2">Attendance Pages</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/17.attendanceview.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
<div class="row shadow"
style="margin: 2rem; padding: 0rem !important; background-color: #fff !important; border-top: 3px solid #74788D !important; min-width: 100% !important;">
<div class="col-lg-12" style="padding: 2rem 1.5rem!important;">
<div class="d-flex my-3">
<div class="d-flex justify-content-center align-items-center"
style="background-color: #556EE6 !important; border: 4px solid #D4DAF9 !important; color: #fff !important; height: 35px; width: 35px; border-radius: 50% !important; font-size: 1.1rem !important;">
<h6 style="margin-top: 0.3rem; color: #fff !important;">
16</h6>
</div>
<h6 class="mt-2 ml-2">Graphs with Sidebar</h6>
</div>
</div>
<div class="col-lg-12"
style="padding-left: 0 !important; padding-right: 0!important;">
<img src="assets/screenshots/16grapghview.png" width="100%"
height="auto" class="img-responsive">
</div>
</div>
</div>
<!-- END OF SCREENSHOTS -->
<!-- OUR SERVICES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Our Services</h2>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png"
class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive"
height="48px" width="48px">
</div>
<h6 class="text-center"
style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">
Odoo
Licensing Consultancy</h6>
</div>
</div>
</section>
<!-- END OF END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<section class="container"
style="margin-top: 6rem !important; background-color: #fff !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Our Industries</h2>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/trading-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easily
procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/pos-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/education-black.png"
class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
A
platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/manufacturing-black.png"
class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Plan,
track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/ecom-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/service-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Keep
track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/restaurant-black.png"
class="img-responsive mb-3" height="48px"
width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
Run
your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/hotel-black.png"
class="img-responsive mb-3" height="48px" width="48px">
<h5
style="font-family: Montserrat, sans-serif !important; color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-family: Montserrat, sans-serif !important; font-size: 0.9rem !important;">
An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</section>
<!-- END OF END OF OUR INDUSTRIES -->
<!-- FOOTER -->
<!-- Footer Section -->
<section class="container"
style="margin: 5rem auto 2rem; background-color: #fff !important;">
<div class="row" style="max-width:1540px;">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center mb-4">
<h2
style="font-weight: 300 !important; background-color: #fff !important; z-index: 1 !important; padding: 0 1rem !important;">
Need Help?</h2>
</div>
</div>
<!-- Contact Cards -->
<div class="row d-flex justify-content-center align-items-center"
style="max-width:1540px; margin: 0 auto 2rem auto;">
<div class="col-lg-12"
style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
<div class="row mt-4">
<div class="col-lg-6">
<a href="mailto:odoo@cybrosys.com" target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
</div>
<div class="col-lg-6">
<a href="https://api.whatsapp.com/send?phone=918606827707"
target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;">
<i class="fa fa-whatsapp mr-2"></i>+91 86068
27707</a>
</div>
</div>
</div>
</div>
<!-- End of Contact Cards -->
</section>
<!-- Footer -->
<section class="oe_container"
style="padding: 2rem 3rem 1rem; background-color: #fff !important;">
<div class="row"
style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
<!-- Logo -->
<div class="col-lg-12 d-flex justify-content-center align-items-center"
style="margin-top: 3rem;">
<img src="https://www.cybrosys.com/images/logo.png"
width="200px" height="auto"/>
</div>
<!-- End of Logo -->
</div>
</section>
<!-- END OF FOOTER -->
</div>
\ No newline at end of file
odoo.define('code_backend_theme.SidebarMenu', function (require) {
"use strict";
//sidebar toggle effect
$(document).on("click", "#closeSidebar", function(event){
$("#closeSidebar").hide();
$("#openSidebar").show();
});
$(document).on("click", "#openSidebar", function(event){
$("#openSidebar").hide();
$("#closeSidebar").show();
});
$(document).on("click", "#openSidebar", function(event){
$("#sidebar_panel").css({'display':'block'});
$(".o_action_manager").css({'margin-left': '200px','transition':'all .1s linear'});
$(".top_heading").css({'margin-left': '200px','transition':'all .1s linear', 'width':'auto'});
//add class in navbar
var navbar = $(".o_main_navbar");
var navbar_id = navbar.data("id");
$("nav").addClass(navbar_id);
navbar.addClass("small_nav");
//add class in action-manager
var action_manager = $(".o_action_manager");
var action_manager_id = action_manager.data("id");
$("div").addClass(action_manager_id);
action_manager.addClass("sidebar_margin");
//add class in top_heading
var top_head = $(".top_heading");
var top_head_id = top_head.data("id");
$("div").addClass(top_head_id);
top_head.addClass("sidebar_margin");
});
$(document).on("click", "#closeSidebar", function(event){
$("#sidebar_panel").css({'display':'none'});
$(".o_action_manager").css({'margin-left': '0px'});
$(".top_heading").css({'margin-left': '0px', 'width':'100%'});
//remove class in navbar
var navbar = $(".o_main_navbar");
var navbar_id = navbar.data("id");
$("nav").removeClass(navbar_id);
navbar.removeClass("small_nav");
//remove class in action-manager
var action_manager = $(".o_action_manager");
var action_manager_id = action_manager.data("id");
$("div").removeClass(action_manager_id);
action_manager.removeClass("sidebar_margin");
//remove class in top_heading
var top_head = $(".top_heading");
var top_head_id = top_head.data("id");
$("div").removeClass(top_head_id);
top_head.removeClass("sidebar_margin");
});
$(document).on("click", ".sidebar a", function(event){
var menu = $(".sidebar a");
var $this = $(this);
var id = $this.data("id");
$("header").removeClass().addClass(id);
menu.removeClass("active");
$this.addClass("active");
//sidebar close on menu-item click
$("#sidebar_panel").css({'display':'none'});
$(".o_action_manager").css({'margin-left': '0px'});
$(".top_heading").css({'margin-left': '0px', 'width':'100%'});
$("#closeSidebar").hide();
$("#openSidebar").show();
//remove class in navbar
var navbar = $(".o_main_navbar");
var navbar_id = navbar.data("id");
$("nav").removeClass(navbar_id);
navbar.removeClass("small_nav");
//remove class in action-manager
var action_manager = $(".o_action_manager");
var action_manager_id = action_manager.data("id");
$("div").removeClass(action_manager_id);
action_manager.removeClass("sidebar_margin");
//remove class in top_heading
var top_head = $(".top_heading");
var top_head_id = top_head.data("id");
$("div").removeClass(top_head_id);
top_head.removeClass("sidebar_margin");
});
});
\ No newline at end of file
/** @odoo-module **/
import { COLORS } from "@web/views/graph/colors";
var code_backend_color = ["#556ee6", "#f1b44c", "#50a5f1", "#ffbb78", "#34c38f", "#98df8a", "#d62728",
"#ff9896", "#9467bd", "#c5b0d5", "#8c564b", "#c49c94", "#e377c2", "#f7b6d2",
"#7f7f7f", "#c7c7c7", "#bcbd22", "#dbdb8d", "#17becf", "#9edae5"];
for (let i=0;i<=code_backend_color.length;i++){
COLORS[i] = code_backend_color[i]
}
/* date time picker colour changes for the theme */
.datepicker {
.table-sm {
> thead {
> tr > .prev {
color: #fff !important;
background-color: $primary_accent !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
}
> .fa{
color: #fff !important;
}
}
> tr > .next {
color: #fff !important;
background-color: $primary_accent !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
}
> .fa{
color: #fff !important;
}
}
> tr > .picker-switch {
color: #fff !important;
background-color: $primary_accent !important;
&:hover{
background-color: darken($primary_accent, 10%) !important;
}
}
}
> tbody > tr > td {
&.today:before {
border-bottom-color: $primary_accent !important;
}
&.active {
background-color: $primary_accent !important;
}
}
}
}
.picker-switch {
span.fa {
margin: 0;
@include transition($btn-transition);
&.primary {
background-color: $primary_accent;
color: white;
&:hover {
background-color: darken($primary_accent, 20%);
}
}
}
}
.daterangepicker .drp-calendar .calendar-table thead tr:first-child {
color: #FFFFFF;
background-color: $primary_accent;
}
.daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active, .daterangepicker .drp-calendar .calendar-table tbody tr td:not(.off).active:hover {
background-color: $primary_accent;
}
.daterangepicker .drp-calendar .calendar-table thead tr:first-child th.prev:hover, .daterangepicker .drp-calendar .calendar-table thead tr:first-child th.next:hover {
background-color: darken($primary_accent, 20%);
}
\ No newline at end of file
#wrapwrap > main {
background: #f8f8fb;
}
// .navbar {
// background: #fff !important;
// }
body {
font-family: 'Poppins', sans-serif !important;
}
body.bg-100 {
background-color: #000000 !important;
}
.card.o_database_list {
align-items: center;
max-width: 450px !important
}
.card.o_database_list .card-body {
background-color: #fff !important;
border-radius: 5px !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
width: 450px;
}
a {
color: #556ee6;
text-decoration: none;
}
a:hover {
color: #4458b8;
text-decoration: underline;
}
.alert-info {
color: #306391;
background-color: #dcedfc;
border-color: #cbe4fb;
}
.oe_login_form button.btn-link {
color: #495057;
font-weight: 500;
font-size: 14px !important;
}
.oe_login_form button.btn-link:hover {
color: #171a1c;
}
//login button starts
.btn-primary {
color: #fff;
background-color: #556ee6;
border-color: #556ee6;
}
.btn-primary:hover {
color: #fff;
background-color: #485ec4;
border-color: #4458b8;
}
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,.btn-primary:active,
.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: #4458b8 !important;
border-color: #4053ad !important;
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
color: #fff;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.oe_login_form .btn {
display: inline-block;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: .47rem .75rem;
border-radius: .25rem;
-webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}
.btn-secondary {
color: #fff !important;
background-color: #74788d !important;
border-color: #74788d !important;
}
.btn-secondary:hover {
color: #fff !important;
background-color: #636678 !important;
border-color: #5d6071 !important;
}
.btn-secondary:active {
color: #fff;
background-color: #5d6071 !important;
border-color: #575a6a !important;
}
.btn-secondary i,.btn-secondary span {
color: #fff !important;
}
.btn-fill-secondary:focus, .btn-secondary:focus, .btn-fill-secondary.focus, .focus.btn-secondary {
box-shadow: none !important;
}
//login button ends
//input starts
.oe_login_form input {
display: block;
width: 100%;
height: 40px !important;
padding: 10px 20px;
font-size: 13px;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da !important;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: .25rem;
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
box-shadow: none !important;
margin-bottom:10px !important;
}
form label {
font-weight: 400 !important;
}
.oe_login_form a.btn.btn-secondary {
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.35rem 0.75rem;
}
.oe_login_form a.btn.btn-secondary i.fa.fa-database {
margin-left: 5px;
}
\ No newline at end of file
.o_form_statusbar{
.o_statusbar_buttons{
.btn{
margin-right: 30px !important;
}
}
}
.o_cp_left{
.btn{
margin-right: 30px !important;
}
}
.o_calendar_buttons > button > .fa{
color: #ffffff !important;
}
.o_main_navbar, .btn-primary, .btn-primary:active, .o_searchview_facet_label {
background-color: $primary_accent !important;
color: $inverse_accent !important;
}
.o_search_panel_section_icon {
color: $primary_accent !important;
}
.btn-secondary {
border-radius: 0;
border: solid 1px $primary_accent !important;
color: $primary_accent !important;
}
.o_list_view .o_list_table thead {
position: sticky;
top: 0;
}
.breadcrumb-item > a, .o_menu_item > a {
color: $primary_accent !important;
}
.fa-trash {
color: #f46a6a !important;
}
.o_main_navbar > a:hover {
background-color: lighten($primary_accent, 10%) !important;
}
.o_main_navbar > .o_menu_sections > li > a:hover, .o_main_navbar > .o_menu_systray > li > a:hover, .o_main_navbar > .o_menu_sections > li.show > a, .o_main_navbar > .o_menu_systray > li.show > a {
background-color: lighten($primary_accent, 10%) !important;
}
.o_main_navbar > .o_menu_apps > li > a:hover, .o_main_navbar > .o_menu_apps > li > a:active {
background-color: lighten($primary_accent, 10%) !important;
}
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show {
max-height: 100vh !important;
height: 93vh !important;
}
.o_main_navbar > .o_menu_apps > .dropdown.show > .dropdown-menu.show > a {
//border-bottom: 1px solid lighten($primary_accent, 30%);
}
.o_mail_discuss_sidebar {
background-color: #1c2833;
}
.dropdown-toggle:after {
background-color: lighten($primary_accent, 10%) !important;
}
.o_external_button {
border: none !important;
}
.o_field_x2many_list_row_add > a {
color: $primary_accent !important;
}
.nav-item > a {
color: $primary_accent !important;
}
.o_main_navbar > .o_menu_apps > li > a > i {
color: $inverse_accent !important;
font-size: 16px !important;
}
.o_form_uri > span {
color: $primary_accent !important;
}
.o_required_modifier.o_input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
border-left: solid 3px #f46a6a !important;
}
.o_input {
border: solid 1px $primary_accent !important;
color: $primary_accent !important;
}
.o-no-caret > i, button[aria-pressed=true] {
color: $inverse_accent !important;
}
.o_loading {
background-color: $primary_accent;
}
.fas {
color: $inverse_accent !important;
}
.dashboard_mainbar {
width: 100%;
}
.a_app_menu_title {
display: none;
}
.o_menu_apps > .dropdown.show > .dropdown-menu.show:hover .a_app_menu_title {
display: inline-block;
width: 200px;
}
.o_required_modifier.o_input, .o_required_modifier.o_input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
border-left: solid 3px #f46a6a !important;
}
.o_required_modifier .o_input, .o_required_modifier .o_input {
background-color: $inverse_accent !important;
}
.dropdown-toggle:after {
background-color: #ffffff00 !important;
}
.o_required_modifier > .o_input_dropdown > .ui-autocomplete-input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
border-left: solid 3px #f46a6a !important;
}
.o_datepicker.o_field_date.o_field_widget.o_required_modifier > input {
background-color: $inverse_accent !important;
color: $primary_accent !important;
border-left: solid 3px #f46a6a !important;
}
.ui-state-active {
background-color: $primary_accent !important;
color: $inverse_accent !important;
}
.oe_search_bgnd {
background-color: lighten($primary_accent, 20%) !important;
color: $inverse_accent !important;
}
.oe_search_tab {
background-color: $primary_accent !important;
color: $inverse_accent !important;
}
.o_horizontal_separator {
color: $primary_accent !important
}
.o_field_widget.o_field_image .o_form_image_controls {
background-color: $primary_accent !important;
}
.o_field_widget.o_field_image .o_form_image_controls > button {
color: $inverse_accent !important;
}
.dropdown-item.o_app.mt0:hover , .dropdown-item.o_app.mt0:hover > .a_app_menu_title{
background-color: $primary_accent !important;
color: $inverse_accent !important;
}
// .o_address_country{
// display: none !important;
// }
div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::before {
background-color: $primary_accent !important;
}
div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::before {
background-color: $primary_accent !important;
}
.o_mail_systray_item .o_mail_systray_dropdown .o_mail_systray_dropdown_top .o_filter_button.active {
color: $primary_accent;
text-decoration: none;
}
.o_mail_user_status.o_user_online {
color: #fff !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled::after {
border-left-color: $primary_accent;
}
.btn-link {
font-weight: 400;
color: $primary_accent !important;
text-decoration: none;
}
.o_thread_window_header {
background-color: $primary_accent !important;
}
.o_thread_window_close,.o_thread_window_expand{
color: $inverse_accent !important;
}
.o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $primary_accent !important;
}
.fa-building-o{
color: white !important;
}
.o_button_import, .oe_import_file{
background: #5aa29f !important;
color: white !important;
border: solid 2px #5aa29f !important;
}
.o_button_import:hover, .oe_import_file:hover,.o_button_import:active, .oe_import_file:active{
background: white !important;
color: #5aa29f !important;
border: solid 2px #5aa29f !important;
}
.o_form_button_save,.o_form_button_edit{
background: #7BA94F !important;
color: white !important;
border: solid 2px #7BA94F !important;
}
.o_form_button_save:hover,.o_form_button_edit:hover,.o_form_button_save:active,.o_form_button_edit:active{
background: white !important;
color: #7BA94F !important;
border: solid 2px #7BA94F !important;
}
.o-kanban-button-new, .o_list_button_add,.o_form_button_create{
background: #b9408d !important;
color: white !important;
border: solid 2px #b9408d !important;
}
.o-kanban-button-new:hover, .o_list_button_add:hover,.o_form_button_create:hover,.o-kanban-button-new:active, .o_list_button_add:active,.o_form_button_create:active{
background: white !important;
color: #b9408d !important;
border: solid 2px #b9408d !important;
}
.o_form_button_cancel,.o_import_cancel{
background: #cf4137 !important;
color: white !important;
border: solid 2px #cf4137 !important;
}
.o_form_button_cancel:hover,.o_import_cancel:hover,.o_form_button_cancel:active,.o_import_cancel:active{
background: white !important;
color: #cf4137 !important;
border: solid 2px #cf4137 !important;
}
.report_button{
border-radius: 0 !important;
border: solid 2px $primary_accent;
background: $primary_accent !important;
}
.report_button:hover,.report_button:active{
border-radius: 0 !important;
border: solid 2px $primary_accent !important;
color: $primary_accent !important;
background: $inverse_accent !important;
}
.btn-primary{
border-radius: 0 !important;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link{
border: none;
border-bottom: solid;
font-weight: bold;
}
.nav-link{
@include hover-focus {
border: none;
}
}
.o_data_row:has(.custom-control-input:checked){
background: blue !important;
}
.o_field_one2many{
.o_list_view{
.table-responsive{
max-height:50vh;
}
}
}
thead{
position: sticky;
position: -webkit-sticky;
top: 0;
}
.o_list_view .o_list_table tbody{
position: sticky;
top: 30px;
}
.o_list_view{
.o_list_table{
thead{
z-index:999;
}
}
}
.o_list_view .table-responsive .table{
width: max-content !important;
min-width: 100%;
thead
{
z-index:999;
tr:nth-child(1) th{
position: sticky;
top: 0;
z-index: 999;
background-color: #eeeeee !important;
}
}
}
.o_list_view .o_list_table tbody{
position:initial !important;
}
.o_list_view .table-responsive .table thead{
z-index: 1;
}
.o_optional_columns_dropdown_toggle{
z-index: 999;
}
.o_home_menu_background:not(.o_home_menu_background_custom) .o_main_navbar{
max-height:100px;
}
.o_progressbar .o_progress .o_progressbar_complete {
background-color: #3d9bbb;
}
.o_cp_left .btn {
margin-right: 10px !important;
}
.o_main_navbar .o_menu_sections {
flex-wrap: wrap !important;
}
\ No newline at end of file
#sidebar_panel {
height: calc(100% - 0%);
position: fixed;
top: 0px;
background-color: #2a3042;
display: none;
width: 200px;
overflow-y: scroll;
-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
scrollbar-width: none; /* Hide scrollbar for Firefox */
z-index: 999;
}
#sidebar_panel::-webkit-scrollbar {
display: none; /* Hide scrollbar for Chrome, Safari and Opera */
}
.sidebar_panel .sidebar {
padding: 0;
white-space: nowrap;
padding-bottom: 20px;
padding-top: 5px;
}
.sidebar_panel .sidebar_close {
text-align: end;
display: none;
position: sticky;
height: 35px;
padding-top: 5px;
top: 0;
background: #2a3042;
z-index: 1;
}
.sidebar_panel .sidebar_close a#closeSidebar {
font-size: 18px;
margin-right: 10px;
color: #ffffff;
opacity: .3;
}
.sidebar_panel .sidebar_close a#closeSidebar img {
width: 15px;
}
.sidebar_panel .sidebar .sidebar_logo {
padding-top: 20px;
text-align: center;
padding-bottom: 20px;
}
.sidebar_panel .sidebar .sidebar_logo img {
max-width: 150px;
}
.sidebar_panel .sidebar .sidebar_head {
padding-top: 20px;
padding-left: 15px;
color: #6a7187;
font-size: 14px;
}
.sidebar_panel .sidebar .sidebar_menu {
list-style: none;
margin: 0;
padding: 0;
}
.sidebar_panel .sidebar .sidebar_menu li {
margin: 0;
padding: 0;
border: 0px;
display: block;
}
.sidebar_panel .sidebar .sidebar_menu li a {
margin: 0;
border: 0px;
display: block;
cursor: pointer;
overflow: hidden;
padding: 8px 10px 8px 25px;
color: #ffffff;
font-size: 13px;
transition:.3s all;
}
.sidebar_panel .sidebar .sidebar_menu li:hover a {
background: #1e2230;
color: #fff;
}
.sidebar_panel .nav-link {
opacity: .5;
transition:.3s all;
}
.sidebar_panel .sidebar a.nav-link.active {
color: #fff !important;
opacity: 1;
}
.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img {
width: 20px;
margin-right: 8px;
}
\ No newline at end of file
//Top Bar
@font-face {
font-family: 'Poppins' !important;
src: url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&amp;display=swap');
}
body {
font-family: 'Poppins', sans-serif !important;
background-color: #f8f8fb;
}
a {
color: $primary_accent;
}
a:hover {
color: $primary_hover;
}
a.btn {
height: auto !important;
}
.o_main_navbar, .o_searchview_facet_label {
background-color: transparent !important;
color: $f_color !important;
border:1px !important;
}
.o_menu_sections, .o_menu_systray, .o_web_client > header{
background: $bg_white !important;
}
.oe_topbar_name {
color: $f_color !important;
}
.o_main_navbar > .o_menu_apps > li > a > i {
color: $f_color !important;
font-size: 16px !important;
}
.o_main_navbar {
align-items: center;
border-bottom: 0px solid #5f5e97 !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
background-color: #fff !important;
}
.top_heading {
display: flex;
justify-content: flex-start;
align-items: center;
width: 100%;
}
.top_heading ul {
margin-bottom: 0 !important;
}
.top_heading > a {
margin-left: 10px;
font-size: 20px;
}
.top_heading li {
list-style: none;
}
.o-no-caret > i, button[aria-pressed="true"] {
color: $f_color !important;
}
.o_main_navbar > ul > li > a, .o_main_navbar > ul > li > label {
height: 46px;
padding: 0 5px;
color: $f_color !important;
line-height: 46px;
}
.o_main_navbar > .o_menu_sections > li > a:hover,
.o_main_navbar > .o_menu_systray > li > a:hover,
.o_main_navbar > .o_menu_sections > li.show > a,
.o_main_navbar > .o_menu_systray > li.show > a {
background-color: $bg_white !important;
}
.topbar_icon .fa {
color: #555b6d !important;
font-size: 20px !important
}
.o_main_navbar .o_user_menu .oe_topbar_avatar {
height: 35px;
width: 35px;
}
.o_MessagingMenu_counter {
background-color: #556ee6;
color: #fff !important;
}
.o_mail_systray_item .o_notification_counter {
background: #556ee6 !important;
}
.o_control_panel {
background: #f8f8fb !important;
border:none !important;
}
.o_searchview {
border: 1px solid #ddd;
padding-left: 12px;
padding-right: 20px;
-webkit-box-shadow: none;
box-shadow: none;
border-radius: 5px;
padding-top: 6px;
}
.o_searchview .o_searchview_icon {
position: absolute;
top: 11px;
left: auto;
bottom: auto;
right: 8px;
}
.o_searchview .o_searchview_facet {
border: 1px solid #ddd;
background: #f8f8fb;
border-radius: 10px;
padding: 0 2px;
max-height:20px;
}
.o_cp_bottom_right span.o_dropdown_title {
color: #555b6d;
}
.o_cp_bottom_left .o_form_button_cancel {
margin-right: 5px !important;
padding: 6px 8px !important;
color: #fff !important;
background-color: #f46a6a !important;
border-color: #f46a6a !important;
}
.o_cp_bottom_left .o_form_button_cancel:hover {
background-color: #cf5a5a !important;
border-color: #c35555 !important;
}
.o_control_panel {
border-bottom: none important;
margin: 15px 15px 0 15px;
background-color: #ffffff !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
border-radius: 5px;
}
.o_form_view,
.o_widget_Discuss {
background: #f8f8fb;
}
.o_form_statusbar .o_statusbar_buttons .btn {
margin-right: 15px !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):after {
border-top: 21px solid transparent !important;
border-bottom: 17px solid transparent !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before {
right: -11px;
border-left-color: $primary_accent;
}
//Top Bar End
// Button
.btn {
display: inline-block;
font-weight: 400 !important;
line-height: 1.5 !important;
color: #495057;
text-align: center;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-color: transparent;
border: 1px solid transparent;
padding: 6px 15px !important;
border-radius: 4px !important;
-webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
height: 40px !important;
margin-bottom: 2px;
}
.btn-primary {
color: #fff !important;
background-color: $primary_accent !important;
border-color: $primary_accent !important;
}
.btn-primary:hover {
color: #fff !important;
background-color: $primary_hover !important;
border-color: #4458b8 !important;
}
.btn-primary:active {
color: #fff !important;
background-color: #4458b8 !important;
border-color: #4053ad !important;
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
color: #fff;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.btn-primary i,.btn-primary span {
color: #fff !important;
}
.btn-secondary {
color: #fff !important;
background-color: #74788d !important;
border-color: #74788d !important;
}
.btn-secondary:hover {
color: #fff !important;
background-color: #636678 !important;
border-color: #5d6071 !important;
}
.btn-secondary:active {
color: #fff;
background-color: #5d6071 !important;
border-color: #575a6a !important;
}
.btn-check:focus+.btn-secondary, .btn-secondary:focus {
color: #fff;
background-color: #636678 !important;
border-color: #5d6071 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(137,140,158,.5) !important;
box-shadow: 0 0 0 .15rem rgba(137,140,158,.5) !important;
}
.btn-secondary i,.btn-secondary span {
color: #fff !important;
}
.btn-info {
color: #fff !important;
background-color: #50a5f1 !important;
border-color: #50a5f1 !important;
}
.btn-info:hover {
color: #fff !important;
background-color: #448ccd !important;
border-color: #4084c1 !important;
}
button[name="action_cancel"],
button[name="button_cancel"],
button[special="cancel"] {
color: #fff !important;
background-color: #f46a6a !important;
border-color: #f46a6a !important;
}
button[name="action_cancel"]:hover,
button[name="button_cancel"]:hover,
button[special="cancel"]:hover {
background-color: #cf5a5a !important;
border-color: #c35555 !important;
}
button[name="action_cancel"]:active,
button[name="button_cancel"]:active,
button[special="cancel"]:active {
color: #fff !important;
background-color: #c35555 !important;
border-color: #b75050 !important;
}
button[name="action_cancel"]:focus,
button[name="button_cancel"]:focus,
button[special="cancel"]:focus {
color: #fff !important;
background-color: #cf5a5a !important;
border-color: #c35555 !important;
-webkit-box-shadow: 0 0 0 0.15rem rgba(246,128,128,.50) !important;
box-shadow: 0 0 0 0.15rem rgba(246,128,128,.50) !important;
}
button[name="update_module"] {
margin-right: 2px;
}
.btn-warning,
button[name="action_uninstall"] {
color: #fff !important;
background-color: #f1b44c !important;
border-color: #f1b44c !important;
}
.btn-warning:hover,
button[name="action_uninstall"]:hover {
color: #fff !important;
background-color: #cd9941 !important;
border-color: #c1903d !important;
}
.btn-warning:active,
button[name="action_uninstall"]:active {
color: #fff !important;
background-color: #c1903d !important;
border-color: #b58739 !important;
}
.btn-warning:focus,
button[name="action_uninstall"]:focus {
color: #fff !important;
background-color: #cd9941 !important;
border-color: #c1903d !important;
-webkit-box-shadow: 0 0 0 0.15rem rgba(243,191,103,.50) !important;
box-shadow: 0 0 0 0.15rem rgba(243,191,1,.50) !important;
}
.o_statusbar_status .o_arrow_button.btn-secondary {
border: solid 1px #556ee6 !important;
color: #556ee6 !important;
background-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-secondary:hover:after {
border-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-primary {
border: solid 1px #556ee6 !important;
color: #fff !important;
}
.o_cp_bottom_right .btn-secondary {
background: #fff;
border-color: #dddddd !important;
margin-right: 5px !important;
padding : 6px 8px !important;
}
.o_cp_bottom_left .o_form_button_create {
color: #fff !important;
background-color: #74788d !important;
border-color: #74788d !important;
padding: 5px 15px !important;
}
.o_web_settings_invite {
margin-left: 7px;
position: relative;
top: -1px;
}
.o_form_view .oe_button_box .btn.oe_stat_button {
height: 44px !important;
opacity: 1 !important;
border-radius: 0px !important;
}
.oe_module_action .btn {
height: auto !important;
}
.o_cp_buttons a.btn {
display: flex !important;
align-items: center;
}
button.fa.fa-external-link.btn.btn-secondary.o_external_button {
padding: 2px !important;
color: #74788d !important;
background: none !important;
}
.o_statusbar_status.o_field_widget.o_readonly_modifier .btn {
margin-right: 0 !important;
}
.btn-group .btn {
margin-right: 3px;
}
.o_Composer_actionButton.o-last.o-has-current-partner-avatar.o-composer-is-compact {
height: 48px !important;
border-bottom-left-radius: 0px !important;
border-top-left-radius: 0px !important;
}
.oe_right .btn {
margin-left: 2px;
}
//Button End
//table
.table-sm th, .table-sm td {
padding: 0.5rem;
}
tr.o_data_row {
font-size: 15px;
}
.o_list_view .table-responsive .table thead tr:nth-child(1) th {
position: sticky;
top: 0;
z-index: 999;
background-color: #ffffff !important;
}
th.o_list_record_selector {
color: #495057 !important;
border-color: #eff2f7 !important;
background-color: #f8f9fa !important;
}
.table>:not(caption)>*>* {
padding: 1rem 1rem;
background-color: var(--bs-table-bg);
border-bottom-width: 1px;
-webkit-box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}
.o_list_view .o_list_table thead > tr > th:not(.o_list_record_selector).o_list_number_th {
text-align: left !important;
}
.o_list_view .o_list_table thead > tr > th:not(.o_list_record_selector) {
border-left: none !important;
}
.table thead th {
vertical-align: bottom;
border-bottom: none;
}
.table th {
border-top: 1px solid #fff !important;
}
.o_list_view .o_list_table tfoot {
background-color: #fff !important;
}
.o_list_view .table-responsive .o_list_table tfoot tr:nth-child(1) td {
background-color: #fff !important;
}
.o_list_view .o_list_table tr:focus-within,
.o_list_view .o_list_table.table-striped tr:focus-within {
background-color: #fff !important;
}
// Table End
// Checkbox
.custom-checkbox label {
position: relative;
cursor: pointer;
}
.custom-checkbox label:before {
content:'';
-webkit-appearance: none;
background-color: transparent;
border: 1px solid #0079bf;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
padding: 10px;
display: inline-block;
position: relative;
vertical-align: middle;
cursor: pointer;
margin-right: 5px;
margin-top: 0px;
}
.custom-checkbox input:checked + label:after {
content: '';
display: block;
position: absolute;
top: 2px;
left: 9px;
width: 6px;
height: 14px;
border: solid #0079bf;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.custom-checkbox label::before {
content: '';
-webkit--webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: transparent;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
padding: 10px;
display: inline-block;
position: relative;
vertical-align: middle;
cursor: pointer;
margin-right: 5px;
}
.custom-control-label::before {
position: absolute;
top: 0px !important;
left: 1px !important;
display: block;
width: 1rem;
height: 1rem;
pointer-events: none;
content: "";
background-color: #FFFFFF;
border: 1px solid rgba(0,0,0,.25) !important;
box-shadow: none !important;
border-radius: 5 !important;
margin-top: -5px;
}
.custom-checkbox {
padding-left: 0rem !important;
}
.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
background-color: $primary_accent;
}
.custom-checkbox input:checked + label::after {
content: '';
display: block;
position: absolute;
top: 1px;
left: 9px;
width: 6px;
height: 14px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.dropdown-item .custom-checkbox input:checked + label::after {
content: '';
display: block;
position: absolute;
top: 1px;
left: 19px;
width: 6px;
height: 14px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.custom-control-input:checked ~ .custom-control-label::before {
color: #ffffff;
background-color: #556ee6;
border-color: #556ee6;
}
.custom-control.custom-checkbox .custom-control-input:not(:checked):not(:indeterminate) ~ .custom-control-label:before {
background: none;
outline: none !important;
}
.o_list_selection_box {
display: inline-block;
padding: 0.375rem 0.75rem;
vertical-align: middle;
border: 1px solid rgba(85,110,230,.25)!important;
background-color: rgba(85,110,230,.25)!important;
color: $primary_accent !important;
border-radius: 5px;
}
.o_radio_input + .custom-control-label::before {
position: absolute !important;
top: 8.5px !important;
left: -1.5rem !important;
display: block !important;
width: 1rem !important;
height: 1rem !important;
pointer-events: none !important;
content: "" !important;
background-color: #FFFFFF !important;
border: #adb5bd solid 1px !important;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
background: $primary_accent !important;
border-radius: 30px;
}
// Checkbox End
//sheet
.o_form_view .o_form_sheet_bg {
border-bottom: none;
background: #ffffff !important;
box-shadow: none !important;
border-radius: 5px;
padding: 10px;
}
.o_form_view .o_form_sheet_bg > .o_form_sheet {
min-width: 650px;
max-width: initial;
min-height: 330px;
border: 1px solid #c8c8d3;
box-shadow: none !important;
background: white;
margin: 4.8px auto;
padding: 24px;
padding-right: 16px;
padding-left: 16px;
border-radius: 5px;
}
.o_form_view .o_form_statusbar {
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
justify-content: space-between;
padding-left: 5px;
border-bottom: none !important;
background-color: white;
border-radius: 5px;
}
.o_required_modifier > .o_input_dropdown > .ui-autocomplete-input {
border-left: solid 3px #f46a6a !important;
}
.fa-building-o {
color: #555b6d !important;
}
//sheet end
//Discuss
.o_Discuss {
padding: 15px !important;
background: #f5f5f9 !important;
}
.o_Discuss .o_DiscussSidebar {
background-color: #ffffff !important;
color: #dee2e6 !important;
border-radius: 5px;
margin-right: 10px !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_DiscussSidebar_item.o-active {
color: #f46a6a !important;
font-weight: 500 !important;
}
.o_DiscussSidebarItem:hover {
background: none !important;
}
.o_DiscussSidebarItem {
cursor: pointer !important;
color: #74788d !important;
line-height: 24px !important;
padding: 10px 5px !important;
}
.o_DiscussSidebarItem_activeIndicator.o-item-active {
background: none !important;
}
.o_DiscussSidebar_item.o-active .fa {
color: #f46a6a !important;
}
.o_widget_Discuss .o_Discuss_content {
border-top: none !important;
background-color: #ffffff !important;
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
}
.o_DiscussSidebarItem_counter {
background-color: #f46a6a !important;
color: #fff !important;
}
.o_ThreadIcon_online {
color: #34c38f;
}
.o_Message_prettyBody table th {
color: $primary_accent !important;
}
.o_Message_prettyBody table thead tr td {
background-color: $primary_hover !important;
}
.o_DiscussSidebarMailbox.o-active {
background-color: #e9ecef;
color: #f46a6a !important;
font-weight: 500 !important;
}
.o_Discuss .o_DiscussSidebar {
color: #74788d !important;
line-height: 24px !important;
padding: 10px 5px !important;
}
.o_DiscussSidebarMailbox.o-starred-box .o_DiscussSidebarMailbox_counter {
border-color: #f46a6a !important;
background-color: #f46a6a !important;
color: #fff !important;
}
.o_list_buttons.d-flex button {
margin-right: 5px;
}
// Discuss End
//Chatter @form
.o_FormRenderer_chatterContainer {
max-width: initial;
margin-top: 15px !important;
padding: 0 !important;
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_ChatterContainer {
padding: 10px;
background: #fff;
border-radius: 5px;
}
.o_Discuss .o_Message .o_Message_prettyBody p a {
background: $primary_accent !important;
}
.o_Message.o-not-discussion {
background-color: #eff2f7;
margin: 5px;
border-radius: 5px;
border-bottom: none;
}
.o_Composer {
background-color: #fff;
border-radius: 0 0 5px 5px;
border: none !important;
}
//Chatter @form Ends
//Chatter mini starts
.o_ChatWindow {
background-color: #fff !important;
border-radius: 5px 5px 0 0 !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.25) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .25) !important;
}
.o_PartnerImStatusIcon_icon.o-offline {
color: #495057 !important;
}
.o_PartnerImStatusIcon_icon.o-online {
color: #34c38f !important;
}
.o_PartnerImStatusIcon_innerBackground {
color: white !important;
}
i.o_PartnerImStatusIcon_outerBackground.fa.fa-circle.fa-stack-1x {
color: #fff !important;
}
.o_ChatWindowHeader_item.o_ChatWindowHeader_rightArea .fa {
color: #fff !important;
}
.o_ChatWindowHeader {
background-color: #556ee6;
color: white !important;
}
//Chatter mini ends
// Tabs Start
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
border: none;
border-bottom: solid;
font-weight: bold;
background: $primary_accent;
background-color: $primary_accent !important;
color: #ffffff !important;
border-radius: 5px;
}
.nav-link {
display: block;
padding: 1rem 2rem;
}
.o_form_view .o_notebook {
clear: both;
margin-top: 25px;
}
.nav-tabs {
border-bottom: none;
}
.nav-tabs .nav-link {
border: 1px solid #e3e3e3;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
border-bottom: none !important;
}
.nav-item > a {
color: #555b6d !important;
}
.nav-link:hover, .nav-link:focus {
border: 1px solid #e9e9e9 !important;
border-bottom: none !important;
}
ul.sidebar_menu .nav-link:hover,ul.sidebar_menu .nav-link:focus {
border: none !important;
border-bottom: none !important;
}
a#closeSidebar {
margin-left: 10px;
}
a#openSidebar {
margin-left: 10px;
}
// TAbs End
//font color
.o_horizontal_separator {
color: #495057 !important;
}
.btn-link {
font-weight: 400;
color: $primary_accent !important;
text-decoration: none;
}
.o_activity_view .o_record_selector {
color: #34c38f;
}
//font color ends
//form
input {
display: block;
width: 100%;
height: 40px !important;
padding: 10px 20px;
font-size: 13px;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da !important;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: .25rem;
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
box-shadow: none !important;
margin-bottom:10px !important;
}
select {
width: 100%;
height: 40px !important;
padding: 10px 20px;
font-size: 13px;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da !important;
border-radius: .25rem;
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
box-shadow: none !important;
margin-bottom:10px !important;
}
.o_field_widget .o_input_dropdown .o_dropdown_button {
position: absolute;
top: 6px;
left: auto;
bottom: auto;
right: 9px;
}
.o_datepicker .o_datepicker_button {
position: absolute;
top: 6px;
left: auto;
bottom: auto;
right: 9px;
pointer-events: none;
}
.o_input {
border: solid 1px #ced4da !important;
color: #495057 !important;
}
.o_form_view .oe_button_box .btn.oe_stat_button > .o_stat_info .o_stat_value,
.o_form_view .oe_button_box .btn.oe_stat_button > span .o_stat_value {
color: #556ee6;
}
.o_form_view .oe_button_box .oe_stat_button .o_button_icon {
color: #556ee6;
}
//form end
//search view
.o_searchview input.o_searchview_input {
border: none !important;
height: auto !important;
margin: 0 !important;
padding: 0px;
}
.o_base_settings .o_control_panel .o_panel .o_setting_search .searchIcon {
top: 9px;
right: 10px;
}
.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
padding: 10px 15px;
}
//search view end
//settings page
.o_web_settings_invite {
margin-left: 7px;
}
.o_settings_container .o_setting_box .o_setting_right_pane {
margin-left: 32px !important;
border-left: 1px solid #dee2e6;
padding-left: 12px;
}
.o_setting_container {
background: #f8f8fb;
padding: 15px 0 0 0;
}
.o_base_settings .o_control_panel {
margin: 0;
}
.settings {
margin-left: 15px;
background-color: #ffffff !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
border-radius: 5px;
}
.settings_tab {
background-color: #ffffff !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
border-radius: 5px;
}
.o_base_settings .o_setting_container .settings_tab .selected,
.o_base_settings .o_setting_container .settings_tab .selected span {
box-shadow: none !important;
color: #f46a6a !important;
font-weight: 500 !important;
background: none !important;
}
.o_base_settings .o_setting_container .settings_tab .tab {
color: #74788d !important;
}
.o_setting_container .o_field_widget.o_field_many2one.o_with_button.oe_inline {
margin-left: 15px !important;
}
//settings page end
//scrollbar starts
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.19);
border-radius: 10px;
background-color: #F5F5F5;
}
::-webkit-scrollbar {
width: 12px;
background-color: #F5F5F5;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.2);
background-color: #c9ccd6;
}
//scrollbar ends
//common starts
.o_content {
margin: 15px;
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
background-color: #f8f8fb;
}
.o_action {
background: #f8f8fb;
}
//common ends
//kanban_view starts
.o_kanban_view {
border-radius: 5px;
background: #fff;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_kanban_view.o_kanban_ungrouped .o_kanban_record {
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_kanban_view .o_kanban_group {
background: #fff;
border-radius: 5px;
margin-right: 10px;
}
.o_kanban_view.o_kanban_grouped {
background-color: #f8f8fb;
}
.o_kanban_view.o_kanban_grouped .o_kanban_record, .o_kanban_view.o_kanban_grouped .o_kanban_quick_create {
border-radius: 5px;
margin-bottom: 10px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_kanban_view.o_kanban_dashboard .o_kanban_record .o_kanban_card_header + .container.o_kanban_card_content .o_kanban_primary_bottom.bottom_block {
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
background: rgba(85,110,230,.25) !important;
}
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left {
border-bottom-left-radius: 5px;
border-top-left-radius: 5px;
}
.o_kanban_record::after {
border-bottom-left-radius: 5px;
border-top-left-radius: 5px;
}
.o_kanban_quick_create .o_form_view,
.o_kanban_quick_create .o_action,
.o_kanban_quick_create .o_content {
background: #fff;
margin: 0px;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.o_kanban_view .o_kanban_content .bg-primary {
border-radius: 5px 0 0 5px;
}
//kanban_view ends
//Canvas
canvas.chartjs-render-monitor {
width: 100% !important;
height: 100% !important;
}
//Canvas End
//Apps menu starts
.o_search_panel {
border-right: none;
background-color: #ffffff;
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.list-group-item-action {
width: 100%;
color: #74788d;
text-align: inherit;
}
.list-group-item-action:hover, .list-group-item-action:focus {
color: none !important;
background: none !important;
}
.o_search_panel .list-group-item header.active {
background: none !important;
color: #f46a6a !important;
font-weight: 500 !important;
}
.o_controller_with_searchpanel .o_renderer_with_searchpanel {
margin-left: 15px;
}
//Apps menu ends
//Website app starts
.o_dashboards .o_website_dashboard {
background-color: #ffffff !important;
}
.o_dashboards .o_website_dashboard div.o_box {
box-shadow: none !important;
}
.o_inner_box {
background-color: $primary_accent !important;
border-radius: 5px;
}
.o_inner_box:hover {
background-color: $primary_hover !important;
}
//Website app ends
//Purchase app starts
td.o_main {
background-color: $primary_accent !important;
border-radius: 5px;
}
td.o_main:hover {
background-color: $primary_hover !important;
}
.o_purchase_dashboard .table > thead > tr > td,
.o_purchase_dashboard .table tbody > tr > td {
border-radius: 5px;
}
//Purchase app ends
//input inside colour starts
.o_searchview .o_searchview_facet .o_facet_values {
border :1px solid white;
}
select, input {
color: #4c4c4c !important;
}
.o_required_modifier > .o_input_dropdown > .ui-autocomplete-input {
color: #4c4c4c !important;
}
.o_required_modifier.o_input, .o_required_modifier.o_input {
color: #4c4c4c !important;
}
.o_datepicker.o_field_date.o_field_widget.o_required_modifier > input {
color: #4c4c4c !important;
}
.o_field_widget.o_field_many2manytags .o_tag_color_0 {
max-height:20px;
}
//input inside colour ends
//welcome demo starts
.o_onboarding_container.collapse.show {
border-radius: 5px !important;
margin: 15px 15px 0px 15px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_onboarding.o_onboarding_blue,
.o_onboarding.o_onboarding_blue .o_onboarding_step_title,
.o_onboarding.o_onboarding_blue .o_onboarding_step_action,
.o_onboarding.o_onboarding_blue a.o_onboarding_all_done,
.o_onboarding.o_onboarding_blue .o_onboarding_all_done > .fa,
.o_onboarding.o_onboarding_blue .o_onboarding_btn_close {
border-radius: 5px;
}
.o_onboarding {
border-radius: 5px;
}
//welcome demo ends
//modal starts
.modal.o_technical_modal .modal-content {
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #f6f6f6;
}
.modal.o_technical_modal .modal-content .o_form_view,
.modal.o_technical_modal .modal-content .o_content,
.modal.o_technical_modal .modal-content .o_action {
background-color: #fff !important;;
-webkit-box-shadow: none !important;
box-shadow: none !important;
}
.modal.show .modal-dialog {
display: -webkit-box;
display: -webkit-flex;
display: flex;
align-items: center;
min-height: calc(100% - 1rem);
}
.modal .o_form_view .o_group .o_field_widget {
width: 98% !important;
}
//modal ends
//Calendar starts
.o_calendar_view {
background: #fff;
}
//Calendar ends
//expense starts
.o_content .o_expense_container {
background: #fff;
}
//expense ends
//lunch starts
.o_lunch_content .o_lunch_banner {
border-bottom: none !important;
background-color: #fff !important;
margin: 0 15px 10px 15px;
border-radius: 5px;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
//lunch ends
//kiosk starts
.o_hr_attendance_kiosk_backdrop {
background-color: #f8f8fb !important;
}
.o_hr_attendance_kiosk_mode {
background-color: #fff !important;
border-radius: 0 0 5px 5px !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.o_hr_attendance_kiosk_mode .o_hr_attendance_user_badge {
border-radius: 5px 5px 0 0 !important;
border-top: none !important;
background: rgba(85,110,230,.25) !important;
}
.o_hr_attendance_sign_in_out_icon.fa-sign-in {
color: #fff !important;
background-color: $primary_accent !important;
border-color: $primary_accent !important;
}
.o_hr_attendance_sign_in_out_icon.fa-sign-in:hover {
color: #fff !important;
background-color: $primary_hover !important;
border-color: #4458b8 !important;
}
.o_hr_attendance_sign_in_out_icon.fa-sign-in:active {
color: #fff !important;
background-color: #4458b8 !important;
border-color: #4053ad !important;
}
.o_hr_attendance_sign_in_out_icon.fa-sign-in:focus {
color: #fff;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.o_hr_attendance_kiosk_mode h3.mt0.mb0.text-muted {
color: $primary_accent !important;
}
.o_hr_attendance_button_employees div.mb16.mt16 {
margin-top: 4px !important;
}
//kiosk ends
//timeoff starts
.o_timeoff_container {
background: #fff;
}
//timeoff ends
//project .fa colours starts
.o_mail_activity .o_activity_color_planned {
color: #34c38f !important;
}
.o_mail_activity .o_activity_color_overdue {
color: #f46a6a !important;
}
.o_field_widget.o_priority > .o_priority_star.fa-star {
color: #f1b44c !important;
}
//project .fa colours ends
//sale status icon starts
.bg-primary {
background-color: $primary_accent !important;
}
.bg-secondary {
background-color: $secondary_accent !important;
}
.bg-success-light {
color: #1f7556 !important;
background-color: #d6f3e9 !important;
}
.bg-info-light {
color: #306391 !important;
background-color: #dcedfc !important;
}
.bg-danger-light {
background-color: #fde1e1 !important;
color: #924040 !important;
}
.bg-warning-light {
background-color: #fcf0db !important;
color: #916c2e !important;
}
.o_field_widget.o_field_badge {
color: #464855;
background-color: #e3e4e8;
}
//sale status icon end
//stock icon colors starts
.o_list_view .o_list_table .text-danger,
.o_list_view .o_list_table .oe_import .alert.text-error,
.oe_import .o_list_view .o_list_table .alert.text-error {
color: #f46a6a !important;
}
.text-danger {
color: #f1b44c !important;
}
.text-warning {
color: #f1b44c !important;
}
.text-error {
color: #f46a6a !important;
}
.text-success {
color: #34c38f !important;
}
//stock icon colors ends
//badges starts
.badge-primary {
background-color: #556ee6 !important;
}
.badge-secondary {
background-color: #74788d;
}
.badge-success {
background-color: #34c38f;
}
.badge-info {
background-color: #50a5f1;
}
.badge-danger {
background-color: #f46a6a;
}
.badge-warning {
background-color: #f1b44c;
}
.badge-dark {
background-color: #343a40;
}
.bg-success {
background-color: #34c38f !important;
}
.bg-success-full {
background-color: #34c38f !important;
}
.bg-warning-full {
background-color: #f1b44c !important;
}
.bg-danger-full {
background-color: #f46a6a;
}
.o-planned {
color: #34c38f !important;
}
.o-overdue {
color: #f46a6a !important;
}
.o_progressbar_complete {
background-color: #34c38f !important;
}
//badges ends
//alert starts
.alert-warning {
color: #916c2e;
background-color: #fcf0db;
border-color: #fbe9c9;
}
.alert-danger {
color: #924040;
background-color: #fde1e1;
border-color: #fcd2d2;
}
.alert-success {
color: #1f7556;
background-color: #d6f3e9;
border-color: #c2eddd;
}
.alert-info {
color: #306391;
background-color: #dcedfc;
border-color: #cbe4fb;
}
.toast {
border-radius: 5px !important;
color: #924040 !important;
background-color: #fde1e1 !important;
border-color: #fcd2d2 !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
}
.toast-header {
border-bottom: 1px solid #fcd2d2 !important;
color: #924040 !important;
background-color: #fde1e1 !important;
border-color: #fcd2d2 !important;
}
.toast-body {
color: #924040 !important;
background-color: #fde1e1 !important;
border-color: #fcd2d2 !important;
}
.o_notification_manager {
top: auto !important;
bottom: 30px !important;
}
//alert ends
//recruitment starts
div.o_boolean_toggle.custom-control.custom-checkbox > label.custom-control-label::before,
div.o_boolean_toggle.custom-control.custom-checkbox > label.custom-control-label::after {
left: 0.1rem !important;
}
div.o_boolean_toggle.custom-control.custom-checkbox > input.custom-control-input:checked + label.custom-control-label::after {
top: 1.5px !important;
}
div.o_boolean_toggle.custom-control.custom-checkbox > label.custom-control-label::after {
top: 1px;
}
.o_kanban_view.o_kanban_dashboard.o_hr_recruitment_kanban .ribbon span {
background-color: #556ee6;
}
.o_kanban_view.o_kanban_dashboard.o_hr_recruitment_kanban.o_kanban_ungrouped .o_kanban_record:not(.o_kanban_ghost) {
height: 197px;
}
//recruitment ends
//note editor starts
.note-popover .popover .popover-body, .panel-heading.note-toolbar {
padding: 5px !important;
border-bottom: none !important;
background: rgba(85, 110, 230, 0.25) !important;
border-radius: 5px 5px 0 0 ;
}
.note-editor .note-statusbar {
border-radius: 0 0 5px 5px;
}
.wysiwyg_iframe, .note-editor {
border: 1px, bold !important;
border-radius: 5px;
}
//note editor ends
//progress starts
.oe_kanban_content .progress .progress-bar {
background-color: #556ee6;
}
.progress-bar.bg-muted-full {
background-color: #dee2e6;
}
//progress ends
//email marketing starts
.o_domain_node.o_domain_tree.o_domain_selector > .o_domain_debug_container {
background: rgba(85, 110, 230, 0.25);
color: #000;
}
.o_domain_node.o_domain_tree.o_domain_selector > .o_domain_debug_container > input {
background: rgba(85, 110, 230, 0.25);
}
.o_field_widget.o_field_domain.o_inline_mode.o_edit_mode > .o_field_domain_panel {
top: -18px;
}
.o_domain_node .o_domain_selector_row > .o_domain_node_control_panel {
top: 5px;
}
.o_mail_emojis_dropdown {
bottom: 50px;
}
//emal marketing ends
// menu+ color starts
.o_main_navbar > ul > li.o_extra_menu_items.show > ul > li > a {
background-color: #74788d;
}
.o_main_navbar > ul > li.o_extra_menu_items.show > ul > li > a.dropdown-toggle {
background-color: #abadba;
}
//menu+ color ends
//top menu bar starts
nav.o_main_navbar.small_nav {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
height: auto;
}
ul.o_menu_systray.topbar_icon {
margin-left: auto;
}
.o_main_navbar .o_user_menu > a {
display: flex;
align-items: center;
}
.oe_topbar_name {
max-width: 300px;
margin-left: 5px;
white-space: nowrap;
overflow: hidden;
}
ul.o_menu_sections {
padding-left: 20px;
}
@media (max-width: 1371px) {
nav.o_main_navbar {
display: flex;
//flex-wrap: wrap;
justify-content: right;
height: auto;
}
ul.o_menu_systray.topbar_icon {
margin-left: auto;
}
}
@media (max-width: 575.98px) {
.o_main_navbar .o_menu_sections {
max-width: 200px;
overflow-x: auto;
flex-wrap: nowrap !important;
}
.o_search_panel {
flex: auto;
}
}
//top menu bar ends
//datetimepicker starts
.datepicker td,
.datepicker td a,
.datepicker th,
.datepicker span {
padding: 0.5rem !important;
}
div.dropdown-menu.bootstrap-datetimepicker-widget {
width: auto !important;
}
//datetimepicker ends
//groupby color starts
.o_list_view tbody > tr.o_group_header {
background-image: none !important;
}
.table-striped tbody tr.o_group_header:nth-of-type(odd) {
background-color: rgba(85,110,230,0.17);
}
.table-striped tbody tr.o_group_header:hover {
background-color: rgba(85,110,230,0.23);
}
//groupby color ends
//Responsive starts
@media (max-width:992px) {
.o_action_manager.sidebar_margin {
margin: 0 !important;
}
.top_heading.sidebar_margin {
margin: 0 !important;
}
.sidebar_panel .sidebar {
position: relative;
padding-top: 0px !important;
}
.sidebar_panel .sidebar_close {
display: block !important;
}
}
@media (max-width:480px) {
ul.o_menu_apps {
padding-left: 25px;
}
.o_control_panel {
margin: 15px 10px 0 10px;
}
.o_control_panel > div {
flex-wrap: wrap;
}
.o_cp_top_left, .o_cp_top_right,
.o_cp_bottom_left, .o_cp_bottom_right {
width: 100%;
}
.o_widget_Discuss .o_Discuss.o-mobile:not(.o-adding-item) {
border: none !important;
}
html .o_web_client > .o_action_manager {
overflow: auto !important;
}
ul.o_menu_systray.topbar_icon li:nth-child(1) {
margin-left: 20px;
}
.o_main_navbar .o_user_menu {
margin-left: 20px;
}
.sidebar_panel .sidebar .sidebar_logo img {
max-width: 112px;
}
.sidebar_panel .sidebar .sidebar_logo {
padding-top: 20px;
text-align: center;
padding-bottom: 5px;
}
li.o_switch_company_menu.show .dropdown-menu.dropdown-menu-right.show {
right: auto !important;
left: 0px;
}
ul.o_menu_systray.topbar_icon .dropdown-menu.show{
left: 0px !important;
right: auto !important;
}
ul.o_menu_systray.topbar_icon {
margin-left: 0;
}
.o_MessagingMenu_dropdownMenu.o-mobile {
top: 70px;
}
.o_control_panel .o_cp_bottom_right {
flex-wrap: wrap;
}
.o_form_view .o_form_statusbar {
flex-wrap: wrap;
}
.btn {
padding: 2px 10px !important;
height: 35px !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before,
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):after {
border-top: 17px solid transparent !important;
border-bottom: 16px solid transparent !important;
}
.o_statusbar_status.o_field_widget.o_readonly_modifier {
width: 100%;
justify-content: flex-end;
margin-top: 5px;
}
.o_form_view .o_form_statusbar > .o_statusbar_buttons > .btn {
margin: 1px 0px 4px 0;
}
.o_form_statusbar .o_statusbar_buttons .btn {
margin-right: 5px !important;
}
.o_control_panel .o_cp_bottom_left > .o_cp_action_menus .o_dropdown_toggler_btn {
margin-right: 3px;
}
.o_form_view .o_form_sheet_bg > .o_form_sheet {
min-width: auto;
}
.nav-tabs .nav-link {
padding: 8px;
}
.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header {
background: $primary_accent;
}
.o_form_view .o_group .o_group_col_6 {
width: 100%;
}
.o_kanban_view.o_kanban_ungrouped .o_kanban_record {
flex-wrap: wrap;
}
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left {
border-radius: 5px;
}
.o_field_widget.o_field_image .o_form_image_controls > .fa.o_select_file_button {
background: #74788d;
}
}
//Responsive ends
//New changes
.o_main_navbar .dropdown .dropdown-toggle, .o_main_navbar .o_menu_sections .dropdown .dropdown-toggle,
.o_main_navbar .o_menu_systray .dropdown .dropdown-toggle, .o_main_navbar .o_nav_entry,
.o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_systray .o_nav_entry,
.o_main_navbar > .o_menu_sections > div, .o_main_navbar > .o_menu_sections > div > a,
.o_main_navbar .o_menu_systray > div, .o_main_navbar .o_menu_systray > div > a,
.o_main_navbar .o_menu_toggle, .o_main_navbar .o_navbar_apps_menu, .o_main_navbar .o_menu_brand {
color: $f_color !important;
}
.o_content .o_expense_purple {
color: #556ee6;
}
.row.o_recruitment_kanban_boxes .custom-checkbox input:checked + label::after {
display:none
}
//new fix
.o_form_view .oe_button_box + .oe_title, .o_form_view .oe_button_box + .oe_avatar + .oe_title {
width: 100% !important;
}
\ No newline at end of file
$primary_accent: #556ee6 !default;
$secondary_accent: #334332 !default;
$inverse_accent: #ffffff !default;
$o-kanban-color-border-width: 8px;
$selected_row: #ffffff !default;
$bg_white: #ffffff !default;
$f_color: #555b6d !default;
$primary_hover: #485ec4 !default;
<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<!--Align Invite Button in Settings-->
<t t-inherit="base_setup.res_config_invite_users" t-inherit-mode="extension" owl="1">
<xpath expr="//div[hasclass('d-flex')]" position="attributes">
<attribute name="class">d-flex align-items-center</attribute>
</xpath>
</t>
<!--Remove App Icon in Settings-->
<t t-inherit="web.BaseSetting.Tabs" t-inherit-mode="extension" owl="1">
<xpath expr="//div[hasclass('tab')]" position="replace">
<div class="tab" t-attf-data-key="#{tab.key}" role="tab">
<span class="app_name"><t t-esc="tab.string"/></span>
</div>
</xpath>
</t>
<!--Active Color for App Counter-->
<t t-inherit="web.SearchPanel.Category" t-inherit-mode="extension" owl="1">
<xpath expr="//span[hasclass('o_search_panel_counter')]" position="attributes">
<attribute name="class">o_search_panel_counter ml-2 small</attribute>
</xpath>
</t>
</templates>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<xpath expr="//nav[hasclass('o_main_navbar')]" position="replace">
<nav class="o_main_navbar"
t-on-dropdown-item-selected="onNavBarDropdownItemSelection"
data-command-category="navbar">
<div class="top_heading">
<!-- Apps Menu -->
<t t-call="web.NavBar.AppsMenu">
<t t-set="apps" t-value="menuService.getApps()"/>
</t>
<!-- App Brand -->
<MenuItem t-if="currentApp"
href="getMenuItemHref(currentApp)"
payload="currentApp"
t-esc="currentApp.name"
class="o_menu_brand"
t-ref="menuBrand"
/>
<!-- Current App Sections -->
<t t-if="currentAppSections.length" t-call="web.NavBar.SectionsMenu">
<t t-set="sections" t-value="currentAppSections" />
</t>
</div>
<!-- Systray -->
<div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item_index">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props" />
</ErrorHandler>
</NotUpdatable>
</t>
</div>
</nav>
<div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar">
<div class="sidebar_close">
<a id="closeSidebar" style="cursor: pointer;">
<img src="/code_backend_theme/static/src/img/icons/close.png"/>
</a>
</div>
<div class="sidebar_logo">
<img src="/web/binary/company_logo" class="logo_img"/>
</div>
<h6 class="sidebar_head">MENU</h6>
<ul class="sidebar_menu">
<t t-foreach="menuService.getApps()" t-as="app">
<li>
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="nav-link">
<img class="sidebar_img"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<span class="sidebar_app_name">
<t t-esc="app.name"/>
</span>
</a>
</li>
</t>
</ul>
</div>
</div>
</xpath>
</t>
<t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension" owl="1">
<xpath expr="//Dropdown[hasclass('o_navbar_apps_menu')]" position="replace">
<li class="dropdown">
<a id="openSidebar" style="display: block; cursor: pointer;">
<i class="fa fa-bars fa-lg"/>
</a>
<a id="closeSidebar" style="display: none; cursor: pointer;">
<i class="fa fa-bars fa-lg"/>
</a>
</li>
</xpath>
</t>
<t t-inherit="web.UserMenu" t-inherit-mode="extension" owl="1">
<xpath expr="//span[hasclass('oe_topbar_name')]" position="replace">
<div class="oe_topbar_name"/>
</xpath>
</t>
</templates>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<data>
<menuitem id="base.menu_administration" name="Settings"
web_icon="code_backend_theme,static/src/img/icons/settings.png"/>
<menuitem id="base.menu_management" name="Apps" web_icon="code_backend_theme,static/src/img/icons/apps.png"/>
<menuitem id="mail.menu_root_discuss" name="Discuss"
web_icon="code_backend_theme,static/src/img/icons/discuss.png"/>
</data>
</odoo>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="code_custom_layout" inherit_id="web.layout" name="Custom Layout">
<xpath expr="//meta[@content='IE=edge,chrome=1']" position="after">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&amp;display=swap" rel="stylesheet"/>
</xpath>
</template>
</odoo>
\ No newline at end of file
Hue Backend Theme
==================
* Hue Backend Theme module for Odoo 15 community editions
Installation
============
- www.odoo.com/documentation/15.0/setup/install.html
- Install our custom addon
License
-------
General Public License, Version 3 (LGPL v3).
(https://www.odoo.com/documentation/user/15.0/legal/licenses/licenses.html)
Company
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Credits
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Contacts
--------
* Mail Contact : odoo@cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
This module is maintained by Cybrosys Technologies.
For support and more information, please visit https://www.cybrosys.com
Further information
===================
HTML Description: `<static/description/index.html>`__
from . import models
\ No newline at end of file
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
"name": "Hue Backend Theme v15",
"description": """Minimalist and elegant backend theme for Odoo 15, Backend Theme, Theme""",
"summary": "Hue backed Theme V15 is an attractive theme for backend",
"category": "Themes/Backend",
"version": "15.0.1.0.0",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
"depends": ['base', 'web', 'mail'],
"data": [
'views/style.xml',
'views/res_config_settings.xml',
],
'assets': {
'web.assets_backend': [
'hue_backend_theme/static/src/layout/style/login.scss',
'hue_backend_theme/static/src/layout/style/layout_colors.scss',
'hue_backend_theme/static/src/components/app_menu/menu_order.css',
'hue_backend_theme/static/src/layout/style/layout_style.scss',
'hue_backend_theme/static/src/layout/style/sidebar.scss',
'hue_backend_theme/static/src/components/app_menu/search_apps.js',
],
'web.assets_qweb': [
'hue_backend_theme/static/src/components/app_menu/side_menu.xml',
],
},
'images': [
'static/description/banner.png',
'static/description/theme_screenshot.png',
],
'license': 'LGPL-3',
'installable': True,
'application': False,
'auto_install': False,
}
from . import res_config_settings
\ No newline at end of file
from odoo import models, fields, tools, api
class ResCompany(models.Model):
_inherit = 'res.company'
background_image = fields.Binary(string="Background Image", attachment=True)
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
theme_background = fields.Binary(string="App menu Background",
related='company_id.background_image',
readonly=False)
app_bar_color = fields.Char(string='Appbar color',
config_parameter='hue_backend_theme.appbar_color',
default='#FFFFFF')
primary_accent = fields.Char(string="Navbar color",
config_parameter='hue_backend_theme.primary_accent_color',
default='#A53860')
# secondary_accent = fields.Char(string="Navbar color",
# config_parameter='hue_backend_theme.secondary_color',
# default='#0C4D9D')
kanban_bg_color = fields.Char(string="Kanban Bg Color",
config_parameter='hue_backend_theme.kanban_bg_color',
default='#F7F7F7')
primary_hover = fields.Char(string="Hover Primary Color",
config_parameter='hue_backend_theme.primary_hover',
default='#953256')
light_hover = fields.Char(string="Light Hover",
config_parameter='hue_backend_theme.light_hover',
default='#d5d5d5')
appbar_text = fields.Char(string="Home Menu Text Color",
config_parameter='hue_backend_theme.appbar_text',
default='#F7F8F7')
secoundary_hover = fields.Char(string="AppBar Hover",
config_parameter='hue_backend_theme.secoundary_hover',
default='#06070f')
@api.model
def create(self, values):
if 'theme_background' in values:
resize_image = tools.image_process(values['theme_background'], (1024, 1024))
values['theme_background'] = resize_image
return super(ResConfigSettings, self).create(values)
def config_color_settings(self):
colors = {}
print("ppp", self.env.user.company_id.background_image)
colors['full_bg_img'] = self.env.user.company_id.background_image
colors['appbar_color'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.appbar_color')
colors['primary_accent'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.primary_accent_color')
# colors['secondary_color'] = self.env[
# 'ir.config_parameter'].sudo().get_param(
# 'hue_backend_theme.secondary_color')
colors['kanban_bg_color'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.kanban_bg_color')
colors['primary_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.primary_hover')
colors['light_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.light_hover')
colors['appbar_text'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.appbar_text')
colors['secoundary_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'hue_backend_theme.secoundary_hover')
return colors
<!-- HERO SECTION -->
<div class="contianer">
<div class="row position-relative"
style="background-color: #232d37 !important; height: 550px; margin-bottom: 6rem; border-radius: 1.5rem;">
<div class="col-lg-12 d-flex flex-column justify-content-start align-items-center">
<h1 class="display-1 text-white" style="padding-top: 5rem;">
<img src="./images/logo.png">
</h1>
<p class="text-light small font-weight-bold"
style="text-align: center!important; letter-spacing: 5px; text-transform: uppercase; margin-top: 1.5rem !important;">
Fully Customizable Backend Theme for Odoo 15</p>
</div>
<img src="./images/hero.png" class="img img-fluid"
style="height: auto; width: 700px; top: 45%; left: 0; right: 0; margin-left: auto; margin-right: auto; margin-top: 1rem !important;"
height="auto" width="700px">
</div>
</div>
<!-- END OF HERO SECTION -->
<!-- SHORT DESCRIPTION -->
<div class="container">
<div class="row" style="margin-top: 5rem !important;">
<div class="col-lg-12 d-flex justify-content-center align-items-center">
<h6 class="text-muted text-center w-50" style="line-height: 22px;">This theme provides a user friendly backend
experience for Odoo 15.0 community edition.</h6>
</div>
</div>
</div>
<!-- END OF SHORT DESCRIPTION -->
<!-- FEATURE ICONS -->
<div class="container w-50" style="margin: 3rem auto;">
<div class="row">
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5 ; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/design.png">
</div>
<h6 class="my-4 text-center">Well-Crafted</h6>
</div>
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/responsive.png">
</div>
<h6 class="my-4 text-center">Efficent Design</h6>
</div>
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/quality.png">
</div>
<h6 class="my-4 text-center">Clearer insight</h6>
</div>
</div>
</div>
<!-- END OF FEATURE ICONS -->
<!-- ONE COLUMN SECTION-->
<div class="container" style="margin: 3rem auto;">
<div class="row my-4">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center mt-3 display-4 text-weight-bold="
style="font-size: 3rem !important; padding-bottom: 2rem !important;">App Menu</h2>
<p class="text-center text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; line-height: 200% !important;">
The App Menu is the main attraction of the Hue backend theme. It
has a <span
style="color: #2a3042 !important; border-bottom: 2px solid #D40054 !important; padding-bottom: 0.5rem !important;">fully
responsive layout</span> with a new highlighted color combination and a more modern interface for all
applications. Moreover, the Hue backend theme improves your experience with Odoo, providing you with a <span
style="color: #2a3042 !important; border-bottom: 2px solid #D40054 !important; padding-bottom: 0.5rem !important;">fully
customizable</span> background image, Navbar color, and many more.</p>
<div class="row">
<div class="col-lg-12">
<img height="600px" width="auto" src="./images/app_bar.png" class="img img-fluid rounded">
</div>
</div>
</div>
</div>
</div>
<!-- END OF ONE COLUMN SECTION-->
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054 ">Theme
Settings</span>
<h2 class="mt-3">Hue Backend Theme Settings</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">To improve your
experience with Odoo the Hue backend theme provides a fully
configurable theme settings menu.</p>
<img src="./images/customization_settings.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054">Custom
AppBar</span>
<h2 class="mt-3">App Bar</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Easly accessible
side bar where it reveals the side bar menu on just a click.
Moreover, its also
fully customisable with Hue backend theme.</p>
<img src="./images/app_bar_normal.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- END OF TWO COLUMN SECTION-->
<!-- RESPONSIVE SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-5 d-flex flex-column justify-content-center align-items-start">
<img src="./images/responsive-backend-theme.png" class="img img-fluid rounded">
</div>
<div class="col-lg-7 d-flex flex-column justify-content-center">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054">Responsive
Layout</span>
<h2 class="mt-3">Truly Responsive</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem;">One of the critical highlights of the Hue
backend theme is that it was
genuinely responsive; moreover, it provides an efficient interface to manage a mobile device.</p>
</div>
</div>
</div>
<!-- END OF RESPONSIVE SECTION-->
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054">Custom
Kanban View</span>
<h2 class="mt-3">Kanban view</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Hue Backend
Theme gives a colorful & elegant kanban view, and it's fully
customizable with this theme.</p>
<img src="./images/kanban_view.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054;">Search
Option</span>
<h2 class="mt-3">Advanced Searching for App Menus</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 100px !important;">Hue Backend
Theme gives a more complex and powerful search than standard
search, providing search options like enterprise edition.</p>
<img src="./images/setting_search.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<span>
</span>
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054">
Form View</span>
<h2 class="mt-3">Custom Form view</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 120px !important;">Hue Backend
theme provides a fully modified and colorful form view with the
full view
experience.</p>
<img src="./images/custom_form_view.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #D40054">Vibrent
ui</span>
<h2 class="mt-3">Attractive Customizable User Interface</h2>
<p class="text-muted mb-4" style="font-weight: 600; font-size: 1.2rem; height: 80px !important;">It provides fully
attractive, and a elgant User Interface with completely
customizability.</p>
<img src="./images/customizable_ui.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- END OF TWO COLUMN SECTION-->
<!-- OUR SERVICES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Our Services</h2>
<p class="text-center"
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
We provide following services</p>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Licensing Consultancy</h6>
</div>
</div>
</section>
<!-- END OF END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Our Industries</h2>
<p class="text-center"
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
Our industry specifics and process segments to solve your complex business barriers.</p>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-size: 0.9rem !important;">Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-size: 0.9rem !important;">Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-size: 0.9rem !important;">A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-size: 0.9rem !important;">Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-size: 0.9rem !important;">Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-size: 0.9rem !important;">Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-size: 0.9rem !important;">Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-size: 0.9rem !important;">An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</section>
<!-- END OF END OF OUR INDUSTRIES -->
<!-- FOOTER -->
<!-- Footer Section -->
<section class="container" style="margin: 5rem auto 2rem;">
<div class="row" style="max-width:1540px;">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Need Help?</h2>
<p class="text-center"
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
Do you have any queries regarding our products &amp; services? Let us know.</p>
</div>
</div>
<!-- Contact Cards -->
<div class="row d-flex justify-content-center align-items-center" style="max-width:1540px; margin: 0 auto 2rem auto;">
<div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
<div class="row mt-4">
<div class="col-lg-6">
<a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
</div>
<div class="col-lg-6">
<a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;"><i
class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a>
</div>
</div>
</div>
</div>
<!-- End of Contact Cards -->
</section>
<!-- Footer -->
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
<!-- Logo -->
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;">
<img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" />
</div>
<!-- End of Logo -->
<div class="col-lg-12">
<hr
style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;">
<!-- End of Footer Section -->
</div>
</div>
<!-- END OF FOOTER -->
\ No newline at end of file
.nav-container {
float: left;
position: relative;
width: 99vw;
height: 100%;
background: #fff;
display: flex;
justify-content: start;
align-items: start;
padding: 0px 20rem;
margin-top: 2rem;
}
/*.search-results {
float: left;
position: relative;
width: 100vw;
height: 100vh;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0 20rem;
}*/
.o_main_navbar .dropdown-menu .show {
max-height: auto !important;
min-width: 100%;
overflow: auto;
margin-top: 0;
position: static;
top: 0;
display: flex;
box-shadow: none;
border: none;
flex-wrap: wrap;
flex-direction: row;
overflow: unset;
}
.dropdown-item.o_app.mt0 {
flex-basis: 20%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin-bottom: 23px;
}
.o_setting_search {
position: relative;
.searchInput {
height: 28px;
padding: 0px;
border: 0px;
border-dropdown-item bottom: 1px solid gray('400');
border-color: gray('700');
box-shadow: none;
font-weight: 500;
}
.searchIcon {
@include o-position-absolute(4px, 0);
color: gray('700');
}
}
.search-container.has-results {
height: 100%;
.search-input {
height: 3em;
}
.search-results {
height: calc(100% - 3em);
overflow: auto;
}
}
.app-menu {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.o_main_navbar .dropdown-menu.show {
max-height: none !important;
min-width: 100%;
overflow: auto;
margin-top: 0;
}
.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto {
background-repeat: no-repeat;
background-size: 100%;
padding-left: 30%;
margin-bottom: 5%;
}
@media (max-width: 1371px){
}
@media (max-width:992px) {
}
@media (max-width:400px) {
}
\ No newline at end of file
/** @odoo-module */
import { NavBar } from "@web/webclient/navbar/navbar";
import { registry } from "@web/core/registry";
const { fuzzyLookup } = require('@web/core/utils/search');
import { computeAppsAndMenuItems } from "@web/webclient/menus/menu_helpers";
import core from 'web.core';
const commandProviderRegistry = registry.category("command_provider");
import { patch } from 'web.utils';
var rpc = require('web.rpc');
patch(NavBar.prototype, 'hue_backend_theme/static/src/js/appMenu.js', {
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
/**
* @override
*/
setup() {
this._super();
this._search_def = $.Deferred();
let { apps, menuItems } = computeAppsAndMenuItems(this.menuService.getMenuAsTree("root"));
this._apps = apps;
this._searchableMenus = menuItems;
this.colors = this.fetch_data();
},
fetch_data: function() {
var self = this;
rpc.query({model: 'res.config.settings',method: 'config_color_settings',args: [0],}).then(function(result){
self.colors = result;
console.log("$$$",result);
if (result.primary_accent !== false){
document.documentElement.style.setProperty("--primary-accent",result.primary_accent);
}
if (result.appbar_color !== false){
document.documentElement.style.setProperty("--app-bar-accent",result.appbar_color);}
if (result.primary_hover !== false){
document.documentElement.style.setProperty("--primary-hover",result.primary_hover);}
if (result.secondary_color !== false){
document.documentElement.style.setProperty("--primary-accent-border",result.secondary_color);}
if (result.full_bg_img !== false){
document.documentElement.style.setProperty("--full-screen-bg",'url(data:image/data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e')');
console.log(result.full_bg_img);
}
if (result.appbar_text !== false){
document.documentElement.style.setProperty("--app-menu-font-color",result.appbar_text);}
if (result.secoundary_hover !== false){
document.documentElement.style.setProperty("--secoundary-hover",result.secoundary_hover);}
if (result.kanban_bg_color !== false){
document.documentElement.style.setProperty("--kanban-bg-color",result.kanban_bg_color);}
});
},
mounted() {
this._super();
this.$search_container = $(".search-container");
this.$search_input = $(".search-input input");
this.$search_results = $(".search-results");
this.$app_menu = $(".app-menu");
this.$dropdown_menu = $(".dropdown-menu");
},
_searchMenusSchedule: function () {
this.$search_results.removeClass("o_hidden")
this.$app_menu.addClass("o_hidden");
this._search_def.reject();
this._search_def = $.Deferred();
setTimeout(this._search_def.resolve.bind(this._search_def), 50);
this._search_def.done(this._searchMenus.bind(this));
},
_searchMenus: function () {
var query = this.$search_input.val();
if (query === "") {
this.$search_container.removeClass("has-results");
this.$app_menu.removeClass("o_hidden");
this.$search_results.empty();
return;
}
var results = [];
fuzzyLookup(query, this._apps, (menu) => menu.label)
.forEach((menu) => {
results.push({
category: "apps",
name: menu.label,
actionID: menu.actionID,
id: menu.id,
webIconData: menu.webIconData,
});
});
fuzzyLookup(query, this._searchableMenus, (menu) =>
(menu.parents + " / " + menu.label).split("/").reverse().join("/")
).forEach((menu) => {
results.push({
category: "menu_items",
name: menu.parents + " / " + menu.label,
actionID: menu.actionID,
id: menu.id,
});
});
this.$search_container.toggleClass(
"has-results",
Boolean(results.length)
);
this.$search_results.html(
core.qweb.render(
"hue_backend_theme.SearchResults",
{
results: results,
widget: this,
}
)
);
},
});
\ No newline at end of file
<templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension" owl="1">
<xpath expr="//Dropdown[hasclass('o_navbar_apps_menu')]"
position="replace">
<li class="dropdown d-flex justify-content-center align-items-center">
<a class="full" data-toggle="dropdown" data-display="static"
href="#">
<i class="fa fa-th-large"
style="font-size: 18px !important; color: white; margin-top: 3px;"/>
</a>
<div class="dropdown-menu fullscreen-menu" role="menu">
<div class="search-container form-row align-items-center m-auto mb-5 col-12">
<div class="search-input col-md-10 ml-auto mr-auto mb-5"
t-on-input="_searchMenusSchedule">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<i class="fa fa-search"/>
</div>
</div>
<input type="search"
autocomplete="off"
placeholder="Search menus..."
class="form-control"/>
</div>
</div>
<div class="search-results col-md-10 ml-auto mr-auto"/>
<button class="fullscreen-close">
<i class="fa fa-chevron-left"/>
</button>
</div>
<div class="nav-container">
<div class="app-menu">
<t t-foreach="menuService.getApps()" t-as="app">
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="dropdown-item o_app mt0"
t-att-data-menu-id="app.menuID"
t-att-data-menu-xmlid="app.xmlID"
t-att-data-action-id="app.actionID">
<img t-att-title="app.name"
style="width: 70px !important;height: 70px !important;border-radius: 0px !important;margin: 5px 5px 5px 5px;"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<b class="a_app_menu_title"><t t-esc="app.name"/></b>
</a>
</t>
</div>
</div>
</div>
</li>
</xpath>
</t>
<t t-name="hue_backend_theme.SearchResults">
<t t-foreach="results" t-as="result">
<div class="search_icons">
<a t-attf-class="o-menu-search-result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}"
t-attf-style="background-image:url('data:image/png;base64,#{result.webIconData}')"
t-attf-href="#menu_id=#{result.id}&amp;action_id=#{result.actionID}"
t-att-data-menu-id="result.id"
t-att-data-action-id="result.actionID"
t-raw="result.name"
onclick="$('.dropdown-menu').removeClass('show'); $('.search-results').addClass('o_hidden'); $('.app-menu').removeClass('o_hidden'); $('.search-input input').val('');"/>
</div>
</t>
</t>
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<!-- <xpath expr="//div[hasclass('o_menu_systray')]" position="replace"/>-->
<xpath expr="//nav[hasclass('o_main_navbar')]" position="after">
<div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar">
<ul class="sidebar_menu">
<div class="o_menu_systray" role="menu">
<t t-foreach="systrayItems" t-as="item" t-key="item_index">
<NotUpdatable>
<ErrorHandler onError="error => handleItemError(error, item)">
<t t-component="item.Component" t-props="item.props" />
</ErrorHandler>
</NotUpdatable>
</t>
</div>
<t t-foreach="menuService.getApps()" t-as="app">
<li>
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="nav-link">
<img class="sidebar_img"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<b class="a_app_menu_title"><t t-esc="app.name"/></b>
</a>
</li>
</t>
</ul>
</div>
</div>
</xpath>
</t>
</templates>
\ No newline at end of file
:root{
--primary_accent: black !default;
--secondary_accent: #ffffff !default;
--inverse_accent: #ffffff !default;
--kanban-bg-color:#f7f7f7;
--o-kanban-color-border-width: 8px;
--selected_row: #ffffff !default;
--bg_white: #ffffff !default;
--bg_dark: #151A21 !default;
--f_color: #555b6d !default;
--color_white : #ffffff !default;
--primary_hover: #00376e !default;
--light_hover: #d5d5d5;
--fullscreen-bg-color: #C5F0FC !important;
}
\ No newline at end of file
$primary_accent: var(--primary-accent) !important;
$secondary_accent: var(--secondary-accent) !important;
$inverse_accent: var(--inverse-accent) !important;
$kanban-bg-color:var(--kanban-bg-color) !important;
$o-kanban-color-border-width: var(--o-kanban-color-border-width) !important;
$selected_row: var(--selected-row) !important;
$bg_white: var(--bg-white) !important;
$bg_dark: var(--bg-dark) !important;
$f_color: var(--f-color) !important;
$color_white : var(--color-white) !important;
$primary_hover: var(--primary-hover) !important;
$light_hover: var(--light-hover) !important;
$fullscreen-bg-color: var(--fullscreen-bg-color) !important;
:root{
--primary-accent: #A53860;
--primary-accent-border: #ffffff;
--app-bar-accent: #ffffff;
--full-screen-bg: url(/hue_backend_theme/static/description/assets/background.jpg) ;
--kanban-bg-color:#f7f7f7;
--o-kanban-color-border-width: 8px !important;
--selected-row: #ffffff !important;
--app-menu-font-color:#ffffff;
--bg-white: #ffffff !important;
--bg-dark: #060204 !important;
--f-color: #555b6d !important;
--color-white : #ffffff !important;
--color-black : #0F1114 !important;
--primary-hover: #953256;
--light-hover: #d5d5d5 ;
--secoundary-hover: #06070f;
--btn-primary: #953256;
--btn-secondary: #ffffff;
--btn-info: #281f22;
--fullscreen-bg-color: #C5F0FC !important;
}
\ No newline at end of file
//Fonts Start
/* latin-ext */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Hp2ywxg089UriCZ2IHSeH.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Hp2ywxg089UriCZOIHQ.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriAWCrCBamC2QX.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriAWCrCBimCw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriASitCBamC2QX.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'DM Sans';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(https://fonts.gstatic.com/s/dmsans/v6/rP2Cp2ywxg089UriASitCBimCw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
//End of fonts
html .o_web_client > .o_action_manager{
margin-left: 80px !important;
@media (max-width: 768px) {
margin-left: 0px !important;
}
}
body{
font-family: 'DM Sans', sans-serif !important;
}
.btn{
border-radius: 0px !important;
}
.bg-primary{
background-color: var(--primary-accent) !important;
}
.o_field_widget.o_field_many2one .o_external_button {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
padding-left:1%;
padding-right:0.5%;
margin-left: 2px;
font-size: 19px;
color: #7C7BAD;
border: none;
}
a:hover {
color: var(--primary-hover);
}
.app_bar .app_container a:hover{
background:var(--secoundary-hover) !important;
}
.fullscreen-menu{
height: 100vh;
background: var(--full-screen-bg);
background-size: cover;
background-repeat: no-repeat;
min-width: 100%;
overflow-y: auto !important;
overflow-x: hidden !important;
margin-top: 0;
position: fixed;
top: 0px;
left: -1px;
padding: 2.5rem 0;
}
.fullscreen-menu > .search-container > button.fullscreen-close{
position: absolute;
top: -55%;
left: -20%;
border-style: none;
background: transparent;
color: var(--app-menu-font-color);
font-size: 2rem;
opacity: 1;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);;
@media (max-width: 768px) {
position: absolute;
top: -45px;
left: 20px !important;
}
@media (max-width: 992px) {
position: absolute;
top: -45px;
left: 0px;
}
}
.fullscreen-menu > .search-container{
margin-top: 30px !important;
}
.a_app_menu_title{
color: var(--app-menu-font-color) !important;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.50);
font-size: 14px;
}
.o_main_navbar{
background-color:var(--primary-accent) !important;
border-bottom: 1px solid var(--primary-hover) !important;
margin-left: 80px;
@media (max-width: 768px) {
margin-left: 0px;
}
}
.dropdown-toggle:hover {
&:hover{
background-color: var(--light-hover) !important;
//color: var(--color-white) !important;
}
}
.o_user_menu .o_user_avatar{
border-radius: 50% !important;
margin-right: 0.5rem;
}
.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto {
background-repeat: no-repeat;
background-size: 23px;
padding-left: 40px;
margin-bottom: 5px;
}
//Top bar
.o_menu_sections .o-dropdown .dropdown-toggle:hover:hover{
background-color: var(--primary-hover) !important;
}
//icon color
.o_searchview .o_searchview_facet .o_searchview_facet_label {
background-color: var(--primary-accent) !important;
}
.o_searchview .o_searchview_facet{
border: none !important;
}
.o_searchview .o_searchview_facet .o_searchview_facet_label {
background-color: #EEEEEE !important;
}
.btn-secondary {
color: var(--bg-dark) !important;
background-color: var(--btn-secondary) !important;
border-color: var(--light-hover) !important;
margin:0 5px 0 0;
&:hover{
background-color: var(--light-hover) !important;
color: var(--bg-dark) !important;
border-color: var(--light-hover) !important;
i{
color: var(--color-white) !important;
}
span{
color: var(--color-white) !important;
}
}
i{
color: var(--color-black) !important;
margin-right: 0.2rem;
}
span{
color: var(--color-black) !important;
}
}
.o_statusbar_buttons > .btn-secondary {
color: var(--bg-dark) !important;
span{
color: var(--bg-dark) !important;
}
}
.o_statusbar_status button{
border-radius: 0px !important;
}
.btn-secondary:hover span, .btn-secondary:hover i {
color: var(--color-black) !important;
}
.o_searchview {
background-color: var(--bg-white) !important;
border: 1px solid #ccc;
border-radius: 3px;
padding: 1px 25px 3px 5px;
}
.o_searchview .o_searchview_input_container {
display: flex;
flex-flow: row wrap;
position: relative;
border-radius: 0px;
}
.o_searchview .o_searchview_input_container .o_searchview_facet {
display: flex;
-webkit-box-flex: 0;
flex: 0 0 auto;
margin: 1px 3px 0 0;
max-width: 100%;
border-radius: 3px;
position: relative;
padding: 2px 5px;
}
.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label {
align-items: center;
color: var(--bg-dark) !important;
-webkit-box-flex: 0;
flex: 0 0 auto;
padding: 0 3px;
border-radius: 3px 0px 0px 3px;
display: flex;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
background-color: transparent !important;
}
.o_searchview_facet .o_facet_values{
display: flex;
align-items: center;
}
//module icon
.oe_module_icon {
width: 70px;
max-height: 70px;
max-width: 23%;
float: left;
border-radius: 0px;
}
.o_base_settings .o_setting_container .settings_tab .selected{
background-color: var(--primary-hover);
}
.app_bar .app_container .scroll_container .app_items_wrapper .app_items{
background-color:var(--app-bar-accent);
}
.app_bar .app_container .scroll_container .app_items_wrapper .app_items .o-app-icon {
width: 32px;
height: 32px;
border-radius: 0px;
}
//photo
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left {
margin-top: -8px;
margin-bottom: -8px;
margin-left: -8px;
border-radius: 0px;
}
//drowpdowm
.o-dropdown.dropup > .o-dropdown--menu, .o-dropdown.dropdown > .o-dropdown--menu, .o-dropdown.dropleft > .o-dropdown--menu, .o-dropdown.dropright > .o-dropdown--menu {
left: auto;
right: auto;
margin-left: 0;
margin-right: 0;
border-radius: 0px;
}
//kanban
.o_kanban_view.o_kanban_grouped .o_kanban_record, .o_kanban_view.o_kanban_grouped .o_kanban_quick_create {
width: 100%;
margin-left: 0;
margin-right: 0;
border-radius: 0px;
}
.o_kanban_view.o_kanban_ungrouped .o_kanban_record {
-webkit-box-flex: 1;
flex: 1 1 auto;
width: 300px;
margin: 4px 8px;
border-radius: 0px;
}
.o_kanban_view .o_column_quick_create .o_quick_create_folded .o_kanban_add_column {
margin-right: 8px;
display: inline-block;
padding: 10px 14px;
background-color: rgba(73, 80, 87, 0.1);
border-radius: 0px;
}
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left .o_kanban_image_inner_pic, .o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image .o_kanban_image_inner_pic {
position: absolute;
top: auto;
left: auto;
bottom: 0;
right: 0;
max-height: 25px;
max-width: 80%;
background: var(--bg-white) !important;
box-shadow: -1px -1px 0 1px var(--bg-white) !important;
border-radius: 0px;
margin: 5px;
}
.o_kanban_record.oe_kanban_global_click:focus{
outline: thin solid var(--primary-accent) !important;
}
.o_purchase_dashboard .table > thead > tr > td, .o_purchase_dashboard .table tbody > tr > td {
text-align: center;
width: 25%;
height: 33px;
vertical-align: middle;
border-top: 1px solid var(--bg-white) !important;
background-color: #f9f9f5;
border-radius: 0px;
}
.o_kanban_view.o_kanban_ungrouped {
min-height: 100%;
align-content: flex-start;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-pack: start;
justify-content: flex-start;
padding: 8px 8px;
background-color: var(--kanban-bg-color) !important;
}
//chatter
.o_Message.o-not-discussion {
background-color: #f8f9fa;
border-radius: 0px;
}
//field dropdown
.o_settings_container .o_setting_box .o_setting_right_pane .o_field_widget {
width: 50%;
-webkit-box-flex: 0;
flex: 0 0 auto;
border-radius: 0px;
}
.o_settings_container .o_setting_box .o_setting_right_pane .o_input_dropdown > .o_input {
width: 100%;
border-radius: 0px;
}
//form input
.o_input{
border: 1px solid var(--primary-accent) !important;
border-radius: 0px !important;
}
.o_form_view .o_horizontal_separator {
color: var(--primary-accent) !important;
}
//required
.o_form_view .o_form_uri > span:first-child{
color:var(--primary-accent) !important;
}
.o_form_view .oe_button_box .btn.oe_stat_button > .o_stat_info .o_stat_value, .o_form_view .oe_button_box .btn.oe_stat_button > span .o_stat_value
{
color:var(--primary-accent) !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::after,
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child)::before
{
border: none !important;
}
.o_field_widget .o_input_dropdown > input {
cursor: pointer;
border-radius: 0px;
}
.o_field_widget .o_input_dropdown > input, .o_field_widget.o_datepicker > input {
padding-right: 14px;
border-radius: 0px;
}
.o_form_view .o_group .o_field_widget {
width: 100%;
border-radius: 0px;
}
.oe_form_field_html .note-editable {
font: inherit !important;
font-family: inherit !important;
line-height: inherit !important;
color: inherit !important;
border-radius: 0px;
}
.o_form_view .oe_avatar > img {
max-width: 90px;
max-height: 90px;
vertical-align: top;
border: 1px solid #dee2e6;
border-radius: 0px;
}
.o_form_view .o_form_statusbar > .o_field_widget {
align-self: center;
margin-bottom: 0px;
border-radius: 0px;
}
//settings
.settings_tab {
background-color: var(--primary-accent) !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
border-radius: 0px;
}
.o_web_settings_invite{
height: 25.1px !important;
margin: 8px 5px 0 0 !important;
padding-bottom: 24px !important;
}
.o_base_settings .o_setting_container .settings_tab .selected {
box-shadow: none !important;
}
.o_base_settings .o_control_panel .o_panel .o_setting_search .searchInput {
border-bottom: 1px solid var(--primary-accent) !important
}
.o_select_file_button{
background-color: var(--primary-accent) !important;
color: var(--color-white) !important;
}
//satusbar
.btn-warning:active,
button[name="action_uninstall"]:active {
color: #fff !important;
background-color: #c1903d !important;
border-color: #b58739 !important;
}
.btn-warning:focus,
button[name="action_uninstall"]:focus {
color: #fff !important;
background-color: #cd9941 !important;
border-color: #c1903d !important;
-webkit-box-shadow: 0 0 0 0.15rem rgba(243,191,103,.50) !important;
box-shadow: 0 0 0 0.15rem rgba(243,191,1,.50) !important;
}
.btn-fill-secondary.disabled, .disabled.btn-secondary, .btn-fill-secondary:disabled, .btn-secondary:disabled {
color: #212529 !important;
background-color: #fff !important;
border-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-secondary {
/*border: solid 1px var(--primary-accent) !important;*/
/*color: var(--primary-accent) !important;*/
background-color: #fff ;
}
.o_statusbar_status .o_arrow_button.btn-secondary:hover:after {
border-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-primary {
border: solid 1px var(--primary-accent-border);
color: #fff !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled {
background-color: var(--primary-accent) !important;
color: #fff;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:after, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:before {
border-left-color: var(--primary-accent) !important;
}
//Avathar pic
.rounded-circle, .o_status, .o_calendar_invitation, .o_status_bubble, .o_Activity_detailsUserAvatar, .o_Activity_userAvatar {
border-radius: 0% !important;
}
.o_calendar_sidebar_container .ui-datepicker td.ui-datepicker-current-day a {
background-color: var(--primary-accent) !important;
}
.btn-fill-primary:hover, .btn-primary:hover, .btn-primary:hover,
.btn-fill-primary:focus, .btn-primary:focus, .btn-primary:focus,
.btn-fill-primary:active, .btn-primary:active, .btn-primary:active
{
background:var(--primary-accent) !important;
border-color:var(--primary-accent) !important;
}
//chat
.o_ChatWindowHeader {
background-color: var(--primary-accent) !important;
}
.o_ChatWindow_newMessageFormInput {
outline: none;
border: 1px solid #dee2e6;
border-radius: 0px;
}
//a
a {
color: var(--primary-accent);
text-decoration: none;
}
//buttons
.btn{
border-radius: 0.3rem !important;
padding: 8px 25px;
transition: all 0.4s linear;
&:hover{
filter: brightness(95%) !important;
transition: all 0.4s linear;
}
}
.btn-fill-primary, .btn-primary{
background-color:var(--primary-accent) !important;
font-weight: bold !important;
border: none;
}
.btn-primary {
color: #fff;
background-color: var(--btn-primary) !important;
margin: 0 5px 0 0;
-webkit-box-shadow: 0px 0px 5px 5px rgba(242, 234, 237, 1);
-moz-box-shadow: 0px 0px 5px 5px rgba(242, 234, 237, 1);
box-shadow: 0px 0px 5px 5px rgba(242, 234, 237, 1);
&:hover{
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
}
.btn-info{
background-color: var(--btn-info) !important;
border-color: var(--btn-info) !important;
&:hover{
color: var(--color-white) !important;
}
}
.btn-link {
font-weight: 400;
color: var(--primary-accent) !important;
text-decoration: none;
}
.btn-light{
&:hover{
color: var(--color-black) !important;
background-color: var(--light-hover) !important;
}
}
.btn-fill-light:not(:disabled):not(.disabled):active,
.btn-light:not(:disabled):not(.disabled):active,
.btn-fill-light:not(:disabled):not(.disabled).active,
.btn-light:not(:disabled):not(.disabled).active,
.show > .btn-fill-light.dropdown-toggle,
.show > .dropdown-toggle.btn-light{
background-color: var(--light-hover) !important;
}
.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a {
color: var(--primary-accent) !important;
}
button.dropdown-toggle, .o_switch_view{
border: 1px solid #d4d4d4;
}
.o_form_view .oe_button_box .btn.oe_stat_button {
color: var(--primary-accent) !important;
height: 44px;
padding: 0 6px 0 0 !important;
text-align: left;
white-space: nowrap;
background-color: transparent;
opacity: 0.8;
border-radius: 0px;
margin-bottom: 0;
}
.o_dashboards .o_website_dashboard div.o_box {
color: rgba(73, 80, 87, 0.76);
background-color: white;
background-size: cover;
margin-top: 16px;
position: static;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
border-radius: 0px;
}
//button
.custom-control-input:checked ~ .custom-control-label::before {
color: #fff;
border-color: var(--primary-accent) !important;
background-color: var(--primary-accent) !important;
}
//current date calender
.o_calendar_view .o_calendar_widget .fc-timeGridDay-view .fc-widget-header.fc-today, .o_calendar_view .o_calendar_widget .fc-timeGridWeek-view .fc-widget-header.fc-today {
border-radius: 25px;
background: var(--primary-accent) !important;
color: var(--bg-white) !important;
}
// Tabs Start
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
border: none;
border-bottom: solid;
font-weight: bold;
background: var(--primary-accent) !important;
color: var(--bg-white) !important;
border-radius: 0px;
}
//website
.o_dashboards .o_website_dashboard .o_dashboard_common .o_inner_box {
padding-top: 10px;
text-align: center;
border: 1px solid var(--bg-white) !important;
height: 80px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
color: var(--color-white) !important;
background-color: var(--primary-accent) !important;
border-radius: 0px;
&:hover{
background-color: var(--primary-hover) !important;
}
}
.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main {
background-color: var(--primary-accent) !important;
border-radius: 0px;
}
.dropdown-menu.show {
display: block;
border-radius: 0;
}
.o_mail_preview .o_mail_preview_image.o_mail_preview_app > img {
border-radius: 0px;
}
//Graph
.o_calendar_view .fc-view .fc-event.o_calendar_color_3:not(.o_calendar_hatched):not(.o_calendar_striked) {
background: var(--primary-hover) !important;
border-radius: 0px;
}
//Event
.text-center {
text-align: center !important;
border-radius: 0px;
}
//form control icons
.o_form_view .oe_button_box .oe_stat_button .o_button_icon {
color: var(--primary-accent) !important;
}
//.o_required_modifier.o_input, .o_required_modifier .o_input {
// background-color: var(--primary-accent) !important;
//}
//small icons
.o_search_panel .o_search_panel_category .o_search_panel_section_icon {
color: var(--primary-accent) !important;
}
.badge-primary {
color: var(--color-white) !important;
background-color: var(--primary-accent) !important;
}
//wizard
.modal.o_technical_modal .modal-content {
border-radius: 0px;
}
//Navbar
.nav-container{
height: auto !important;
background: transparent !important;
float: none !important;
padding: 0 !important;
width: 850px !important;
margin: 0 auto !important;
}
.o_nav_entry{
&:hover{
background-color: var(--primary-hover) !important;
}
}
.app-menu{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 0 auto;
@media (max-width: 767.98px) {
.dropdown-item{
padding: 0px !important;
}
}
}
//Discuss
.o_DiscussMobileMailboxSelection{
padding: 1rem 0.5rem;
}
.o_Message_prettyBody{
p{
a{
background-color: var(--primary-accent) !important;
color: var(--color-white) !important;
border-radius: 0px !important;
&:hover{
background-color: var(--primary-hover) !important;
color: var(--color-white) !important;
}
}
}
}
//Datepicker
.bootstrap-datetimepicker-widget .accordion-toggle span.fa.primary{
&:hover{
background-color: var(--light-hover) !important;
}
}
.bootstrap-datetimepicker-widget .accordion-toggle span.fa.primary{
color: var(--primary-accent) !important;
}
.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active {
background-color: var(--primary-accent) !important;
&:hover{
background-color: var(--primary-hover) !important;
}
}
.bootstrap-datetimepicker-widget .datepicker table td.today::before {
border-bottom-color: var(--primary-accent) !important;
}
//Responsive
.o_MobileMessagingNavbar_tab.o-active{
color: var(--primary-accent) !important;
}
@media (max-width: 768px){
.app-menu{
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
justify-content: flex-start;
margin: 0 auto;
}
.o_cp_bottom{
flex-wrap: wrap !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled {
margin-right: 10px;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary), .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):hover, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):focus
{
margin-left:10px;
}
.o_form_view .o_form_statusbar > .o_field_widget {
margin-left: -24px !important;
margin-top: 1px !important;
}
.o_form_view .o_form_statusbar{
flex-direction: column !important;
padding-left: 0px !important;
}
}
@media (min-width: 768px){
.o_form_view .o_form_sheet_bg > .o_form_sheet {
margin: 12px auto;
border-radius: 0px;
}
.search-container{
width: 750px;
margin: 0 auto;
}
}
@media (max-width:767px){
.o_form_view .o_group{
width:100% !important;
}
.dropdown-menu.show {
display: block;
border-radius:0;
}
.breadcrumb{
background-color: transparent !important;
}
.o_control_panel .breadcrumb > li {
display: inline-block;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
}
.o_control_panel .o_cp_top_right {
min-height: 30px;
max-width: 100%;
margin-left: 10%;
}
.o_form_view .o_form_sheet_bg > .o_form_sheet {
min-width: 100%;
max-width: 100%;
min-height: 100%;
border: 1px solid #c8c8d3;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
background: white;
margin: 4.8px auto;
padding: 24px;
padding-right: 16px;
padding-left: 16px;
}
.oe_topbar_name{
display:none;
}
.nav-container {
/*float: left;*/
position: relative;
width: 100vw !important;
/*height: 100%;*/
/*background: #fff;*/
display: flex;
/* justify-content: start; */
align-items: start;
margin-top: 2rem;
}
.o_cp_top{
flex-wrap: wrap !important;
}
.o_cp_top_left, .o_cp_searchview{
width: 100%;
}
.o_cp_top_right{
width: 100%;
margin: 1.5rem auto;
margin-left: 0 !important;
}
//Search Panel
.o_content o_controller_with_searchpanel, .o_controller_with_searchpanel{
display:flex !important;
flex-direction: column !important;
}
.o_search_panel{
display: flex;
overflow-x: auto;
overflow-y: auto;
height: 200px;
width: 100%;
section{
margin-right: 1rem;
}
}
.o_search_panel section {
width: 100% !important;
}
.o_setting_container{
display: flex;
flex-direction: column;
}
.settings_tab{
display: flex;
flex-direction: row !important;
overflow-x: auto;
height: 40px;
}
.settings{
margin-top: 1.5rem;
}
}
//@media(max-width:716px){
//html .o_web_client > .o_action_manager > .o_action > .o_content{
// overflow-x: hidden !important;
// }
//}
@media (max-width:524px){
.o_control_panel .o_cp_bottom_right > .o_cp_pager
{
margin-top:5px;
}
div.app-menu *::before{
box-sizing:none;
}
div.app-menu *::after{
box-sizing:none;
}
}
@media (max-width:493px){
.o_control_panel .o_cp_bottom_left > .o_cp_action_menus {
margin-left: 0px;
padding-right: 10px;
}
}
//Loading Indicator
.o_loading_indicator.o_loading > span{
background-color: var(--bg-dark) !important;
border-color: var(--bg-dark) !important;
color: var(--color-white) !important;
border-radius: 3px !important;
padding: 10px 20px !important;
top: 50px !important;
left: 48% !important;
right: auto !important;
bottom: auto !important;
text-align: center !important;
box-shadow: 0px 6px 4px -1px rgba(0,0,0,0.46);
-webkit-box-shadow: 0px 6px 4px -1px rgba(0,0,0,0.46);
-moz-box-shadow: 0px 6px 4px -1px rgba(0,0,0,0.46);
@media (max-width: 767.98px) {
left: 40% !important;
}
}
#wrapwrap > main {
background: #f8f8fb;
}
.navbar {
background: #fff !important;
}
body {
font-family: 'Poppins', sans-serif !important;
}
body.bg-100 {
background-color: #000000 !important;
}
.card.o_database_list {
align-items: center;
max-width: 450px !important
}
.card.o_database_list .card-body {
background-color: #fff !important;
border-radius: 5px !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
width: 450px;
}
.o_main_navbar .o_menu_sections {
flex-wrap: w
}
a {
color: #556ee6;
text-decoration: none;
}
a:hover {
color: #4458b8;
text-decoration: underline;
}
.alert-info {
color: #306391;
background-color: #dcedfc;
border-color: #cbe4fb;
}
.oe_login_form button.btn-link {
color: #495057;
font-weight: 500;
font-size: 14px !important;
}
.oe_login_form button.btn-link:hover {
color: #171a1c;
}
//login button starts
.btn-primary {
color: #fff;
background-color: #556ee6;
border-color: #556ee6;
}
.btn-primary:hover {
color: #fff;
background-color: #485ec4;
border-color: #4458b8;
}
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,.btn-primary:active,
.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: #4458b8 !important;
border-color: #4053ad !important;
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
color: #fff;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.oe_login_form .btn {
display: inline-block;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: .47rem .75rem;
border-radius: .25rem;
-webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}
.btn-secondary {
color: #fff !important;
background-color: #74788d !important;
border-color: #74788d !important;
}
.btn-secondary:hover {
color: #fff !important;
background-color: #636678 !important;
border-color: #5d6071 !important;
}
.btn-secondary:active {
color: #fff;
background-color: #5d6071 !important;
border-color: #575a6a !important;
}
.btn-secondary i,.btn-secondary span {
color: #fff !important;
}
.btn-fill-secondary:focus, .btn-secondary:focus, .btn-fill-secondary.focus, .focus.btn-secondary {
box-shadow: none !important;
}
//login button ends
//input starts
.oe_login_form input {
display: block;
width: 100%;
height: 40px !important;
padding: 10px 20px;
font-size: 13px;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da !important;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: .25rem;
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
box-shadow: none !important;
margin-bottom:10px !important;
}
form label {
font-weight: 400 !important;
}
.oe_login_form a.btn.btn-secondary {
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.35rem 0.75rem;
}
.oe_login_form a.btn.btn-secondary i.fa.fa-database {
margin-left: 5px;
}
\ No newline at end of file
#sidebar_panel {
height: calc(100% - 0%);
position: fixed;
background-color: var(--bg-dark) !important;
width: 80px;
overflow-y: scroll;
-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
scrollbar-width: none; /* Hide scrollbar for Firefox */
z-index: 1;
top: 0;
@media (max-width: 768px) {
display: none !important;
}
}
#sidebar_panel::-webkit-scrollbar {
display: none; /* Hide scrollbar for Chrome, Safari and Opera */
}
.sidebar_panel{
padding-top: 85px !important;
&:after {
content: "";
position: fixed;
width: 80px;
height: 100px;
bottom: 0;
left: 0;
pointer-events: none !important;
background-image: linear-gradient(top, rgba(0,0,0,0) 0%, var(--bg-dark) 100%);
background-image: -o-linear-gradient(top, rgba(0,0,0,0) 0%, var(--bg-dark) 100%);
background-image: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, var(--bg-dark) 100%);
background-image: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, var(--bg-dark) 100%);
@media (max-width: 767.98px) {
display: none !important;
}
}
}
.sidebar_panel .sidebar {
padding: 0;
white-space: nowrap;
padding-bottom: 20px;
padding-top: 5px;
}
.sidebar_panel .sidebar .sidebar_menu {
list-style: none;
margin: 0;
padding: 0;
}
.sidebar_panel .sidebar .sidebar_menu li {
margin: 0;
padding: 0;
border: 0px;
display: block;
/*margin-bottom:5px;*/
}
.sidebar_panel .sidebar .sidebar_menu li a {
margin: 0;
border: 0px;
display: block;
cursor: pointer;
overflow: hidden;
color: #ffffff;
font-size: 13px;
transition:.3s all;
}
.sidebar_panel .sidebar .sidebar_menu li:hover a {
background: var(--secoundary-hover) !important;
color: #fff;
}
.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img {
width: 22px;
width: 22px;
height: 22px;
border-radius: 0px;
}
.sidebar_panel .sidebar .sidebar_menu li .nav-link {
display: flex;
flex-direction: column;
align-items: center;
padding: 6px 10px 6px 10px;
}
.a_app_menu_title{
margin: 10px !important;
white-space: normal;
text-align: center;
word-break: break-word;
width: 75px;
}
.o_menu_systray > *{
display: none;
&:last-child{
display: block !important;
margin-left: 5px !important;
height: 80px !important;
position: fixed;
background-color: var(--bg-dark) !important;
max-width: 80px;
top: 0;
.dropdown-toggle{
padding-left: 15px !important;
}
.dropdown-toggle .oe_topbar_name{
display: none !important;
}
@media (max-width: 767.98px) {
display: none !important;
}
}
}
.sidebar_menu .o_menu_systray .o_user_menu .dropdown-toggle{
width: 100%;
background-color: transparent;
border: none;
height: 80px;
img{
width: 40px;
height: 40px;
}
&:hover{
background-color: var(--secoundary-hover) !important
}
}
.sidebar_menu .o_menu_systray .o_user_menu .o-dropdown--menu {
display: flex;
top: 10px !important;
left: 80px !important;
overflow: visible;
z-index: 2;
&:after{
content: '';
position: absolute;
display: block;
border-style: solid;
border-color: transparent #fff;
border-width: 10px 12px 10px 0;
top: 12%;
left: -12px;
}
}
.o_main_navbar .o_menu_systray{
margin-right: 20px !important;
}
.o_main_navbar .o_MessagingMenu,
.o_main_navbar .o_mail_systray_item{
margin-left: 10px !important;
}
.o_main_navbar .o_user_menu{
display: none !important;
@media (max-width: 768px) {
display: block !important;
}
}
.o_main_navbar .o_menu_systray {
@media (max-width: 768px) {
margin-right: 0px !important;
}
}
.sidebar_menu > .o_menu_systray > .o_user_menu{
margin-left: 0px;
}
.o_menu_systray .dropdown-toggle:hover:hover {
background-color: var(--primary-hover) !important;
text-decoration: none !important;
}
.o_menu_sections_more .o-dropdown--menu{
position: absolute !important;
}
\ No newline at end of file
<odoo>
<record id="res_config_cam" model="ir.ui.view">
<field name="name">res.config.hue.backend.theme</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="90"/>
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='companies']" position='after'>
<h2>Hue Backend Theme</h2>
<div class="row mt16 o_settings_container" name="barcode_scanner_using_cam">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<!-- <field name="theme_background"/>-->
</div>
<div class="o_setting_right_pane">
<label string="Background Image" for="theme_background" class="ml-4" required="1"/>
<field name="theme_background" widget="image"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="app_bar_color" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="App Bar Background Color" for="app_bar_color"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="appbar_text" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="AppMenu Text color" for="appbar_text"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="secoundary_hover" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="AppBar Hover color" for="secoundary_hover"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="primary_accent" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Navbar Background Color" for="primary_accent"/>
<div class="text-muted">
</div>
</div>
</div>
<!-- <div class="col-xs-12 col-md-6 o_setting_box">-->
<!-- <div class="o_setting_left_pane">-->
<!-- <field name="secondary_accent" widget="color"/>-->
<!-- </div>-->
<!-- <div class="o_setting_right_pane">-->
<!-- <label string="Primary Border Color" for="secondary_accent"/>-->
<!-- <div class="text-muted">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="kanban_bg_color" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Kanban Background Color" for="kanban_bg_color"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="primary_hover" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Primary Button Hover" for="primary_hover"/>
<div class="text-muted">
</div>
</div>
</div>
<!-- <div class="col-xs-12 col-md-6 o_setting_box">-->
<!-- <div class="o_setting_left_pane">-->
<!-- </div>-->
<!-- <div class="o_setting_right_pane">-->
<!-- <label string="Light Hover color" for="light_hover"/>-->
<!-- <field name="light_hover" widget="color"/>-->
<!-- <div class="text-muted">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</xpath>
</field>
</record>
</odoo>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="code_custom_layout" inherit_id="web.layout" name="Custom Layout">
<xpath expr="//meta[@content='IE=edge,chrome=1']" position="after">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;600&amp;display=swap" rel="stylesheet"/>
</xpath>
</template>
</odoo>
\ No newline at end of file
Jazzy Backend Theme
==================
* Jazzy Backend Theme module for Odoo 15 community editions
Installation
============
- www.odoo.com/documentation/15.0/setup/install.html
- Install our custom addon
License
-------
General Public License, Version 3 (LGPL v3).
(https://www.odoo.com/documentation/user/15.0/legal/licenses/licenses.html)
Company
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Credits
-------
* 'Cybrosys Techno Solutions <https://cybrosys.com/>'__
Contacts
--------
* Mail Contact : odoo@cybrosys.com
Bug Tracker
-----------
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported.
Maintainer
==========
This module is maintained by Cybrosys Technologies.
For support and more information, please visit https://www.cybrosys.com
Further information
===================
HTML Description: `<static/description/index.html>`__
from . import models
\ No newline at end of file
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2021-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
{
"name": "Jazzy Backend Theme v15",
"description": """Minimalist and elegant backend theme for Odoo 15, Backend Theme, Theme""",
"summary": "Jazzy backed Theme V15 is an attractive theme for backend",
"category": "Themes/Backend",
"version": "15.0.1.0.0",
'author': 'Cybrosys Techno Solutions',
'company': 'Cybrosys Techno Solutions',
'maintainer': 'Cybrosys Techno Solutions',
'website': "https://www.cybrosys.com",
"depends": ['base', 'web', 'mail'],
"data": [
'views/style.xml',
'views/res_config_settings.xml',
],
'assets': {
'web.assets_backend': [
'jazzy_backend_theme/static/src/layout/style/login.scss',
'jazzy_backend_theme/static/src/layout/style/layout_colors.scss',
'jazzy_backend_theme/static/src/components/app_menu/menu_order.css',
'jazzy_backend_theme/static/src/layout/style/layout_style.scss',
'jazzy_backend_theme/static/src/layout/style/sidebar.scss',
'jazzy_backend_theme/static/src/components/app_menu/search_apps.js',
],
'web.assets_qweb': [
'jazzy_backend_theme/static/src/components/app_menu/side_menu.xml',
],
},
'images': [
'static/description/banner.png',
'static/description/theme_screenshot.gif',
],
'license': 'LGPL-3',
'installable': True,
'application': False,
'auto_install': False,
}
from . import res_config_settings
\ No newline at end of file
from odoo import models, fields
class ResCompany(models.Model):
_inherit = 'res.company'
background_image = fields.Binary(string="Background Image", attachment=True)
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
theme_background = fields.Binary(string="App menu Background",
related='company_id.background_image',
readonly=False)
app_bar_color = fields.Char(string='Appbar color',
config_parameter='jazzy_backend_theme.appbar_color',
default='#FFFFFF')
primary_accent = fields.Char(string="Navbar color",
config_parameter='jazzy_backend_theme.primary_accent_color',
default='#004589')
secondary_accent = fields.Char(string="Navbar color",
config_parameter='jazzy_backend_theme.secondary_color',
default='#0C4D9D')
kanban_bg_color = fields.Char(string="Kanban Bg Color",
config_parameter='jazzy_backend_theme.kanban_bg_color',
default='#F7F7F7')
primary_hover = fields.Char(string="Hover Primary Color",
config_parameter='jazzy_backend_theme.primary_hover',
default='#00376E')
light_hover = fields.Char(string="Light Hover",
config_parameter='jazzy_backend_theme.light_hover',
default='#ffffff')
appbar_text = fields.Char(string="Home Menu Text Color",
config_parameter='jazzy_backend_theme.appbar_text',
default='#F7F8F7')
secoundary_hover = fields.Char(string="AppBar Hover",
config_parameter='jazzy_backend_theme.secoundary_hover',
default='#F2F2F3')
def config_color_settings(self):
colors = {}
print("ppp", self.env.user.company_id.background_image)
colors['full_bg_img'] = self.env.user.company_id.background_image
colors['appbar_color'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.appbar_color');
colors['primary_accent'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.primary_accent_color');
colors['secondary_color'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.secondary_color');
colors['kanban_bg_color'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.kanban_bg_color');
colors['primary_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.primary_hover');
colors['light_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.light_hover');
colors['appbar_text'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.appbar_text');
colors['secoundary_hover'] = self.env[
'ir.config_parameter'].sudo().get_param(
'jazzy_backend_theme.secoundary_hover');
return colors
<!-- HERO SECTION -->
<div class="contianer">
<div class="row position-relative"
style="background-color: #191826 !important; height: 400px; margin-bottom: 6rem; border-radius: 1.5rem;">
<div class="col-lg-12 d-flex flex-column justify-content-start align-items-center">
<h1 class="display-1 text-white" style="padding-top: 5rem;">Jazzy Backend Theme</h1>
<p class="text-light small font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase;">Clean
&amp;Minimal Backend Theme for Odoo 15</p>
</div>
<img src="./images/hero.png" class="img img-fluid"
style="height: auto; width: 525px; top: 45%; left: 0; right: 0; margin-left: auto; margin-right: auto;"
height="auto" width="525px">
</div>
</div>
<!-- END OF HERO SECTION -->
<!-- SHORT DESCRIPTION -->
<div class="container">
<div class="row my-4">
<div class="col-lg-12 d-flex justify-content-center align-items-center">
<h6 class="text-muted text-center w-50" style="line-height: 22px;">The app provides a user friendly backend
theme for Odoo 15.0 community edition.</h6>
</div>
</div>
</div>
<!-- END OF SHORT DESCRIPTION -->
<!-- FEATURE ICONS -->
<div class="container w-50" style="margin: 3rem auto;">
<div class="row">
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5 ; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/design.png">
</div>
<h6 class="my-4 text-center">Well-Crafted</h6>
</div>
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/responsive.png">
</div>
<h6 class="my-4 text-center">Efficent Design</h6>
</div>
<div class="col-lg-4 my-2 d-flex flex-column justify-content-center align-items-center">
<div
style="height: 100px; width: 100px; border: 8px solid #dedee5; border-radius: 50%; background-color: #d4d3dc; box-shadow: 0px 0px 0px 8px #f4f4f6;"
class="d-flex justify-content-center align-items-center">
<img height="60px" src="./images/icons/quality.png">
</div>
<h6 class="my-4 text-center">Clearer insight</h6>
</div>
</div>
</div>
<!-- END OF FEATURE ICONS -->
<!-- ONE COLUMN SECTION-->
<div class="container" style="margin: 3rem auto;">
<div class="row my-4">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center mt-3 display-4 text-weight-bold">App Menu</h2>
<p class="text-center lead text-muted mb-4">The App Menu is the main attraction of the Jazzy backend theme. It has a fully responsive layout with a new highlighted color combination and a more modern interface for all applications. Moreover, the Jazzy backend theme improves your experience with Odoo, providing you with a fully customizable background image, Navbar color, and many more.</p>
<div class="row">
<div class="col-lg-8">
<img height="600px" width="auto" src="./images/desktop.gif" class="img img-fluid deep-4 rounded">
</div>
<div class="col-lg-4">
<img src="./images/mobile_view.gif" class="img img-fluid deep-4 rounded">
</div>
</div>
</div>
</div>
</div>
<!-- END OF ONE COLUMN SECTION-->
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e ">Theme
Settings</span>
<h2 class="mt-3">Jazzy Backend Theme Settings</h2>
<p class="lead text-muted mb-4">To improve your experience with Odoo the Jazzy backend theme provides a fully
configurable theme settings menu.</p>
<img src="./assets/settings_customisation.png" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Custom
AppBar</span>
<h2 class="mt-3">AppBar</h2>
<p class="lead text-muted mb-4">Easly accessible side bar where it reveals the side bar menu on just a click. Moreover, its also
fully customisable with Jazzy backend theme.</p>
<img src="./images/app_bar.png" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- END OF TWO COLUMN SECTION-->
<!-- RESPONSIVE SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-5 d-flex flex-column justify-content-center align-items-start">
<img src="./images/responsive.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-7 d-flex flex-column justify-content-center">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Responsive
Layout</span>
<h2 class="mt-3">Truly Responsive</h2>
<p class="lead text-muted mb-4">One of the critical highlights of the Jazzy backend theme is that it was genuinely responsive; moreover, it provides an efficient interface to manage a mobile device.</p>
</div>
</div>
</div>
<!-- END OF RESPONSIVE SECTION-->
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Custom
Kanban View</span>
<h2 class="mt-3">Kanban view</h2>
<p class="lead text-muted mb-4">Jazzy Backend Theme gives a colorful & elegant kanban view, and it's fully customizable with this theme.</p>
<img src="./images/kanban.png" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Search
Option</span>
<h2 class="mt-3">Advanced Searching for App Menus</h2>
<p class="lead text-muted mb-4">Jazzy Backend Theme gives a more complex and powerful search than standard search, providing search options like enterprise edition.</p>
<img src="./images/search.png" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- TWO COLUMN SECTION-->
<div class="container" style="margin: 6rem auto;">
<span>
</span>
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">
Form View</span>
<h2 class="mt-3">Custom Form view</h2>
<p class="lead text-muted mb-4">Jazzy Backend theme provides a fully modified and colorful form view with the full view
experience.</p>
<img src="./images/sale_kanban.png" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Vibrent
ui</span>
<h2 class="mt-3">Attractive Customizable User Interface</h2>
<p class="lead text-muted mb-4">It provides fully attractive, and a elgant User Interface with completely customizability.</p>
<img src="./images/event.png" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- MOBILE -->
<div class="container" style="margin: 6rem auto;">
<span>
<strong>
Mobile
</strong>
</span>
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">
Kanban View</span>
<h2 class="mt-3">Responsive kanban view</h2>
<p class="lead text-muted mb-4">It gives a fully responsive kanban view in Mobile view, which is also fully customizable in the Jazzy Backend theme.</p>
<img src="./images/mobile_kanban.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Form
View</span>
<h2 class="mt-3">Visualized form view</h2>
<p class="lead text-muted mb-4">It puts forward a fully visualized form view with colorful and attractive aspects which the user can customize. </p>
<img src="./images/mobile_form.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<div class="container" style="margin: 6rem auto;">
<span>
</span>
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">
List view</span>
<h2 class="mt-3">Modified Tree view</h2>
<p class="lead text-muted mb-4">Jazzy Backend Theme provides fully modified list view and amazing table designs
with stunning look outputs.</p>
<img src="./images/mobile_lost.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold"
style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">settings</span>
<h2 class="mt-3">Fully Redesigned Settings</h2>
<p class="lead text-muted mb-4">Mobile friendly and Redesigned settings with stylish view.</p>
<img src="./images/mobile_settings.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<div class="container" style="margin: 6rem auto;">
<span>
</span>
<div class="row my-4">
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">
Employe module</span>
<h2 class="mt-3">Modified Form view for employees</h2>
<p class="lead text-muted mb-4">It provides the Employees with a form view with redesigned and various modified features.
</p>
<img src="./images/employe.jpg" class="img img-fluid deep-2 rounded">
</div>
<div class="col-lg-6 d-flex flex-column justify-content-center align-items-start">
<span class="font-weight-bold" style="letter-spacing: 2px; text-transform: uppercase; color: #4a476e">Search
View</span>
<h2 class="mt-3">Ultra Modern Search view</h2>
<p class="lead text-muted mb-4">It has an advanced search view with a highly modified search option for easy usage and an improved experience with Odoo.</p>
<img src="./images/mobile_search.jpg" class="img img-fluid deep-2 rounded">
</div>
</div>
</div>
<!-- END OF TWO COLUMN SECTION-->
<!-- OUR SERVICES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Our Services</h2>
<p class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
We provide following services</p>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #1dd1a1 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/cogs.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Customization</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ff6b6b !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/wrench.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6462CD !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/lifebuoy.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Support</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #ffa801 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/user.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Hire
Odoo
Developer</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #54a0ff !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/puzzle.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Integration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #6d7680 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/update.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Migration</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #786fa6 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/consultation.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Consultancy</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #f8a5c2 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/training.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Implementation</h6>
</div>
<div class="col-lg-4 d-flex flex-column justify-content-center align-items-center my-4">
<div class="d-flex justify-content-center align-items-center mx-3 my-3"
style="background-color: #e6be26 !important; border-radius: 15px !important; height: 80px; width: 80px;">
<img src="assets/icons/license.png" class="img-responsive" height="48px" width="48px">
</div>
<h6 class="text-center" style="font-family: Montserrat, 'sans-serif' !important; font-weight: bold;">Odoo
Licensing Consultancy</h6>
</div>
</div>
</section>
<!-- END OF END OF OUR SERVICES -->
<!-- OUR INDUSTRIES -->
<section class="container" style="margin-top: 6rem !important;">
<div class="row">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Our Industries</h2>
<p class="text-center"
style="font-family: Montserrat, 'sans-serif'; color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
Our industry specifics and process segments to solve your complex business barriers.</p>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/trading-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Trading
</h5>
<p style="font-size: 0.9rem !important;">Easily procure
and
sell your products</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/pos-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
POS
</h5>
<p style="font-size: 0.9rem !important;">Easy
configuration
and convivial experience</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/education-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Education
</h5>
<p style="font-size: 0.9rem !important;">A platform for
educational management</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/manufacturing-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Manufacturing
</h5>
<p style="font-size: 0.9rem !important;">Plan, track and
schedule your operations</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/ecom-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
E-commerce &amp; Website
</h5>
<p style="font-size: 0.9rem !important;">Mobile
friendly,
awe-inspiring product pages</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/service-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Service Management
</h5>
<p style="font-size: 0.9rem !important;">Keep track of
services and invoice</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/restaurant-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Restaurant
</h5>
<p style="font-size: 0.9rem !important;">Run your bar or
restaurant methodically</p>
</div>
</div>
<div class="col-lg-3">
<div class="my-4 d-flex flex-column justify-content-center"
style="background-color: #f6f8f9 !important; border-radius: 10px; padding: 2rem !important; height: 250px !important;">
<img src="./assets/icons/hotel-black.png" class="img-responsive mb-3" height="48px" width="48px">
<h5 style="color: #000 !important; font-weight: bold;">
Hotel Management
</h5>
<p style="font-size: 0.9rem !important;">An
all-inclusive
hotel management application</p>
</div>
</div>
</div>
</section>
<!-- END OF END OF OUR INDUSTRIES -->
<!-- FOOTER -->
<!-- Footer Section -->
<section class="container" style="margin: 5rem auto 2rem;">
<div class="row" style="max-width:1540px;">
<div class="col-lg-12 d-flex flex-column justify-content-center align-items-center">
<h2 class="text-center"
style="color: #000 !important; font-weight: 800 !important; font-size: 2rem !important; width: 80%;">
Need Help?</h2>
<p class="text-center"
style="color: #1a1a1a !important; font-weight: 300 !important; font-size: 1.3rem !important;">
Do you have any queries regarding our products &amp; services? Let us know.</p>
</div>
</div>
<!-- Contact Cards -->
<div class="row d-flex justify-content-center align-items-center" style="max-width:1540px; margin: 0 auto 2rem auto;">
<div class="col-lg-12" style="padding: 0rem 3rem 2rem; border-radius: 10px; margin-right: 3rem; ">
<div class="row mt-4">
<div class="col-lg-6">
<a href="mailto:odoo@cybrosys.com" target="_blank" class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #4d4d4d; color: #FFF; border-radius: 4px;"><i
class="fa fa-envelope mr-2"></i>odoo@cybrosys.com</a>
</div>
<div class="col-lg-6">
<a href="https://api.whatsapp.com/send?phone=918606827707" target="_blank"
class="btn btn-block mb-2 deep_hover"
style="text-decoration: none; background-color: #25D366; color: #FFF; border-radius: 4px;"><i
class="fa fa-whatsapp mr-2"></i>+91 86068 27707</a>
</div>
</div>
</div>
</div>
<!-- End of Contact Cards -->
</section>
<!-- Footer -->
<section class="oe_container" style="padding: 2rem 3rem 1rem;">
<div class="row" style="max-width:1540px; margin: 0 auto; margin-right: 3rem; ">
<!-- Logo -->
<div class="col-lg-12 d-flex justify-content-center align-items-center" style="margin-top: 3rem;">
<img src="https://www.cybrosys.com/images/logo.png" width="200px" height="auto" />
</div>
<!-- End of Logo -->
<div class="col-lg-12">
<hr
style="margin-top: 3rem;background: linear-gradient(90deg, rgba(2,0,36,0) 0%, rgba(229,229,229,1) 33%, rgba(229,229,229,1) 58%, rgba(0,212,255,0) 100%); height: 2px; border-style: none;">
<!-- End of Footer Section -->
</div>
</div>
<!-- END OF FOOTER -->
\ No newline at end of file
.nav-container {
float: left;
position: relative;
width: 99vw;
height: 100%;
background: #fff;
display: flex;
justify-content: start;
align-items: start;
padding: 0px 20rem;
margin-top: 2rem;
}
/*.search-results {
float: left;
position: relative;
width: 100vw;
height: 100vh;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
padding: 0 20rem;
}*/
.o_main_navbar .dropdown-menu .show {
max-height: auto !important;
min-width: 100%;
overflow: auto;
margin-top: 0;
position: static;
top: 0;
display: flex;
box-shadow: none;
border: none;
flex-wrap: wrap;
flex-direction: row;
overflow: unset;
}
.dropdown-item.o_app.mt0 {
flex-basis: 20%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
margin-bottom: 23px;
}
.o_setting_search {
position: relative;
.searchInput {
height: 28px;
padding: 0px;
border: 0px;
border-dropdown-item bottom: 1px solid gray('400');
border-color: gray('700');
box-shadow: none;
font-weight: 500;
}
.searchIcon {
@include o-position-absolute(4px, 0);
color: gray('700');
}
}
.search-container.has-results {
height: 100%;
.search-input {
height: 3em;
}
.search-results {
height: calc(100% - 3em);
overflow: auto;
}
}
.app-menu {
width: 100%;
display: flex;
flex-wrap: wrap;
}
.o_main_navbar .dropdown-menu.show {
max-height: none !important;
min-width: 100%;
overflow: auto;
margin-top: 0;
}
.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto {
background-repeat: no-repeat;
background-size: 100%;
padding-left: 30%;
margin-bottom: 5%;
}
@media (max-width: 1371px){
}
@media (max-width:992px) {
}
@media (max-width:400px) {
}
\ No newline at end of file
/** @odoo-module */
import { NavBar } from "@web/webclient/navbar/navbar";
import { registry } from "@web/core/registry";
const { fuzzyLookup } = require('@web/core/utils/search');
import { computeAppsAndMenuItems } from "@web/webclient/menus/menu_helpers";
import core from 'web.core';
const commandProviderRegistry = registry.category("command_provider");
import { patch } from 'web.utils';
var rpc = require('web.rpc');
patch(NavBar.prototype, 'jazzy_backend_theme/static/src/js/appMenu.js', {
//--------------------------------------------------------------------------
// Public
//--------------------------------------------------------------------------
/**
* @override
*/
setup() {
this._super();
this._search_def = $.Deferred();
let { apps, menuItems } = computeAppsAndMenuItems(this.menuService.getMenuAsTree("root"));
this._apps = apps;
this._searchableMenus = menuItems;
this.colors = this.fetch_data();
},
fetch_data: function() {
var self = this;
rpc.query({model: 'res.config.settings',method: 'config_color_settings',args: [0],}).then(function(result){
self.colors = result;
console.log("$$$",result);
if (result.primary_accent !== false){
document.documentElement.style.setProperty("--primary-accent",result.primary_accent);
}
if (result.appbar_color !== false){
document.documentElement.style.setProperty("--app-bar-accent",result.appbar_color);}
if (result.primary_hover !== false){
document.documentElement.style.setProperty("--primary-hover",result.primary_hover);}
if (result.secondary_color !== false){
document.documentElement.style.setProperty("--primary-accent-border",result.secondary_color);}
if (result.full_bg_img !== false){
document.documentElement.style.setProperty("--full-screen-bg",'url(data:image/png;base64,'+result.full_bg_img+')');
}
if (result.appbar_text !== false){
document.documentElement.style.setProperty("--app-menu-font-color",result.appbar_text);}
if (result.secoundary_hover !== false){
document.documentElement.style.setProperty("--secoundary-hover",result.secoundary_hover);}
if (result.kanban_bg_color !== false){
document.documentElement.style.setProperty("--kanban-bg-color",result.kanban_bg_color);}
});
},
mounted() {
this._super();
this.$search_container = $(".search-container");
this.$search_input = $(".search-input input");
this.$search_results = $(".search-results");
this.$app_menu = $(".app-menu");
this.$dropdown_menu = $(".dropdown-menu");
},
_searchMenusSchedule: function () {
this.$search_results.removeClass("o_hidden")
this.$app_menu.addClass("o_hidden");
this._search_def.reject();
this._search_def = $.Deferred();
setTimeout(this._search_def.resolve.bind(this._search_def), 50);
this._search_def.done(this._searchMenus.bind(this));
},
_searchMenus: function () {
var query = this.$search_input.val();
if (query === "") {
this.$search_container.removeClass("has-results");
this.$app_menu.removeClass("o_hidden");
this.$search_results.empty();
return;
}
var results = [];
fuzzyLookup(query, this._apps, (menu) => menu.label)
.forEach((menu) => {
results.push({
category: "apps",
name: menu.label,
actionID: menu.actionID,
id: menu.id,
webIconData: menu.webIconData,
});
});
fuzzyLookup(query, this._searchableMenus, (menu) =>
(menu.parents + " / " + menu.label).split("/").reverse().join("/")
).forEach((menu) => {
results.push({
category: "menu_items",
name: menu.parents + " / " + menu.label,
actionID: menu.actionID,
id: menu.id,
});
});
this.$search_container.toggleClass(
"has-results",
Boolean(results.length)
);
this.$search_results.html(
core.qweb.render(
"jazzy_backend_theme.SearchResults",
{
results: results,
widget: this,
}
)
);
},
});
\ No newline at end of file
<templates id="template" xml:space="preserve">
<t t-inherit="web.NavBar.AppsMenu" t-inherit-mode="extension" owl="1">
<xpath expr="//Dropdown[hasclass('o_navbar_apps_menu')]"
position="replace">
<li class="dropdown d-flex justify-content-center align-items-center">
<a class="full" data-toggle="dropdown" data-display="static"
href="#">
<i class="fa fa-th-large"
style="font-size: 18px !important; color: white; margin-top: 3px;"/>
</a>
<div class="dropdown-menu fullscreen-menu" role="menu">
<div class="search-container form-row align-items-center m-auto mb-5 col-12">
<div class="search-input col-md-10 ml-auto mr-auto mb-5"
t-on-input="_searchMenusSchedule">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<i class="fa fa-search"/>
</div>
</div>
<input type="search"
autocomplete="off"
placeholder="Search menus..."
class="form-control"/>
</div>
</div>
<div class="search-results col-md-10 ml-auto mr-auto"/>
</div>
<div class="nav-container">
<div class="app-menu">
<t t-foreach="menuService.getApps()" t-as="app">
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="dropdown-item o_app mt0"
t-att-data-menu-id="app.menuID"
t-att-data-menu-xmlid="app.xmlID"
t-att-data-action-id="app.actionID">
<img t-att-title="app.name"
style="width: 70px !important;height: 70px !important;border-radius: 10px !important;margin: 5px 5px 5px 5px;"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
<b class="a_app_menu_title"><t t-esc="app.name"/></b>
</a>
</t>
</div>
</div>
</div>
</li>
</xpath>
</t>
<t t-name="jazzy_backend_theme.SearchResults">
<t t-foreach="results" t-as="result">
<div class="search_icons">
<a t-attf-class="o-menu-search-result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}"
t-attf-style="background-image:url('data:image/png;base64,#{result.webIconData}')"
t-attf-href="#menu_id=#{result.id}&amp;action_id=#{result.actionID}"
t-att-data-menu-id="result.id"
t-att-data-action-id="result.actionID"
t-raw="result.name"
onclick="$('.dropdown-menu').removeClass('show'); $('.search-results').addClass('o_hidden'); $('.app-menu').removeClass('o_hidden'); $('.search-input input').val('');"/>
</div>
</t>
</t>
<t t-inherit="web.NavBar" t-inherit-mode="extension" owl="1">
<xpath expr="//nav[hasclass('o_main_navbar')]" position="after">
<div class="sidebar_panel" id="sidebar_panel">
<div class="sidebar">
<ul class="sidebar_menu">
<t t-foreach="menuService.getApps()" t-as="app">
<li>
<a role="menuitem"
t-attf-href="#menu_id={{app.id}}"
class="nav-link">
<img class="sidebar_img"
t-attf-src="data:image/png;base64,{{app.webIconData}}"/>
</a>
</li>
</t>
</ul>
</div>
</div>
</xpath>
</t>
</templates>
\ No newline at end of file
:root{
--primary_accent: black !default;
--secondary_accent: #ffffff !default;
--inverse_accent: #ffffff !default;
--kanban-bg-color:#f7f7f7;
--o-kanban-color-border-width: 8px;
--selected_row: #ffffff !default;
--bg_white: #ffffff !default;
--f_color: #555b6d !default;
--color_white : #ffffff !default;
--primary_hover: #00376e !default;
--light_hover: #d5d5d5;
--fullscreen-bg-color: #C5F0FC !important;
}
\ No newline at end of file
$primary_accent: var(--primary-accent) !important;
$secondary_accent: var(--secondary-accent) !important;
$inverse_accent: var(--inverse-accent) !important;
$kanban-bg-color:var(--kanban-bg-color) !important;
$o-kanban-color-border-width: var(--o-kanban-color-border-width) !important;
$selected_row: var(--selected-row) !important;
$bg_white: var(--bg-white) !important;
$f_color: var(--f-color) !important;
$color_white : var(--color-white) !important;
$primary_hover: var(--primary-hover) !important;
$light_hover: var(--light-hover) !important;
$fullscreen-bg-color: var(--fullscreen-bg-color) !important;
:root{
--primary-accent: #004589 ;
--primary-accent-border: #ffffff;
--app-bar-accent: #ffffff;
--full-screen-bg: url(/jazzy_backend_theme/static/description/assets/background.jpg) ;
--kanban-bg-color:#f7f7f7;
--o-kanban-color-border-width: 8px !important;
--selected-row: #ffffff !important;
--app-menu-font-color:#ffffff;
--bg-white: #ffffff !important;
--f-color: #555b6d !important;
--color-white : #ffffff !important;
--primary-hover: #00376e;
--light-hover: #d5d5d5 ;
--secoundary-hover:#ffffff;
--fullscreen-bg-color: #C5F0FC !important;
}
\ No newline at end of file
.bg-primary{
background-color: var(--primary-accent) !important;
}
.o_field_widget.o_field_many2one .o_external_button {
-webkit-box-flex: 0;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
padding-left:1%;
padding-right:0.5%;
margin-left: 2px;
font-size: 19px;
color: #7C7BAD;
border: none;
}
.app_bar .app_container a:hover{
background:var(--secoundary-hover) !important;
}
.fullscreen-menu{
height: calc(100vh - 46px);
background: var(--full-screen-bg);
background-size: cover;
background-repeat: no-repeat;
min-width: 100%;
overflow-y: auto !important;
overflow-x: hidden !important;
margin-top: 0;
position: fixed;
top: 46px;
left: -1px;
padding: 2.5rem 0;
}
.a_app_menu_title{
color: var(--app-menu-font-color) !important;
}
.o_main_navbar{
background-color:var(--primary-accent) !important;
border-bottom: 1px solid var(--primary-hover) !important;
}
.dropdown-toggle {
&:hover{
background: var(--primary-hover) !important;
}
}
.o-menu-search-result.dropdown-item.col-12.ml-auto.mr-auto {
background-repeat: no-repeat;
background-size: 23px;
padding-left: 40px;
margin-bottom: 5px;
}
//Top bar
//icon color
.o_searchview .o_searchview_facet .o_searchview_facet_label {
background-color: var(--primary-accent) !important;
}
.btn-secondary {
color: #fff !important;
background-color: var(--primary-accent) !important;
border-color: var(--primary-accent) !important;
margin:0 5px 0 0;
&:hover{
background-color: var(--primary-hover) !important;
}
}
.o_searchview {
background-color: var(--bg-white) !important;
border: 1px solid #ccc;
border-radius: 10px;
padding: 1px 25px 3px 5px;
}
.o_searchview .o_searchview_input_container {
display: flex;
flex-flow: row wrap;
position: relative;
border-radius: 10px;
}
.o_searchview .o_searchview_input_container .o_searchview_facet {
display: flex;
-webkit-box-flex: 0;
flex: 0 0 auto;
margin: 1px 3px 0 0;
max-width: 100%;
border-radius: 10px;
position: relative;
}
.o_searchview .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label {
align-items: center;
color: var(--bg-white) !important;
-webkit-box-flex: 0;
flex: 0 0 auto;
padding: 0 3px;
border-radius: 10px;
display: flex;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
}
//module icon
.oe_module_icon {
width: 70px;
max-height: 70px;
max-width: 23%;
float: left;
border-radius: 10px;
}
.o_base_settings .o_setting_container .settings_tab .selected{
background-color: var(--primary-hover);
}
.app_bar .app_container .scroll_container .app_items_wrapper .app_items{
background-color:var(--app-bar-accent);
}
.app_bar .app_container .scroll_container .app_items_wrapper .app_items .o-app-icon {
width: 32px;
height: 32px;
border-radius: 5px;
}
//photo
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left {
margin-top: -8px;
margin-bottom: -8px;
margin-left: -8px;
border-radius: 10px;
}
//drowpdowm
.o-dropdown.dropup > .o-dropdown--menu, .o-dropdown.dropdown > .o-dropdown--menu, .o-dropdown.dropleft > .o-dropdown--menu, .o-dropdown.dropright > .o-dropdown--menu {
left: auto;
right: auto;
margin-left: 0;
margin-right: 0;
border-radius: 10px;
}
//kanban
.o_kanban_view.o_kanban_grouped .o_kanban_record, .o_kanban_view.o_kanban_grouped .o_kanban_quick_create {
width: 100%;
margin-left: 0;
margin-right: 0;
border-radius: 10px;
}
.o_kanban_view.o_kanban_ungrouped .o_kanban_record {
-webkit-box-flex: 1;
flex: 1 1 auto;
width: 300px;
margin: 4px 8px;
border-radius: 10px;
}
.o_kanban_view .o_column_quick_create .o_quick_create_folded .o_kanban_add_column {
margin-right: 8px;
display: inline-block;
padding: 10px 14px;
background-color: rgba(73, 80, 87, 0.1);
border-radius: 10px;
}
.o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image_fill_left .o_kanban_image_inner_pic, .o_kanban_view .o_kanban_record.o_kanban_record_has_image_fill .o_kanban_image .o_kanban_image_inner_pic {
position: absolute;
top: auto;
left: auto;
bottom: 0;
right: 0;
max-height: 25px;
max-width: 80%;
background: var(--bg-white) !important;
box-shadow: -1px -1px 0 1px var(--bg-white) !important;
border-radius: 10px;
margin: 5px;
}
.o_purchase_dashboard .table > thead > tr > td, .o_purchase_dashboard .table tbody > tr > td {
text-align: center;
width: 25%;
height: 33px;
vertical-align: middle;
border-top: 1px solid var(--bg-white) !important;
background-color: #f9f9f5;
border-radius: 10px;
}
.o_kanban_view.o_kanban_ungrouped {
min-height: 100%;
align-content: flex-start;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-box-pack: start;
justify-content: flex-start;
padding: 8px 8px;
background-color: var(--kanban-bg-color) !important;
}
//chatter
.o_Message.o-not-discussion {
background-color: #f8f9fa;
border-radius: 10px;
}
//field dropdown
.o_settings_container .o_setting_box .o_setting_right_pane .o_field_widget {
width: 50%;
-webkit-box-flex: 0;
flex: 0 0 auto;
border-radius: 10px;
}
.o_settings_container .o_setting_box .o_setting_right_pane .o_input_dropdown > .o_input {
width: 100%;
border-radius: 10px;
}
//form input
//required
.o_form_view .o_form_uri > span:first-child{
color:var(--primary-accent) !important;
}
.o_form_view .oe_button_box .btn.oe_stat_button > .o_stat_info .o_stat_value, .o_form_view .oe_button_box .btn.oe_stat_button > span .o_stat_value
{
color:var(--primary-accent) !important;
}
.o_field_widget .o_input_dropdown > input {
cursor: pointer;
border-radius: 10px;
}
.o_field_widget .o_input_dropdown > input, .o_field_widget.o_datepicker > input {
padding-right: 14px;
border-radius: 10px;
}
.o_form_view .o_group .o_field_widget {
width: 100%;
border-radius: 10px;
}
.oe_form_field_html .note-editable {
font: inherit !important;
font-family: inherit !important;
line-height: inherit !important;
color: inherit !important;
border-radius: 10px;
}
.o_form_view .oe_avatar > img {
max-width: 90px;
max-height: 90px;
vertical-align: top;
border: 1px solid #dee2e6;
border-radius: 10px;
}
.o_form_view .o_form_statusbar > .o_field_widget {
align-self: center;
margin-bottom: 0px;
border-radius: 10px;
}
//settings
.settings_tab {
background-color: var(--primary-accent) !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
border-radius: 5px;
}
//satusbar
.btn-warning:active,
button[name="action_uninstall"]:active {
color: #fff !important;
background-color: #c1903d !important;
border-color: #b58739 !important;
}
.btn-warning:focus,
button[name="action_uninstall"]:focus {
color: #fff !important;
background-color: #cd9941 !important;
border-color: #c1903d !important;
-webkit-box-shadow: 0 0 0 0.15rem rgba(243,191,103,.50) !important;
box-shadow: 0 0 0 0.15rem rgba(243,191,1,.50) !important;
}
.btn-fill-secondary.disabled, .disabled.btn-secondary, .btn-fill-secondary:disabled, .btn-secondary:disabled {
color: #212529 !important;
background-color: #fff !important;
border-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-secondary {
/*border: solid 1px var(--primary-accent) !important;*/
/*color: var(--primary-accent) !important;*/
background-color: #fff ;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:not(:first-child):before {
right: -11px;
border-left-color:var(--primary-accent) !important;
}
.o_statusbar_status .o_arrow_button.btn-secondary:hover:after {
border-color: #fff !important;
}
.o_statusbar_status .o_arrow_button.btn-primary {
border: solid 1px var(--primary-accent-border);
color: #fff !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled {
background-color: var(--primary-accent) !important;
color: #fff;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:after, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.btn-primary.disabled:before {
border-left-color: var(--primary-accent) !important;
}
//Avathar pic
.rounded-circle, .o_status, .o_calendar_invitation, .o_status_bubble, .o_Activity_detailsUserAvatar, .o_Activity_userAvatar {
border-radius: 10% !important;
}
.btn-fill-primary:hover, .btn-primary:hover, .btn-primary:hover,
.btn-fill-primary:focus, .btn-primary:focus, .btn-primary:focus,
.btn-fill-primary:active, .btn-primary:active, .btn-primary:active
{
background:var(--primary-accent) !important;
border-color:var(--primary-accent) !important;
}
//chat
.o_ChatWindowHeader {
background-color: var(--primary-accent) !important;
}
.o_ChatWindow_newMessageFormInput {
outline: none;
border: 1px solid #dee2e6;
border-radius: 10px;
}
//a
a {
color: var(--primary-accent);
text-decoration: none;
}
//buttons
.btn-fill-primary, .btn-primary{
background-color:var(--primary-accent) !important;
border: none;
&:hover{
background: var(--primary-hover);
color: #fff !important;
}
}
.btn-primary {
color: #fff;
background-color: var(--primary-accent) !important;
border-color: var(--primary-accent) !important;
margin:0 5px 0 0;
}
.btn-link {
font-weight: 400;
color: var(--primary-accent) !important;
text-decoration: none;
}
.btn-link:hover {
color: var(--primary-hover);
text-decoration: none;
}
.btn-light{
&:hover{
background-color: var(--light-hover) !important;
}
}
.o_form_view .oe_button_box .btn.oe_stat_button {
color: var(--primary-accent) !important;
height: 44px;
padding: 0 6px 0 0 !important;
text-align: left;
white-space: nowrap;
background-color: transparent;
opacity: 0.8;
border-radius: 0px;
margin-bottom: 0;
}
.o_dashboards .o_website_dashboard div.o_box {
color: rgba(73, 80, 87, 0.76);
background-color: white;
background-size: cover;
margin-top: 16px;
position: static;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
border-radius: 10px;
}
//button
.custom-control-input:checked ~ .custom-control-label::before {
color: #fff;
border-color: var(--primary-accent) !important;
background-color: var(--primary-accent) !important;
}
//current date calender
.o_calendar_view .o_calendar_widget .fc-timeGridDay-view .fc-widget-header.fc-today, .o_calendar_view .o_calendar_widget .fc-timeGridWeek-view .fc-widget-header.fc-today {
border-radius: 25px;
background: var(--primary-accent) !important;
color: var(--bg-white) !important;
}
// Tabs Start
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
border: none;
border-bottom: solid;
font-weight: bold;
background: var(--primary-accent) !important;
color: var(--bg-white) !important;
border-radius: 5px,50px,5px,50px;
}
//website
.o_dashboards .o_website_dashboard .o_dashboard_common .o_inner_box {
padding-top: 10px;
text-align: center;
border: 1px solid var(--bg-white) !important;
height: 80px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer;
color: var(--color-white) !important;
background-color: var(--primary-accent) !important;
border-radius:10px;
&:hover{
background-color: var(--primary-hover) !important;
}
}
.o_purchase_dashboard .table > thead > tr > td.o_main, .o_purchase_dashboard .table tbody > tr > td.o_main {
background-color: var(--primary-accent) !important;
border-radius:10px;
}
.dropdown-menu.show {
display: block;
border-radius: 0;
}
.o_mail_preview .o_mail_preview_image.o_mail_preview_app > img {
border-radius: 10px;
}
//Graph
.o_calendar_view .fc-view .fc-event.o_calendar_color_3:not(.o_calendar_hatched):not(.o_calendar_striked) {
background: var(--primary-hover) !important;
border-radius: 10px;
}
//Event
.text-center {
text-align: center !important;
border-radius: 10px;
}
//form control icons
.o_form_view .oe_button_box .oe_stat_button .o_button_icon {
color: var(--primary-accent) !important;
}
//.o_required_modifier.o_input, .o_required_modifier .o_input {
// background-color: var(--primary-accent) !important;
//}
//small icons
.o_search_panel .o_search_panel_category .o_search_panel_section_icon {
color: var(--primary-accent) !important;
}
.badge-primary {
color: var(--color-white) !important;
background-color: var(--primary-accent) !important;
}
//wizard
.modal.o_technical_modal .modal-content {
border-radius: 10px;
}
//Navbar
.nav-container{
height: auto !important;
background: transparent !important;
float: none !important;
padding: 0 !important;
width: 850px !important;
margin: 0 auto !important;
}
.o_nav_entry{
&:hover{
background-color: var(--primary-hover) !important;
}
}
.app-menu{
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 0 auto;
}
//Responsive
.o_MobileMessagingNavbar_tab.o-active{
color: var(--primary-accent) !important;
}
@media (max-width: 768px){
.app-menu{
width: 100%;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
justify-content: flex-start;
margin: 0 auto;
}
.o_cp_bottom{
flex-wrap: wrap !important;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled {
margin-right: 10px;
}
.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary), .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):hover, .o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button.disabled:not(.btn-primary):focus
{
margin-left:10px;
}
.o_form_view .o_form_statusbar > .o_field_widget {
margin-left: -24px !important;
margin-top: 1px !important;
}
.o_form_view .o_form_statusbar{
flex-direction: column !important;
padding-left: 0px !important;
}
}
@media (min-width: 768px){
.o_form_view .o_form_sheet_bg > .o_form_sheet {
margin: 12px auto;
border-radius: 10px;
}
.search-container{
width: 750px;
margin: 0 auto;
}
}
@media (max-width:767px){
.o_form_view .o_group{
width:100% !important;
}
.dropdown-menu.show {
display: block;
border-radius:0;
}
.o_control_panel .breadcrumb > li {
display: inline-block;
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: top;
}
.o_control_panel .o_cp_top_right {
min-height: 30px;
max-width: 100%;
margin-left: 10%;
}
.o_form_view .o_form_sheet_bg > .o_form_sheet {
min-width: 100%;
max-width: 100%;
min-height: 100%;
border: 1px solid #c8c8d3;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
background: white;
margin: 4.8px auto;
padding: 24px;
padding-right: 16px;
padding-left: 16px;
}
.oe_topbar_name{
display:none;
}
.nav-container {
/*float: left;*/
position: relative;
width: 100vw !important;
/*height: 100%;*/
/*background: #fff;*/
display: flex;
/* justify-content: start; */
align-items: start;
margin-top: 2rem;
}
.o_cp_top{
flex-wrap: wrap !important;
}
.o_cp_top_left, .o_cp_searchview{
width: 100%;
}
.o_cp_top_right{
width: 100%;
margin: 1.5rem auto;
margin-left: 0 !important;
}
//Search Panel
.o_content o_controller_with_searchpanel, .o_controller_with_searchpanel{
display:flex !important;
flex-direction: column !important;
}
.o_search_panel{
display: flex;
overflow-x: auto;
overflow-y: auto;
height: 200px;
width: 100%;
section{
margin-right: 1rem;
}
}
.o_search_panel section {
width: 100% !important;
}
.o_setting_container{
display: flex;
flex-direction: column;
}
.settings_tab{
display: flex;
flex-direction: row !important;
overflow-x: auto;
height: 40px;
}
.settings{
margin-top: 1.5rem;
}
}
//@media(max-width:716px){
//html .o_web_client > .o_action_manager > .o_action > .o_content{
// overflow-x: hidden !important;
// }
//}
@media (max-width:524px){
.o_control_panel .o_cp_bottom_right > .o_cp_pager
{
margin-top:5px;
}
div.app-menu *::before{
box-sizing:none;
}
div.app-menu *::after{
box-sizing:none;
}
}
@media (max-width:493px){
.o_control_panel .o_cp_bottom_left > .o_cp_action_menus {
margin-left: 0px;
padding-right: 10px;
}
}
#wrapwrap > main {
background: #f8f8fb;
}
.navbar {
background: #fff !important;
}
body {
font-family: 'Poppins', sans-serif !important;
}
body.bg-100 {
background-color: #000000 !important;
}
.card.o_database_list {
align-items: center;
max-width: 450px !important
}
.card.o_database_list .card-body {
background-color: #fff !important;
border-radius: 5px !important;
-webkit-box-shadow: 0 0.75rem 1.5rem rgba(18,38,63,.03) !important;
box-shadow: 0 0.75rem 1.5rem rgba(18,38,63, .03) !important;
width: 450px;
}
.o_main_navbar .o_menu_sections {
flex-wrap: w
}
a {
color: #556ee6;
text-decoration: none;
}
a:hover {
color: #4458b8;
text-decoration: underline;
}
.alert-info {
color: #306391;
background-color: #dcedfc;
border-color: #cbe4fb;
}
.oe_login_form button.btn-link {
color: #495057;
font-weight: 500;
font-size: 14px !important;
}
.oe_login_form button.btn-link:hover {
color: #171a1c;
}
//login button starts
.btn-primary {
color: #fff;
background-color: #556ee6;
border-color: #556ee6;
}
.btn-primary:hover {
color: #fff;
background-color: #485ec4;
border-color: #4458b8;
}
.btn-check:active+.btn-primary,
.btn-check:checked+.btn-primary,
.btn-primary.active,.btn-primary:active,
.show>.btn-primary.dropdown-toggle {
color: #fff;
background-color: #4458b8 !important;
border-color: #4053ad !important;
}
.btn-check:focus+.btn-primary, .btn-primary:focus {
color: #fff;
background-color: #485ec4 !important;
border-color: #4458b8 !important;
-webkit-box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
box-shadow: 0 0 0 .15rem rgba(111,132,234,.5) !important;
}
.oe_login_form .btn {
display: inline-block;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
padding: .47rem .75rem;
border-radius: .25rem;
-webkit-transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
}
.btn-secondary {
color: #fff !important;
background-color: #74788d !important;
border-color: #74788d !important;
}
.btn-secondary:hover {
color: #fff !important;
background-color: #636678 !important;
border-color: #5d6071 !important;
}
.btn-secondary:active {
color: #fff;
background-color: #5d6071 !important;
border-color: #575a6a !important;
}
.btn-secondary i,.btn-secondary span {
color: #fff !important;
}
.btn-fill-secondary:focus, .btn-secondary:focus, .btn-fill-secondary.focus, .focus.btn-secondary {
box-shadow: none !important;
}
//login button ends
//input starts
.oe_login_form input {
display: block;
width: 100%;
height: 40px !important;
padding: 10px 20px;
font-size: 13px;
font-weight: 400;
line-height: 1.5;
color: #495057;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da !important;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: .25rem;
-webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
box-shadow: none !important;
margin-bottom:10px !important;
}
form label {
font-weight: 400 !important;
}
.oe_login_form a.btn.btn-secondary {
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.35rem 0.75rem;
}
.oe_login_form a.btn.btn-secondary i.fa.fa-database {
margin-left: 5px;
}
\ No newline at end of file
#sidebar_panel {
height: calc(100% - 0%);
position: fixed;
background-color: var(--app-bar-accent);
width: 50px;
overflow-y: scroll;
-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
scrollbar-width: none; /* Hide scrollbar for Firefox */
z-index: 999;
}
#sidebar_panel::-webkit-scrollbar {
display: none; /* Hide scrollbar for Chrome, Safari and Opera */
}
.sidebar_panel .sidebar {
padding: 0;
white-space: nowrap;
padding-bottom: 20px;
padding-top: 5px;
}
.sidebar_panel .sidebar .sidebar_menu {
list-style: none;
margin: 0;
padding: 0;
}
.sidebar_panel .sidebar .sidebar_menu li {
margin: 0;
padding: 0;
border: 0px;
display: block;
/*margin-bottom:5px;*/
}
.sidebar_panel .sidebar .sidebar_menu li a {
margin: 0;
border: 0px;
display: block;
cursor: pointer;
overflow: hidden;
color: #ffffff;
font-size: 13px;
transition:.3s all;
}
.sidebar_panel .sidebar .sidebar_menu li:hover a {
background: var(--secoundary-hover) !important;
color: #fff;
}
.sidebar_panel .sidebar .sidebar_menu li a .sidebar_img {
width: 30px;
border-radius:5px;
}
html .o_web_client > .o_action_manager{
margin-left:50px;
}
.sidebar_panel .sidebar .sidebar_menu li .nav-link {
padding:10px 10px 10px 10px;
}
\ No newline at end of file
<odoo>
<record id="res_config_cam" model="ir.ui.view">
<field name="name">res.config.jazzy.backend.theme</field>
<field name="model">res.config.settings</field>
<field name="priority" eval="90"/>
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@id='companies']" position='after'>
<h2>jazzy Backend Theme</h2>
<div class="row mt16 o_settings_container" name="barcode_scanner_using_cam">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<!-- <field name="theme_background"/>-->
</div>
<div class="o_setting_right_pane">
<label string="Background Image" for="theme_background" class="ml-4" required="1"/>
<field name="theme_background" widget="image"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="app_bar_color" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="App Bar Background Color" for="app_bar_color"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="appbar_text" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="AppMenu Text color" for="appbar_text"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="secoundary_hover" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="AppBar Hover color" for="secoundary_hover"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="primary_accent" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Navbar Background Color" for="primary_accent"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="secondary_accent" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Primary Border Color" for="secondary_accent"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="kanban_bg_color" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Kanban Background Color" for="kanban_bg_color"/>
<div class="text-muted">
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="primary_hover" widget="color"/>
</div>
<div class="o_setting_right_pane">
<label string="Primary Button Hover" for="primary_hover"/>
<div class="text-muted">
</div>
</div>
</div>
<!-- <div class="col-xs-12 col-md-6 o_setting_box">-->
<!-- <div class="o_setting_left_pane">-->
<!-- </div>-->
<!-- <div class="o_setting_right_pane">-->
<!-- <label string="Light Hover color" for="light_hover"/>-->
<!-- <field name="light_hover" widget="color"/>-->
<!-- <div class="text-muted">-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</xpath>
</field>
</record>
</odoo>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template id="code_custom_layout" inherit_id="web.layout" name="Custom Layout">
<xpath expr="//meta[@content='IE=edge,chrome=1']" position="after">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&amp;display=swap" rel="stylesheet"/>
</xpath>
</template>
</odoo>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment