

/* <inline asset> */
@charset "UTF-8";


/* /web/static/src/scss/functions.scss */



/* /web/static/src/scss/primary_variables_print.scss */



/* /web/static/src/views/kanban/kanban.print_variables.scss */



/* /web/static/lib/bootstrap/scss/_functions.scss */



/* /web/static/lib/bootstrap/scss/_mixins.scss */



/* /web/static/src/scss/mixins_forwardport.scss */



/* /web/static/src/scss/bs_mixins_overrides.scss */

.o_report_reception .bg-dark-light h1, .o_colored_level .o_report_reception .bg-dark-light h1, .o_report_reception .bg-light-light h1, .o_colored_level .o_report_reception .bg-light-light h1, .o_report_reception .bg-danger-light h1, .o_colored_level .o_report_reception .bg-danger-light h1, .o_report_reception .bg-warning-light h1, .o_colored_level .o_report_reception .bg-warning-light h1, .o_report_reception .bg-info-light h1, .o_colored_level .o_report_reception .bg-info-light h1, .o_report_reception .bg-success-light h1, .o_colored_level .o_report_reception .bg-success-light h1, .o_report_reception .bg-secondary-light h1, .o_colored_level .o_report_reception .bg-secondary-light h1, .o_report_reception .bg-primary-light h1, .o_colored_level .o_report_reception .bg-primary-light h1, .o_cc5 h1, .o_colored_level .o_cc5 h1, .o_cc4 h1, .o_colored_level .o_cc4 h1, .o_cc3 h1, .o_colored_level .o_cc3 h1, .o_cc2 h1, .o_colored_level .o_cc2 h1, .o_cc1 h1, .o_colored_level .o_cc1 h1, .bg-o-color-5 h1, .o_colored_level .bg-o-color-5 h1, .bg-o-color-4 h1, .o_colored_level .bg-o-color-4 h1, .bg-o-color-3 h1, .o_colored_level .bg-o-color-3 h1, .bg-o-color-2 h1, .o_colored_level .bg-o-color-2 h1, .bg-o-color-1 h1, .o_colored_level .bg-o-color-1 h1, .bg-dark-light h1, .o_colored_level .bg-dark-light h1, .bg-light-light h1, .o_colored_level .bg-light-light h1, .bg-danger-light h1, .o_colored_level .bg-danger-light h1, .bg-warning-light h1, .o_colored_level .bg-warning-light h1, .bg-info-light h1, .o_colored_level .bg-info-light h1, .bg-success-light h1, .o_colored_level .bg-success-light h1, .bg-secondary-light h1, .o_colored_level .bg-secondary-light h1, .bg-primary-light h1, .o_colored_level .bg-primary-light h1, .o_report_reception .bg-dark-light .h1, .o_colored_level .o_report_reception .bg-dark-light .h1, .o_report_reception .bg-light-light .h1, .o_colored_level .o_report_reception .bg-light-light .h1, .o_report_reception .bg-danger-light .h1, .o_colored_level .o_report_reception .bg-danger-light .h1, .o_report_reception .bg-warning-light .h1, .o_colored_level .o_report_reception .bg-warning-light .h1, .o_report_reception .bg-info-light .h1, .o_colored_level .o_report_reception .bg-info-light .h1, .o_report_reception .bg-success-light .h1, .o_colored_level .o_report_reception .bg-success-light .h1, .o_report_reception .bg-secondary-light .h1, .o_colored_level .o_report_reception .bg-secondary-light .h1, .o_report_reception .bg-primary-light .h1, .o_colored_level .o_report_reception .bg-primary-light .h1, .o_cc5 .h1, .o_colored_level .o_cc5 .h1, .o_cc4 .h1, .o_colored_level .o_cc4 .h1, .o_cc3 .h1, .o_colored_level .o_cc3 .h1, .o_cc2 .h1, .o_colored_level .o_cc2 .h1, .o_cc1 .h1, .o_colored_level .o_cc1 .h1, .bg-o-color-5 .h1, .o_colored_level .bg-o-color-5 .h1, .bg-o-color-4 .h1, .o_colored_level .bg-o-color-4 .h1, .bg-o-color-3 .h1, .o_colored_level .bg-o-color-3 .h1, .bg-o-color-2 .h1, .o_colored_level .bg-o-color-2 .h1, .bg-o-color-1 .h1, .o_colored_level .bg-o-color-1 .h1, .bg-dark-light .h1, .o_colored_level .bg-dark-light .h1, .bg-light-light .h1, .o_colored_level .bg-light-light .h1, .bg-danger-light .h1, .o_colored_level .bg-danger-light .h1, .bg-warning-light .h1, .o_colored_level .bg-warning-light .h1, .bg-info-light .h1, .bg-success-light .h1, .bg-secondary-light .h1, .bg-primary-light .h1, .o_report_reception .bg-dark-light h2, .o_colored_level .o_report_reception .bg-dark-light h2, .o_report_reception .bg-light-light h2, .o_colored_level .o_report_reception .bg-light-light h2, .o_report_reception .bg-danger-light h2, .o_colored_level .o_report_reception .bg-danger-light h2, .o_report_reception .bg-warning-light h2, .o_colored_level .o_report_reception .bg-warning-light h2, .o_report_reception .bg-info-light h2, .o_colored_level .o_report_reception .bg-info-light h2, .o_report_reception .bg-success-light h2, .o_colored_level .o_report_reception .bg-success-light h2, .o_report_reception .bg-secondary-light h2, .o_colored_level .o_report_reception .bg-secondary-light h2, .o_report_reception .bg-primary-light h2, .o_colored_level .o_report_reception .bg-primary-light h2, .o_cc5 h2, .o_colored_level .o_cc5 h2, .o_cc4 h2, .o_colored_level .o_cc4 h2, .o_cc3 h2, .o_colored_level .o_cc3 h2, .o_cc2 h2, .o_colored_level .o_cc2 h2, .o_cc1 h2, .o_colored_level .o_cc1 h2, .bg-o-color-5 h2, .o_colored_level .bg-o-color-5 h2, .bg-o-color-4 h2, .o_colored_level .bg-o-color-4 h2, .bg-o-color-3 h2, .o_colored_level .bg-o-color-3 h2, .bg-o-color-2 h2, .o_colored_level .bg-o-color-2 h2, .bg-o-color-1 h2, .o_colored_level .bg-o-color-1 h2, .bg-dark-light h2, .o_colored_level .bg-dark-light h2, .bg-light-light h2, .o_colored_level .bg-light-light h2, .bg-danger-light h2, .o_colored_level .bg-danger-light h2, .bg-warning-light h2, .o_colored_level .bg-warning-light h2, .bg-info-light h2, .o_colored_level .bg-info-light h2, .bg-success-light h2, .o_colored_level .bg-success-light h2, .bg-secondary-light h2, .o_colored_level .bg-secondary-light h2, .bg-primary-light h2, .o_colored_level .bg-primary-light h2, .o_report_reception .bg-dark-light .h2, .o_colored_level .o_report_reception .bg-dark-light .h2, .o_report_reception .bg-light-light .h2, .o_colored_level .o_report_reception .bg-light-light .h2, .o_report_reception .bg-danger-light .h2, .o_colored_level .o_report_reception .bg-danger-light .h2, .o_report_reception .bg-warning-light .h2, .o_colored_level .o_report_reception .bg-warning-light .h2, .o_report_reception .bg-info-light .h2, .o_colored_level .o_report_reception .bg-info-light .h2, .o_report_reception .bg-success-light .h2, .o_colored_level .o_report_reception .bg-success-light .h2, .o_report_reception .bg-secondary-light .h2, .o_colored_level .o_report_reception .bg-secondary-light .h2, .o_report_reception .bg-primary-light .h2, .o_colored_level .o_report_reception .bg-primary-light .h2, .o_cc5 .h2, .o_colored_level .o_cc5 .h2, .o_cc4 .h2, .o_colored_level .o_cc4 .h2, .o_cc3 .h2, .o_colored_level .o_cc3 .h2, .o_cc2 .h2, .o_colored_level .o_cc2 .h2, .o_cc1 .h2, .o_colored_level .o_cc1 .h2, .bg-o-color-5 .h2, .o_colored_level .bg-o-color-5 .h2, .bg-o-color-4 .h2, .o_colored_level .bg-o-color-4 .h2, .bg-o-color-3 .h2, .o_colored_level .bg-o-color-3 .h2, .bg-o-color-2 .h2, .o_colored_level .bg-o-color-2 .h2, .bg-o-color-1 .h2, .o_colored_level .bg-o-color-1 .h2, .bg-dark-light .h2, .o_colored_level .bg-dark-light .h2, .bg-light-light .h2, .o_colored_level .bg-light-light .h2, .bg-danger-light .h2, .o_colored_level .bg-danger-light .h2, .bg-warning-light .h2, .o_colored_level .bg-warning-light .h2, .bg-info-light .h2, .bg-success-light .h2, .bg-secondary-light .h2, .bg-primary-light .h2, .o_report_reception .bg-dark-light h3, .o_colored_level .o_report_reception .bg-dark-light h3, .o_report_reception .bg-light-light h3, .o_colored_level .o_report_reception .bg-light-light h3, .o_report_reception .bg-danger-light h3, .o_colored_level .o_report_reception .bg-danger-light h3, .o_report_reception .bg-warning-light h3, .o_colored_level .o_report_reception .bg-warning-light h3, .o_report_reception .bg-info-light h3, .o_colored_level .o_report_reception .bg-info-light h3, .o_report_reception .bg-success-light h3, .o_colored_level .o_report_reception .bg-success-light h3, .o_report_reception .bg-secondary-light h3, .o_colored_level .o_report_reception .bg-secondary-light h3, .o_report_reception .bg-primary-light h3, .o_colored_level .o_report_reception .bg-primary-light h3, .o_cc5 h3, .o_colored_level .o_cc5 h3, .o_cc4 h3, .o_colored_level .o_cc4 h3, .o_cc3 h3, .o_colored_level .o_cc3 h3, .o_cc2 h3, .o_colored_level .o_cc2 h3, .o_cc1 h3, .o_colored_level .o_cc1 h3, .bg-o-color-5 h3, .o_colored_level .bg-o-color-5 h3, .bg-o-color-4 h3, .o_colored_level .bg-o-color-4 h3, .bg-o-color-3 h3, .o_colored_level .bg-o-color-3 h3, .bg-o-color-2 h3, .o_colored_level .bg-o-color-2 h3, .bg-o-color-1 h3, .o_colored_level .bg-o-color-1 h3, .bg-dark-light h3, .o_colored_level .bg-dark-light h3, .bg-light-light h3, .o_colored_level .bg-light-light h3, .bg-danger-light h3, .o_colored_level .bg-danger-light h3, .bg-warning-light h3, .o_colored_level .bg-warning-light h3, .bg-info-light h3, .o_colored_level .bg-info-light h3, .bg-success-light h3, .o_colored_level .bg-success-light h3, .bg-secondary-light h3, .o_colored_level .bg-secondary-light h3, .bg-primary-light h3, .o_colored_level .bg-primary-light h3, .o_report_reception .bg-dark-light .h3, .o_colored_level .o_report_reception .bg-dark-light .h3, .o_report_reception .bg-light-light .h3, .o_colored_level .o_report_reception .bg-light-light .h3, .o_report_reception .bg-danger-light .h3, .o_colored_level .o_report_reception .bg-danger-light .h3, .o_report_reception .bg-warning-light .h3, .o_colored_level .o_report_reception .bg-warning-light .h3, .o_report_reception .bg-info-light .h3, .o_colored_level .o_report_reception .bg-info-light .h3, .o_report_reception .bg-success-light .h3, .o_colored_level .o_report_reception .bg-success-light .h3, .o_report_reception .bg-secondary-light .h3, .o_colored_level .o_report_reception .bg-secondary-light .h3, .o_report_reception .bg-primary-light .h3, .o_colored_level .o_report_reception .bg-primary-light .h3, .o_cc5 .h3, .o_colored_level .o_cc5 .h3, .o_cc4 .h3, .o_colored_level .o_cc4 .h3, .o_cc3 .h3, .o_colored_level .o_cc3 .h3, .o_cc2 .h3, .o_colored_level .o_cc2 .h3, .o_cc1 .h3, .o_colored_level .o_cc1 .h3, .bg-o-color-5 .h3, .o_colored_level .bg-o-color-5 .h3, .bg-o-color-4 .h3, .o_colored_level .bg-o-color-4 .h3, .bg-o-color-3 .h3, .o_colored_level .bg-o-color-3 .h3, .bg-o-color-2 .h3, .o_colored_level .bg-o-color-2 .h3, .bg-o-color-1 .h3, .o_colored_level .bg-o-color-1 .h3, .bg-dark-light .h3, .o_colored_level .bg-dark-light .h3, .bg-light-light .h3, .o_colored_level .bg-light-light .h3, .bg-danger-light .h3, .o_colored_level .bg-danger-light .h3, .bg-warning-light .h3, .o_colored_level .bg-warning-light .h3, .bg-info-light .h3, .bg-success-light .h3, .bg-secondary-light .h3, .bg-primary-light .h3, .o_report_reception .bg-dark-light h4, .o_colored_level .o_report_reception .bg-dark-light h4, .o_report_reception .bg-light-light h4, .o_colored_level .o_report_reception .bg-light-light h4, .o_report_reception .bg-danger-light h4, .o_colored_level .o_report_reception .bg-danger-light h4, .o_report_reception .bg-warning-light h4, .o_colored_level .o_report_reception .bg-warning-light h4, .o_report_reception .bg-info-light h4, .o_colored_level .o_report_reception .bg-info-light h4, .o_report_reception .bg-success-light h4, .o_colored_level .o_report_reception .bg-success-light h4, .o_report_reception .bg-secondary-light h4, .o_colored_level .o_report_reception .bg-secondary-light h4, .o_report_reception .bg-primary-light h4, .o_colored_level .o_report_reception .bg-primary-light h4, .o_cc5 h4, .o_colored_level .o_cc5 h4, .o_cc4 h4, .o_colored_level .o_cc4 h4, .o_cc3 h4, .o_colored_level .o_cc3 h4, .o_cc2 h4, .o_colored_level .o_cc2 h4, .o_cc1 h4, .o_colored_level .o_cc1 h4, .bg-o-color-5 h4, .o_colored_level .bg-o-color-5 h4, .bg-o-color-4 h4, .o_colored_level .bg-o-color-4 h4, .bg-o-color-3 h4, .o_colored_level .bg-o-color-3 h4, .bg-o-color-2 h4, .o_colored_level .bg-o-color-2 h4, .bg-o-color-1 h4, .o_colored_level .bg-o-color-1 h4, .bg-dark-light h4, .o_colored_level .bg-dark-light h4, .bg-light-light h4, .o_colored_level .bg-light-light h4, .bg-danger-light h4, .o_colored_level .bg-danger-light h4, .bg-warning-light h4, .o_colored_level .bg-warning-light h4, .bg-info-light h4, .o_colored_level .bg-info-light h4, .bg-success-light h4, .o_colored_level .bg-success-light h4, .bg-secondary-light h4, .o_colored_level .bg-secondary-light h4, .bg-primary-light h4, .o_colored_level .bg-primary-light h4, .o_report_reception .bg-dark-light .h4, .o_colored_level .o_report_reception .bg-dark-light .h4, .o_report_reception .bg-light-light .h4, .o_colored_level .o_report_reception .bg-light-light .h4, .o_report_reception .bg-danger-light .h4, .o_colored_level .o_report_reception .bg-danger-light .h4, .o_report_reception .bg-warning-light .h4, .o_colored_level .o_report_reception .bg-warning-light .h4, .o_report_reception .bg-info-light .h4, .o_colored_level .o_report_reception .bg-info-light .h4, .o_report_reception .bg-success-light .h4, .o_colored_level .o_report_reception .bg-success-light .h4, .o_report_reception .bg-secondary-light .h4, .o_colored_level .o_report_reception .bg-secondary-light .h4, .o_report_reception .bg-primary-light .h4, .o_colored_level .o_report_reception .bg-primary-light .h4, .o_cc5 .h4, .o_colored_level .o_cc5 .h4, .o_cc4 .h4, .o_colored_level .o_cc4 .h4, .o_cc3 .h4, .o_colored_level .o_cc3 .h4, .o_cc2 .h4, .o_colored_level .o_cc2 .h4, .o_cc1 .h4, .o_colored_level .o_cc1 .h4, .bg-o-color-5 .h4, .o_colored_level .bg-o-color-5 .h4, .bg-o-color-4 .h4, .o_colored_level .bg-o-color-4 .h4, .bg-o-color-3 .h4, .o_colored_level .bg-o-color-3 .h4, .bg-o-color-2 .h4, .o_colored_level .bg-o-color-2 .h4, .bg-o-color-1 .h4, .o_colored_level .bg-o-color-1 .h4, .bg-dark-light .h4, .o_colored_level .bg-dark-light .h4, .bg-light-light .h4, .o_colored_level .bg-light-light .h4, .bg-danger-light .h4, .o_colored_level .bg-danger-light .h4, .bg-warning-light .h4, .o_colored_level .bg-warning-light .h4, .bg-info-light .h4, .bg-success-light .h4, .bg-secondary-light .h4, .bg-primary-light .h4, .o_report_reception .bg-dark-light h5, .o_colored_level .o_report_reception .bg-dark-light h5, .o_report_reception .bg-light-light h5, .o_colored_level .o_report_reception .bg-light-light h5, .o_report_reception .bg-danger-light h5, .o_colored_level .o_report_reception .bg-danger-light h5, .o_report_reception .bg-warning-light h5, .o_colored_level .o_report_reception .bg-warning-light h5, .o_report_reception .bg-info-light h5, .o_colored_level .o_report_reception .bg-info-light h5, .o_report_reception .bg-success-light h5, .o_colored_level .o_report_reception .bg-success-light h5, .o_report_reception .bg-secondary-light h5, .o_colored_level .o_report_reception .bg-secondary-light h5, .o_report_reception .bg-primary-light h5, .o_colored_level .o_report_reception .bg-primary-light h5, .o_cc5 h5, .o_colored_level .o_cc5 h5, .o_cc4 h5, .o_colored_level .o_cc4 h5, .o_cc3 h5, .o_colored_level .o_cc3 h5, .o_cc2 h5, .o_colored_level .o_cc2 h5, .o_cc1 h5, .o_colored_level .o_cc1 h5, .bg-o-color-5 h5, .o_colored_level .bg-o-color-5 h5, .bg-o-color-4 h5, .o_colored_level .bg-o-color-4 h5, .bg-o-color-3 h5, .o_colored_level .bg-o-color-3 h5, .bg-o-color-2 h5, .o_colored_level .bg-o-color-2 h5, .bg-o-color-1 h5, .o_colored_level .bg-o-color-1 h5, .bg-dark-light h5, .o_colored_level .bg-dark-light h5, .bg-light-light h5, .o_colored_level .bg-light-light h5, .bg-danger-light h5, .o_colored_level .bg-danger-light h5, .bg-warning-light h5, .o_colored_level .bg-warning-light h5, .bg-info-light h5, .o_colored_level .bg-info-light h5, .bg-success-light h5, .o_colored_level .bg-success-light h5, .bg-secondary-light h5, .o_colored_level .bg-secondary-light h5, .bg-primary-light h5, .o_colored_level .bg-primary-light h5, .o_report_reception .bg-dark-light .h5, .o_colored_level .o_report_reception .bg-dark-light .h5, .o_report_reception .bg-light-light .h5, .o_colored_level .o_report_reception .bg-light-light .h5, .o_report_reception .bg-danger-light .h5, .o_colored_level .o_report_reception .bg-danger-light .h5, .o_report_reception .bg-warning-light .h5, .o_colored_level .o_report_reception .bg-warning-light .h5, .o_report_reception .bg-info-light .h5, .o_colored_level .o_report_reception .bg-info-light .h5, .o_report_reception .bg-success-light .h5, .o_colored_level .o_report_reception .bg-success-light .h5, .o_report_reception .bg-secondary-light .h5, .o_colored_level .o_report_reception .bg-secondary-light .h5, .o_report_reception .bg-primary-light .h5, .o_colored_level .o_report_reception .bg-primary-light .h5, .o_cc5 .h5, .o_colored_level .o_cc5 .h5, .o_cc4 .h5, .o_colored_level .o_cc4 .h5, .o_cc3 .h5, .o_colored_level .o_cc3 .h5, .o_cc2 .h5, .o_colored_level .o_cc2 .h5, .o_cc1 .h5, .o_colored_level .o_cc1 .h5, .bg-o-color-5 .h5, .o_colored_level .bg-o-color-5 .h5, .bg-o-color-4 .h5, .o_colored_level .bg-o-color-4 .h5, .bg-o-color-3 .h5, .o_colored_level .bg-o-color-3 .h5, .bg-o-color-2 .h5, .o_colored_level .bg-o-color-2 .h5, .bg-o-color-1 .h5, .o_colored_level .bg-o-color-1 .h5, .bg-dark-light .h5, .o_colored_level .bg-dark-light .h5, .bg-light-light .h5, .o_colored_level .bg-light-light .h5, .bg-danger-light .h5, .o_colored_level .bg-danger-light .h5, .bg-warning-light .h5, .o_colored_level .bg-warning-light .h5, .bg-info-light .h5, .bg-success-light .h5, .bg-secondary-light .h5, .bg-primary-light .h5, .o_report_reception .bg-dark-light h6, .o_colored_level .o_report_reception .bg-dark-light h6, .o_report_reception .bg-light-light h6, .o_colored_level .o_report_reception .bg-light-light h6, .o_report_reception .bg-danger-light h6, .o_colored_level .o_report_reception .bg-danger-light h6, .o_report_reception .bg-warning-light h6, .o_colored_level .o_report_reception .bg-warning-light h6, .o_report_reception .bg-info-light h6, .o_colored_level .o_report_reception .bg-info-light h6, .o_report_reception .bg-success-light h6, .o_colored_level .o_report_reception .bg-success-light h6, .o_report_reception .bg-secondary-light h6, .o_colored_level .o_report_reception .bg-secondary-light h6, .o_report_reception .bg-primary-light h6, .o_colored_level .o_report_reception .bg-primary-light h6, .o_cc5 h6, .o_colored_level .o_cc5 h6, .o_cc4 h6, .o_colored_level .o_cc4 h6, .o_cc3 h6, .o_colored_level .o_cc3 h6, .o_cc2 h6, .o_colored_level .o_cc2 h6, .o_cc1 h6, .o_colored_level .o_cc1 h6, .bg-o-color-5 h6, .o_colored_level .bg-o-color-5 h6, .bg-o-color-4 h6, .o_colored_level .bg-o-color-4 h6, .bg-o-color-3 h6, .o_colored_level .bg-o-color-3 h6, .bg-o-color-2 h6, .o_colored_level .bg-o-color-2 h6, .bg-o-color-1 h6, .o_colored_level .bg-o-color-1 h6, .bg-dark-light h6, .o_colored_level .bg-dark-light h6, .bg-light-light h6, .o_colored_level .bg-light-light h6, .bg-danger-light h6, .o_colored_level .bg-danger-light h6, .bg-warning-light h6, .o_colored_level .bg-warning-light h6, .bg-info-light h6, .o_colored_level .bg-info-light h6, .bg-success-light h6, .o_colored_level .bg-success-light h6, .bg-secondary-light h6, .o_colored_level .bg-secondary-light h6, .bg-primary-light h6, .o_colored_level .bg-primary-light h6, .o_report_reception .bg-dark-light .h6, .o_colored_level .o_report_reception .bg-dark-light .h6, .o_report_reception .bg-light-light .h6, .o_colored_level .o_report_reception .bg-light-light .h6, .o_report_reception .bg-danger-light .h6, .o_colored_level .o_report_reception .bg-danger-light .h6, .o_report_reception .bg-warning-light .h6, .o_colored_level .o_report_reception .bg-warning-light .h6, .o_report_reception .bg-info-light .h6, .o_colored_level .o_report_reception .bg-info-light .h6, .o_report_reception .bg-success-light .h6, .o_colored_level .o_report_reception .bg-success-light .h6, .o_report_reception .bg-secondary-light .h6, .o_colored_level .o_report_reception .bg-secondary-light .h6, .o_report_reception .bg-primary-light .h6, .o_colored_level .o_report_reception .bg-primary-light .h6, .o_cc5 .h6, .o_colored_level .o_cc5 .h6, .o_cc4 .h6, .o_colored_level .o_cc4 .h6, .o_cc3 .h6, .o_colored_level .o_cc3 .h6, .o_cc2 .h6, .o_colored_level .o_cc2 .h6, .o_cc1 .h6, .o_colored_level .o_cc1 .h6, .bg-o-color-5 .h6, .o_colored_level .bg-o-color-5 .h6, .bg-o-color-4 .h6, .o_colored_level .bg-o-color-4 .h6, .bg-o-color-3 .h6, .o_colored_level .bg-o-color-3 .h6, .bg-o-color-2 .h6, .o_colored_level .bg-o-color-2 .h6, .bg-o-color-1 .h6, .o_colored_level .bg-o-color-1 .h6, .bg-dark-light .h6, .o_colored_level .bg-dark-light .h6, .bg-light-light .h6, .o_colored_level .bg-light-light .h6, .bg-danger-light .h6, .o_colored_level .bg-danger-light .h6, .bg-warning-light .h6, .o_colored_level .bg-warning-light .h6, .bg-info-light .h6, .bg-success-light .h6, .bg-secondary-light .h6, .bg-primary-light .h6 {
  color: inherit;
}



/* /web/static/src/scss/utils.scss */

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_cell.o_we_image .o_we_media_dialog_img_wrapper, .o_colorpicker_widget .o_opacity_slider, .o_colorpicker_widget .o_color_preview {
  position: relative;
  z-index: 0;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_cell.o_we_image .o_we_media_dialog_img_wrapper::before, .o_colorpicker_widget .o_opacity_slider::before, .o_colorpicker_widget .o_color_preview::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-image: url("/web/static/img/transparent.png");
  background-size: 10px auto;
  border-radius: inherit;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_cell.o_we_image .o_we_media_dialog_img_wrapper::after, .o_colorpicker_widget .o_opacity_slider::after, .o_colorpicker_widget .o_color_preview::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  background: inherit;
  border-radius: inherit;
}

.o_nocontent_help .o_view_nocontent_smiling_face.o_view_nocontent_stock:before, .o_view_nocontent_replenishment:before, .o_view_nocontent_barcode_scanner:before, .o_view_nocontent .o_view_nocontent_multi_ledger, .o_view_nocontent .o_nocontent_help .o_view_nocontent_neutral_face:before, .o_view_nocontent .o_nocontent_help .o_view_nocontent_smiling_face:before, .o_nocontent_help .o_empty_folder_image:before, .o_view_nocontent .o_nocontent_help .o_view_nocontent_empty_folder:before {
  content: "";
  display: block;
  margin: auto;
  background-size: cover;
}

.o_nocontent_help .o_empty_folder_image:before, .o_view_nocontent .o_nocontent_help .o_view_nocontent_empty_folder:before {
  width: 120px;
  height: 80px;
  margin-top: 30px;
  margin-bottom: 30px;
  background: transparent url(/web/static/img/empty_folder.svg) no-repeat center;
}



/* /web_enterprise/static/src/scss/primary_variables.scss */



/* /web/static/src/scss/primary_variables.scss */



/* /web_enterprise/static/src/webclient/home_menu/home_menu.variables.scss */



/* /web_enterprise/static/src/webclient/navbar/navbar.variables.scss */



/* /web/static/src/core/avatar/avatar.variables.scss */



/* /web/static/src/core/notifications/notification.variables.scss */



/* /web/static/src/search/control_panel/control_panel.variables.scss */



/* /web/static/src/search/search_bar/search_bar.variables.scss */



/* /web/static/src/search/search_panel/search_panel.variables.scss */



/* /web/static/src/views/fields/statusbar/statusbar_field.variables.scss */



/* /web/static/src/views/fields/translation_button.variables.scss */



/* /web/static/src/views/form/form.variables.scss */



/* /web/static/src/views/kanban/kanban.variables.scss */



/* /web/static/src/webclient/burger_menu/burger_menu.variables.scss */



/* /web/static/src/webclient/navbar/navbar.variables.scss */

.o_main_navbar .o_menu_brand, .o_main_navbar .o_navbar_apps_menu .dropdown-toggle, .o_main_navbar .o_nav_entry, .o_main_navbar .dropdown-toggle:not(.o-dropdown-toggle-custo), .o_main_navbar .o_menu_toggle {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  width: auto;
  height: calc(var(--o-navbar-height) - 20px);
  border-radius: 0.25rem;
  user-select: none;
  background: transparent;
  font-size: 1em;
  color: var(--NavBar-entry-color, #343a40);
}

.o_main_navbar .o_menu_brand:hover, .o_main_navbar .o_navbar_apps_menu .dropdown-toggle:hover, .o_main_navbar .o_nav_entry:hover, .o_main_navbar .dropdown-toggle:hover:not(.o-dropdown-toggle-custo), .o_main_navbar .o_menu_toggle:hover, .o_main_navbar .o_menu_brand:focus, .o_main_navbar .o_navbar_apps_menu .dropdown-toggle:focus, .o_main_navbar .o_nav_entry:focus, .o_main_navbar .dropdown-toggle:focus:not(.o-dropdown-toggle-custo), .o_main_navbar .o_menu_toggle:focus, .o_main_navbar .focus.o_menu_brand, .o_main_navbar .o_navbar_apps_menu .focus.dropdown-toggle, .o_main_navbar .focus.o_nav_entry, .o_main_navbar .focus.dropdown-toggle:not(.o-dropdown-toggle-custo), .o_main_navbar .focus.o_menu_toggle {
  color: var(--NavBar-entry-color--hover, #212529);
}

.o_main_navbar .o_menu_brand, .o_main_navbar .o_nav_entry, .o_main_navbar .dropdown-toggle:not(.o-dropdown-toggle-custo), .o_main_navbar .o_menu_toggle {
  margin: 0;
  margin-left: var(--NavBar-entry-margin-left, 1px);
  margin-right: var(--NavBar-entry-margin-right, 1px);
  padding: 0;
  padding-left: var(--NavBar-entry-padding-left, 0.63em);
  padding-right: var(--NavBar-entry-padding-right, 0.63em);
  line-height: calc(var(--o-navbar-height) - 20px);
}



/* /mail/static/src/core/common/primary_variables.scss */



/* /mail/static/src/scss/variables/primary_variables.scss */



/* /onboarding/static/src/scss/onboarding.variables.scss */



/* /web_editor/static/src/scss/web_editor.variables.scss */



/* /web_editor/static/src/scss/wysiwyg.variables.scss */



/* /portal/static/src/scss/primary_variables.scss */



/* /account/static/src/scss/variables.scss */

@keyframes animate-red {
  0% {
    color: red;
  }
  100% {
    color: inherit;
  }
}

.animate {
  animation: animate-red 1s ease;
}



/* /website/static/src/scss/primary_variables.scss */



/* /website/static/src/scss/options/user_values.scss */



/* /website/static/src/scss/options/colors/user_color_palette.scss */



/* /website/static/src/scss/options/colors/user_gray_color_palette.scss */



/* /website/static/src/scss/options/colors/user_theme_color_palette.scss */



/* /web_gantt/static/src/gantt_view.variables.scss */



/* /hr_org_chart/static/src/scss/variables.scss */



/* /website/static/src/snippets/s_badge/000_variables.scss */



/* /website/static/src/scss/secondary_variables.scss */



/* /web_enterprise/static/src/scss/secondary_variables.scss */



/* /web/static/src/scss/secondary_variables.scss */



/* /web_editor/static/src/scss/secondary_variables.scss */



/* /web_enterprise/static/src/scss/bootstrap_overridden.scss */



/* /web/static/src/scss/bootstrap_overridden.scss */

.user-select-none {
  -webkit-user-select: none !important;
}



/* /web/static/src/scss/bs_mixins_overrides_backend.scss */



/* /web_editor/static/src/scss/bootstrap_overridden_backend.scss */



/* /web_editor/static/src/scss/bootstrap_overridden.scss */



/* /web/static/src/scss/pre_variables.scss */



/* /web/static/lib/bootstrap/scss/_variables.scss */



/* /web/static/lib/bootstrap/scss/_variables-dark.scss */



/* /web/static/lib/bootstrap/scss/_maps.scss */



/* /web/static/src/scss/import_bootstrap.scss */

/*!
   * Bootstrap  v5.3.3 (https://getbootstrap.com/)
   * Copyright 2011-2024 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
:root,
[data-bs-theme="light"] {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #FFF;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --o-cc5-btn-secondary-border: ;
  --o-cc5-btn-secondary: #F3F2F2;
  --o-cc5-btn-primary-border: ;
  --o-cc5-btn-primary: ;
  --o-cc5-link: ;
  --o-cc5-h6: ;
  --o-cc5-h5: ;
  --o-cc5-h4: ;
  --o-cc5-h3: ;
  --o-cc5-h2: ;
  --o-cc5-headings: #FFFFFF;
  --o-cc5-text: ;
  --o-cc5-bg: #111827;
  --o-cc4-btn-secondary-border: ;
  --o-cc4-btn-secondary: #F3F2F2;
  --o-cc4-btn-primary-border: ;
  --o-cc4-btn-primary: #111827;
  --o-cc4-link: #111827;
  --o-cc4-h6: ;
  --o-cc4-h5: ;
  --o-cc4-h4: ;
  --o-cc4-h3: ;
  --o-cc4-h2: ;
  --o-cc4-headings: ;
  --o-cc4-text: ;
  --o-cc4-bg: #714B67;
  --o-cc3-btn-secondary-border: ;
  --o-cc3-btn-secondary: #F3F2F2;
  --o-cc3-btn-primary-border: ;
  --o-cc3-btn-primary: ;
  --o-cc3-link: ;
  --o-cc3-h6: ;
  --o-cc3-h5: ;
  --o-cc3-h4: ;
  --o-cc3-h3: ;
  --o-cc3-h2: ;
  --o-cc3-headings: ;
  --o-cc3-text: ;
  --o-cc3-bg: #2D3142;
  --o-cc2-btn-secondary-border: ;
  --o-cc2-btn-secondary: ;
  --o-cc2-btn-primary-border: ;
  --o-cc2-btn-primary: ;
  --o-cc2-link: ;
  --o-cc2-h6: ;
  --o-cc2-h5: ;
  --o-cc2-h4: ;
  --o-cc2-h3: ;
  --o-cc2-h2: ;
  --o-cc2-headings: #111827;
  --o-cc2-text: ;
  --o-cc2-bg: #F3F2F2;
  --o-cc1-btn-secondary-border: ;
  --o-cc1-btn-secondary: ;
  --o-cc1-btn-primary-border: ;
  --o-cc1-btn-primary: ;
  --o-cc1-link: ;
  --o-cc1-h6: ;
  --o-cc1-h5: ;
  --o-cc1-h4: ;
  --o-cc1-h3: ;
  --o-cc1-h2: ;
  --o-cc1-headings: ;
  --o-cc1-text: ;
  --o-cc1-bg: #FFFFFF;
  --copyright-custom: rgba(0, 0, 0, 0.15);
  --copyright: ;
  --footer-custom: ;
  --footer: #111827;
  --header-sales_four-custom: ;
  --header-sales_four: #FFFFFF;
  --header-sales_three-custom: ;
  --header-sales_three: #F3F2F2;
  --header-sales_two-custom: ;
  --header-sales_two: #111827;
  --header-sales_one-custom: ;
  --header-sales_one: #F3F2F2;
  --menu-border-color: ;
  --menu-custom: ;
  --menu: #FFFFFF;
  --input: ;
  --body: white;
  --o-color-5: #111827;
  --o-color-4: #FFFFFF;
  --o-color-3: #F3F2F2;
  --o-color-2: #2D3142;
  --o-color-1: #714B67;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --gray-white-85: rgba(255, 255, 255, 0.85);
  --gray-white-75: rgba(255, 255, 255, 0.75);
  --gray-white-50: rgba(255, 255, 255, 0.5);
  --gray-white-25: rgba(255, 255, 255, 0.25);
  --gray-black-75: rgba(0, 0, 0, 0.75);
  --gray-black-50: rgba(0, 0, 0, 0.5);
  --gray-black-25: rgba(0, 0, 0, 0.25);
  --gray-black-15: rgba(0, 0, 0, 0.15);
  --primary: #714B67;
  --secondary: #dee2e6;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #e99d00;
  --danger: #d44c59;
  --light: #FFF;
  --dark: #212529;
  --primary-rgb: 113, 75, 103;
  --secondary-rgb: 222, 226, 230;
  --success-rgb: 40, 167, 69;
  --info-rgb: 23, 162, 184;
  --warning-rgb: 233, 157, 0;
  --danger-rgb: 212, 76, 89;
  --light-rgb: 255, 255, 255;
  --dark-rgb: 33, 37, 41;
  --primary-text-emphasis: #2d1e29;
  --secondary-text-emphasis: #595a5c;
  --success-text-emphasis: #10431c;
  --info-text-emphasis: #09414a;
  --warning-text-emphasis: #5d3f00;
  --danger-text-emphasis: #551e24;
  --light-text-emphasis: #495057;
  --dark-text-emphasis: #495057;
  --primary-bg-subtle: #e3dbe1;
  --secondary-bg-subtle: #f8f9fa;
  --success-bg-subtle: #d4edda;
  --info-bg-subtle: #d1ecf1;
  --warning-bg-subtle: #fbebcc;
  --danger-bg-subtle: #f6dbde;
  --light-bg-subtle: #fcfcfd;
  --dark-bg-subtle: #ced4da;
  --primary-border-subtle: #c6b7c2;
  --secondary-border-subtle: #f2f3f5;
  --success-border-subtle: #a9dcb5;
  --info-border-subtle: #a2dae3;
  --warning-border-subtle: #f6d899;
  --danger-border-subtle: #eeb7bd;
  --light-border-subtle: #e9ecef;
  --dark-border-subtle: #adb5bd;
  --white-rgb: 255, 255, 255;
  --black-rgb: 0, 0, 0;
  --font-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, "Noto Sans", Arial, "Odoo Unicode Support Noto", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
  --body-font-family: var(--font-sans-serif);
  --body-font-size: 0.875rem;
  --body-font-weight: 400;
  --body-line-height: 1.3;
  --body-color: #343a40;
  --body-color-rgb: 52, 58, 64;
  --body-bg: #FFFFFF;
  --body-bg-rgb: 255, 255, 255;
  --emphasis-color: #000;
  --emphasis-color-rgb: 0, 0, 0;
  --secondary-color: rgba(52, 58, 64, 0.75);
  --secondary-color-rgb: 52, 58, 64;
  --secondary-bg: #e9ecef;
  --secondary-bg-rgb: 233, 236, 239;
  --tertiary-color: rgba(52, 58, 64, 0.5);
  --tertiary-color-rgb: 52, 58, 64;
  --tertiary-bg: #f8f9fa;
  --tertiary-bg-rgb: 248, 249, 250;
  --heading-color: #212529;
  --link-color: #017e84;
  --link-color-rgb: 1, 126, 132;
  --link-decoration: none;
  --link-hover-color: #01585c;
  --link-hover-color-rgb: 1, 88, 92;
  --link-hover-decoration: none;
  --code-color: #d2317b;
  --highlight-color: #343a40;
  --highlight-bg: #fff3cd;
  --border-width: 1px;
  --border-style: solid;
  --border-color: #dee2e6;
  --border-color-translucent: rgba(0, 0, 0, 0.175);
  --border-radius: 0.25rem;
  --border-radius-sm: 0.1875rem;
  --border-radius-lg: 0.375rem;
  --border-radius-xl: 1rem;
  --border-radius-xxl: 2rem;
  --border-radius-2xl: var(--border-radius-xxl);
  --border-radius-pill: 50rem;
  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --focus-ring-width: 0.25rem;
  --focus-ring-opacity: 0.25;
  --focus-ring-color: rgba(113, 75, 103, 0.25);
  --form-valid-color: #28a745;
  --form-valid-border-color: #28a745;
  --form-invalid-color: #d44c59;
  --form-invalid-border-color: #d44c59;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  color: var(--body-color);
  text-align: var(--body-text-align);
  background-color: var(--body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 13px 0;
  color: inherit;
  border: 0;
  border-top: var(--border-width) solid;
  opacity: 0.25;
}

h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 6.5px;
  font-family: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 500;
  line-height: 1.2;
  color: var(--heading-color);
}

h1, .h1 {
  font-size: calc(1.335rem + 1.02vw);
}

@media (min-width: 1200px) {
  h1, .h1 {
    font-size: 2.1rem;
  }
}

h2, .h2 {
  font-size: calc(1.25625rem + 0.075vw);
}

@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 1.3125rem;
  }
}

h3, .h3 {
  font-size: 1.1375rem;
}

h4, .h4 {
  font-size: 1.05rem;
}

h5, .h5 {
  font-size: 0.9625rem;
}

h6, .h6 {
  font-size: 0.875rem;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 500;
}

dd {
  margin-bottom: .5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small, .small {
  font-size: 0.8125rem;
}

mark, .mark {
  padding: 0.1875em;
  color: var(--highlight-color);
  background-color: var(--highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

a {
  color: rgba(var(--link-color-rgb), var(--link-opacity, 1));
  text-decoration: none;
}

a:hover {
  --link-color-rgb: var(--link-hover-color-rgb);
  text-decoration: none;
}

a:not([href]):not([class]), a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.8125rem;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.8125rem;
  color: var(--code-color);
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.8125rem;
  color: #495057;
  background-color: #f8f9fa;
  border-radius: 0.1875rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: var(--secondary-color);
  text-align: left;
}

th {
  font-weight: 500;
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

[role="button"] {
  cursor: pointer;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

[list]:not([type="date"]):not([type="datetime-local"]):not([type="month"]):not([type="week"]):not([type="time"])::-webkit-calendar-picker-indicator {
  display: none !important;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit--webkit-appearance: button; -moz-appearance: button; appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}

@media (min-width: 1200px) {
  legend {
    font-size: 1.5rem;
  }
}

legend + * {
  clear: left;
}

::-webkit-datetime-edit-fields-wrapper,
::-webkit-datetime-edit-text,
::-webkit-datetime-edit-minute,
::-webkit-datetime-edit-hour-field,
::-webkit-datetime-edit-day-field,
::-webkit-datetime-edit-month-field,
::-webkit-datetime-edit-year-field {
  padding: 0;
}

::-webkit-inner-spin-button {
  height: auto;
}

[type="search"] {
  -webkit--webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
  outline-offset: -2px;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
  direction: ltr;
}
*/
::-webkit-search-decoration {
  -webkit--webkit-appearance: none; -moz-appearance: none; appearance: none;
}

::-webkit-color-swatch-wrapper {
  padding: 0;
}

::file-selector-button {
  font: inherit;
  -webkit--webkit-appearance: button; -moz-appearance: button; appearance: button;
}

output {
  display: inline-block;
}

iframe {
  border: 0;
}

summary {
  display: list-item;
  cursor: pointer;
}

progress {
  vertical-align: baseline;
}

[hidden] {
  display: none !important;
}

.lead {
  font-size: 1.09375rem;
  font-weight: 300;
}

.display-1 {
  font-size: calc(1.625rem + 4.5vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-1 {
    font-size: 5rem;
  }
}

.display-2 {
  font-size: calc(1.575rem + 3.9vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-2 {
    font-size: 4.5rem;
  }
}

.display-3 {
  font-size: calc(1.525rem + 3.3vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-3 {
    font-size: 4rem;
  }
}

.display-4 {
  font-size: calc(1.475rem + 2.7vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-4 {
    font-size: 3.5rem;
  }
}

.display-5 {
  font-size: calc(1.425rem + 2.1vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-5 {
    font-size: 3rem;
  }
}

.display-6 {
  font-size: calc(1.375rem + 1.5vw);
  font-weight: 300;
  line-height: 1.2;
}

@media (min-width: 1200px) {
  .display-6 {
    font-size: 2.5rem;
  }
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}

.list-inline-item {
  display: inline-block;
}

.list-inline-item:not(:last-child) {
  margin-right: 0.5rem;
}

.initialism {
  font-size: 0.8125rem;
  text-transform: uppercase;
}

.blockquote {
  margin-bottom: 13px;
  font-size: 1.09375rem;
}

.blockquote > :last-child {
  margin-bottom: 0;
}

.blockquote-footer {
  margin-top: -13px;
  margin-bottom: 13px;
  font-size: 0.8125rem;
  color: #6c757d;
}

.blockquote-footer::before {
  content: "\2014\00A0";
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--body-bg);
  border: var(--border-width) solid var(--border-color);
  border-radius: 0;
  box-shadow: 0;
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 6.5px;
  line-height: 1;
}

.figure-caption {
  font-size: 0.8125rem;
  color: var(--secondary-color);
}

.container, .o_container_small,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --gutter-x: 26px;
  --gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--gutter-x) * .5);
  padding-left: calc(var(--gutter-x) * .5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 100mm) {
  .container-sm, .container, .o_container_small {
    max-width: 540px;
  }
}

@media (min-width: 188mm) {
  .container-md, .container-sm, .container, .o_container_small {
    max-width: 720px;
  }
}

@media (min-width: 190mm) {
  .container-lg, .container-md, .container-sm, .container, .o_container_small {
    max-width: 960px;
  }
}

@media (min-width: 220mm) {
  .container-xl, .container-lg, .container-md, .container-sm, .container, .o_container_small {
    max-width: 1140px;
  }
}

@media (min-width: 250mm) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container, .o_container_small {
    max-width: 1320px;
  }
}

:root {
  --breakpoint-xs: 0;
  --breakpoint-sm: 100mm;
  --breakpoint-md: 188mm;
  --breakpoint-lg: 190mm;
  --breakpoint-xl: 220mm;
  --breakpoint-xxl: 250mm;
}

.row {
  --gutter-x: 26px;
  --gutter-y: 0;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  margin-top: calc(-1 * var(--gutter-y));
  margin-right: calc(-.5 * var(--gutter-x));
  margin-left: calc(-.5 * var(--gutter-x));
}

.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--gutter-x) * .5);
  padding-left: calc(var(--gutter-x) * .5);
  margin-top: var(--gutter-y);
}

.grid {
  display: grid;
  grid-template-rows: repeat(var(--rows, 1), 1fr);
  grid-template-columns: repeat(var(--columns, 12), 1fr);
  gap: var(--gap, 26px);
}

.grid .g-col-1 {
  grid-column: auto/span 1;
}

.grid .g-col-2 {
  grid-column: auto/span 2;
}

.grid .g-col-3 {
  grid-column: auto/span 3;
}

.grid .g-col-4 {
  grid-column: auto/span 4;
}

.grid .g-col-5 {
  grid-column: auto/span 5;
}

.grid .g-col-6 {
  grid-column: auto/span 6;
}

.grid .g-col-7 {
  grid-column: auto/span 7;
}

.grid .g-col-8 {
  grid-column: auto/span 8;
}

.grid .g-col-9 {
  grid-column: auto/span 9;
}

.grid .g-col-10 {
  grid-column: auto/span 10;
}

.grid .g-col-11 {
  grid-column: auto/span 11;
}

.grid .g-col-12 {
  grid-column: auto/span 12;
}

.grid .g-start-1 {
  grid-column-start: 1;
}

.grid .g-start-2 {
  grid-column-start: 2;
}

.grid .g-start-3 {
  grid-column-start: 3;
}

.grid .g-start-4 {
  grid-column-start: 4;
}

.grid .g-start-5 {
  grid-column-start: 5;
}

.grid .g-start-6 {
  grid-column-start: 6;
}

.grid .g-start-7 {
  grid-column-start: 7;
}

.grid .g-start-8 {
  grid-column-start: 8;
}

.grid .g-start-9 {
  grid-column-start: 9;
}

.grid .g-start-10 {
  grid-column-start: 10;
}

.grid .g-start-11 {
  grid-column-start: 11;
}

@media (min-width: 100mm) {
  .grid .g-col-sm-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-sm-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-sm-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-sm-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-sm-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-sm-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-sm-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-sm-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-sm-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-sm-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-sm-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-sm-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-sm-1 {
    grid-column-start: 1;
  }
  .grid .g-start-sm-2 {
    grid-column-start: 2;
  }
  .grid .g-start-sm-3 {
    grid-column-start: 3;
  }
  .grid .g-start-sm-4 {
    grid-column-start: 4;
  }
  .grid .g-start-sm-5 {
    grid-column-start: 5;
  }
  .grid .g-start-sm-6 {
    grid-column-start: 6;
  }
  .grid .g-start-sm-7 {
    grid-column-start: 7;
  }
  .grid .g-start-sm-8 {
    grid-column-start: 8;
  }
  .grid .g-start-sm-9 {
    grid-column-start: 9;
  }
  .grid .g-start-sm-10 {
    grid-column-start: 10;
  }
  .grid .g-start-sm-11 {
    grid-column-start: 11;
  }
}

@media (min-width: 188mm) {
  .grid .g-col-md-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-md-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-md-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-md-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-md-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-md-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-md-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-md-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-md-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-md-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-md-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-md-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-md-1 {
    grid-column-start: 1;
  }
  .grid .g-start-md-2 {
    grid-column-start: 2;
  }
  .grid .g-start-md-3 {
    grid-column-start: 3;
  }
  .grid .g-start-md-4 {
    grid-column-start: 4;
  }
  .grid .g-start-md-5 {
    grid-column-start: 5;
  }
  .grid .g-start-md-6 {
    grid-column-start: 6;
  }
  .grid .g-start-md-7 {
    grid-column-start: 7;
  }
  .grid .g-start-md-8 {
    grid-column-start: 8;
  }
  .grid .g-start-md-9 {
    grid-column-start: 9;
  }
  .grid .g-start-md-10 {
    grid-column-start: 10;
  }
  .grid .g-start-md-11 {
    grid-column-start: 11;
  }
}

@media (min-width: 190mm) {
  .grid .g-col-lg-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-lg-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-lg-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-lg-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-lg-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-lg-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-lg-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-lg-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-lg-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-lg-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-lg-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-lg-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-lg-1 {
    grid-column-start: 1;
  }
  .grid .g-start-lg-2 {
    grid-column-start: 2;
  }
  .grid .g-start-lg-3 {
    grid-column-start: 3;
  }
  .grid .g-start-lg-4 {
    grid-column-start: 4;
  }
  .grid .g-start-lg-5 {
    grid-column-start: 5;
  }
  .grid .g-start-lg-6 {
    grid-column-start: 6;
  }
  .grid .g-start-lg-7 {
    grid-column-start: 7;
  }
  .grid .g-start-lg-8 {
    grid-column-start: 8;
  }
  .grid .g-start-lg-9 {
    grid-column-start: 9;
  }
  .grid .g-start-lg-10 {
    grid-column-start: 10;
  }
  .grid .g-start-lg-11 {
    grid-column-start: 11;
  }
}

@media (min-width: 220mm) {
  .grid .g-col-xl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-xl-1 {
    grid-column-start: 1;
  }
  .grid .g-start-xl-2 {
    grid-column-start: 2;
  }
  .grid .g-start-xl-3 {
    grid-column-start: 3;
  }
  .grid .g-start-xl-4 {
    grid-column-start: 4;
  }
  .grid .g-start-xl-5 {
    grid-column-start: 5;
  }
  .grid .g-start-xl-6 {
    grid-column-start: 6;
  }
  .grid .g-start-xl-7 {
    grid-column-start: 7;
  }
  .grid .g-start-xl-8 {
    grid-column-start: 8;
  }
  .grid .g-start-xl-9 {
    grid-column-start: 9;
  }
  .grid .g-start-xl-10 {
    grid-column-start: 10;
  }
  .grid .g-start-xl-11 {
    grid-column-start: 11;
  }
}

@media (min-width: 250mm) {
  .grid .g-col-xxl-1 {
    grid-column: auto/span 1;
  }
  .grid .g-col-xxl-2 {
    grid-column: auto/span 2;
  }
  .grid .g-col-xxl-3 {
    grid-column: auto/span 3;
  }
  .grid .g-col-xxl-4 {
    grid-column: auto/span 4;
  }
  .grid .g-col-xxl-5 {
    grid-column: auto/span 5;
  }
  .grid .g-col-xxl-6 {
    grid-column: auto/span 6;
  }
  .grid .g-col-xxl-7 {
    grid-column: auto/span 7;
  }
  .grid .g-col-xxl-8 {
    grid-column: auto/span 8;
  }
  .grid .g-col-xxl-9 {
    grid-column: auto/span 9;
  }
  .grid .g-col-xxl-10 {
    grid-column: auto/span 10;
  }
  .grid .g-col-xxl-11 {
    grid-column: auto/span 11;
  }
  .grid .g-col-xxl-12 {
    grid-column: auto/span 12;
  }
  .grid .g-start-xxl-1 {
    grid-column-start: 1;
  }
  .grid .g-start-xxl-2 {
    grid-column-start: 2;
  }
  .grid .g-start-xxl-3 {
    grid-column-start: 3;
  }
  .grid .g-start-xxl-4 {
    grid-column-start: 4;
  }
  .grid .g-start-xxl-5 {
    grid-column-start: 5;
  }
  .grid .g-start-xxl-6 {
    grid-column-start: 6;
  }
  .grid .g-start-xxl-7 {
    grid-column-start: 7;
  }
  .grid .g-start-xxl-8 {
    grid-column-start: 8;
  }
  .grid .g-start-xxl-9 {
    grid-column-start: 9;
  }
  .grid .g-start-xxl-10 {
    grid-column-start: 10;
  }
  .grid .g-start-xxl-11 {
    grid-column-start: 11;
  }
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: auto;
}

.col-1 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --gutter-x: 0;
}

.g-0,
.gy-0 {
  --gutter-y: 0;
}

.g-1,
.gx-1 {
  --gutter-x: 3.25px;
}

.g-1,
.gy-1 {
  --gutter-y: 3.25px;
}

.g-2,
.gx-2 {
  --gutter-x: 6.5px;
}

.g-2,
.gy-2 {
  --gutter-y: 6.5px;
}

.g-3,
.gx-3 {
  --gutter-x: 13px;
}

.g-3,
.gy-3 {
  --gutter-y: 13px;
}

.g-4,
.gx-4 {
  --gutter-x: 19.5px;
}

.g-4,
.gy-4 {
  --gutter-y: 19.5px;
}

.g-5,
.gx-5 {
  --gutter-x: 39px;
}

.g-5,
.gy-5 {
  --gutter-y: 39px;
}

@media (min-width: 100mm) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
.gx-sm-0 {
    --gutter-x: 0;
  }
  .g-sm-0,
.gy-sm-0 {
    --gutter-y: 0;
  }
  .g-sm-1,
.gx-sm-1 {
    --gutter-x: 3.25px;
  }
  .g-sm-1,
.gy-sm-1 {
    --gutter-y: 3.25px;
  }
  .g-sm-2,
.gx-sm-2 {
    --gutter-x: 6.5px;
  }
  .g-sm-2,
.gy-sm-2 {
    --gutter-y: 6.5px;
  }
  .g-sm-3,
.gx-sm-3 {
    --gutter-x: 13px;
  }
  .g-sm-3,
.gy-sm-3 {
    --gutter-y: 13px;
  }
  .g-sm-4,
.gx-sm-4 {
    --gutter-x: 19.5px;
  }
  .g-sm-4,
.gy-sm-4 {
    --gutter-y: 19.5px;
  }
  .g-sm-5,
.gx-sm-5 {
    --gutter-x: 39px;
  }
  .g-sm-5,
.gy-sm-5 {
    --gutter-y: 39px;
  }
}

@media (min-width: 188mm) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
.gx-md-0 {
    --gutter-x: 0;
  }
  .g-md-0,
.gy-md-0 {
    --gutter-y: 0;
  }
  .g-md-1,
.gx-md-1 {
    --gutter-x: 3.25px;
  }
  .g-md-1,
.gy-md-1 {
    --gutter-y: 3.25px;
  }
  .g-md-2,
.gx-md-2 {
    --gutter-x: 6.5px;
  }
  .g-md-2,
.gy-md-2 {
    --gutter-y: 6.5px;
  }
  .g-md-3,
.gx-md-3 {
    --gutter-x: 13px;
  }
  .g-md-3,
.gy-md-3 {
    --gutter-y: 13px;
  }
  .g-md-4,
.gx-md-4 {
    --gutter-x: 19.5px;
  }
  .g-md-4,
.gy-md-4 {
    --gutter-y: 19.5px;
  }
  .g-md-5,
.gx-md-5 {
    --gutter-x: 39px;
  }
  .g-md-5,
.gy-md-5 {
    --gutter-y: 39px;
  }
}

@media (min-width: 190mm) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
.gx-lg-0 {
    --gutter-x: 0;
  }
  .g-lg-0,
.gy-lg-0 {
    --gutter-y: 0;
  }
  .g-lg-1,
.gx-lg-1 {
    --gutter-x: 3.25px;
  }
  .g-lg-1,
.gy-lg-1 {
    --gutter-y: 3.25px;
  }
  .g-lg-2,
.gx-lg-2 {
    --gutter-x: 6.5px;
  }
  .g-lg-2,
.gy-lg-2 {
    --gutter-y: 6.5px;
  }
  .g-lg-3,
.gx-lg-3 {
    --gutter-x: 13px;
  }
  .g-lg-3,
.gy-lg-3 {
    --gutter-y: 13px;
  }
  .g-lg-4,
.gx-lg-4 {
    --gutter-x: 19.5px;
  }
  .g-lg-4,
.gy-lg-4 {
    --gutter-y: 19.5px;
  }
  .g-lg-5,
.gx-lg-5 {
    --gutter-x: 39px;
  }
  .g-lg-5,
.gy-lg-5 {
    --gutter-y: 39px;
  }
}

@media (min-width: 220mm) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
.gx-xl-0 {
    --gutter-x: 0;
  }
  .g-xl-0,
.gy-xl-0 {
    --gutter-y: 0;
  }
  .g-xl-1,
.gx-xl-1 {
    --gutter-x: 3.25px;
  }
  .g-xl-1,
.gy-xl-1 {
    --gutter-y: 3.25px;
  }
  .g-xl-2,
.gx-xl-2 {
    --gutter-x: 6.5px;
  }
  .g-xl-2,
.gy-xl-2 {
    --gutter-y: 6.5px;
  }
  .g-xl-3,
.gx-xl-3 {
    --gutter-x: 13px;
  }
  .g-xl-3,
.gy-xl-3 {
    --gutter-y: 13px;
  }
  .g-xl-4,
.gx-xl-4 {
    --gutter-x: 19.5px;
  }
  .g-xl-4,
.gy-xl-4 {
    --gutter-y: 19.5px;
  }
  .g-xl-5,
.gx-xl-5 {
    --gutter-x: 39px;
  }
  .g-xl-5,
.gy-xl-5 {
    --gutter-y: 39px;
  }
}

@media (min-width: 250mm) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
.gx-xxl-0 {
    --gutter-x: 0;
  }
  .g-xxl-0,
.gy-xxl-0 {
    --gutter-y: 0;
  }
  .g-xxl-1,
.gx-xxl-1 {
    --gutter-x: 3.25px;
  }
  .g-xxl-1,
.gy-xxl-1 {
    --gutter-y: 3.25px;
  }
  .g-xxl-2,
.gx-xxl-2 {
    --gutter-x: 6.5px;
  }
  .g-xxl-2,
.gy-xxl-2 {
    --gutter-y: 6.5px;
  }
  .g-xxl-3,
.gx-xxl-3 {
    --gutter-x: 13px;
  }
  .g-xxl-3,
.gy-xxl-3 {
    --gutter-y: 13px;
  }
  .g-xxl-4,
.gx-xxl-4 {
    --gutter-x: 19.5px;
  }
  .g-xxl-4,
.gy-xxl-4 {
    --gutter-y: 19.5px;
  }
  .g-xxl-5,
.gx-xxl-5 {
    --gutter-x: 39px;
  }
  .g-xxl-5,
.gy-xxl-5 {
    --gutter-y: 39px;
  }
}

.table {
  --table-color-type: initial;
  --table-bg-type: initial;
  --table-color-state: initial;
  --table-bg-state: initial;
  --table-color: var(--emphasis-color);
  --table-bg: transparent;
  --table-border-color: #dee2e6;
  --table-accent-bg: transparent;
  --table-striped-color: inherit;
  --table-striped-bg: rgba(var(--emphasis-color-rgb), 0.01);
  --table-active-color: #212529;
  --table-active-bg: rgba(var(--emphasis-color-rgb), 0.05);
  --table-hover-color: var(--emphasis-color);
  --table-hover-bg: rgba(var(--emphasis-color-rgb), 0.055);
  width: 100%;
  margin-bottom: 13px;
  vertical-align: top;
  border-color: var(--table-border-color);
}

.table > :not(caption) > * > * {
  padding: 0.75rem 0.75rem;
  color: var(--table-color-state, var(--table-color-type, var(--table-color)));
  background-color: var(--table-bg);
  border-bottom-width: var(--border-width);
  box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--table-accent-bg)));
}

.table > tbody {
  vertical-align: inherit;
}

.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--border-width) * 2) solid #e9ecef;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.15rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--border-width) 0;
}

.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}

.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(even) > * {
  --table-color-type: var(--table-striped-color);
  --table-bg-type: var(--table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --table-color-type: var(--table-striped-color);
  --table-bg-type: var(--table-striped-bg);
}

.table-active {
  --table-color-state: var(--table-active-color);
  --table-bg-state: var(--table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --table-color-state: var(--table-hover-color);
  --table-bg-state: var(--table-hover-bg);
}

.table-primary {
  --table-color: #000;
  --table-bg: #e3dbe1;
  --table-border-color: #b6afb4;
  --table-striped-bg: #e1d9df;
  --table-striped-color: #000;
  --table-active-bg: #d8d0d6;
  --table-active-color: #000;
  --table-hover-bg: #d7cfd5;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-secondary {
  --table-color: #000;
  --table-bg: #f8f9fa;
  --table-border-color: #c6c7c8;
  --table-striped-bg: #f6f7f8;
  --table-striped-color: #000;
  --table-active-bg: #ecedee;
  --table-active-color: #000;
  --table-hover-bg: #eaebec;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-success {
  --table-color: #000;
  --table-bg: #d4edda;
  --table-border-color: #aabeae;
  --table-striped-bg: #d2ebd8;
  --table-striped-color: #000;
  --table-active-bg: #c9e1cf;
  --table-active-color: #000;
  --table-hover-bg: #c8e0ce;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-info {
  --table-color: #000;
  --table-bg: #d1ecf1;
  --table-border-color: #a7bdc1;
  --table-striped-bg: #cfeaef;
  --table-striped-color: #000;
  --table-active-bg: #c7e0e5;
  --table-active-color: #000;
  --table-hover-bg: #c6dfe4;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-warning {
  --table-color: #000;
  --table-bg: #fbebcc;
  --table-border-color: #c9bca3;
  --table-striped-bg: #f8e9ca;
  --table-striped-color: #000;
  --table-active-bg: #eedfc2;
  --table-active-color: #000;
  --table-hover-bg: #eddec1;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-danger {
  --table-color: #000;
  --table-bg: #f6dbde;
  --table-border-color: #c5afb2;
  --table-striped-bg: #f4d9dc;
  --table-striped-color: #000;
  --table-active-bg: #ead0d3;
  --table-active-color: #000;
  --table-hover-bg: #e8cfd2;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-light {
  --table-color: #000;
  --table-bg: #FFF;
  --table-border-color: #cccccc;
  --table-striped-bg: #fcfcfc;
  --table-striped-color: #000;
  --table-active-bg: #f2f2f2;
  --table-active-color: #000;
  --table-hover-bg: #f1f1f1;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-dark {
  --table-color: #FFF;
  --table-bg: #212529;
  --table-border-color: #4d5154;
  --table-striped-bg: #23272b;
  --table-striped-color: #FFF;
  --table-active-bg: #2c3034;
  --table-active-color: #FFF;
  --table-hover-bg: #2d3135;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 99.98mm) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 187.98mm) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 189.98mm) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 219.98mm) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 249.98mm) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.3125rem + var(--border-width));
  padding-bottom: calc(0.3125rem + var(--border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.3;
}

.col-form-label-lg {
  padding-top: calc(0.375rem + var(--border-width));
  padding-bottom: calc(0.375rem + var(--border-width));
  font-size: 1.09375rem;
}

.col-form-label-sm {
  padding-top: calc(0.1875rem + var(--border-width));
  padding-bottom: calc(0.1875rem + var(--border-width));
  font-size: 0.8125rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.3125rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--body-color);
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: transparent;
  background-clip: padding-box;
  border: var(--border-width) solid #e9ecef;
  border-radius: var(--border-radius);
  box-shadow: 0;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}

.form-control[type="file"] {
  overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control:focus {
  color: var(--body-color);
  background-color: #FFF;
  border-color: #75b5ba;
  outline: 0;
  box-shadow: 0, 0;
}

.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.3em;
  margin: 0;
}

.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.form-control::placeholder {
  color: #bec5cc;
  opacity: 1;
}

.form-control:disabled {
  background-color: var(--secondary-bg);
  opacity: 1;
}

.form-control::file-selector-button {
  padding: 0.3125rem 0.625rem;
  margin: -0.3125rem -0.625rem;
  margin-inline-end: 0.625rem;
  color: var(--body-color);
  background-color: var(--tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--border-width);
  border-radius: 0;
  transition: none;
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.3125rem 0;
  margin-bottom: 0;
  line-height: 1.3;
  color: var(--body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--border-width) 0;
}

.form-control-plaintext:focus {
  outline: 0;
}

.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.3em + 0.375rem + calc(var(--border-width) * 2));
  padding: 0.1875rem 0.5rem;
  font-size: 0.8125rem;
  border-radius: var(--border-radius-sm);
}

.form-control-sm::file-selector-button {
  padding: 0.1875rem 0.5rem;
  margin: -0.1875rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.3em + 0.75rem + calc(var(--border-width) * 2));
  padding: 0.375rem 0.75rem;
  font-size: 1.09375rem;
  border-radius: var(--border-radius-lg);
}

.form-control-lg::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
}

textarea.form-control {
  min-height: calc(1.3em + 0.625rem + calc(var(--border-width) * 2));
}

textarea.form-control-sm {
  min-height: calc(1.3em + 0.375rem + calc(var(--border-width) * 2));
}

textarea.form-control-lg {
  min-height: calc(1.3em + 0.75rem + calc(var(--border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.3em + 0.625rem + calc(var(--border-width) * 2));
  padding: 0.3125rem;
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--border-radius);
}

.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--border-radius);
}

.form-control-color.form-control-sm {
  height: calc(1.3em + 0.375rem + calc(var(--border-width) * 2));
}

.form-control-color.form-control-lg {
  height: calc(1.3em + 0.75rem + calc(var(--border-width) * 2));
}

.form-select {
  --form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.3125rem 1.875rem 0.3125rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--body-color);
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: transparent;
  background-image: var(--form-select-bg-img), var(--form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  background-size: 16px 12px;
  border: var(--border-width) solid #e9ecef;
  border-radius: var(--border-radius);
  box-shadow: var(--box-shadow-inset);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}

.form-select:focus {
  border-color: #75b5ba;
  outline: 0;
  box-shadow: var(--box-shadow-inset), 0;
}

.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.625rem;
  background-image: none;
}

.form-select:disabled {
  background-color: var(--secondary-bg);
}

.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--body-color);
}

.form-select-sm {
  padding-top: 0.1875rem;
  padding-bottom: 0.1875rem;
  padding-left: 0.5rem;
  font-size: 0.8125rem;
  border-radius: var(--border-radius-sm);
}

.form-select-lg {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  padding-left: 0.75rem;
  font-size: 1.09375rem;
  border-radius: var(--border-radius-lg);
}

.form-check {
  display: block;
  min-height: 1.1375rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}

.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}

.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --form-check-bg: transparent;
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.15em;
  vertical-align: top;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: var(--form-check-bg);
  background-image: var(--form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--border-width) solid var(--border-color);
  print-color-adjust: exact;
}

.form-check-input[type="checkbox"] {
  border-radius: 0;
}

.form-check-input[type="radio"] {
  border-radius: 50%;
}

.form-check-input:active {
  filter: brightness(90%);
}

.form-check-input:focus {
  border-color: #75b5ba;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(113, 75, 103, 0.25);
}

.form-check-input:checked {
  background-color: #017e84;
  border-color: #017e84;
}

.form-check-input:checked[type="checkbox"] {
  --form-check-bg-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 10 3 3 6-6'/%3e%3c/svg%3e");
}

.form-check-input:checked[type="radio"] {
  --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23FFF'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: #e6f2f3;
  border-color: #e6f2f3;
  --form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='unset' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
}

.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}

.form-switch .form-check-input {
  --form-switch-bg: 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");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}

.form-switch .form-check-input:focus {
  --form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%2840, 167, 69, 0.5%29'/%3e%3c/svg%3e");
}

.form-switch .form-check-input:checked {
  background-position: right center;
  --form-switch-bg: 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");
}

.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}

.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: transparent;
}

.form-range:focus {
  outline: 0;
}

.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #714B67;
}

.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #714B67;
}

.form-range::-moz-focus-outer {
  border: 0;
}

.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: #714B67;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}

.form-range::-webkit-slider-thumb:active {
  background-color: #f8fbfb;
}

.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: 0;
}

.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: #714B67;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}

.form-range::-moz-range-thumb:active {
  background-color: #f8fbfb;
}

.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
  box-shadow: 0;
}

.form-range:disabled {
  pointer-events: none;
}

.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--secondary-color);
}

.form-range:disabled::-moz-range-thumb {
  background-color: var(--secondary-color);
}

.form-floating {
  position: relative;
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--border-width) * 2));
  min-height: calc(3.5rem + calc(var(--border-width) * 2));
  line-height: 1.25;
}

.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.625rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.625rem;
}

.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.3125rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: transparent;
  border-radius: var(--border-radius);
}

.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control-plaintext ~ label {
  border-width: var(--border-width) 0;
}

.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}

.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--secondary-bg);
}

.input-group {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}

.input-group .btn {
  position: relative;
  z-index: 2;
}

.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  padding: 0.3125rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--tertiary-bg);
  border: var(--border-width) solid #e9ecef;
  border-radius: var(--border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.375rem 0.75rem;
  font-size: 1.09375rem;
  border-radius: var(--border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.1875rem 0.5rem;
  font-size: 0.8125rem;
  border-radius: var(--border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 2.5rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n + 3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group.has-validation > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n + 4),
.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n + 3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 3.25px 6.5px;
  margin-top: .1rem;
  font-size: 0.8125rem;
  color: #fff;
  background-color: var(--success);
  border-radius: var(--border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--form-valid-border-color);
  padding-right: calc(1.3em + 0.625rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.325em + 0.15625rem) center;
  background-size: calc(0.65em + 0.3125rem) calc(0.65em + 0.3125rem);
}

.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: 0, 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.3em + 0.625rem);
  background-position: top calc(0.325em + 0.15625rem) right calc(0.325em + 0.15625rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--form-valid-border-color);
}

.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 3.4375rem;
  background-position: right 0.625rem center, center right 1.875rem;
  background-size: 16px 12px, calc(0.65em + 0.3125rem) calc(0.65em + 0.3125rem);
}

.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--form-valid-border-color);
  box-shadow: var(--box-shadow-inset), 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.3em + 0.625rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--form-valid-border-color);
}

.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--form-valid-color);
}

.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--success-rgb), 0.25);
}

.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: .5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid, .was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid, .was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.8125rem;
  color: var(--form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 3.25px 6.5px;
  margin-top: .1rem;
  font-size: 0.8125rem;
  color: #fff;
  background-color: var(--danger);
  border-radius: var(--border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--form-invalid-border-color);
  padding-right: calc(1.3em + 0.625rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d44c59'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d44c59' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.325em + 0.15625rem) center;
  background-size: calc(0.65em + 0.3125rem) calc(0.65em + 0.3125rem);
}

.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: 0, 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.3em + 0.625rem);
  background-position: top calc(0.325em + 0.15625rem) right calc(0.325em + 0.15625rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--form-invalid-border-color);
}

.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23d44c59'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23d44c59' stroke='none'/%3e%3c/svg%3e");
  padding-right: 3.4375rem;
  background-position: right 0.625rem center, center right 1.875rem;
  background-size: 16px 12px, calc(0.65em + 0.3125rem) calc(0.65em + 0.3125rem);
}

.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--form-invalid-border-color);
  box-shadow: var(--box-shadow-inset), 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.3em + 0.625rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--form-invalid-border-color);
}

.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--form-invalid-color);
}

.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--danger-rgb), 0.25);
}

.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: .5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid, .was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid, .was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --btn-padding-x: 0.625rem;
  --btn-padding-y: 0.3125rem;
  --btn-font-family: ;
  --btn-font-size: 0.875rem;
  --btn-font-weight: 500;
  --btn-line-height: 1.3;
  --btn-color: var(--body-color);
  --btn-bg: transparent;
  --btn-border-width: var(--border-width);
  --btn-border-color: transparent;
  --btn-border-radius: var(--border-radius);
  --btn-hover-border-color: transparent;
  --btn-box-shadow: 0;
  --btn-disabled-opacity: 0.5;
  --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), .5);
  display: inline-block;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: var(--btn-color);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--btn-border-width) solid var(--btn-border-color);
  border-radius: var(--btn-border-radius);
  background-color: var(--btn-bg);
  box-shadow: var(--btn-box-shadow);
  transition: none;
}

.btn:hover {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
}

.btn-check + .btn:hover {
  color: var(--btn-color);
  background-color: var(--btn-bg);
  border-color: var(--btn-border-color);
}

.btn:focus-visible {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-box-shadow), var(--btn-focus-box-shadow);
}

.btn-check:focus-visible + .btn {
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-box-shadow), var(--btn-focus-box-shadow);
}

.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
  color: var(--btn-active-color);
  background-color: var(--btn-active-bg);
  border-color: var(--btn-active-border-color);
  box-shadow: var(--btn-active-shadow);
}

.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
  box-shadow: var(--btn-active-shadow), var(--btn-focus-box-shadow);
}

.btn-check:checked:focus-visible + .btn {
  box-shadow: var(--btn-active-shadow), var(--btn-focus-box-shadow);
}

.btn:disabled, .btn.disabled, fieldset:disabled .btn {
  color: var(--btn-disabled-color);
  pointer-events: none;
  background-color: var(--btn-disabled-bg);
  border-color: var(--btn-disabled-border-color);
  opacity: var(--btn-disabled-opacity);
  box-shadow: none;
}

.btn-link {
  --btn-font-weight: 400;
  --btn-color: var(--link-color);
  --btn-bg: transparent;
  --btn-border-color: transparent;
  --btn-hover-color: var(--link-hover-color);
  --btn-hover-border-color: transparent;
  --btn-active-color: var(--link-hover-color);
  --btn-active-border-color: transparent;
  --btn-disabled-color: #6c757d;
  --btn-disabled-border-color: transparent;
  --btn-box-shadow: 0 0 0 #000;
  --btn-focus-shadow-rgb: 39, 145, 150;
  text-decoration: none;
}

.btn-link:hover, .btn-link:focus-visible {
  text-decoration: none;
}

.btn-link:focus-visible {
  color: var(--btn-color);
}

.btn-link:hover {
  color: var(--btn-hover-color);
}

.btn-lg, .btn-group-lg > .btn {
  --btn-padding-y: 0.375rem;
  --btn-padding-x: 0.75rem;
  --btn-font-size: 1.09375rem;
  --btn-border-radius: 0.25rem;
}

.btn-sm, .btn-group-sm > .btn {
  --btn-padding-y: 0.1875rem;
  --btn-padding-x: 0.5rem;
  --btn-font-size: 0.8125rem;
  --btn-border-radius: var(--border-radius-sm);
}

.fade {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  .fade {
    transition: none;
  }
}

.fade:not(.show) {
  opacity: 0;
}

.collapse:not(.show) {
  display: none;
}

.collapsing {
  height: 0;
  overflow: hidden;
  transition: height 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing {
    transition: none;
  }
}

.collapsing.collapse-horizontal {
  width: 0;
  height: auto;
  transition: width 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .collapsing.collapse-horizontal {
    transition: none;
  }
}

.dropup,
.dropend,
.dropdown,
.dropstart,
.dropup-center,
.dropdown-center {
  position: relative;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-bottom: 0;
  border-left: 4px solid transparent;
}

.dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropdown-menu {
  --dropdown-zindex: 1000;
  --dropdown-min-width: 10rem;
  --dropdown-padding-x: 0;
  --dropdown-padding-y: 0.5rem;
  --dropdown-spacer: 0.125rem;
  --dropdown-font-size: 0.875rem;
  --dropdown-color: var(--body-color);
  --dropdown-bg: var(--body-bg);
  --dropdown-border-color: #dee2e6;
  --dropdown-border-radius: var(--border-radius);
  --dropdown-border-width: var(--border-width);
  --dropdown-inner-border-radius: calc(var(--border-radius) - var(--border-width));
  --dropdown-divider-bg: #dee2e6;
  --dropdown-divider-margin-y: 6.5px;
  --dropdown-box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
  --dropdown-link-color: #343a40;
  --dropdown-link-hover-color: #212529;
  --dropdown-link-hover-bg: rgba(0, 0, 0, 0.08);
  --dropdown-link-active-color: #212529;
  --dropdown-link-active-bg: transparent;
  --dropdown-link-disabled-color: rgba(52, 58, 64, 0.76);
  --dropdown-item-padding-x: 20px;
  --dropdown-item-padding-y: 3px;
  --dropdown-header-color: #6c757d;
  --dropdown-header-padding-x: 20px;
  --dropdown-header-padding-y: 0.5rem;
  position: absolute;
  z-index: var(--dropdown-zindex);
  display: none;
  min-width: var(--dropdown-min-width);
  padding: var(--dropdown-padding-y) var(--dropdown-padding-x);
  margin: 0;
  font-size: var(--dropdown-font-size);
  color: var(--dropdown-color);
  text-align: left;
  list-style: none;
  background-color: var(--dropdown-bg);
  background-clip: padding-box;
  border: var(--dropdown-border-width) solid var(--dropdown-border-color);
  border-radius: var(--dropdown-border-radius);
  box-shadow: var(--dropdown-box-shadow);
}

.dropdown-menu[data-bs-popper] {
  top: 100%;
  left: 0;
  margin-top: var(--dropdown-spacer);
}

.dropdown-menu-start {
  --bs-position: start;
}

.dropdown-menu-start[data-bs-popper] {
  right: auto;
  left: 0;
}

.dropdown-menu-end {
  --bs-position: end;
}

.dropdown-menu-end[data-bs-popper] {
  right: 0;
  left: auto;
}

@media (min-width: 100mm) {
  .dropdown-menu-sm-start {
    --bs-position: start;
  }
  .dropdown-menu-sm-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    --bs-position: end;
  }
  .dropdown-menu-sm-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 188mm) {
  .dropdown-menu-md-start {
    --bs-position: start;
  }
  .dropdown-menu-md-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    --bs-position: end;
  }
  .dropdown-menu-md-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 190mm) {
  .dropdown-menu-lg-start {
    --bs-position: start;
  }
  .dropdown-menu-lg-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    --bs-position: end;
  }
  .dropdown-menu-lg-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 220mm) {
  .dropdown-menu-xl-start {
    --bs-position: start;
  }
  .dropdown-menu-xl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    --bs-position: end;
  }
  .dropdown-menu-xl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

@media (min-width: 250mm) {
  .dropdown-menu-xxl-start {
    --bs-position: start;
  }
  .dropdown-menu-xxl-start[data-bs-popper] {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xxl-end {
    --bs-position: end;
  }
  .dropdown-menu-xxl-end[data-bs-popper] {
    right: 0;
    left: auto;
  }
}

.dropup .dropdown-menu[data-bs-popper] {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: var(--dropdown-spacer);
}

.dropup .dropdown-toggle::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 0;
  border-right: 4px solid transparent;
  border-bottom: 4px solid;
  border-left: 4px solid transparent;
}

.dropup .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-menu[data-bs-popper] {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: var(--dropdown-spacer);
}

.dropend .dropdown-toggle::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 4px solid transparent;
  border-right: 0;
  border-bottom: 4px solid transparent;
  border-left: 4px solid;
}

.dropend .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropend .dropdown-toggle::after {
  vertical-align: 0;
}

.dropstart .dropdown-menu[data-bs-popper] {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: var(--dropdown-spacer);
}

.dropstart .dropdown-toggle::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
}

.dropstart .dropdown-toggle::after {
  display: none;
}

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 4px solid transparent;
  border-right: 4px solid;
  border-bottom: 4px solid transparent;
}

.dropstart .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-divider {
  height: 0;
  margin: var(--dropdown-divider-margin-y) 0;
  overflow: hidden;
  border-top: 1px solid var(--dropdown-divider-bg);
  opacity: 1;
}

.dropdown-item {
  display: block;
  width: 100%;
  padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);
  clear: both;
  font-weight: 400;
  color: var(--dropdown-link-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
  border-radius: var(--dropdown-item-border-radius, 0);
}

.dropdown-item:hover, .dropdown-item:focus {
  color: var(--dropdown-link-hover-color);
  background-color: var(--dropdown-link-hover-bg);
}

.dropdown-item.active, .dropdown-item:active {
  color: var(--dropdown-link-active-color);
  text-decoration: none;
  background-color: var(--dropdown-link-active-bg);
}

.dropdown-item.disabled, .dropdown-item:disabled {
  color: var(--dropdown-link-disabled-color);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-menu.show {
  display: block;
}

.dropdown-header {
  display: block;
  padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);
  margin-bottom: 0;
  font-size: 0.8125rem;
  color: var(--dropdown-header-color);
  white-space: nowrap;
}

.dropdown-item-text {
  display: block;
  padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);
  color: var(--dropdown-link-color);
}

.dropdown-menu-dark {
  --dropdown-color: #dee2e6;
  --dropdown-bg: #343a40;
  --dropdown-border-color: #dee2e6;
  --dropdown-box-shadow: ;
  --dropdown-link-color: #dee2e6;
  --dropdown-link-hover-color: #FFF;
  --dropdown-divider-bg: #dee2e6;
  --dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
  --dropdown-link-active-color: #212529;
  --dropdown-link-active-bg: transparent;
  --dropdown-link-disabled-color: #adb5bd;
  --dropdown-header-color: #adb5bd;
}

.btn-group,
.btn-group-vertical {
  position: relative;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  vertical-align: middle;
}

.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
}

.btn-group > .btn-check:checked + .btn,
.btn-group > .btn-check:focus + .btn,
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn-check:checked + .btn,
.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
.btn-group-vertical > .btn.active {
  z-index: 1;
}

.btn-toolbar {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-pack: start; justify-content: flex-start;
}

.btn-toolbar .input-group {
  width: auto;
}

.btn-group {
  border-radius: var(--border-radius);
}

.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: calc(var(--border-width) * -1);
}

.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group > .btn.dropdown-toggle-split:first-child,
.btn-group > .btn-group:not(:last-child) > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.btn-group > .btn:nth-child(n + 3),
.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.dropdown-toggle-split {
  padding-right: 0.46875rem;
  padding-left: 0.46875rem;
}

.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
  margin-left: 0;
}

.dropstart .dropdown-toggle-split::before {
  margin-right: 0;
}

.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
}

.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
  padding-right: 0.5625rem;
  padding-left: 0.5625rem;
}

.btn-group.show .dropdown-toggle {
  box-shadow: 0;
}

.btn-group.show .dropdown-toggle.btn-link {
  box-shadow: none;
}

.btn-group-vertical {
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group {
  width: 100%;
}

.btn-group-vertical > .btn:not(:first-child),
.btn-group-vertical > .btn-group:not(:first-child) {
  margin-top: calc(var(--border-width) * -1);
}

.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
.btn-group-vertical > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.btn-group-vertical > .btn ~ .btn,
.btn-group-vertical > .btn-group:not(:first-child) > .btn {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav {
  --nav-link-padding-x: 1rem;
  --nav-link-padding-y: 0.5rem;
  --nav-link-font-weight: ;
  --nav-link-color: #343a40;
  --nav-link-hover-color: var(--link-hover-color);
  --nav-link-disabled-color: var(--secondary-color);
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.nav-link {
  display: block;
  padding: var(--nav-link-padding-y) var(--nav-link-padding-x);
  font-size: var(--nav-link-font-size);
  font-weight: var(--nav-link-font-weight);
  color: var(--nav-link-color);
  background: none;
  border: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .nav-link {
    transition: none;
  }
}

.nav-link:hover, .nav-link:focus {
  color: var(--nav-link-hover-color);
}

.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(113, 75, 103, 0.25);
}

.nav-link.disabled, .nav-link:disabled {
  color: var(--nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs {
  --nav-tabs-border-width: var(--border-width);
  --nav-tabs-border-color: var(--border-color);
  --nav-tabs-border-radius: 0;
  --nav-tabs-link-hover-border-color: var(--secondary-bg) var(--secondary-bg) var(--border-color);
  --nav-tabs-link-active-color: #212529;
  --nav-tabs-link-active-bg: transparent;
  --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) transparent;
  border-bottom: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
}

.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--nav-tabs-border-width));
  border: var(--nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--nav-tabs-border-radius);
  border-top-right-radius: var(--nav-tabs-border-radius);
}

.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--nav-tabs-link-hover-border-color);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--nav-tabs-link-active-color);
  background-color: var(--nav-tabs-link-active-bg);
  border-color: var(--nav-tabs-link-active-border-color);
}

.nav-tabs .dropdown-menu {
  margin-top: calc(-1 * var(--nav-tabs-border-width));
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

.nav-pills {
  --nav-pills-border-radius: 0;
  --nav-pills-link-active-color: #FFF;
  --nav-pills-link-active-bg: #714B67;
}

.nav-pills .nav-link {
  border-radius: var(--nav-pills-border-radius);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--nav-pills-link-active-color);
  background-color: var(--nav-pills-link-active-bg);
}

.nav-underline {
  --nav-underline-gap: 1rem;
  --nav-underline-border-width: 0.125rem;
  --nav-underline-link-active-color: var(--emphasis-color);
  gap: var(--nav-underline-gap);
}

.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--nav-underline-border-width) solid transparent;
}

.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 500;
  color: var(--nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.nav-fill > .nav-link,
.nav-fill .nav-item {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
}

.tab-content > .tab-pane {
  display: none;
}

.tab-content > .active {
  display: block;
}

.navbar {
  --navbar-padding-x: 0;
  --navbar-padding-y: 6.5px;
  --navbar-color: rgba(var(--emphasis-color-rgb), 0.65);
  --navbar-hover-color: rgba(var(--emphasis-color-rgb), 0.8);
  --navbar-disabled-color: rgba(var(--emphasis-color-rgb), 0.3);
  --navbar-active-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-padding-y: 0.3578125rem;
  --navbar-brand-margin-end: 1rem;
  --navbar-brand-font-size: 1.09375rem;
  --navbar-brand-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-hover-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-nav-link-padding-x: 0.5rem;
  --navbar-toggler-padding-y: 0.25rem;
  --navbar-toggler-padding-x: 0.75rem;
  --navbar-toggler-font-size: 1.09375rem;
  --navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2852, 58, 64, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --navbar-toggler-border-color: rgba(var(--emphasis-color-rgb), 0.15);
  --navbar-toggler-border-radius: var(--border-radius);
  --navbar-toggler-focus-width: 0.25rem;
  --navbar-toggler-transition: box-shadow 0.15s ease-in-out;
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--navbar-padding-y) var(--navbar-padding-x);
}

.navbar > .container, .navbar > .o_container_small,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: inherit; flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
}

.navbar-brand {
  padding-top: var(--navbar-brand-padding-y);
  padding-bottom: var(--navbar-brand-padding-y);
  margin-right: var(--navbar-brand-margin-end);
  font-size: var(--navbar-brand-font-size);
  color: var(--navbar-brand-color);
  white-space: nowrap;
}

.navbar-brand:hover, .navbar-brand:focus {
  color: var(--navbar-brand-hover-color);
}

.navbar-nav {
  --nav-link-padding-x: 0;
  --nav-link-padding-y: 0.5rem;
  --nav-link-font-weight: ;
  --nav-link-color: var(--navbar-color);
  --nav-link-hover-color: var(--navbar-hover-color);
  --nav-link-disabled-color: var(--navbar-disabled-color);
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
  color: var(--navbar-active-color);
}

.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--navbar-color);
}

.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--navbar-active-color);
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);
  font-size: var(--navbar-toggler-font-size);
  line-height: 1;
  color: var(--navbar-color);
  background-color: transparent;
  border: var(--border-width) solid var(--navbar-toggler-border-color);
  border-radius: var(--navbar-toggler-border-radius);
  transition: var(--navbar-toggler-transition);
}

@media (prefers-reduced-motion: reduce) {
  .navbar-toggler {
    transition: none;
  }
}

.navbar-toggler:hover {
  text-decoration: none;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 100mm) {
  .navbar-expand-sm {
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-pack: start; justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-sm .navbar-collapse {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}

@media (min-width: 188mm) {
  .navbar-expand-md {
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-pack: start; justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-md .navbar-toggler {
    display: none;
  }
  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}

@media (min-width: 190mm) {
  .navbar-expand-lg {
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-pack: start; justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}

@media (min-width: 220mm) {
  .navbar-expand-xl {
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-pack: start; justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}

@media (min-width: 250mm) {
  .navbar-expand-xxl {
    -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
    -webkit-box-pack: start; justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    box-shadow: none;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}

.navbar-expand {
  -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
  -webkit-box-pack: start; justify-content: flex-start;
}

.navbar-expand .navbar-nav {
  flex-direction: row;
}

.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}

.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--navbar-nav-link-padding-x);
  padding-left: var(--navbar-nav-link-padding-x);
}

.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}

.navbar-expand .navbar-collapse {
  display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  flex-basis: auto;
}

.navbar-expand .navbar-toggler {
  display: none;
}

.navbar-expand .offcanvas {
  position: static;
  z-index: auto;
  flex-grow: 1;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
  background-color: transparent !important;
  border: 0 !important;
  transform: none !important;
  box-shadow: none;
  transition: none;
}

.navbar-expand .offcanvas .offcanvas-header {
  display: none;
}

.navbar-expand .offcanvas .offcanvas-body {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-grow: 0;
  padding: 0;
  overflow-y: visible;
}

.navbar-dark,
.navbar[data-bs-theme="dark"] {
  --navbar-color: rgba(255, 255, 255, 0.55);
  --navbar-hover-color: rgba(255, 255, 255, 0.75);
  --navbar-disabled-color: rgba(255, 255, 255, 0.25);
  --navbar-active-color: #FFF;
  --navbar-brand-color: #FFF;
  --navbar-brand-hover-color: #FFF;
  --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
  --navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.card {
  --card-spacer-y: 13px;
  --card-spacer-x: 13px;
  --card-title-spacer-y: 6.5px;
  --card-title-color: ;
  --card-subtitle-color: ;
  --card-border-width: var(--border-width);
  --card-border-color: var(--border-color-translucent);
  --card-border-radius: 0;
  --card-box-shadow: ;
  --card-inner-border-radius: calc(0 - (var(--border-width)));
  --card-cap-padding-y: 13px;
  --card-cap-padding-x: 13px;
  --card-cap-bg: rgba(var(--body-color-rgb), 0.03);
  --card-cap-color: ;
  --card-height: ;
  --card-color: ;
  --card-bg: white;
  --card-img-overlay-padding: 13px;
  --card-group-margin: 13px;
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  min-width: 0;
  height: var(--card-height);
  color: var(--body-color);
  word-wrap: break-word;
  background-color: var(--card-bg);
  background-clip: border-box;
  border: var(--card-border-width) solid var(--card-border-color);
  border-radius: var(--card-border-radius);
  box-shadow: var(--card-box-shadow);
}

.card > hr {
  margin-right: 0;
  margin-left: 0;
}

.card > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--card-inner-border-radius);
  border-top-right-radius: var(--card-inner-border-radius);
}

.card > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--card-inner-border-radius);
  border-bottom-left-radius: var(--card-inner-border-radius);
}

.card > .card-header + .list-group,
.card > .list-group + .card-footer {
  border-top: 0;
}

.card-body {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  padding: var(--card-spacer-y) var(--card-spacer-x);
  color: var(--card-color);
}

.card-title {
  margin-bottom: var(--card-title-spacer-y);
  color: var(--card-title-color);
}

.card-subtitle {
  margin-top: calc(-.5 * var(--card-title-spacer-y));
  margin-bottom: 0;
  color: var(--card-subtitle-color);
}

.card-text:last-child {
  margin-bottom: 0;
}

.card-link + .card-link {
  margin-left: var(--card-spacer-x);
}

.card-header {
  padding: var(--card-cap-padding-y) var(--card-cap-padding-x);
  margin-bottom: 0;
  color: var(--card-cap-color);
  background-color: var(--card-cap-bg);
  border-bottom: var(--card-border-width) solid var(--card-border-color);
}

.card-header:first-child {
  border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;
}

.card-footer {
  padding: var(--card-cap-padding-y) var(--card-cap-padding-x);
  color: var(--card-cap-color);
  background-color: var(--card-cap-bg);
  border-top: var(--card-border-width) solid var(--card-border-color);
}

.card-footer:last-child {
  border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);
}

.card-header-tabs {
  margin-right: calc(-.5 * var(--card-cap-padding-x));
  margin-bottom: calc(-1 * var(--card-cap-padding-y));
  margin-left: calc(-.5 * var(--card-cap-padding-x));
  border-bottom: 0;
}

.card-header-tabs .nav-link.active {
  background-color: var(--card-bg);
  border-bottom-color: var(--card-bg);
}

.card-header-pills {
  margin-right: calc(-.5 * var(--card-cap-padding-x));
  margin-left: calc(-.5 * var(--card-cap-padding-x));
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--card-img-overlay-padding);
  border-radius: var(--card-inner-border-radius);
}

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%;
}

.card-img,
.card-img-top {
  border-top-left-radius: var(--card-inner-border-radius);
  border-top-right-radius: var(--card-inner-border-radius);
}

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--card-inner-border-radius);
  border-bottom-left-radius: var(--card-inner-border-radius);
}

.card-group > .card {
  margin-bottom: var(--card-group-margin);
}

@media (min-width: 100mm) {
  .card-group {
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-flex-flow: row wrap; flex-flow: row wrap;
  }
  .card-group > .card {
    flex: 1 0 0%;
    margin-bottom: 0;
  }
  .card-group > .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group > .card:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-top,
.card-group > .card:not(:last-child) .card-header {
    border-top-right-radius: 0;
  }
  .card-group > .card:not(:last-child) .card-img-bottom,
.card-group > .card:not(:last-child) .card-footer {
    border-bottom-right-radius: 0;
  }
  .card-group > .card:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-top,
.card-group > .card:not(:first-child) .card-header {
    border-top-left-radius: 0;
  }
  .card-group > .card:not(:first-child) .card-img-bottom,
.card-group > .card:not(:first-child) .card-footer {
    border-bottom-left-radius: 0;
  }
}

.accordion {
  --accordion-color: var(--body-color);
  --accordion-bg: var(--body-bg);
  --accordion-transition: none, border-radius 0.15s ease;
  --accordion-border-color: var(--border-color);
  --accordion-border-width: var(--border-width);
  --accordion-border-radius: 0;
  --accordion-inner-border-radius: calc(0 - (var(--border-width)));
  --accordion-btn-padding-x: 1.25rem;
  --accordion-btn-padding-y: 1rem;
  --accordion-btn-color: var(--body-color);
  --accordion-btn-bg: var(--accordion-bg);
  --accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --accordion-btn-icon-width: 1.25rem;
  --accordion-btn-icon-transform: rotate(-180deg);
  --accordion-btn-icon-transition: transform 0.2s ease-in-out;
  --accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%232d1e29' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
  --accordion-btn-focus-box-shadow: 0;
  --accordion-body-padding-x: 1.25rem;
  --accordion-body-padding-y: 1rem;
  --accordion-active-color: var(--primary-text-emphasis);
  --accordion-active-bg: var(--primary-bg-subtle);
}

.accordion-button {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  width: 100%;
  padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);
  font-size: 0.875rem;
  color: var(--accordion-btn-color);
  text-align: left;
  background-color: var(--accordion-btn-bg);
  border: 0;
  border-radius: 0;
  overflow-anchor: none;
  transition: var(--accordion-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button {
    transition: none;
  }
}

.accordion-button:not(.collapsed) {
  color: var(--accordion-active-color);
  background-color: var(--accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--accordion-btn-active-icon);
  transform: var(--accordion-btn-icon-transform);
}

.accordion-button::after {
  flex-shrink: 0;
  width: var(--accordion-btn-icon-width);
  height: var(--accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--accordion-btn-icon-width);
  transition: var(--accordion-btn-icon-transition);
}

@media (prefers-reduced-motion: reduce) {
  .accordion-button::after {
    transition: none;
  }
}

.accordion-button:hover {
  z-index: 2;
}

.accordion-button:focus {
  z-index: 3;
  outline: 0;
  box-shadow: var(--accordion-btn-focus-box-shadow);
}

.accordion-header {
  margin-bottom: 0;
}

.accordion-item {
  color: var(--accordion-color);
  background-color: var(--accordion-bg);
  border: var(--accordion-border-width) solid var(--accordion-border-color);
}

.accordion-item:first-of-type {
  border-top-left-radius: var(--accordion-border-radius);
  border-top-right-radius: var(--accordion-border-radius);
}

.accordion-item:first-of-type > .accordion-header .accordion-button {
  border-top-left-radius: var(--accordion-inner-border-radius);
  border-top-right-radius: var(--accordion-inner-border-radius);
}

.accordion-item:not(:first-of-type) {
  border-top: 0;
}

.accordion-item:last-of-type {
  border-bottom-right-radius: var(--accordion-border-radius);
  border-bottom-left-radius: var(--accordion-border-radius);
}

.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
  border-bottom-right-radius: var(--accordion-inner-border-radius);
  border-bottom-left-radius: var(--accordion-inner-border-radius);
}

.accordion-item:last-of-type > .accordion-collapse {
  border-bottom-right-radius: var(--accordion-border-radius);
  border-bottom-left-radius: var(--accordion-border-radius);
}

.accordion-body {
  padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);
}

.accordion-flush > .accordion-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.accordion-flush > .accordion-item:first-child {
  border-top: 0;
}

.accordion-flush > .accordion-item:last-child {
  border-bottom: 0;
}

.accordion-flush > .accordion-item > .accordion-header .accordion-button, .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

.accordion-flush > .accordion-item > .accordion-collapse {
  border-radius: 0;
}

.breadcrumb {
  --breadcrumb-padding-x: 0;
  --breadcrumb-padding-y: 0;
  --breadcrumb-margin-bottom: 0;
  --breadcrumb-bg: white;
  --breadcrumb-border-radius: ;
  --breadcrumb-divider-color: rgba(52, 58, 64, 0.76);
  --breadcrumb-item-padding-x: 0.15rem;
  --breadcrumb-item-active-color: #343a40;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
  margin-bottom: var(--breadcrumb-margin-bottom);
  font-size: var(--breadcrumb-font-size);
  list-style: none;
  background-color: var(--breadcrumb-bg);
  border-radius: var(--breadcrumb-border-radius);
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--breadcrumb-item-padding-x);
}

.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: var(--breadcrumb-item-padding-x);
  color: var(--breadcrumb-divider-color);
  content: var(--breadcrumb-divider, "/") /* rtl: var(--breadcrumb-divider, "/") */;
}

.breadcrumb-item.active {
  color: var(--breadcrumb-item-active-color);
}

.pagination {
  --pagination-padding-x: 0.75rem;
  --pagination-padding-y: 0.375rem;
  --pagination-font-size: 0.875rem;
  --pagination-color: var(--link-color);
  --pagination-bg: var(--body-bg);
  --pagination-border-width: var(--border-width);
  --pagination-border-color: var(--border-color);
  --pagination-border-radius: var(--border-radius);
  --pagination-hover-color: var(--link-hover-color);
  --pagination-hover-bg: var(--tertiary-bg);
  --pagination-hover-border-color: var(--border-color);
  --pagination-focus-color: var(--link-hover-color);
  --pagination-focus-bg: var(--secondary-bg);
  --pagination-focus-box-shadow: 0 0 0 0.25rem rgba(113, 75, 103, 0.25);
  --pagination-active-color: unset;
  --pagination-active-bg: #e6f2f3;
  --pagination-active-border-color: #e6f2f3;
  --pagination-disabled-color: var(--secondary-color);
  --pagination-disabled-bg: var(--secondary-bg);
  --pagination-disabled-border-color: var(--border-color);
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--pagination-padding-y) var(--pagination-padding-x);
  font-size: var(--pagination-font-size);
  color: var(--pagination-color);
  background-color: var(--pagination-bg);
  border: var(--pagination-border-width) solid var(--pagination-border-color);
  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;
}

@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none;
  }
}

.page-link:hover {
  z-index: 2;
  color: var(--pagination-hover-color);
  background-color: var(--pagination-hover-bg);
  border-color: var(--pagination-hover-border-color);
}

.page-link:focus {
  z-index: 3;
  color: var(--pagination-focus-color);
  background-color: var(--pagination-focus-bg);
  outline: 0;
  box-shadow: var(--pagination-focus-box-shadow);
}

.page-link.active, .active > .page-link {
  z-index: 3;
  color: var(--pagination-active-color);
  background-color: var(--pagination-active-bg);
  border-color: var(--pagination-active-border-color);
}

.page-link.disabled, .disabled > .page-link {
  color: var(--pagination-disabled-color);
  pointer-events: none;
  background-color: var(--pagination-disabled-bg);
  border-color: var(--pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--border-width) * -1);
}

.page-item:first-child .page-link {
  border-top-left-radius: var(--pagination-border-radius);
  border-bottom-left-radius: var(--pagination-border-radius);
}

.page-item:last-child .page-link {
  border-top-right-radius: var(--pagination-border-radius);
  border-bottom-right-radius: var(--pagination-border-radius);
}

.pagination-lg {
  --pagination-padding-x: 1.5rem;
  --pagination-padding-y: 0.75rem;
  --pagination-font-size: 1.09375rem;
  --pagination-border-radius: var(--border-radius-lg);
}

.pagination-sm {
  --pagination-padding-x: 0.5rem;
  --pagination-padding-y: 0.25rem;
  --pagination-font-size: 0.8125rem;
  --pagination-border-radius: var(--border-radius-sm);
}

.badge {
  --badge-padding-x: 0.82em;
  --badge-padding-y: 0.25em;
  --badge-font-size: 0.75em;
  --badge-font-weight: normal;
  --badge-color: inherit;
  --badge-border-radius: 0;
  display: inline-block;
  padding: var(--badge-padding-y) var(--badge-padding-x);
  font-size: var(--badge-font-size);
  font-weight: var(--badge-font-weight);
  line-height: 1;
  color: var(--badge-color);
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: var(--badge-border-radius);
}

.badge:empty {
  display: none;
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert {
  --alert-bg: transparent;
  --alert-padding-x: 13px;
  --alert-padding-y: 13px;
  --alert-margin-bottom: 1rem;
  --alert-color: inherit;
  --alert-border-color: transparent;
  --alert-border: 0 solid var(--alert-border-color);
  --alert-border-radius: var(--border-radius);
  --alert-link-color: inherit;
  position: relative;
  padding: var(--alert-padding-y) var(--alert-padding-x);
  margin-bottom: var(--alert-margin-bottom);
  color: var(--alert-color);
  background-color: var(--alert-bg);
  border: var(--alert-border);
  border-radius: var(--alert-border-radius);
}

.alert-heading {
  color: inherit;
}

.alert-link {
  font-weight: 500;
  color: var(--alert-link-color);
}

.alert-dismissible {
  padding-right: 39px;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 16.25px 13px;
}

.alert-primary {
  --alert-color: var(--primary-text-emphasis);
  --alert-bg: var(--primary-bg-subtle);
  --alert-border-color: var(--primary-border-subtle);
  --alert-link-color: var(--primary-text-emphasis);
}

.alert-secondary {
  --alert-color: var(--secondary-text-emphasis);
  --alert-bg: var(--secondary-bg-subtle);
  --alert-border-color: var(--secondary-border-subtle);
  --alert-link-color: var(--secondary-text-emphasis);
}

.alert-success {
  --alert-color: var(--success-text-emphasis);
  --alert-bg: var(--success-bg-subtle);
  --alert-border-color: var(--success-border-subtle);
  --alert-link-color: var(--success-text-emphasis);
}

.alert-info {
  --alert-color: var(--info-text-emphasis);
  --alert-bg: var(--info-bg-subtle);
  --alert-border-color: var(--info-border-subtle);
  --alert-link-color: var(--info-text-emphasis);
}

.alert-warning {
  --alert-color: var(--warning-text-emphasis);
  --alert-bg: var(--warning-bg-subtle);
  --alert-border-color: var(--warning-border-subtle);
  --alert-link-color: var(--warning-text-emphasis);
}

.alert-danger {
  --alert-color: var(--danger-text-emphasis);
  --alert-bg: var(--danger-bg-subtle);
  --alert-border-color: var(--danger-border-subtle);
  --alert-link-color: var(--danger-text-emphasis);
}

.alert-light {
  --alert-color: var(--light-text-emphasis);
  --alert-bg: var(--light-bg-subtle);
  --alert-border-color: var(--light-border-subtle);
  --alert-link-color: var(--light-text-emphasis);
}

.alert-dark {
  --alert-color: var(--dark-text-emphasis);
  --alert-bg: var(--dark-bg-subtle);
  --alert-border-color: var(--dark-border-subtle);
  --alert-link-color: var(--dark-text-emphasis);
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: 1rem;
  }
}

.progress,
.progress-stacked {
  --progress-height: 1rem;
  --progress-font-size: 0.65625rem;
  --progress-bg: var(--secondary-bg);
  --progress-border-radius: 0;
  --progress-box-shadow: 0;
  --progress-bar-color: #FFF;
  --progress-bar-bg: #714B67;
  --progress-bar-transition: width 0.6s ease;
  display: -webkit-box; display: -webkit-flex; display: flex;
  height: var(--progress-height);
  overflow: hidden;
  font-size: var(--progress-font-size);
  background-color: var(--progress-bg);
  border-radius: var(--progress-border-radius);
  box-shadow: var(--progress-box-shadow);
}

.progress-bar {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--progress-bar-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--progress-bar-bg);
  transition: var(--progress-bar-transition);
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar {
    transition: none;
  }
}

.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: var(--progress-height) var(--progress-height);
}

.progress-stacked > .progress {
  overflow: visible;
}

.progress-stacked > .progress > .progress-bar {
  width: 100%;
}

.progress-bar-animated {
  animation: 1s linear infinite progress-bar-stripes;
}

@media (prefers-reduced-motion: reduce) {
  .progress-bar-animated {
    animation: none;
  }
}

.list-group {
  --list-group-color: var(--body-color);
  --list-group-bg: white;
  --list-group-border-color: var(--border-color);
  --list-group-border-width: var(--border-width);
  --list-group-border-radius: 0;
  --list-group-item-padding-x: 13px;
  --list-group-item-padding-y: 6.5px;
  --list-group-action-color: var(--secondary-color);
  --list-group-action-hover-color: #212529;
  --list-group-action-hover-bg: rgba(0, 0, 0, 0.08);
  --list-group-action-active-color: var(--body-color);
  --list-group-action-active-bg: var(--secondary-bg);
  --list-group-disabled-color: var(--secondary-color);
  --list-group-disabled-bg: white;
  --list-group-active-color: #017e84;
  --list-group-active-bg: #e6f2f3;
  --list-group-active-border-color: #017e84;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}

.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: var(--list-group-action-color);
  text-align: inherit;
}

.list-group-item-action:hover, .list-group-item-action:focus {
  z-index: 1;
  color: var(--list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--list-group-action-hover-bg);
}

.list-group-item-action:active {
  color: var(--list-group-action-active-color);
  background-color: var(--list-group-action-active-bg);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);
  color: var(--list-group-color);
  background-color: var(--list-group-bg);
  border: var(--list-group-border-width) solid var(--list-group-border-color);
}

.list-group-item:first-child {
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: var(--list-group-disabled-color);
  pointer-events: none;
  background-color: var(--list-group-disabled-bg);
}

.list-group-item.active {
  z-index: 2;
  color: var(--list-group-active-color);
  background-color: var(--list-group-active-bg);
  border-color: var(--list-group-active-border-color);
}

.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--list-group-border-width));
  border-top-width: var(--list-group-border-width);
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--list-group-border-radius);
  border-top-right-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--list-group-border-radius);
  border-bottom-left-radius: 0;
}

.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--list-group-border-width);
  border-left-width: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--list-group-border-width));
  border-left-width: var(--list-group-border-width);
}

@media (min-width: 100mm) {
  .list-group-horizontal-sm {
    flex-direction: row;
  }
  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-sm > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}

@media (min-width: 188mm) {
  .list-group-horizontal-md {
    flex-direction: row;
  }
  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-md > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}

@media (min-width: 190mm) {
  .list-group-horizontal-lg {
    flex-direction: row;
  }
  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-lg > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}

@media (min-width: 220mm) {
  .list-group-horizontal-xl {
    flex-direction: row;
  }
  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}

@media (min-width: 250mm) {
  .list-group-horizontal-xxl {
    flex-direction: row;
  }
  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: var(--list-group-border-radius);
    border-top-right-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
    border-top-right-radius: var(--list-group-border-radius);
    border-bottom-left-radius: 0;
  }
  .list-group-horizontal-xxl > .list-group-item.active {
    margin-top: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
    border-top-width: var(--list-group-border-width);
    border-left-width: 0;
  }
  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
    margin-left: calc(-1 * var(--list-group-border-width));
    border-left-width: var(--list-group-border-width);
  }
}

.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 var(--list-group-border-width);
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --list-group-color: var(--primary-text-emphasis);
  --list-group-bg: var(--primary-bg-subtle);
  --list-group-border-color: var(--primary-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--primary-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--primary-border-subtle);
  --list-group-active-color: var(--primary-bg-subtle);
  --list-group-active-bg: var(--primary-text-emphasis);
  --list-group-active-border-color: var(--primary-text-emphasis);
}

.list-group-item-secondary {
  --list-group-color: var(--secondary-text-emphasis);
  --list-group-bg: var(--secondary-bg-subtle);
  --list-group-border-color: var(--secondary-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--secondary-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--secondary-border-subtle);
  --list-group-active-color: var(--secondary-bg-subtle);
  --list-group-active-bg: var(--secondary-text-emphasis);
  --list-group-active-border-color: var(--secondary-text-emphasis);
}

.list-group-item-success {
  --list-group-color: var(--success-text-emphasis);
  --list-group-bg: var(--success-bg-subtle);
  --list-group-border-color: var(--success-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--success-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--success-border-subtle);
  --list-group-active-color: var(--success-bg-subtle);
  --list-group-active-bg: var(--success-text-emphasis);
  --list-group-active-border-color: var(--success-text-emphasis);
}

.list-group-item-info {
  --list-group-color: var(--info-text-emphasis);
  --list-group-bg: var(--info-bg-subtle);
  --list-group-border-color: var(--info-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--info-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--info-border-subtle);
  --list-group-active-color: var(--info-bg-subtle);
  --list-group-active-bg: var(--info-text-emphasis);
  --list-group-active-border-color: var(--info-text-emphasis);
}

.list-group-item-warning {
  --list-group-color: var(--warning-text-emphasis);
  --list-group-bg: var(--warning-bg-subtle);
  --list-group-border-color: var(--warning-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--warning-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--warning-border-subtle);
  --list-group-active-color: var(--warning-bg-subtle);
  --list-group-active-bg: var(--warning-text-emphasis);
  --list-group-active-border-color: var(--warning-text-emphasis);
}

.list-group-item-danger {
  --list-group-color: var(--danger-text-emphasis);
  --list-group-bg: var(--danger-bg-subtle);
  --list-group-border-color: var(--danger-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--danger-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--danger-border-subtle);
  --list-group-active-color: var(--danger-bg-subtle);
  --list-group-active-bg: var(--danger-text-emphasis);
  --list-group-active-border-color: var(--danger-text-emphasis);
}

.list-group-item-light {
  --list-group-color: var(--light-text-emphasis);
  --list-group-bg: var(--light-bg-subtle);
  --list-group-border-color: var(--light-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--light-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--light-border-subtle);
  --list-group-active-color: var(--light-bg-subtle);
  --list-group-active-bg: var(--light-text-emphasis);
  --list-group-active-border-color: var(--light-text-emphasis);
}

.list-group-item-dark {
  --list-group-color: var(--dark-text-emphasis);
  --list-group-bg: var(--dark-bg-subtle);
  --list-group-border-color: var(--dark-border-subtle);
  --list-group-action-hover-color: var(--emphasis-color);
  --list-group-action-hover-bg: var(--dark-border-subtle);
  --list-group-action-active-color: var(--emphasis-color);
  --list-group-action-active-bg: var(--dark-border-subtle);
  --list-group-active-color: var(--dark-bg-subtle);
  --list-group-active-bg: var(--dark-text-emphasis);
  --list-group-active-border-color: var(--dark-text-emphasis);
}

.btn-close {
  --btn-close-color: #000;
  --btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --btn-close-opacity: 0.5;
  --btn-close-hover-opacity: 0.75;
  --btn-close-focus-shadow: 0 0 0 0.25rem rgba(113, 75, 103, 0.25);
  --btn-close-focus-opacity: 1;
  --btn-close-disabled-opacity: 0.25;
  --btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--btn-close-color);
  background: transparent var(--btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.25rem;
  opacity: var(--btn-close-opacity);
}

.btn-close:hover {
  color: var(--btn-close-color);
  text-decoration: none;
  opacity: var(--btn-close-hover-opacity);
}

.btn-close:focus {
  outline: 0;
  box-shadow: var(--btn-close-focus-shadow);
  opacity: var(--btn-close-focus-opacity);
}

.btn-close:disabled, .btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--btn-close-disabled-opacity);
}

.btn-close-white {
  filter: var(--btn-close-white-filter);
}

.toast {
  --toast-zindex: 1090;
  --toast-padding-x: 1.5rem;
  --toast-padding-y: 0.5rem;
  --toast-spacing: 26px;
  --toast-max-width: 320px;
  --toast-font-size: 0.875rem;
  --toast-color: ;
  --toast-bg: rgba(255, 255, 255, 0.7);
  --toast-border-width: var(--border-width);
  --toast-border-color: var(--border-color-translucent);
  --toast-border-radius: 0;
  --toast-box-shadow: var(--box-shadow);
  --toast-header-color: var(--secondary-color);
  --toast-header-bg: rgba(255, 255, 255, 0.7);
  --toast-header-border-color: var(--border-color-translucent);
  width: var(--toast-max-width);
  max-width: 100%;
  font-size: var(--toast-font-size);
  color: var(--toast-color);
  pointer-events: auto;
  background-color: var(--toast-bg);
  background-clip: padding-box;
  border: var(--toast-border-width) solid var(--toast-border-color);
  box-shadow: var(--toast-box-shadow);
  border-radius: var(--toast-border-radius);
}

.toast.showing {
  opacity: 0;
}

.toast:not(.show) {
  display: none;
}

.toast-container {
  --toast-zindex: 1090;
  position: absolute;
  z-index: var(--toast-zindex);
  width: max-content;
  max-width: 100%;
  pointer-events: none;
}

.toast-container > :not(:last-child) {
  margin-bottom: var(--toast-spacing);
}

.toast-header {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  padding: var(--toast-padding-y) var(--toast-padding-x);
  color: var(--toast-header-color);
  background-color: var(--toast-header-bg);
  background-clip: padding-box;
  border-bottom: var(--toast-border-width) solid var(--toast-header-border-color);
  border-top-left-radius: calc(var(--toast-border-radius) - var(--toast-border-width));
  border-top-right-radius: calc(var(--toast-border-radius) - var(--toast-border-width));
}

.toast-header .btn-close {
  margin-right: calc(-.5 * var(--toast-padding-x));
  margin-left: var(--toast-padding-x);
}

.toast-body {
  padding: var(--toast-padding-x);
  word-wrap: break-word;
}

.modal {
  --modal-zindex: 1055;
  --modal-width: 650px;
  --modal-padding: 13px;
  --modal-margin: 0.5rem;
  --modal-color: ;
  --modal-bg: white;
  --modal-border-color: var(--border-color-translucent);
  --modal-border-width: var(--border-width);
  --modal-border-radius: 0.25rem;
  --modal-box-shadow: var(--box-shadow-sm);
  --modal-inner-border-radius: calc(0.25rem - (var(--border-width)));
  --modal-header-padding-x: 13px;
  --modal-header-padding-y: 13px;
  --modal-header-padding: 13px 13px;
  --modal-header-border-color: var(--border-color);
  --modal-header-border-width: var(--border-width);
  --modal-title-line-height: 1.3;
  --modal-footer-gap: 1px;
  --modal-footer-bg: ;
  --modal-footer-border-color: var(--border-color);
  --modal-footer-border-width: var(--border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--modal-margin);
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

@media (prefers-reduced-motion: reduce) {
  .modal.fade .modal-dialog {
    transition: none;
  }
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: none;
}

.modal-dialog-scrollable {
  height: calc(100% - var(--modal-margin) * 2);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  min-height: calc(100% - var(--modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  width: 100%;
  color: var(--modal-color);
  pointer-events: auto;
  background-color: var(--modal-bg);
  background-clip: padding-box;
  border: var(--modal-border-width) solid var(--modal-border-color);
  border-radius: var(--modal-border-radius);
  box-shadow: var(--modal-box-shadow);
  outline: 0;
}

.modal-backdrop {
  --backdrop-zindex: 1050;
  --backdrop-bg: #000;
  --backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--backdrop-bg);
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: var(--backdrop-opacity);
}

.modal-header {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-shrink: 0;
  align-items: center;
  padding: var(--modal-header-padding);
  border-bottom: var(--modal-header-border-width) solid var(--modal-header-border-color);
  border-top-left-radius: var(--modal-inner-border-radius);
  border-top-right-radius: var(--modal-inner-border-radius);
}

.modal-header .btn-close {
  padding: calc(var(--modal-header-padding-y) * .5) calc(var(--modal-header-padding-x) * .5);
  margin: calc(-.5 * var(--modal-header-padding-y)) calc(-.5 * var(--modal-header-padding-x)) calc(-.5 * var(--modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--modal-title-line-height);
}

.modal-body {
  position: relative;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  padding: var(--modal-padding);
}

.modal-footer {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-shrink: 0;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  align-items: center;
  -webkit-box-pack: end; justify-content: flex-end;
  padding: calc(var(--modal-padding) - var(--modal-footer-gap) * .5);
  background-color: var(--modal-footer-bg);
  border-top: var(--modal-footer-border-width) solid var(--modal-footer-border-color);
  border-bottom-right-radius: var(--modal-inner-border-radius);
  border-bottom-left-radius: var(--modal-inner-border-radius);
}

.modal-footer > * {
  margin: calc(var(--modal-footer-gap) * .5);
}

@media (min-width: 100mm) {
  .modal {
    --modal-margin: 1.75rem;
    --modal-box-shadow: var(--box-shadow);
  }
  .modal-dialog {
    max-width: var(--modal-width);
    margin-right: auto;
    margin-left: auto;
  }
  .modal-sm {
    --modal-width: 300px;
  }
}

@media (min-width: 190mm) {
  .modal-lg,
.modal-xl {
    --modal-width: 980px;
  }
}

@media (min-width: 220mm) {
  .modal-xl {
    --modal-width: 1140px;
  }
}

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 99.98mm) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
.modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 187.98mm) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
.modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 189.98mm) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
.modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 219.98mm) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
.modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 249.98mm) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
.modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}

.tooltip {
  --tooltip-zindex: 1080;
  --tooltip-max-width: 400px;
  --tooltip-padding-x: 6.5px;
  --tooltip-padding-y: 3.25px;
  --tooltip-margin: ;
  --tooltip-font-size: 0.8125rem;
  --tooltip-color: #e9ecef;
  --tooltip-bg: var(--emphasis-color);
  --tooltip-border-radius: var(--border-radius);
  --tooltip-opacity: 1;
  --tooltip-arrow-width: 0.8rem;
  --tooltip-arrow-height: 0.4rem;
  z-index: var(--tooltip-zindex);
  display: block;
  margin: var(--tooltip-margin);
  font-family: var(--font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--tooltip-font-size);
  word-wrap: break-word;
  opacity: 0;
}

.tooltip.show {
  opacity: var(--tooltip-opacity);
}

.tooltip .tooltip-arrow {
  display: block;
  width: var(--tooltip-arrow-width);
  height: var(--tooltip-arrow-height);
}

.tooltip .tooltip-arrow::before {
  position: absolute;
  content: "";
  border-color: transparent;
  border-style: solid;
}

.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow {
  bottom: calc(-1 * var(--tooltip-arrow-height));
}

.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before {
  top: -1px;
  border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;
  border-top-color: var(--tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow {
  left: calc(-1 * var(--tooltip-arrow-height));
  width: var(--tooltip-arrow-height);
  height: var(--tooltip-arrow-width);
}

.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before {
  right: -1px;
  border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;
  border-right-color: var(--tooltip-bg);
}

/* rtl:end:ignore */
.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow {
  top: calc(-1 * var(--tooltip-arrow-height));
}

.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before {
  bottom: -1px;
  border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);
  border-bottom-color: var(--tooltip-bg);
}

/* rtl:begin:ignore */
.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow {
  right: calc(-1 * var(--tooltip-arrow-height));
  width: var(--tooltip-arrow-height);
  height: var(--tooltip-arrow-width);
}

.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before {
  left: -1px;
  border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);
  border-left-color: var(--tooltip-bg);
}

/* rtl:end:ignore */
.tooltip-inner {
  max-width: var(--tooltip-max-width);
  padding: var(--tooltip-padding-y) var(--tooltip-padding-x);
  color: var(--tooltip-color);
  text-align: center;
  background-color: var(--tooltip-bg);
  border-radius: var(--tooltip-border-radius);
}

.popover {
  --popover-zindex: 1070;
  --popover-max-width: 276px;
  --popover-font-size: 0.8125rem;
  --popover-bg: #FFF;
  --popover-border-width: var(--border-width);
  --popover-border-color: #dee2e6;
  --popover-border-radius: 0.25rem;
  --popover-inner-border-radius: calc(0.25rem - var(--border-width));
  --popover-box-shadow: var(--box-shadow);
  --popover-header-padding-x: 13px;
  --popover-header-padding-y: 0.5rem;
  --popover-header-font-size: 0.875rem;
  --popover-header-color: #212529;
  --popover-header-bg: var(--secondary-bg);
  --popover-body-padding-x: 13px;
  --popover-body-padding-y: 13px;
  --popover-body-color: var(--body-color);
  --popover-arrow-width: 1rem;
  --popover-arrow-height: 0.5rem;
  --popover-arrow-border: var(--popover-border-color);
  z-index: var(--popover-zindex);
  display: block;
  max-width: var(--popover-max-width);
  font-family: var(--font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: var(--popover-font-size);
  word-wrap: break-word;
  background-color: var(--popover-bg);
  background-clip: padding-box;
  border: var(--popover-border-width) solid var(--popover-border-color);
  border-radius: var(--popover-border-radius);
  box-shadow: var(--popover-box-shadow);
}

.popover .popover-arrow {
  display: block;
  width: var(--popover-arrow-width);
  height: var(--popover-arrow-height);
}

.popover .popover-arrow::before, .popover .popover-arrow::after {
  position: absolute;
  display: block;
  content: "";
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}

.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow {
  bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));
}

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;
}

.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::before {
  bottom: 0;
  border-top-color: var(--popover-arrow-border);
}

.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="top"] > .popover-arrow::after {
  bottom: var(--popover-border-width);
  border-top-color: var(--popover-bg);
}

/* rtl:begin:ignore */
.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow {
  left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));
  width: var(--popover-arrow-height);
  height: var(--popover-arrow-width);
}

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;
}

.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::before {
  left: 0;
  border-right-color: var(--popover-arrow-border);
}

.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="right"] > .popover-arrow::after {
  left: var(--popover-border-width);
  border-right-color: var(--popover-bg);
}

/* rtl:end:ignore */
.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow {
  top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));
}

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);
}

.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::before {
  top: 0;
  border-bottom-color: var(--popover-arrow-border);
}

.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="bottom"] > .popover-arrow::after {
  top: var(--popover-border-width);
  border-bottom-color: var(--popover-bg);
}

.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^="bottom"] .popover-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: var(--popover-arrow-width);
  margin-left: calc(-.5 * var(--popover-arrow-width));
  content: "";
  border-bottom: var(--popover-border-width) solid var(--popover-header-bg);
}

/* rtl:begin:ignore */
.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow {
  right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));
  width: var(--popover-arrow-height);
  height: var(--popover-arrow-width);
}

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);
}

.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::before {
  right: 0;
  border-left-color: var(--popover-arrow-border);
}

.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^="left"] > .popover-arrow::after {
  right: var(--popover-border-width);
  border-left-color: var(--popover-bg);
}

/* rtl:end:ignore */
.popover-header {
  padding: var(--popover-header-padding-y) var(--popover-header-padding-x);
  margin-bottom: 0;
  font-size: var(--popover-header-font-size);
  color: var(--popover-header-color);
  background-color: var(--popover-header-bg);
  border-bottom: var(--popover-border-width) solid var(--popover-border-color);
  border-top-left-radius: var(--popover-inner-border-radius);
  border-top-right-radius: var(--popover-inner-border-radius);
}

.popover-header:empty {
  display: none;
}

.popover-body {
  padding: var(--popover-body-padding-y) var(--popover-body-padding-x);
  color: var(--popover-body-color);
}

.carousel {
  position: relative;
}

.carousel.pointer-event {
  touch-action: pan-y;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.carousel-inner::after {
  display: block;
  clear: both;
  content: "";
}

.carousel-item {
  position: relative;
  display: none;
  float: left;
  width: 100%;
  margin-right: -100%;
  backface-visibility: hidden;
  transition: transform 0.6s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-item {
    transition: none;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item {
  opacity: 0;
  transition-property: opacity;
  transform: none;
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
    transition: none;
  }
}

.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  justify-content: center;
  width: 15%;
  padding: 0;
  color: #FFF;
  text-align: center;
  background: none;
  border: 0;
  opacity: 0.5;
  transition: opacity 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-control-prev,
.carousel-control-next {
    transition: none;
  }
}

.carousel-control-prev:hover, .carousel-control-prev:focus,
.carousel-control-next:hover,
.carousel-control-next:focus {
  color: #FFF;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.carousel-control-prev {
  left: 0;
}

.carousel-control-next {
  right: 0;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")*/;
}

.carousel-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")*/;
}

.carousel-indicators {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: -webkit-box; display: -webkit-flex; display: flex;
  justify-content: center;
  padding: 0;
  margin-right: 15%;
  margin-bottom: 1rem;
  margin-left: 15%;
}

.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
  width: 30px;
  height: 3px;
  padding: 0;
  margin-right: 3px;
  margin-left: 3px;
  text-indent: -999px;
  cursor: pointer;
  background-color: #FFF;
  background-clip: padding-box;
  border: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  opacity: 0.5;
  transition: opacity 0.6s ease;
}

@media (prefers-reduced-motion: reduce) {
  .carousel-indicators [data-bs-target] {
    transition: none;
  }
}

.carousel-indicators .active {
  opacity: 1;
}

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 1.25rem;
  left: 15%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #FFF;
  text-align: center;
}

.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
  filter: invert(1) grayscale(100);
}

.carousel-dark .carousel-indicators [data-bs-target] {
  background-color: #000;
}

.carousel-dark .carousel-caption {
  color: #000;
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--spinner-width);
  height: var(--spinner-height);
  vertical-align: var(--spinner-vertical-align);
  border-radius: 50%;
  animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg) /* rtl:ignore */;
  }
}

.spinner-border {
  --spinner-width: 2rem;
  --spinner-height: 2rem;
  --spinner-vertical-align: -0.125em;
  --spinner-border-width: 0.25em;
  --spinner-animation-speed: 0.75s;
  --spinner-animation-name: spinner-border;
  border: var(--spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --spinner-width: 1rem;
  --spinner-height: 1rem;
  --spinner-border-width: 0.2em;
}

@keyframes spinner-grow {
  0% {
    transform: scale(0);
  }
  50% {
    opacity: 1;
    transform: none;
  }
}

.spinner-grow {
  --spinner-width: 2rem;
  --spinner-height: 2rem;
  --spinner-vertical-align: -0.125em;
  --spinner-animation-speed: 0.75s;
  --spinner-animation-name: spinner-grow;
  background-color: currentcolor;
  opacity: 0;
}

.spinner-grow-sm {
  --spinner-width: 1rem;
  --spinner-height: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border,
.spinner-grow {
    --spinner-animation-speed: 1.5s;
  }
}

.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
  --offcanvas-zindex: 1045;
  --offcanvas-width: 400px;
  --offcanvas-height: 30vh;
  --offcanvas-padding-x: 13px;
  --offcanvas-padding-y: 13px;
  --offcanvas-color: var(--body-color);
  --offcanvas-bg: var(--body-bg);
  --offcanvas-border-width: var(--border-width);
  --offcanvas-border-color: var(--border-color-translucent);
  --offcanvas-box-shadow: var(--box-shadow-sm);
  --offcanvas-transition: transform 0.3s ease-in-out;
  --offcanvas-title-line-height: 1.3;
}

@media (max-width: 99.98mm) {
  .offcanvas-sm {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--offcanvas-box-shadow);
    transition: var(--offcanvas-transition);
  }
}

@media (max-width: 99.98mm) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}

@media (max-width: 99.98mm) {
  .offcanvas-sm.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-sm.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-sm.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-sm.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
    visibility: visible;
  }
}

@media (min-width: 100mm) {
  .offcanvas-sm {
    --offcanvas-height: auto;
    --offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-sm .offcanvas-header {
    display: none;
  }
  .offcanvas-sm .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 187.98mm) {
  .offcanvas-md {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--offcanvas-box-shadow);
    transition: var(--offcanvas-transition);
  }
}

@media (max-width: 187.98mm) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}

@media (max-width: 187.98mm) {
  .offcanvas-md.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-md.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-md.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-md.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
    visibility: visible;
  }
}

@media (min-width: 188mm) {
  .offcanvas-md {
    --offcanvas-height: auto;
    --offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-md .offcanvas-header {
    display: none;
  }
  .offcanvas-md .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 189.98mm) {
  .offcanvas-lg {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--offcanvas-box-shadow);
    transition: var(--offcanvas-transition);
  }
}

@media (max-width: 189.98mm) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}

@media (max-width: 189.98mm) {
  .offcanvas-lg.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-lg.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-lg.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-lg.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
    visibility: visible;
  }
}

@media (min-width: 190mm) {
  .offcanvas-lg {
    --offcanvas-height: auto;
    --offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-lg .offcanvas-header {
    display: none;
  }
  .offcanvas-lg .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 219.98mm) {
  .offcanvas-xl {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--offcanvas-box-shadow);
    transition: var(--offcanvas-transition);
  }
}

@media (max-width: 219.98mm) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}

@media (max-width: 219.98mm) {
  .offcanvas-xl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
    visibility: visible;
  }
}

@media (min-width: 220mm) {
  .offcanvas-xl {
    --offcanvas-height: auto;
    --offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xl .offcanvas-header {
    display: none;
  }
  .offcanvas-xl .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

@media (max-width: 249.98mm) {
  .offcanvas-xxl {
    position: fixed;
    bottom: 0;
    z-index: var(--offcanvas-zindex);
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    max-width: 100%;
    color: var(--offcanvas-color);
    visibility: hidden;
    background-color: var(--offcanvas-bg);
    background-clip: padding-box;
    outline: 0;
    box-shadow: var(--offcanvas-box-shadow);
    transition: var(--offcanvas-transition);
  }
}

@media (max-width: 249.98mm) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}

@media (max-width: 249.98mm) {
  .offcanvas-xxl.offcanvas-start {
    top: 0;
    left: 0;
    width: var(--offcanvas-width);
    border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(-100%);
  }
  .offcanvas-xxl.offcanvas-end {
    top: 0;
    right: 0;
    width: var(--offcanvas-width);
    border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateX(100%);
  }
  .offcanvas-xxl.offcanvas-top {
    top: 0;
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(-100%);
  }
  .offcanvas-xxl.offcanvas-bottom {
    right: 0;
    left: 0;
    height: var(--offcanvas-height);
    max-height: 100%;
    border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
    transform: translateY(100%);
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
    transform: none;
  }
  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
    visibility: visible;
  }
}

@media (min-width: 250mm) {
  .offcanvas-xxl {
    --offcanvas-height: auto;
    --offcanvas-border-width: 0;
    background-color: transparent !important;
  }
  .offcanvas-xxl .offcanvas-header {
    display: none;
  }
  .offcanvas-xxl .offcanvas-body {
    display: -webkit-box; display: -webkit-flex; display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
    background-color: transparent !important;
  }
}

.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--offcanvas-zindex);
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  max-width: 100%;
  color: var(--offcanvas-color);
  visibility: hidden;
  background-color: var(--offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  box-shadow: var(--offcanvas-box-shadow);
  transition: var(--offcanvas-transition);
}

@media (prefers-reduced-motion: reduce) {
  .offcanvas {
    transition: none;
  }
}

.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--offcanvas-width);
  border-right: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(-100%);
}

.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--offcanvas-width);
  border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(100%);
}

.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-bottom: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(-100%);
}

.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(100%);
}

.offcanvas.showing, .offcanvas.show:not(.hiding) {
  transform: none;
}

.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.offcanvas-backdrop.fade {
  opacity: 0;
}

.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);
}

.offcanvas-header .btn-close {
  padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);
  margin: calc(-.5 * var(--offcanvas-padding-y)) calc(-.5 * var(--offcanvas-padding-x)) calc(-.5 * var(--offcanvas-padding-y)) auto;
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder {
  display: inline-block;
  min-height: 1em;
  vertical-align: middle;
  cursor: wait;
  background-color: currentcolor;
  opacity: 0.5;
}

.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.placeholder-xs {
  min-height: .6em;
}

.placeholder-sm {
  min-height: .8em;
}

.placeholder-lg {
  min-height: 1.2em;
}

.placeholder-glow .placeholder {
  animation: placeholder-glow 2s ease-in-out infinite;
}

@keyframes placeholder-glow {
  50% {
    opacity: 0.2;
  }
}

.placeholder-wave {
  mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
  mask-size: 200% 100%;
  animation: placeholder-wave 2s linear infinite;
}

@keyframes placeholder-wave {
  100% {
    mask-position: -200% 0%;
  }
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #FFF !important;
  background-color: RGBA(var(--primary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #000 !important;
  background-color: RGBA(var(--secondary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #FFF !important;
  background-color: RGBA(var(--success-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #FFF !important;
  background-color: RGBA(var(--info-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000 !important;
  background-color: RGBA(var(--warning-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #FFF !important;
  background-color: RGBA(var(--danger-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000 !important;
  background-color: RGBA(var(--light-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #FFF !important;
  background-color: RGBA(var(--dark-rgb), var(--bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--primary-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--primary-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-primary:hover, .link-primary:focus {
  color: RGBA(79, 53, 72, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(79, 53, 72, var(--link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--secondary-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--secondary-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-secondary:hover, .link-secondary:focus {
  color: RGBA(232, 235, 238, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(232, 235, 238, var(--link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--success-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--success-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-success:hover, .link-success:focus {
  color: RGBA(28, 117, 48, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(28, 117, 48, var(--link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--info-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--info-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-info:hover, .link-info:focus {
  color: RGBA(16, 113, 129, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(16, 113, 129, var(--link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--warning-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--warning-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-warning:hover, .link-warning:focus {
  color: RGBA(240, 186, 77, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(240, 186, 77, var(--link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--danger-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--danger-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-danger:hover, .link-danger:focus {
  color: RGBA(148, 53, 62, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(148, 53, 62, var(--link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--light-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--light-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-light:hover, .link-light:focus {
  color: RGBA(255, 255, 255, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 255, 255, var(--link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--dark-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--dark-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-dark:hover, .link-dark:focus {
  color: RGBA(23, 26, 29, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(23, 26, 29, var(--link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--emphasis-color-rgb), var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--emphasis-color-rgb), var(--link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--focus-ring-x, 0) var(--focus-ring-y, 0) var(--focus-ring-blur, 0) var(--focus-ring-width) var(--focus-ring-color);
}

.icon-link {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}

.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}

@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}

.ratio::before {
  display: block;
  padding-top: var(--aspect-ratio);
  content: "";
}

.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --aspect-ratio: 100%;
}

.ratio-4x3 {
  --aspect-ratio: calc(3 / 4 * 100%);
}

.ratio-16x9 {
  --aspect-ratio: calc(9 / 16 * 100%);
}

.ratio-21x9 {
  --aspect-ratio: calc(9 / 21 * 100%);
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 100mm) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 188mm) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 190mm) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 220mm) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 250mm) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

.hstack {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}



/* /web/static/src/scss/utilities_custom.scss */

.opacity-0-hover:hover, .opacity-trigger-hover:hover .opacity-0-hover {
  opacity: 0 !important;
}

.opacity-25-hover:hover, .opacity-trigger-hover:hover .opacity-25-hover {
  opacity: 0.25 !important;
}

.opacity-50-hover:hover, .opacity-trigger-hover:hover .opacity-50-hover {
  opacity: 0.5 !important;
}

.opacity-75-hover:hover, .opacity-trigger-hover:hover .opacity-75-hover {
  opacity: 0.75 !important;
}

.opacity-100-hover:hover, .opacity-trigger-hover:hover .opacity-100-hover {
  opacity: 1 !important;
}

.opacity-disabled-hover:hover, .opacity-trigger-hover:hover .opacity-disabled-hover {
  opacity: 0.5 !important;
}

.opacity-muted-hover:hover, .opacity-trigger-hover:hover .opacity-muted-hover {
  opacity: 0.76 !important;
}

.d-empty-none:empty {
  display: none !important;
}

.smaller {
  font-size: 0.75rem;
}



/* /web/static/src/scss/utilities_custom_backend.scss */



/* /web/static/lib/bootstrap/scss/utilities/_api.scss */

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.float-start {
  float: left !important;
}

.float-end {
  float: right !important;
}

.float-none {
  float: none !important;
}

.object-fit-contain {
  object-fit: contain !important;
}

.object-fit-cover {
  object-fit: cover !important;
}

.object-fit-fill {
  object-fit: fill !important;
}

.object-fit-scale {
  object-fit: scale-down !important;
}

.object-fit-none {
  object-fit: none !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.opacity-disabled {
  opacity: 0.5 !important;
}

.opacity-muted {
  opacity: 0.76 !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
}

.d-inline-flex {
  display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
}

.d-none {
  display: none !important;
}

.d-contents {
  display: contents !important;
}

.shadow {
  box-shadow: var(--box-shadow) !important;
}

.shadow-sm {
  box-shadow: var(--box-shadow-sm) !important;
}

.shadow-lg {
  box-shadow: var(--box-shadow-lg) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.focus-ring-primary {
  --focus-ring-color: rgba(var(--primary-rgb), var(--focus-ring-opacity));
}

.focus-ring-secondary {
  --focus-ring-color: rgba(var(--secondary-rgb), var(--focus-ring-opacity));
}

.focus-ring-success {
  --focus-ring-color: rgba(var(--success-rgb), var(--focus-ring-opacity));
}

.focus-ring-info {
  --focus-ring-color: rgba(var(--info-rgb), var(--focus-ring-opacity));
}

.focus-ring-warning {
  --focus-ring-color: rgba(var(--warning-rgb), var(--focus-ring-opacity));
}

.focus-ring-danger {
  --focus-ring-color: rgba(var(--danger-rgb), var(--focus-ring-opacity));
}

.focus-ring-light {
  --focus-ring-color: rgba(var(--light-rgb), var(--focus-ring-opacity));
}

.focus-ring-dark {
  --focus-ring-color: rgba(var(--dark-rgb), var(--focus-ring-opacity));
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}

.top-50 {
  top: 50% !important;
}

.top-100 {
  top: 100% !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.bottom-50 {
  bottom: 50% !important;
}

.bottom-100 {
  bottom: 100% !important;
}

.start-0 {
  left: 0 !important;
}

.start-50 {
  left: 50% !important;
}

.start-100 {
  left: 100% !important;
}

.end-0 {
  right: 0 !important;
}

.end-50 {
  right: 50% !important;
}

.end-100 {
  right: 100% !important;
}

.translate-middle {
  transform: translate(-50%, -50%) !important;
}

.translate-middle-x {
  transform: translateX(-50%) !important;
}

.translate-middle-y {
  transform: translateY(-50%) !important;
}

.border {
  border: var(--border-width) var(--border-style) var(--border-color) !important;
}

.border-0 {
  border: 0 !important;
}

.border-top {
  border-top: var(--border-width) var(--border-style) var(--border-color) !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-end {
  border-right: var(--border-width) var(--border-style) var(--border-color) !important;
}

.border-end-0 {
  border-right: 0 !important;
}

.border-bottom {
  border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-start {
  border-left: var(--border-width) var(--border-style) var(--border-color) !important;
}

.border-start-0 {
  border-left: 0 !important;
}

.border-primary {
  --border-opacity: 1;
  border-color: rgba(var(--primary-rgb), var(--border-opacity)) !important;
}

.border-secondary {
  --border-opacity: 1;
  border-color: rgba(var(--secondary-rgb), var(--border-opacity)) !important;
}

.border-success {
  --border-opacity: 1;
  border-color: rgba(var(--success-rgb), var(--border-opacity)) !important;
}

.border-info {
  --border-opacity: 1;
  border-color: rgba(var(--info-rgb), var(--border-opacity)) !important;
}

.border-warning {
  --border-opacity: 1;
  border-color: rgba(var(--warning-rgb), var(--border-opacity)) !important;
}

.border-danger {
  --border-opacity: 1;
  border-color: rgba(var(--danger-rgb), var(--border-opacity)) !important;
}

.border-light {
  --border-opacity: 1;
  border-color: rgba(var(--light-rgb), var(--border-opacity)) !important;
}

.border-dark {
  --border-opacity: 1;
  border-color: rgba(var(--dark-rgb), var(--border-opacity)) !important;
}

.border-black {
  --border-opacity: 1;
  border-color: rgba(var(--black-rgb), var(--border-opacity)) !important;
}

.border-white {
  --border-opacity: 1;
  border-color: rgba(var(--white-rgb), var(--border-opacity)) !important;
}

.border-transparent {
  --border-opacity: 1;
  border-color: transparent !important;
}

.border-primary-subtle {
  border-color: var(--primary-border-subtle) !important;
}

.border-secondary-subtle {
  border-color: var(--secondary-border-subtle) !important;
}

.border-success-subtle {
  border-color: var(--success-border-subtle) !important;
}

.border-info-subtle {
  border-color: var(--info-border-subtle) !important;
}

.border-warning-subtle {
  border-color: var(--warning-border-subtle) !important;
}

.border-danger-subtle {
  border-color: var(--danger-border-subtle) !important;
}

.border-light-subtle {
  border-color: var(--light-border-subtle) !important;
}

.border-dark-subtle {
  border-color: var(--dark-border-subtle) !important;
}

.border-1 {
  border-width: 1px !important;
}

.border-2 {
  border-width: 2px !important;
}

.border-3 {
  border-width: 3px !important;
}

.border-4 {
  border-width: 4px !important;
}

.border-5 {
  border-width: 5px !important;
}

.border-opacity-10 {
  --border-opacity: 0.1;
}

.border-opacity-25 {
  --border-opacity: 0.25;
}

.border-opacity-50 {
  --border-opacity: 0.5;
}

.border-opacity-75 {
  --border-opacity: 0.75;
}

.border-opacity-100 {
  --border-opacity: 1;
}

.w-0 {
  width: 0 !important;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.mw-0 {
  max-width: 0 !important;
}

.mw-25 {
  max-width: 25% !important;
}

.mw-50 {
  max-width: 50% !important;
}

.mw-75 {
  max-width: 75% !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mw-auto {
  max-width: auto !important;
}

.vw-100 {
  width: 100vw !important;
}

.min-vw-100 {
  min-width: 100vw !important;
}

.h-0 {
  height: 0 !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mh-0 {
  max-height: 0 !important;
}

.mh-25 {
  max-height: 25% !important;
}

.mh-50 {
  max-height: 50% !important;
}

.mh-75 {
  max-height: 75% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.mh-auto {
  max-height: auto !important;
}

.vh-100 {
  height: 100vh !important;
}

.min-vh-100 {
  min-height: 100vh !important;
}

.flex-fill {
  flex: 1 1 auto !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-row-reverse {
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  flex-direction: column-reverse !important;
}

.flex-grow-0 {
  flex-grow: 0 !important;
}

.flex-grow-1 {
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  flex-shrink: 1 !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.justify-content-start {
  -webkit-box-pack: start !important; justify-content: flex-start !important;
}

.justify-content-end {
  -webkit-box-pack: end !important; justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.justify-content-evenly {
  justify-content: space-evenly !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

.align-items-center {
  align-items: center !important;
}

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.align-content-start {
  align-content: flex-start !important;
}

.align-content-end {
  align-content: flex-end !important;
}

.align-content-center {
  align-content: center !important;
}

.align-content-between {
  align-content: space-between !important;
}

.align-content-around {
  align-content: space-around !important;
}

.align-content-stretch {
  align-content: stretch !important;
}

.align-self-auto {
  align-self: auto !important;
}

.align-self-start {
  align-self: flex-start !important;
}

.align-self-end {
  align-self: flex-end !important;
}

.align-self-center {
  align-self: center !important;
}

.align-self-baseline {
  align-self: baseline !important;
}

.align-self-stretch {
  align-self: stretch !important;
}

.order-first {
  order: -1 !important;
}

.order-last {
  order: 13 !important;
}

.order-0 {
  order: 0 !important;
}

.order-1 {
  order: 1 !important;
}

.order-2 {
  order: 2 !important;
}

.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

.order-7 {
  order: 7 !important;
}

.order-8 {
  order: 8 !important;
}

.order-9 {
  order: 9 !important;
}

.order-10 {
  order: 10 !important;
}

.order-11 {
  order: 11 !important;
}

.order-12 {
  order: 12 !important;
}

.m-0 {
  margin: 0 !important;
}

.m-1 {
  margin: 3.25px !important;
}

.m-2 {
  margin: 6.5px !important;
}

.m-3 {
  margin: 13px !important;
}

.m-4 {
  margin: 19.5px !important;
}

.m-5 {
  margin: 39px !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 3.25px !important;
  margin-left: 3.25px !important;
}

.mx-2 {
  margin-right: 6.5px !important;
  margin-left: 6.5px !important;
}

.mx-3 {
  margin-right: 13px !important;
  margin-left: 13px !important;
}

.mx-4 {
  margin-right: 19.5px !important;
  margin-left: 19.5px !important;
}

.mx-5 {
  margin-right: 39px !important;
  margin-left: 39px !important;
}

.mx-auto {
  margin-right: auto !important;
  margin-left: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-1 {
  margin-top: 3.25px !important;
  margin-bottom: 3.25px !important;
}

.my-2 {
  margin-top: 6.5px !important;
  margin-bottom: 6.5px !important;
}

.my-3 {
  margin-top: 13px !important;
  margin-bottom: 13px !important;
}

.my-4 {
  margin-top: 19.5px !important;
  margin-bottom: 19.5px !important;
}

.my-5 {
  margin-top: 39px !important;
  margin-bottom: 39px !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 3.25px !important;
}

.mt-2 {
  margin-top: 6.5px !important;
}

.mt-3 {
  margin-top: 13px !important;
}

.mt-4 {
  margin-top: 19.5px !important;
}

.mt-5 {
  margin-top: 39px !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 3.25px !important;
}

.me-2 {
  margin-right: 6.5px !important;
}

.me-3 {
  margin-right: 13px !important;
}

.me-4 {
  margin-right: 19.5px !important;
}

.me-5 {
  margin-right: 39px !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 3.25px !important;
}

.mb-2 {
  margin-bottom: 6.5px !important;
}

.mb-3 {
  margin-bottom: 13px !important;
}

.mb-4 {
  margin-bottom: 19.5px !important;
}

.mb-5 {
  margin-bottom: 39px !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 3.25px !important;
}

.ms-2 {
  margin-left: 6.5px !important;
}

.ms-3 {
  margin-left: 13px !important;
}

.ms-4 {
  margin-left: 19.5px !important;
}

.ms-5 {
  margin-left: 39px !important;
}

.ms-auto {
  margin-left: auto !important;
}

.m-n1 {
  margin: -3.25px !important;
}

.m-n2 {
  margin: -6.5px !important;
}

.m-n3 {
  margin: -13px !important;
}

.m-n4 {
  margin: -19.5px !important;
}

.m-n5 {
  margin: -39px !important;
}

.mx-n1 {
  margin-right: -3.25px !important;
  margin-left: -3.25px !important;
}

.mx-n2 {
  margin-right: -6.5px !important;
  margin-left: -6.5px !important;
}

.mx-n3 {
  margin-right: -13px !important;
  margin-left: -13px !important;
}

.mx-n4 {
  margin-right: -19.5px !important;
  margin-left: -19.5px !important;
}

.mx-n5 {
  margin-right: -39px !important;
  margin-left: -39px !important;
}

.my-n1 {
  margin-top: -3.25px !important;
  margin-bottom: -3.25px !important;
}

.my-n2 {
  margin-top: -6.5px !important;
  margin-bottom: -6.5px !important;
}

.my-n3 {
  margin-top: -13px !important;
  margin-bottom: -13px !important;
}

.my-n4 {
  margin-top: -19.5px !important;
  margin-bottom: -19.5px !important;
}

.my-n5 {
  margin-top: -39px !important;
  margin-bottom: -39px !important;
}

.mt-n1 {
  margin-top: -3.25px !important;
}

.mt-n2 {
  margin-top: -6.5px !important;
}

.mt-n3 {
  margin-top: -13px !important;
}

.mt-n4 {
  margin-top: -19.5px !important;
}

.mt-n5 {
  margin-top: -39px !important;
}

.me-n1 {
  margin-right: -3.25px !important;
}

.me-n2 {
  margin-right: -6.5px !important;
}

.me-n3 {
  margin-right: -13px !important;
}

.me-n4 {
  margin-right: -19.5px !important;
}

.me-n5 {
  margin-right: -39px !important;
}

.mb-n1 {
  margin-bottom: -3.25px !important;
}

.mb-n2 {
  margin-bottom: -6.5px !important;
}

.mb-n3 {
  margin-bottom: -13px !important;
}

.mb-n4 {
  margin-bottom: -19.5px !important;
}

.mb-n5 {
  margin-bottom: -39px !important;
}

.ms-n1 {
  margin-left: -3.25px !important;
}

.ms-n2 {
  margin-left: -6.5px !important;
}

.ms-n3 {
  margin-left: -13px !important;
}

.ms-n4 {
  margin-left: -19.5px !important;
}

.ms-n5 {
  margin-left: -39px !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 3.25px !important;
}

.p-2 {
  padding: 6.5px !important;
}

.p-3 {
  padding: 13px !important;
}

.p-4 {
  padding: 19.5px !important;
}

.p-5 {
  padding: 39px !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 3.25px !important;
  padding-left: 3.25px !important;
}

.px-2 {
  padding-right: 6.5px !important;
  padding-left: 6.5px !important;
}

.px-3 {
  padding-right: 13px !important;
  padding-left: 13px !important;
}

.px-4 {
  padding-right: 19.5px !important;
  padding-left: 19.5px !important;
}

.px-5 {
  padding-right: 39px !important;
  padding-left: 39px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 3.25px !important;
  padding-bottom: 3.25px !important;
}

.py-2 {
  padding-top: 6.5px !important;
  padding-bottom: 6.5px !important;
}

.py-3 {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
}

.py-4 {
  padding-top: 19.5px !important;
  padding-bottom: 19.5px !important;
}

.py-5 {
  padding-top: 39px !important;
  padding-bottom: 39px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 3.25px !important;
}

.pt-2 {
  padding-top: 6.5px !important;
}

.pt-3 {
  padding-top: 13px !important;
}

.pt-4 {
  padding-top: 19.5px !important;
}

.pt-5 {
  padding-top: 39px !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 3.25px !important;
}

.pe-2 {
  padding-right: 6.5px !important;
}

.pe-3 {
  padding-right: 13px !important;
}

.pe-4 {
  padding-right: 19.5px !important;
}

.pe-5 {
  padding-right: 39px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 3.25px !important;
}

.pb-2 {
  padding-bottom: 6.5px !important;
}

.pb-3 {
  padding-bottom: 13px !important;
}

.pb-4 {
  padding-bottom: 19.5px !important;
}

.pb-5 {
  padding-bottom: 39px !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 3.25px !important;
}

.ps-2 {
  padding-left: 6.5px !important;
}

.ps-3 {
  padding-left: 13px !important;
}

.ps-4 {
  padding-left: 19.5px !important;
}

.ps-5 {
  padding-left: 39px !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 3.25px !important;
}

.gap-2 {
  gap: 6.5px !important;
}

.gap-3 {
  gap: 13px !important;
}

.gap-4 {
  gap: 19.5px !important;
}

.gap-5 {
  gap: 39px !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 3.25px !important;
}

.row-gap-2 {
  row-gap: 6.5px !important;
}

.row-gap-3 {
  row-gap: 13px !important;
}

.row-gap-4 {
  row-gap: 19.5px !important;
}

.row-gap-5 {
  row-gap: 39px !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 3.25px !important;
}

.column-gap-2 {
  column-gap: 6.5px !important;
}

.column-gap-3 {
  column-gap: 13px !important;
}

.column-gap-4 {
  column-gap: 19.5px !important;
}

.column-gap-5 {
  column-gap: 39px !important;
}

.font-monospace {
  font-family: var(--font-monospace) !important;
}

.font-sans-serif {
  font-family: var(--font-sans-serif) !important;
}

.fs-1 {
  font-size: calc(1.335rem + 1.02vw) !important;
}

.fs-2 {
  font-size: calc(1.25625rem + 0.075vw) !important;
}

.fs-3 {
  font-size: 1.1375rem !important;
}

.fs-4 {
  font-size: 1.05rem !important;
}

.fs-5 {
  font-size: 0.9625rem !important;
}

.fs-6 {
  font-size: 0.875rem !important;
}

.fst-italic {
  font-style: italic !important;
}

.fst-normal {
  font-style: normal !important;
}

.fw-lighter {
  font-weight: lighter !important;
}

.fw-light {
  font-weight: 300 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

.fw-medium {
  font-weight: 500 !important;
}

.fw-semibold {
  font-weight: 600 !important;
}

.fw-bold {
  font-weight: 500 !important;
}

.fw-bolder {
  font-weight: bolder !important;
}

.lh-1 {
  line-height: 1 !important;
}

.lh-sm {
  line-height: 1 !important;
}

.lh-base {
  line-height: 1.3 !important;
}

.lh-lg {
  line-height: 1.5 !important;
}

.text-start {
  text-align: left !important;
}

.text-end {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-decoration-none {
  text-decoration: none !important;
}

.text-decoration-underline {
  text-decoration: underline !important;
}

.text-decoration-line-through {
  text-decoration: line-through !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-prewrap {
  white-space: pre-wrap !important;
}

/* rtl:begin:remove */
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

/* rtl:end:remove */
.text-body {
  --text-opacity: 1;
  color: #343a40 !important;
}

.text-muted {
  --text-opacity: 1;
  color: rgba(52, 58, 64, 0.76) !important;
}

.text-reset {
  --text-opacity: 1;
  color: inherit !important;
}

.text-opacity-25 {
  --text-opacity: 0.25;
}

.text-opacity-50 {
  --text-opacity: 0.5;
}

.text-opacity-75 {
  --text-opacity: 0.75;
}

.text-opacity-100 {
  --text-opacity: 1;
}

.text-primary-emphasis {
  color: var(--primary-text-emphasis) !important;
}

.text-secondary-emphasis {
  color: var(--secondary-text-emphasis) !important;
}

.text-success-emphasis {
  color: var(--success-text-emphasis) !important;
}

.text-info-emphasis {
  color: var(--info-text-emphasis) !important;
}

.text-warning-emphasis {
  color: var(--warning-text-emphasis) !important;
}

.text-danger-emphasis {
  color: var(--danger-text-emphasis) !important;
}

.text-light-emphasis {
  color: var(--light-text-emphasis) !important;
}

.text-dark-emphasis {
  color: var(--dark-text-emphasis) !important;
}

.link-opacity-10 {
  --link-opacity: 0.1;
}

.link-opacity-10-hover:hover {
  --link-opacity: 0.1;
}

.link-opacity-25 {
  --link-opacity: 0.25;
}

.link-opacity-25-hover:hover {
  --link-opacity: 0.25;
}

.link-opacity-50 {
  --link-opacity: 0.5;
}

.link-opacity-50-hover:hover {
  --link-opacity: 0.5;
}

.link-opacity-75 {
  --link-opacity: 0.75;
}

.link-opacity-75-hover:hover {
  --link-opacity: 0.75;
}

.link-opacity-100 {
  --link-opacity: 1;
}

.link-opacity-100-hover:hover {
  --link-opacity: 1;
}

.link-offset-1 {
  text-underline-offset: 0.125em !important;
}

.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}

.link-offset-2 {
  text-underline-offset: 0.25em !important;
}

.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}

.link-offset-3 {
  text-underline-offset: 0.375em !important;
}

.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}

.link-underline-primary {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--primary-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-secondary {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--secondary-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-success {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--success-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-info {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--info-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-warning {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--warning-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-danger {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--danger-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-light {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--light-rgb), var(--link-underline-opacity)) !important;
}

.link-underline-dark {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--dark-rgb), var(--link-underline-opacity)) !important;
}

.link-underline {
  --link-underline-opacity: 1;
  text-decoration-color: rgba(var(--link-color-rgb), var(--link-underline-opacity, 1)) !important;
}

.link-underline-opacity-0 {
  --link-underline-opacity: 0;
}

.link-underline-opacity-0-hover:hover {
  --link-underline-opacity: 0;
}

.link-underline-opacity-10 {
  --link-underline-opacity: 0.1;
}

.link-underline-opacity-10-hover:hover {
  --link-underline-opacity: 0.1;
}

.link-underline-opacity-25 {
  --link-underline-opacity: 0.25;
}

.link-underline-opacity-25-hover:hover {
  --link-underline-opacity: 0.25;
}

.link-underline-opacity-50 {
  --link-underline-opacity: 0.5;
}

.link-underline-opacity-50-hover:hover {
  --link-underline-opacity: 0.5;
}

.link-underline-opacity-75 {
  --link-underline-opacity: 0.75;
}

.link-underline-opacity-75-hover:hover {
  --link-underline-opacity: 0.75;
}

.link-underline-opacity-100 {
  --link-underline-opacity: 1;
}

.link-underline-opacity-100-hover:hover {
  --link-underline-opacity: 1;
}

.bg-opacity-0 {
  --bg-opacity: 0;
}

.bg-opacity-25 {
  --bg-opacity: 0.25;
}

.bg-opacity-50 {
  --bg-opacity: 0.5;
}

.bg-opacity-75 {
  --bg-opacity: 0.75;
}

.bg-opacity-100 {
  --bg-opacity: 1;
}

.bg-opacity-disabled {
  --bg-opacity: 0.5;
}

.bg-opacity-muted {
  --bg-opacity: 0.76;
}

.bg-primary-subtle {
  background-color: var(--primary-bg-subtle) !important;
}

.bg-secondary-subtle {
  background-color: var(--secondary-bg-subtle) !important;
}

.bg-success-subtle {
  background-color: var(--success-bg-subtle) !important;
}

.bg-info-subtle {
  background-color: var(--info-bg-subtle) !important;
}

.bg-warning-subtle {
  background-color: var(--warning-bg-subtle) !important;
}

.bg-danger-subtle {
  background-color: var(--danger-bg-subtle) !important;
}

.bg-light-subtle {
  background-color: var(--light-bg-subtle) !important;
}

.bg-dark-subtle {
  background-color: var(--dark-bg-subtle) !important;
}

.bg-gradient {
  background-image: var(--gradient) !important;
}

.user-select-all {
  user-select: all !important;
}

.user-select-auto {
  user-select: auto !important;
}

.user-select-none {
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}

.pe-auto {
  pointer-events: auto !important;
}

.rounded {
  border-radius: var(--border-radius) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-1 {
  border-radius: var(--border-radius-sm) !important;
}

.rounded-2 {
  border-radius: var(--border-radius) !important;
}

.rounded-3 {
  border-radius: var(--border-radius-lg) !important;
}

.rounded-4 {
  border-radius: var(--border-radius-xl) !important;
}

.rounded-5 {
  border-radius: var(--border-radius-xxl) !important;
}

.rounded-circle {
  border-radius: 50% !important;
}

.rounded-pill {
  border-radius: var(--border-radius-pill) !important;
}

.rounded-top {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-top-0 {
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

.rounded-top-1 {
  border-top-left-radius: 0.1875rem !important;
  border-top-right-radius: 0.1875rem !important;
}

.rounded-top-2 {
  border-top-left-radius: 0.25rem !important;
  border-top-right-radius: 0.25rem !important;
}

.rounded-top-3 {
  border-top-left-radius: 0.375rem !important;
  border-top-right-radius: 0.375rem !important;
}

.rounded-top-circle {
  border-top-left-radius: 50% !important;
  border-top-right-radius: 50% !important;
}

.rounded-top-pill {
  border-top-left-radius: 50rem !important;
  border-top-right-radius: 50rem !important;
}

.rounded-end {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-end-0 {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.rounded-end-1 {
  border-top-right-radius: 0.1875rem !important;
  border-bottom-right-radius: 0.1875rem !important;
}

.rounded-end-2 {
  border-top-right-radius: 0.25rem !important;
  border-bottom-right-radius: 0.25rem !important;
}

.rounded-end-3 {
  border-top-right-radius: 0.375rem !important;
  border-bottom-right-radius: 0.375rem !important;
}

.rounded-end-circle {
  border-top-right-radius: 50% !important;
  border-bottom-right-radius: 50% !important;
}

.rounded-end-pill {
  border-top-right-radius: 50rem !important;
  border-bottom-right-radius: 50rem !important;
}

.rounded-bottom {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-bottom-0 {
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

.rounded-bottom-1 {
  border-bottom-right-radius: 0.1875rem !important;
  border-bottom-left-radius: 0.1875rem !important;
}

.rounded-bottom-2 {
  border-bottom-right-radius: 0.25rem !important;
  border-bottom-left-radius: 0.25rem !important;
}

.rounded-bottom-3 {
  border-bottom-right-radius: 0.375rem !important;
  border-bottom-left-radius: 0.375rem !important;
}

.rounded-bottom-circle {
  border-bottom-right-radius: 50% !important;
  border-bottom-left-radius: 50% !important;
}

.rounded-bottom-pill {
  border-bottom-right-radius: 50rem !important;
  border-bottom-left-radius: 50rem !important;
}

.rounded-start {
  border-bottom-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
}

.rounded-start-0 {
  border-bottom-left-radius: 0 !important;
  border-top-left-radius: 0 !important;
}

.rounded-start-1 {
  border-bottom-left-radius: 0.1875rem !important;
  border-top-left-radius: 0.1875rem !important;
}

.rounded-start-2 {
  border-bottom-left-radius: 0.25rem !important;
  border-top-left-radius: 0.25rem !important;
}

.rounded-start-3 {
  border-bottom-left-radius: 0.375rem !important;
  border-top-left-radius: 0.375rem !important;
}

.rounded-start-circle {
  border-bottom-left-radius: 50% !important;
  border-top-left-radius: 50% !important;
}

.rounded-start-pill {
  border-bottom-left-radius: 50rem !important;
  border-top-left-radius: 50rem !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.z-n1 {
  z-index: -1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-1 {
  z-index: 1 !important;
}

.z-2 {
  z-index: 2 !important;
}

.z-3 {
  z-index: 3 !important;
}

.cursor-default {
  cursor: default !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.flex-basis-0 {
  flex-basis: 0 !important;
}

.flex-basis-25 {
  flex-basis: 25% !important;
}

.flex-basis-50 {
  flex-basis: 50% !important;
}

.flex-basis-75 {
  flex-basis: 75% !important;
}

.flex-basis-100 {
  flex-basis: 100% !important;
}

.flex-basis-auto {
  flex-basis: auto !important;
}

.transition-none {
  transition: none !important;
}

.transition-base {
  transition: all 0.2s ease-in-out !important;
}

.transition-fade {
  transition: opacity 0.15s linear !important;
}

.min-w-0 {
  min-width: 0 !important;
}

@media (min-width: 100mm) {
  .float-sm-start {
    float: left !important;
  }
  .float-sm-end {
    float: right !important;
  }
  .float-sm-none {
    float: none !important;
  }
  .object-fit-sm-contain {
    object-fit: contain !important;
  }
  .object-fit-sm-cover {
    object-fit: cover !important;
  }
  .object-fit-sm-fill {
    object-fit: fill !important;
  }
  .object-fit-sm-scale {
    object-fit: scale-down !important;
  }
  .object-fit-sm-none {
    object-fit: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-grid {
    display: grid !important;
  }
  .d-sm-inline-grid {
    display: inline-grid !important;
  }
  .d-sm-table {
    display: table !important;
  }
  .d-sm-table-row {
    display: table-row !important;
  }
  .d-sm-table-cell {
    display: table-cell !important;
  }
  .d-sm-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-sm-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-sm-none {
    display: none !important;
  }
  .d-sm-contents {
    display: contents !important;
  }
  .position-sm-static {
    position: static !important;
  }
  .position-sm-relative {
    position: relative !important;
  }
  .position-sm-absolute {
    position: absolute !important;
  }
  .position-sm-fixed {
    position: fixed !important;
  }
  .position-sm-sticky {
    position: sticky !important;
  }
  .w-sm-0 {
    width: 0 !important;
  }
  .w-sm-25 {
    width: 25% !important;
  }
  .w-sm-50 {
    width: 50% !important;
  }
  .w-sm-75 {
    width: 75% !important;
  }
  .w-sm-100 {
    width: 100% !important;
  }
  .w-sm-auto {
    width: auto !important;
  }
  .mw-sm-0 {
    max-width: 0 !important;
  }
  .mw-sm-25 {
    max-width: 25% !important;
  }
  .mw-sm-50 {
    max-width: 50% !important;
  }
  .mw-sm-75 {
    max-width: 75% !important;
  }
  .mw-sm-100 {
    max-width: 100% !important;
  }
  .mw-sm-auto {
    max-width: auto !important;
  }
  .h-sm-0 {
    height: 0 !important;
  }
  .h-sm-25 {
    height: 25% !important;
  }
  .h-sm-50 {
    height: 50% !important;
  }
  .h-sm-75 {
    height: 75% !important;
  }
  .h-sm-100 {
    height: 100% !important;
  }
  .h-sm-auto {
    height: auto !important;
  }
  .mh-sm-0 {
    max-height: 0 !important;
  }
  .mh-sm-25 {
    max-height: 25% !important;
  }
  .mh-sm-50 {
    max-height: 50% !important;
  }
  .mh-sm-75 {
    max-height: 75% !important;
  }
  .mh-sm-100 {
    max-height: 100% !important;
  }
  .mh-sm-auto {
    max-height: auto !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-sm-start {
    -webkit-box-pack: start !important; justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    -webkit-box-pack: end !important; justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-last {
    order: 13 !important;
  }
  .order-sm-0 {
    order: 0 !important;
  }
  .order-sm-1 {
    order: 1 !important;
  }
  .order-sm-2 {
    order: 2 !important;
  }
  .order-sm-3 {
    order: 3 !important;
  }
  .order-sm-4 {
    order: 4 !important;
  }
  .order-sm-5 {
    order: 5 !important;
  }
  .order-sm-6 {
    order: 6 !important;
  }
  .order-sm-7 {
    order: 7 !important;
  }
  .order-sm-8 {
    order: 8 !important;
  }
  .order-sm-9 {
    order: 9 !important;
  }
  .order-sm-10 {
    order: 10 !important;
  }
  .order-sm-11 {
    order: 11 !important;
  }
  .order-sm-12 {
    order: 12 !important;
  }
  .m-sm-0 {
    margin: 0 !important;
  }
  .m-sm-1 {
    margin: 3.25px !important;
  }
  .m-sm-2 {
    margin: 6.5px !important;
  }
  .m-sm-3 {
    margin: 13px !important;
  }
  .m-sm-4 {
    margin: 19.5px !important;
  }
  .m-sm-5 {
    margin: 39px !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 3.25px !important;
    margin-left: 3.25px !important;
  }
  .mx-sm-2 {
    margin-right: 6.5px !important;
    margin-left: 6.5px !important;
  }
  .mx-sm-3 {
    margin-right: 13px !important;
    margin-left: 13px !important;
  }
  .mx-sm-4 {
    margin-right: 19.5px !important;
    margin-left: 19.5px !important;
  }
  .mx-sm-5 {
    margin-right: 39px !important;
    margin-left: 39px !important;
  }
  .mx-sm-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-sm-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-sm-1 {
    margin-top: 3.25px !important;
    margin-bottom: 3.25px !important;
  }
  .my-sm-2 {
    margin-top: 6.5px !important;
    margin-bottom: 6.5px !important;
  }
  .my-sm-3 {
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
  .my-sm-4 {
    margin-top: 19.5px !important;
    margin-bottom: 19.5px !important;
  }
  .my-sm-5 {
    margin-top: 39px !important;
    margin-bottom: 39px !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 3.25px !important;
  }
  .mt-sm-2 {
    margin-top: 6.5px !important;
  }
  .mt-sm-3 {
    margin-top: 13px !important;
  }
  .mt-sm-4 {
    margin-top: 19.5px !important;
  }
  .mt-sm-5 {
    margin-top: 39px !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 3.25px !important;
  }
  .me-sm-2 {
    margin-right: 6.5px !important;
  }
  .me-sm-3 {
    margin-right: 13px !important;
  }
  .me-sm-4 {
    margin-right: 19.5px !important;
  }
  .me-sm-5 {
    margin-right: 39px !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 3.25px !important;
  }
  .mb-sm-2 {
    margin-bottom: 6.5px !important;
  }
  .mb-sm-3 {
    margin-bottom: 13px !important;
  }
  .mb-sm-4 {
    margin-bottom: 19.5px !important;
  }
  .mb-sm-5 {
    margin-bottom: 39px !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 3.25px !important;
  }
  .ms-sm-2 {
    margin-left: 6.5px !important;
  }
  .ms-sm-3 {
    margin-left: 13px !important;
  }
  .ms-sm-4 {
    margin-left: 19.5px !important;
  }
  .ms-sm-5 {
    margin-left: 39px !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .m-sm-n1 {
    margin: -3.25px !important;
  }
  .m-sm-n2 {
    margin: -6.5px !important;
  }
  .m-sm-n3 {
    margin: -13px !important;
  }
  .m-sm-n4 {
    margin: -19.5px !important;
  }
  .m-sm-n5 {
    margin: -39px !important;
  }
  .mx-sm-n1 {
    margin-right: -3.25px !important;
    margin-left: -3.25px !important;
  }
  .mx-sm-n2 {
    margin-right: -6.5px !important;
    margin-left: -6.5px !important;
  }
  .mx-sm-n3 {
    margin-right: -13px !important;
    margin-left: -13px !important;
  }
  .mx-sm-n4 {
    margin-right: -19.5px !important;
    margin-left: -19.5px !important;
  }
  .mx-sm-n5 {
    margin-right: -39px !important;
    margin-left: -39px !important;
  }
  .my-sm-n1 {
    margin-top: -3.25px !important;
    margin-bottom: -3.25px !important;
  }
  .my-sm-n2 {
    margin-top: -6.5px !important;
    margin-bottom: -6.5px !important;
  }
  .my-sm-n3 {
    margin-top: -13px !important;
    margin-bottom: -13px !important;
  }
  .my-sm-n4 {
    margin-top: -19.5px !important;
    margin-bottom: -19.5px !important;
  }
  .my-sm-n5 {
    margin-top: -39px !important;
    margin-bottom: -39px !important;
  }
  .mt-sm-n1 {
    margin-top: -3.25px !important;
  }
  .mt-sm-n2 {
    margin-top: -6.5px !important;
  }
  .mt-sm-n3 {
    margin-top: -13px !important;
  }
  .mt-sm-n4 {
    margin-top: -19.5px !important;
  }
  .mt-sm-n5 {
    margin-top: -39px !important;
  }
  .me-sm-n1 {
    margin-right: -3.25px !important;
  }
  .me-sm-n2 {
    margin-right: -6.5px !important;
  }
  .me-sm-n3 {
    margin-right: -13px !important;
  }
  .me-sm-n4 {
    margin-right: -19.5px !important;
  }
  .me-sm-n5 {
    margin-right: -39px !important;
  }
  .mb-sm-n1 {
    margin-bottom: -3.25px !important;
  }
  .mb-sm-n2 {
    margin-bottom: -6.5px !important;
  }
  .mb-sm-n3 {
    margin-bottom: -13px !important;
  }
  .mb-sm-n4 {
    margin-bottom: -19.5px !important;
  }
  .mb-sm-n5 {
    margin-bottom: -39px !important;
  }
  .ms-sm-n1 {
    margin-left: -3.25px !important;
  }
  .ms-sm-n2 {
    margin-left: -6.5px !important;
  }
  .ms-sm-n3 {
    margin-left: -13px !important;
  }
  .ms-sm-n4 {
    margin-left: -19.5px !important;
  }
  .ms-sm-n5 {
    margin-left: -39px !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 3.25px !important;
  }
  .p-sm-2 {
    padding: 6.5px !important;
  }
  .p-sm-3 {
    padding: 13px !important;
  }
  .p-sm-4 {
    padding: 19.5px !important;
  }
  .p-sm-5 {
    padding: 39px !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-sm-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-sm-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-sm-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-sm-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-sm-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-sm-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-sm-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-sm-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 3.25px !important;
  }
  .pt-sm-2 {
    padding-top: 6.5px !important;
  }
  .pt-sm-3 {
    padding-top: 13px !important;
  }
  .pt-sm-4 {
    padding-top: 19.5px !important;
  }
  .pt-sm-5 {
    padding-top: 39px !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 3.25px !important;
  }
  .pe-sm-2 {
    padding-right: 6.5px !important;
  }
  .pe-sm-3 {
    padding-right: 13px !important;
  }
  .pe-sm-4 {
    padding-right: 19.5px !important;
  }
  .pe-sm-5 {
    padding-right: 39px !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-sm-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-sm-3 {
    padding-bottom: 13px !important;
  }
  .pb-sm-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-sm-5 {
    padding-bottom: 39px !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 3.25px !important;
  }
  .ps-sm-2 {
    padding-left: 6.5px !important;
  }
  .ps-sm-3 {
    padding-left: 13px !important;
  }
  .ps-sm-4 {
    padding-left: 19.5px !important;
  }
  .ps-sm-5 {
    padding-left: 39px !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 3.25px !important;
  }
  .gap-sm-2 {
    gap: 6.5px !important;
  }
  .gap-sm-3 {
    gap: 13px !important;
  }
  .gap-sm-4 {
    gap: 19.5px !important;
  }
  .gap-sm-5 {
    gap: 39px !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 3.25px !important;
  }
  .row-gap-sm-2 {
    row-gap: 6.5px !important;
  }
  .row-gap-sm-3 {
    row-gap: 13px !important;
  }
  .row-gap-sm-4 {
    row-gap: 19.5px !important;
  }
  .row-gap-sm-5 {
    row-gap: 39px !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 3.25px !important;
  }
  .column-gap-sm-2 {
    column-gap: 6.5px !important;
  }
  .column-gap-sm-3 {
    column-gap: 13px !important;
  }
  .column-gap-sm-4 {
    column-gap: 19.5px !important;
  }
  .column-gap-sm-5 {
    column-gap: 39px !important;
  }
  .text-sm-start {
    text-align: left !important;
  }
  .text-sm-end {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
  .flex-basis-sm-0 {
    flex-basis: 0 !important;
  }
  .flex-basis-sm-25 {
    flex-basis: 25% !important;
  }
  .flex-basis-sm-50 {
    flex-basis: 50% !important;
  }
  .flex-basis-sm-75 {
    flex-basis: 75% !important;
  }
  .flex-basis-sm-100 {
    flex-basis: 100% !important;
  }
  .flex-basis-sm-auto {
    flex-basis: auto !important;
  }
}

@media (min-width: 188mm) {
  .float-md-start {
    float: left !important;
  }
  .float-md-end {
    float: right !important;
  }
  .float-md-none {
    float: none !important;
  }
  .object-fit-md-contain {
    object-fit: contain !important;
  }
  .object-fit-md-cover {
    object-fit: cover !important;
  }
  .object-fit-md-fill {
    object-fit: fill !important;
  }
  .object-fit-md-scale {
    object-fit: scale-down !important;
  }
  .object-fit-md-none {
    object-fit: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-grid {
    display: grid !important;
  }
  .d-md-inline-grid {
    display: inline-grid !important;
  }
  .d-md-table {
    display: table !important;
  }
  .d-md-table-row {
    display: table-row !important;
  }
  .d-md-table-cell {
    display: table-cell !important;
  }
  .d-md-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-md-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-md-none {
    display: none !important;
  }
  .d-md-contents {
    display: contents !important;
  }
  .position-md-static {
    position: static !important;
  }
  .position-md-relative {
    position: relative !important;
  }
  .position-md-absolute {
    position: absolute !important;
  }
  .position-md-fixed {
    position: fixed !important;
  }
  .position-md-sticky {
    position: sticky !important;
  }
  .w-md-0 {
    width: 0 !important;
  }
  .w-md-25 {
    width: 25% !important;
  }
  .w-md-50 {
    width: 50% !important;
  }
  .w-md-75 {
    width: 75% !important;
  }
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .mw-md-0 {
    max-width: 0 !important;
  }
  .mw-md-25 {
    max-width: 25% !important;
  }
  .mw-md-50 {
    max-width: 50% !important;
  }
  .mw-md-75 {
    max-width: 75% !important;
  }
  .mw-md-100 {
    max-width: 100% !important;
  }
  .mw-md-auto {
    max-width: auto !important;
  }
  .h-md-0 {
    height: 0 !important;
  }
  .h-md-25 {
    height: 25% !important;
  }
  .h-md-50 {
    height: 50% !important;
  }
  .h-md-75 {
    height: 75% !important;
  }
  .h-md-100 {
    height: 100% !important;
  }
  .h-md-auto {
    height: auto !important;
  }
  .mh-md-0 {
    max-height: 0 !important;
  }
  .mh-md-25 {
    max-height: 25% !important;
  }
  .mh-md-50 {
    max-height: 50% !important;
  }
  .mh-md-75 {
    max-height: 75% !important;
  }
  .mh-md-100 {
    max-height: 100% !important;
  }
  .mh-md-auto {
    max-height: auto !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-md-start {
    -webkit-box-pack: start !important; justify-content: flex-start !important;
  }
  .justify-content-md-end {
    -webkit-box-pack: end !important; justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
  .order-md-first {
    order: -1 !important;
  }
  .order-md-last {
    order: 13 !important;
  }
  .order-md-0 {
    order: 0 !important;
  }
  .order-md-1 {
    order: 1 !important;
  }
  .order-md-2 {
    order: 2 !important;
  }
  .order-md-3 {
    order: 3 !important;
  }
  .order-md-4 {
    order: 4 !important;
  }
  .order-md-5 {
    order: 5 !important;
  }
  .order-md-6 {
    order: 6 !important;
  }
  .order-md-7 {
    order: 7 !important;
  }
  .order-md-8 {
    order: 8 !important;
  }
  .order-md-9 {
    order: 9 !important;
  }
  .order-md-10 {
    order: 10 !important;
  }
  .order-md-11 {
    order: 11 !important;
  }
  .order-md-12 {
    order: 12 !important;
  }
  .m-md-0 {
    margin: 0 !important;
  }
  .m-md-1 {
    margin: 3.25px !important;
  }
  .m-md-2 {
    margin: 6.5px !important;
  }
  .m-md-3 {
    margin: 13px !important;
  }
  .m-md-4 {
    margin: 19.5px !important;
  }
  .m-md-5 {
    margin: 39px !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 3.25px !important;
    margin-left: 3.25px !important;
  }
  .mx-md-2 {
    margin-right: 6.5px !important;
    margin-left: 6.5px !important;
  }
  .mx-md-3 {
    margin-right: 13px !important;
    margin-left: 13px !important;
  }
  .mx-md-4 {
    margin-right: 19.5px !important;
    margin-left: 19.5px !important;
  }
  .mx-md-5 {
    margin-right: 39px !important;
    margin-left: 39px !important;
  }
  .mx-md-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-md-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-md-1 {
    margin-top: 3.25px !important;
    margin-bottom: 3.25px !important;
  }
  .my-md-2 {
    margin-top: 6.5px !important;
    margin-bottom: 6.5px !important;
  }
  .my-md-3 {
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
  .my-md-4 {
    margin-top: 19.5px !important;
    margin-bottom: 19.5px !important;
  }
  .my-md-5 {
    margin-top: 39px !important;
    margin-bottom: 39px !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 3.25px !important;
  }
  .mt-md-2 {
    margin-top: 6.5px !important;
  }
  .mt-md-3 {
    margin-top: 13px !important;
  }
  .mt-md-4 {
    margin-top: 19.5px !important;
  }
  .mt-md-5 {
    margin-top: 39px !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 3.25px !important;
  }
  .me-md-2 {
    margin-right: 6.5px !important;
  }
  .me-md-3 {
    margin-right: 13px !important;
  }
  .me-md-4 {
    margin-right: 19.5px !important;
  }
  .me-md-5 {
    margin-right: 39px !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 3.25px !important;
  }
  .mb-md-2 {
    margin-bottom: 6.5px !important;
  }
  .mb-md-3 {
    margin-bottom: 13px !important;
  }
  .mb-md-4 {
    margin-bottom: 19.5px !important;
  }
  .mb-md-5 {
    margin-bottom: 39px !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 3.25px !important;
  }
  .ms-md-2 {
    margin-left: 6.5px !important;
  }
  .ms-md-3 {
    margin-left: 13px !important;
  }
  .ms-md-4 {
    margin-left: 19.5px !important;
  }
  .ms-md-5 {
    margin-left: 39px !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .m-md-n1 {
    margin: -3.25px !important;
  }
  .m-md-n2 {
    margin: -6.5px !important;
  }
  .m-md-n3 {
    margin: -13px !important;
  }
  .m-md-n4 {
    margin: -19.5px !important;
  }
  .m-md-n5 {
    margin: -39px !important;
  }
  .mx-md-n1 {
    margin-right: -3.25px !important;
    margin-left: -3.25px !important;
  }
  .mx-md-n2 {
    margin-right: -6.5px !important;
    margin-left: -6.5px !important;
  }
  .mx-md-n3 {
    margin-right: -13px !important;
    margin-left: -13px !important;
  }
  .mx-md-n4 {
    margin-right: -19.5px !important;
    margin-left: -19.5px !important;
  }
  .mx-md-n5 {
    margin-right: -39px !important;
    margin-left: -39px !important;
  }
  .my-md-n1 {
    margin-top: -3.25px !important;
    margin-bottom: -3.25px !important;
  }
  .my-md-n2 {
    margin-top: -6.5px !important;
    margin-bottom: -6.5px !important;
  }
  .my-md-n3 {
    margin-top: -13px !important;
    margin-bottom: -13px !important;
  }
  .my-md-n4 {
    margin-top: -19.5px !important;
    margin-bottom: -19.5px !important;
  }
  .my-md-n5 {
    margin-top: -39px !important;
    margin-bottom: -39px !important;
  }
  .mt-md-n1 {
    margin-top: -3.25px !important;
  }
  .mt-md-n2 {
    margin-top: -6.5px !important;
  }
  .mt-md-n3 {
    margin-top: -13px !important;
  }
  .mt-md-n4 {
    margin-top: -19.5px !important;
  }
  .mt-md-n5 {
    margin-top: -39px !important;
  }
  .me-md-n1 {
    margin-right: -3.25px !important;
  }
  .me-md-n2 {
    margin-right: -6.5px !important;
  }
  .me-md-n3 {
    margin-right: -13px !important;
  }
  .me-md-n4 {
    margin-right: -19.5px !important;
  }
  .me-md-n5 {
    margin-right: -39px !important;
  }
  .mb-md-n1 {
    margin-bottom: -3.25px !important;
  }
  .mb-md-n2 {
    margin-bottom: -6.5px !important;
  }
  .mb-md-n3 {
    margin-bottom: -13px !important;
  }
  .mb-md-n4 {
    margin-bottom: -19.5px !important;
  }
  .mb-md-n5 {
    margin-bottom: -39px !important;
  }
  .ms-md-n1 {
    margin-left: -3.25px !important;
  }
  .ms-md-n2 {
    margin-left: -6.5px !important;
  }
  .ms-md-n3 {
    margin-left: -13px !important;
  }
  .ms-md-n4 {
    margin-left: -19.5px !important;
  }
  .ms-md-n5 {
    margin-left: -39px !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 3.25px !important;
  }
  .p-md-2 {
    padding: 6.5px !important;
  }
  .p-md-3 {
    padding: 13px !important;
  }
  .p-md-4 {
    padding: 19.5px !important;
  }
  .p-md-5 {
    padding: 39px !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-md-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-md-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-md-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-md-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-md-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-md-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-md-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-md-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 3.25px !important;
  }
  .pt-md-2 {
    padding-top: 6.5px !important;
  }
  .pt-md-3 {
    padding-top: 13px !important;
  }
  .pt-md-4 {
    padding-top: 19.5px !important;
  }
  .pt-md-5 {
    padding-top: 39px !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 3.25px !important;
  }
  .pe-md-2 {
    padding-right: 6.5px !important;
  }
  .pe-md-3 {
    padding-right: 13px !important;
  }
  .pe-md-4 {
    padding-right: 19.5px !important;
  }
  .pe-md-5 {
    padding-right: 39px !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-md-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-md-3 {
    padding-bottom: 13px !important;
  }
  .pb-md-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-md-5 {
    padding-bottom: 39px !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 3.25px !important;
  }
  .ps-md-2 {
    padding-left: 6.5px !important;
  }
  .ps-md-3 {
    padding-left: 13px !important;
  }
  .ps-md-4 {
    padding-left: 19.5px !important;
  }
  .ps-md-5 {
    padding-left: 39px !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 3.25px !important;
  }
  .gap-md-2 {
    gap: 6.5px !important;
  }
  .gap-md-3 {
    gap: 13px !important;
  }
  .gap-md-4 {
    gap: 19.5px !important;
  }
  .gap-md-5 {
    gap: 39px !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 3.25px !important;
  }
  .row-gap-md-2 {
    row-gap: 6.5px !important;
  }
  .row-gap-md-3 {
    row-gap: 13px !important;
  }
  .row-gap-md-4 {
    row-gap: 19.5px !important;
  }
  .row-gap-md-5 {
    row-gap: 39px !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 3.25px !important;
  }
  .column-gap-md-2 {
    column-gap: 6.5px !important;
  }
  .column-gap-md-3 {
    column-gap: 13px !important;
  }
  .column-gap-md-4 {
    column-gap: 19.5px !important;
  }
  .column-gap-md-5 {
    column-gap: 39px !important;
  }
  .text-md-start {
    text-align: left !important;
  }
  .text-md-end {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
  .flex-basis-md-0 {
    flex-basis: 0 !important;
  }
  .flex-basis-md-25 {
    flex-basis: 25% !important;
  }
  .flex-basis-md-50 {
    flex-basis: 50% !important;
  }
  .flex-basis-md-75 {
    flex-basis: 75% !important;
  }
  .flex-basis-md-100 {
    flex-basis: 100% !important;
  }
  .flex-basis-md-auto {
    flex-basis: auto !important;
  }
}

@media (min-width: 190mm) {
  .float-lg-start {
    float: left !important;
  }
  .float-lg-end {
    float: right !important;
  }
  .float-lg-none {
    float: none !important;
  }
  .object-fit-lg-contain {
    object-fit: contain !important;
  }
  .object-fit-lg-cover {
    object-fit: cover !important;
  }
  .object-fit-lg-fill {
    object-fit: fill !important;
  }
  .object-fit-lg-scale {
    object-fit: scale-down !important;
  }
  .object-fit-lg-none {
    object-fit: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-grid {
    display: grid !important;
  }
  .d-lg-inline-grid {
    display: inline-grid !important;
  }
  .d-lg-table {
    display: table !important;
  }
  .d-lg-table-row {
    display: table-row !important;
  }
  .d-lg-table-cell {
    display: table-cell !important;
  }
  .d-lg-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-lg-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-lg-none {
    display: none !important;
  }
  .d-lg-contents {
    display: contents !important;
  }
  .position-lg-static {
    position: static !important;
  }
  .position-lg-relative {
    position: relative !important;
  }
  .position-lg-absolute {
    position: absolute !important;
  }
  .position-lg-fixed {
    position: fixed !important;
  }
  .position-lg-sticky {
    position: sticky !important;
  }
  .w-lg-0 {
    width: 0 !important;
  }
  .w-lg-25 {
    width: 25% !important;
  }
  .w-lg-50 {
    width: 50% !important;
  }
  .w-lg-75 {
    width: 75% !important;
  }
  .w-lg-100 {
    width: 100% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .mw-lg-0 {
    max-width: 0 !important;
  }
  .mw-lg-25 {
    max-width: 25% !important;
  }
  .mw-lg-50 {
    max-width: 50% !important;
  }
  .mw-lg-75 {
    max-width: 75% !important;
  }
  .mw-lg-100 {
    max-width: 100% !important;
  }
  .mw-lg-auto {
    max-width: auto !important;
  }
  .h-lg-0 {
    height: 0 !important;
  }
  .h-lg-25 {
    height: 25% !important;
  }
  .h-lg-50 {
    height: 50% !important;
  }
  .h-lg-75 {
    height: 75% !important;
  }
  .h-lg-100 {
    height: 100% !important;
  }
  .h-lg-auto {
    height: auto !important;
  }
  .mh-lg-0 {
    max-height: 0 !important;
  }
  .mh-lg-25 {
    max-height: 25% !important;
  }
  .mh-lg-50 {
    max-height: 50% !important;
  }
  .mh-lg-75 {
    max-height: 75% !important;
  }
  .mh-lg-100 {
    max-height: 100% !important;
  }
  .mh-lg-auto {
    max-height: auto !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-lg-start {
    -webkit-box-pack: start !important; justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    -webkit-box-pack: end !important; justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-last {
    order: 13 !important;
  }
  .order-lg-0 {
    order: 0 !important;
  }
  .order-lg-1 {
    order: 1 !important;
  }
  .order-lg-2 {
    order: 2 !important;
  }
  .order-lg-3 {
    order: 3 !important;
  }
  .order-lg-4 {
    order: 4 !important;
  }
  .order-lg-5 {
    order: 5 !important;
  }
  .order-lg-6 {
    order: 6 !important;
  }
  .order-lg-7 {
    order: 7 !important;
  }
  .order-lg-8 {
    order: 8 !important;
  }
  .order-lg-9 {
    order: 9 !important;
  }
  .order-lg-10 {
    order: 10 !important;
  }
  .order-lg-11 {
    order: 11 !important;
  }
  .order-lg-12 {
    order: 12 !important;
  }
  .m-lg-0 {
    margin: 0 !important;
  }
  .m-lg-1 {
    margin: 3.25px !important;
  }
  .m-lg-2 {
    margin: 6.5px !important;
  }
  .m-lg-3 {
    margin: 13px !important;
  }
  .m-lg-4 {
    margin: 19.5px !important;
  }
  .m-lg-5 {
    margin: 39px !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 3.25px !important;
    margin-left: 3.25px !important;
  }
  .mx-lg-2 {
    margin-right: 6.5px !important;
    margin-left: 6.5px !important;
  }
  .mx-lg-3 {
    margin-right: 13px !important;
    margin-left: 13px !important;
  }
  .mx-lg-4 {
    margin-right: 19.5px !important;
    margin-left: 19.5px !important;
  }
  .mx-lg-5 {
    margin-right: 39px !important;
    margin-left: 39px !important;
  }
  .mx-lg-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-lg-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-lg-1 {
    margin-top: 3.25px !important;
    margin-bottom: 3.25px !important;
  }
  .my-lg-2 {
    margin-top: 6.5px !important;
    margin-bottom: 6.5px !important;
  }
  .my-lg-3 {
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
  .my-lg-4 {
    margin-top: 19.5px !important;
    margin-bottom: 19.5px !important;
  }
  .my-lg-5 {
    margin-top: 39px !important;
    margin-bottom: 39px !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 3.25px !important;
  }
  .mt-lg-2 {
    margin-top: 6.5px !important;
  }
  .mt-lg-3 {
    margin-top: 13px !important;
  }
  .mt-lg-4 {
    margin-top: 19.5px !important;
  }
  .mt-lg-5 {
    margin-top: 39px !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 3.25px !important;
  }
  .me-lg-2 {
    margin-right: 6.5px !important;
  }
  .me-lg-3 {
    margin-right: 13px !important;
  }
  .me-lg-4 {
    margin-right: 19.5px !important;
  }
  .me-lg-5 {
    margin-right: 39px !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 3.25px !important;
  }
  .mb-lg-2 {
    margin-bottom: 6.5px !important;
  }
  .mb-lg-3 {
    margin-bottom: 13px !important;
  }
  .mb-lg-4 {
    margin-bottom: 19.5px !important;
  }
  .mb-lg-5 {
    margin-bottom: 39px !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 3.25px !important;
  }
  .ms-lg-2 {
    margin-left: 6.5px !important;
  }
  .ms-lg-3 {
    margin-left: 13px !important;
  }
  .ms-lg-4 {
    margin-left: 19.5px !important;
  }
  .ms-lg-5 {
    margin-left: 39px !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .m-lg-n1 {
    margin: -3.25px !important;
  }
  .m-lg-n2 {
    margin: -6.5px !important;
  }
  .m-lg-n3 {
    margin: -13px !important;
  }
  .m-lg-n4 {
    margin: -19.5px !important;
  }
  .m-lg-n5 {
    margin: -39px !important;
  }
  .mx-lg-n1 {
    margin-right: -3.25px !important;
    margin-left: -3.25px !important;
  }
  .mx-lg-n2 {
    margin-right: -6.5px !important;
    margin-left: -6.5px !important;
  }
  .mx-lg-n3 {
    margin-right: -13px !important;
    margin-left: -13px !important;
  }
  .mx-lg-n4 {
    margin-right: -19.5px !important;
    margin-left: -19.5px !important;
  }
  .mx-lg-n5 {
    margin-right: -39px !important;
    margin-left: -39px !important;
  }
  .my-lg-n1 {
    margin-top: -3.25px !important;
    margin-bottom: -3.25px !important;
  }
  .my-lg-n2 {
    margin-top: -6.5px !important;
    margin-bottom: -6.5px !important;
  }
  .my-lg-n3 {
    margin-top: -13px !important;
    margin-bottom: -13px !important;
  }
  .my-lg-n4 {
    margin-top: -19.5px !important;
    margin-bottom: -19.5px !important;
  }
  .my-lg-n5 {
    margin-top: -39px !important;
    margin-bottom: -39px !important;
  }
  .mt-lg-n1 {
    margin-top: -3.25px !important;
  }
  .mt-lg-n2 {
    margin-top: -6.5px !important;
  }
  .mt-lg-n3 {
    margin-top: -13px !important;
  }
  .mt-lg-n4 {
    margin-top: -19.5px !important;
  }
  .mt-lg-n5 {
    margin-top: -39px !important;
  }
  .me-lg-n1 {
    margin-right: -3.25px !important;
  }
  .me-lg-n2 {
    margin-right: -6.5px !important;
  }
  .me-lg-n3 {
    margin-right: -13px !important;
  }
  .me-lg-n4 {
    margin-right: -19.5px !important;
  }
  .me-lg-n5 {
    margin-right: -39px !important;
  }
  .mb-lg-n1 {
    margin-bottom: -3.25px !important;
  }
  .mb-lg-n2 {
    margin-bottom: -6.5px !important;
  }
  .mb-lg-n3 {
    margin-bottom: -13px !important;
  }
  .mb-lg-n4 {
    margin-bottom: -19.5px !important;
  }
  .mb-lg-n5 {
    margin-bottom: -39px !important;
  }
  .ms-lg-n1 {
    margin-left: -3.25px !important;
  }
  .ms-lg-n2 {
    margin-left: -6.5px !important;
  }
  .ms-lg-n3 {
    margin-left: -13px !important;
  }
  .ms-lg-n4 {
    margin-left: -19.5px !important;
  }
  .ms-lg-n5 {
    margin-left: -39px !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 3.25px !important;
  }
  .p-lg-2 {
    padding: 6.5px !important;
  }
  .p-lg-3 {
    padding: 13px !important;
  }
  .p-lg-4 {
    padding: 19.5px !important;
  }
  .p-lg-5 {
    padding: 39px !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-lg-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-lg-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-lg-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-lg-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-lg-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-lg-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-lg-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-lg-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 3.25px !important;
  }
  .pt-lg-2 {
    padding-top: 6.5px !important;
  }
  .pt-lg-3 {
    padding-top: 13px !important;
  }
  .pt-lg-4 {
    padding-top: 19.5px !important;
  }
  .pt-lg-5 {
    padding-top: 39px !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 3.25px !important;
  }
  .pe-lg-2 {
    padding-right: 6.5px !important;
  }
  .pe-lg-3 {
    padding-right: 13px !important;
  }
  .pe-lg-4 {
    padding-right: 19.5px !important;
  }
  .pe-lg-5 {
    padding-right: 39px !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-lg-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-lg-3 {
    padding-bottom: 13px !important;
  }
  .pb-lg-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-lg-5 {
    padding-bottom: 39px !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 3.25px !important;
  }
  .ps-lg-2 {
    padding-left: 6.5px !important;
  }
  .ps-lg-3 {
    padding-left: 13px !important;
  }
  .ps-lg-4 {
    padding-left: 19.5px !important;
  }
  .ps-lg-5 {
    padding-left: 39px !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 3.25px !important;
  }
  .gap-lg-2 {
    gap: 6.5px !important;
  }
  .gap-lg-3 {
    gap: 13px !important;
  }
  .gap-lg-4 {
    gap: 19.5px !important;
  }
  .gap-lg-5 {
    gap: 39px !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 3.25px !important;
  }
  .row-gap-lg-2 {
    row-gap: 6.5px !important;
  }
  .row-gap-lg-3 {
    row-gap: 13px !important;
  }
  .row-gap-lg-4 {
    row-gap: 19.5px !important;
  }
  .row-gap-lg-5 {
    row-gap: 39px !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 3.25px !important;
  }
  .column-gap-lg-2 {
    column-gap: 6.5px !important;
  }
  .column-gap-lg-3 {
    column-gap: 13px !important;
  }
  .column-gap-lg-4 {
    column-gap: 19.5px !important;
  }
  .column-gap-lg-5 {
    column-gap: 39px !important;
  }
  .text-lg-start {
    text-align: left !important;
  }
  .text-lg-end {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
  .flex-basis-lg-0 {
    flex-basis: 0 !important;
  }
  .flex-basis-lg-25 {
    flex-basis: 25% !important;
  }
  .flex-basis-lg-50 {
    flex-basis: 50% !important;
  }
  .flex-basis-lg-75 {
    flex-basis: 75% !important;
  }
  .flex-basis-lg-100 {
    flex-basis: 100% !important;
  }
  .flex-basis-lg-auto {
    flex-basis: auto !important;
  }
}

@media (min-width: 220mm) {
  .float-xl-start {
    float: left !important;
  }
  .float-xl-end {
    float: right !important;
  }
  .float-xl-none {
    float: none !important;
  }
  .object-fit-xl-contain {
    object-fit: contain !important;
  }
  .object-fit-xl-cover {
    object-fit: cover !important;
  }
  .object-fit-xl-fill {
    object-fit: fill !important;
  }
  .object-fit-xl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xl-none {
    object-fit: none !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-grid {
    display: grid !important;
  }
  .d-xl-inline-grid {
    display: inline-grid !important;
  }
  .d-xl-table {
    display: table !important;
  }
  .d-xl-table-row {
    display: table-row !important;
  }
  .d-xl-table-cell {
    display: table-cell !important;
  }
  .d-xl-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-xl-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-xl-none {
    display: none !important;
  }
  .d-xl-contents {
    display: contents !important;
  }
  .position-xl-static {
    position: static !important;
  }
  .position-xl-relative {
    position: relative !important;
  }
  .position-xl-absolute {
    position: absolute !important;
  }
  .position-xl-fixed {
    position: fixed !important;
  }
  .position-xl-sticky {
    position: sticky !important;
  }
  .w-xl-0 {
    width: 0 !important;
  }
  .w-xl-25 {
    width: 25% !important;
  }
  .w-xl-50 {
    width: 50% !important;
  }
  .w-xl-75 {
    width: 75% !important;
  }
  .w-xl-100 {
    width: 100% !important;
  }
  .w-xl-auto {
    width: auto !important;
  }
  .mw-xl-0 {
    max-width: 0 !important;
  }
  .mw-xl-25 {
    max-width: 25% !important;
  }
  .mw-xl-50 {
    max-width: 50% !important;
  }
  .mw-xl-75 {
    max-width: 75% !important;
  }
  .mw-xl-100 {
    max-width: 100% !important;
  }
  .mw-xl-auto {
    max-width: auto !important;
  }
  .h-xl-0 {
    height: 0 !important;
  }
  .h-xl-25 {
    height: 25% !important;
  }
  .h-xl-50 {
    height: 50% !important;
  }
  .h-xl-75 {
    height: 75% !important;
  }
  .h-xl-100 {
    height: 100% !important;
  }
  .h-xl-auto {
    height: auto !important;
  }
  .mh-xl-0 {
    max-height: 0 !important;
  }
  .mh-xl-25 {
    max-height: 25% !important;
  }
  .mh-xl-50 {
    max-height: 50% !important;
  }
  .mh-xl-75 {
    max-height: 75% !important;
  }
  .mh-xl-100 {
    max-height: 100% !important;
  }
  .mh-xl-auto {
    max-height: auto !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xl-start {
    -webkit-box-pack: start !important; justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    -webkit-box-pack: end !important; justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-last {
    order: 13 !important;
  }
  .order-xl-0 {
    order: 0 !important;
  }
  .order-xl-1 {
    order: 1 !important;
  }
  .order-xl-2 {
    order: 2 !important;
  }
  .order-xl-3 {
    order: 3 !important;
  }
  .order-xl-4 {
    order: 4 !important;
  }
  .order-xl-5 {
    order: 5 !important;
  }
  .order-xl-6 {
    order: 6 !important;
  }
  .order-xl-7 {
    order: 7 !important;
  }
  .order-xl-8 {
    order: 8 !important;
  }
  .order-xl-9 {
    order: 9 !important;
  }
  .order-xl-10 {
    order: 10 !important;
  }
  .order-xl-11 {
    order: 11 !important;
  }
  .order-xl-12 {
    order: 12 !important;
  }
  .m-xl-0 {
    margin: 0 !important;
  }
  .m-xl-1 {
    margin: 3.25px !important;
  }
  .m-xl-2 {
    margin: 6.5px !important;
  }
  .m-xl-3 {
    margin: 13px !important;
  }
  .m-xl-4 {
    margin: 19.5px !important;
  }
  .m-xl-5 {
    margin: 39px !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 3.25px !important;
    margin-left: 3.25px !important;
  }
  .mx-xl-2 {
    margin-right: 6.5px !important;
    margin-left: 6.5px !important;
  }
  .mx-xl-3 {
    margin-right: 13px !important;
    margin-left: 13px !important;
  }
  .mx-xl-4 {
    margin-right: 19.5px !important;
    margin-left: 19.5px !important;
  }
  .mx-xl-5 {
    margin-right: 39px !important;
    margin-left: 39px !important;
  }
  .mx-xl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xl-1 {
    margin-top: 3.25px !important;
    margin-bottom: 3.25px !important;
  }
  .my-xl-2 {
    margin-top: 6.5px !important;
    margin-bottom: 6.5px !important;
  }
  .my-xl-3 {
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
  .my-xl-4 {
    margin-top: 19.5px !important;
    margin-bottom: 19.5px !important;
  }
  .my-xl-5 {
    margin-top: 39px !important;
    margin-bottom: 39px !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 3.25px !important;
  }
  .mt-xl-2 {
    margin-top: 6.5px !important;
  }
  .mt-xl-3 {
    margin-top: 13px !important;
  }
  .mt-xl-4 {
    margin-top: 19.5px !important;
  }
  .mt-xl-5 {
    margin-top: 39px !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 3.25px !important;
  }
  .me-xl-2 {
    margin-right: 6.5px !important;
  }
  .me-xl-3 {
    margin-right: 13px !important;
  }
  .me-xl-4 {
    margin-right: 19.5px !important;
  }
  .me-xl-5 {
    margin-right: 39px !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 3.25px !important;
  }
  .mb-xl-2 {
    margin-bottom: 6.5px !important;
  }
  .mb-xl-3 {
    margin-bottom: 13px !important;
  }
  .mb-xl-4 {
    margin-bottom: 19.5px !important;
  }
  .mb-xl-5 {
    margin-bottom: 39px !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 3.25px !important;
  }
  .ms-xl-2 {
    margin-left: 6.5px !important;
  }
  .ms-xl-3 {
    margin-left: 13px !important;
  }
  .ms-xl-4 {
    margin-left: 19.5px !important;
  }
  .ms-xl-5 {
    margin-left: 39px !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .m-xl-n1 {
    margin: -3.25px !important;
  }
  .m-xl-n2 {
    margin: -6.5px !important;
  }
  .m-xl-n3 {
    margin: -13px !important;
  }
  .m-xl-n4 {
    margin: -19.5px !important;
  }
  .m-xl-n5 {
    margin: -39px !important;
  }
  .mx-xl-n1 {
    margin-right: -3.25px !important;
    margin-left: -3.25px !important;
  }
  .mx-xl-n2 {
    margin-right: -6.5px !important;
    margin-left: -6.5px !important;
  }
  .mx-xl-n3 {
    margin-right: -13px !important;
    margin-left: -13px !important;
  }
  .mx-xl-n4 {
    margin-right: -19.5px !important;
    margin-left: -19.5px !important;
  }
  .mx-xl-n5 {
    margin-right: -39px !important;
    margin-left: -39px !important;
  }
  .my-xl-n1 {
    margin-top: -3.25px !important;
    margin-bottom: -3.25px !important;
  }
  .my-xl-n2 {
    margin-top: -6.5px !important;
    margin-bottom: -6.5px !important;
  }
  .my-xl-n3 {
    margin-top: -13px !important;
    margin-bottom: -13px !important;
  }
  .my-xl-n4 {
    margin-top: -19.5px !important;
    margin-bottom: -19.5px !important;
  }
  .my-xl-n5 {
    margin-top: -39px !important;
    margin-bottom: -39px !important;
  }
  .mt-xl-n1 {
    margin-top: -3.25px !important;
  }
  .mt-xl-n2 {
    margin-top: -6.5px !important;
  }
  .mt-xl-n3 {
    margin-top: -13px !important;
  }
  .mt-xl-n4 {
    margin-top: -19.5px !important;
  }
  .mt-xl-n5 {
    margin-top: -39px !important;
  }
  .me-xl-n1 {
    margin-right: -3.25px !important;
  }
  .me-xl-n2 {
    margin-right: -6.5px !important;
  }
  .me-xl-n3 {
    margin-right: -13px !important;
  }
  .me-xl-n4 {
    margin-right: -19.5px !important;
  }
  .me-xl-n5 {
    margin-right: -39px !important;
  }
  .mb-xl-n1 {
    margin-bottom: -3.25px !important;
  }
  .mb-xl-n2 {
    margin-bottom: -6.5px !important;
  }
  .mb-xl-n3 {
    margin-bottom: -13px !important;
  }
  .mb-xl-n4 {
    margin-bottom: -19.5px !important;
  }
  .mb-xl-n5 {
    margin-bottom: -39px !important;
  }
  .ms-xl-n1 {
    margin-left: -3.25px !important;
  }
  .ms-xl-n2 {
    margin-left: -6.5px !important;
  }
  .ms-xl-n3 {
    margin-left: -13px !important;
  }
  .ms-xl-n4 {
    margin-left: -19.5px !important;
  }
  .ms-xl-n5 {
    margin-left: -39px !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 3.25px !important;
  }
  .p-xl-2 {
    padding: 6.5px !important;
  }
  .p-xl-3 {
    padding: 13px !important;
  }
  .p-xl-4 {
    padding: 19.5px !important;
  }
  .p-xl-5 {
    padding: 39px !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-xl-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-xl-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-xl-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-xl-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-xl-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-xl-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-xl-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-xl-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 3.25px !important;
  }
  .pt-xl-2 {
    padding-top: 6.5px !important;
  }
  .pt-xl-3 {
    padding-top: 13px !important;
  }
  .pt-xl-4 {
    padding-top: 19.5px !important;
  }
  .pt-xl-5 {
    padding-top: 39px !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 3.25px !important;
  }
  .pe-xl-2 {
    padding-right: 6.5px !important;
  }
  .pe-xl-3 {
    padding-right: 13px !important;
  }
  .pe-xl-4 {
    padding-right: 19.5px !important;
  }
  .pe-xl-5 {
    padding-right: 39px !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-xl-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-xl-3 {
    padding-bottom: 13px !important;
  }
  .pb-xl-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-xl-5 {
    padding-bottom: 39px !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 3.25px !important;
  }
  .ps-xl-2 {
    padding-left: 6.5px !important;
  }
  .ps-xl-3 {
    padding-left: 13px !important;
  }
  .ps-xl-4 {
    padding-left: 19.5px !important;
  }
  .ps-xl-5 {
    padding-left: 39px !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 3.25px !important;
  }
  .gap-xl-2 {
    gap: 6.5px !important;
  }
  .gap-xl-3 {
    gap: 13px !important;
  }
  .gap-xl-4 {
    gap: 19.5px !important;
  }
  .gap-xl-5 {
    gap: 39px !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 3.25px !important;
  }
  .row-gap-xl-2 {
    row-gap: 6.5px !important;
  }
  .row-gap-xl-3 {
    row-gap: 13px !important;
  }
  .row-gap-xl-4 {
    row-gap: 19.5px !important;
  }
  .row-gap-xl-5 {
    row-gap: 39px !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 3.25px !important;
  }
  .column-gap-xl-2 {
    column-gap: 6.5px !important;
  }
  .column-gap-xl-3 {
    column-gap: 13px !important;
  }
  .column-gap-xl-4 {
    column-gap: 19.5px !important;
  }
  .column-gap-xl-5 {
    column-gap: 39px !important;
  }
  .text-xl-start {
    text-align: left !important;
  }
  .text-xl-end {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
  .flex-basis-xl-0 {
    flex-basis: 0 !important;
  }
  .flex-basis-xl-25 {
    flex-basis: 25% !important;
  }
  .flex-basis-xl-50 {
    flex-basis: 50% !important;
  }
  .flex-basis-xl-75 {
    flex-basis: 75% !important;
  }
  .flex-basis-xl-100 {
    flex-basis: 100% !important;
  }
  .flex-basis-xl-auto {
    flex-basis: auto !important;
  }
}

@media (min-width: 250mm) {
  .float-xxl-start {
    float: left !important;
  }
  .float-xxl-end {
    float: right !important;
  }
  .float-xxl-none {
    float: none !important;
  }
  .object-fit-xxl-contain {
    object-fit: contain !important;
  }
  .object-fit-xxl-cover {
    object-fit: cover !important;
  }
  .object-fit-xxl-fill {
    object-fit: fill !important;
  }
  .object-fit-xxl-scale {
    object-fit: scale-down !important;
  }
  .object-fit-xxl-none {
    object-fit: none !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-grid {
    display: grid !important;
  }
  .d-xxl-inline-grid {
    display: inline-grid !important;
  }
  .d-xxl-table {
    display: table !important;
  }
  .d-xxl-table-row {
    display: table-row !important;
  }
  .d-xxl-table-cell {
    display: table-cell !important;
  }
  .d-xxl-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-xxl-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-contents {
    display: contents !important;
  }
  .position-xxl-static {
    position: static !important;
  }
  .position-xxl-relative {
    position: relative !important;
  }
  .position-xxl-absolute {
    position: absolute !important;
  }
  .position-xxl-fixed {
    position: fixed !important;
  }
  .position-xxl-sticky {
    position: sticky !important;
  }
  .w-xxl-0 {
    width: 0 !important;
  }
  .w-xxl-25 {
    width: 25% !important;
  }
  .w-xxl-50 {
    width: 50% !important;
  }
  .w-xxl-75 {
    width: 75% !important;
  }
  .w-xxl-100 {
    width: 100% !important;
  }
  .w-xxl-auto {
    width: auto !important;
  }
  .mw-xxl-0 {
    max-width: 0 !important;
  }
  .mw-xxl-25 {
    max-width: 25% !important;
  }
  .mw-xxl-50 {
    max-width: 50% !important;
  }
  .mw-xxl-75 {
    max-width: 75% !important;
  }
  .mw-xxl-100 {
    max-width: 100% !important;
  }
  .mw-xxl-auto {
    max-width: auto !important;
  }
  .h-xxl-0 {
    height: 0 !important;
  }
  .h-xxl-25 {
    height: 25% !important;
  }
  .h-xxl-50 {
    height: 50% !important;
  }
  .h-xxl-75 {
    height: 75% !important;
  }
  .h-xxl-100 {
    height: 100% !important;
  }
  .h-xxl-auto {
    height: auto !important;
  }
  .mh-xxl-0 {
    max-height: 0 !important;
  }
  .mh-xxl-25 {
    max-height: 25% !important;
  }
  .mh-xxl-50 {
    max-height: 50% !important;
  }
  .mh-xxl-75 {
    max-height: 75% !important;
  }
  .mh-xxl-100 {
    max-height: 100% !important;
  }
  .mh-xxl-auto {
    max-height: auto !important;
  }
  .flex-xxl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xxl-row {
    flex-direction: row !important;
  }
  .flex-xxl-column {
    flex-direction: column !important;
  }
  .flex-xxl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xxl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xxl-grow-0 {
    flex-grow: 0 !important;
  }
  .flex-xxl-grow-1 {
    flex-grow: 1 !important;
  }
  .flex-xxl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-xxl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-xxl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xxl-nowrap {
    flex-wrap: nowrap !important;
  }
  .flex-xxl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
  .justify-content-xxl-start {
    -webkit-box-pack: start !important; justify-content: flex-start !important;
  }
  .justify-content-xxl-end {
    -webkit-box-pack: end !important; justify-content: flex-end !important;
  }
  .justify-content-xxl-center {
    justify-content: center !important;
  }
  .justify-content-xxl-between {
    justify-content: space-between !important;
  }
  .justify-content-xxl-around {
    justify-content: space-around !important;
  }
  .justify-content-xxl-evenly {
    justify-content: space-evenly !important;
  }
  .align-items-xxl-start {
    align-items: flex-start !important;
  }
  .align-items-xxl-end {
    align-items: flex-end !important;
  }
  .align-items-xxl-center {
    align-items: center !important;
  }
  .align-items-xxl-baseline {
    align-items: baseline !important;
  }
  .align-items-xxl-stretch {
    align-items: stretch !important;
  }
  .align-content-xxl-start {
    align-content: flex-start !important;
  }
  .align-content-xxl-end {
    align-content: flex-end !important;
  }
  .align-content-xxl-center {
    align-content: center !important;
  }
  .align-content-xxl-between {
    align-content: space-between !important;
  }
  .align-content-xxl-around {
    align-content: space-around !important;
  }
  .align-content-xxl-stretch {
    align-content: stretch !important;
  }
  .align-self-xxl-auto {
    align-self: auto !important;
  }
  .align-self-xxl-start {
    align-self: flex-start !important;
  }
  .align-self-xxl-end {
    align-self: flex-end !important;
  }
  .align-self-xxl-center {
    align-self: center !important;
  }
  .align-self-xxl-baseline {
    align-self: baseline !important;
  }
  .align-self-xxl-stretch {
    align-self: stretch !important;
  }
  .order-xxl-first {
    order: -1 !important;
  }
  .order-xxl-last {
    order: 13 !important;
  }
  .order-xxl-0 {
    order: 0 !important;
  }
  .order-xxl-1 {
    order: 1 !important;
  }
  .order-xxl-2 {
    order: 2 !important;
  }
  .order-xxl-3 {
    order: 3 !important;
  }
  .order-xxl-4 {
    order: 4 !important;
  }
  .order-xxl-5 {
    order: 5 !important;
  }
  .order-xxl-6 {
    order: 6 !important;
  }
  .order-xxl-7 {
    order: 7 !important;
  }
  .order-xxl-8 {
    order: 8 !important;
  }
  .order-xxl-9 {
    order: 9 !important;
  }
  .order-xxl-10 {
    order: 10 !important;
  }
  .order-xxl-11 {
    order: 11 !important;
  }
  .order-xxl-12 {
    order: 12 !important;
  }
  .m-xxl-0 {
    margin: 0 !important;
  }
  .m-xxl-1 {
    margin: 3.25px !important;
  }
  .m-xxl-2 {
    margin: 6.5px !important;
  }
  .m-xxl-3 {
    margin: 13px !important;
  }
  .m-xxl-4 {
    margin: 19.5px !important;
  }
  .m-xxl-5 {
    margin: 39px !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 3.25px !important;
    margin-left: 3.25px !important;
  }
  .mx-xxl-2 {
    margin-right: 6.5px !important;
    margin-left: 6.5px !important;
  }
  .mx-xxl-3 {
    margin-right: 13px !important;
    margin-left: 13px !important;
  }
  .mx-xxl-4 {
    margin-right: 19.5px !important;
    margin-left: 19.5px !important;
  }
  .mx-xxl-5 {
    margin-right: 39px !important;
    margin-left: 39px !important;
  }
  .mx-xxl-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .my-xxl-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  .my-xxl-1 {
    margin-top: 3.25px !important;
    margin-bottom: 3.25px !important;
  }
  .my-xxl-2 {
    margin-top: 6.5px !important;
    margin-bottom: 6.5px !important;
  }
  .my-xxl-3 {
    margin-top: 13px !important;
    margin-bottom: 13px !important;
  }
  .my-xxl-4 {
    margin-top: 19.5px !important;
    margin-bottom: 19.5px !important;
  }
  .my-xxl-5 {
    margin-top: 39px !important;
    margin-bottom: 39px !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 3.25px !important;
  }
  .mt-xxl-2 {
    margin-top: 6.5px !important;
  }
  .mt-xxl-3 {
    margin-top: 13px !important;
  }
  .mt-xxl-4 {
    margin-top: 19.5px !important;
  }
  .mt-xxl-5 {
    margin-top: 39px !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 3.25px !important;
  }
  .me-xxl-2 {
    margin-right: 6.5px !important;
  }
  .me-xxl-3 {
    margin-right: 13px !important;
  }
  .me-xxl-4 {
    margin-right: 19.5px !important;
  }
  .me-xxl-5 {
    margin-right: 39px !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 3.25px !important;
  }
  .mb-xxl-2 {
    margin-bottom: 6.5px !important;
  }
  .mb-xxl-3 {
    margin-bottom: 13px !important;
  }
  .mb-xxl-4 {
    margin-bottom: 19.5px !important;
  }
  .mb-xxl-5 {
    margin-bottom: 39px !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 3.25px !important;
  }
  .ms-xxl-2 {
    margin-left: 6.5px !important;
  }
  .ms-xxl-3 {
    margin-left: 13px !important;
  }
  .ms-xxl-4 {
    margin-left: 19.5px !important;
  }
  .ms-xxl-5 {
    margin-left: 39px !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .m-xxl-n1 {
    margin: -3.25px !important;
  }
  .m-xxl-n2 {
    margin: -6.5px !important;
  }
  .m-xxl-n3 {
    margin: -13px !important;
  }
  .m-xxl-n4 {
    margin: -19.5px !important;
  }
  .m-xxl-n5 {
    margin: -39px !important;
  }
  .mx-xxl-n1 {
    margin-right: -3.25px !important;
    margin-left: -3.25px !important;
  }
  .mx-xxl-n2 {
    margin-right: -6.5px !important;
    margin-left: -6.5px !important;
  }
  .mx-xxl-n3 {
    margin-right: -13px !important;
    margin-left: -13px !important;
  }
  .mx-xxl-n4 {
    margin-right: -19.5px !important;
    margin-left: -19.5px !important;
  }
  .mx-xxl-n5 {
    margin-right: -39px !important;
    margin-left: -39px !important;
  }
  .my-xxl-n1 {
    margin-top: -3.25px !important;
    margin-bottom: -3.25px !important;
  }
  .my-xxl-n2 {
    margin-top: -6.5px !important;
    margin-bottom: -6.5px !important;
  }
  .my-xxl-n3 {
    margin-top: -13px !important;
    margin-bottom: -13px !important;
  }
  .my-xxl-n4 {
    margin-top: -19.5px !important;
    margin-bottom: -19.5px !important;
  }
  .my-xxl-n5 {
    margin-top: -39px !important;
    margin-bottom: -39px !important;
  }
  .mt-xxl-n1 {
    margin-top: -3.25px !important;
  }
  .mt-xxl-n2 {
    margin-top: -6.5px !important;
  }
  .mt-xxl-n3 {
    margin-top: -13px !important;
  }
  .mt-xxl-n4 {
    margin-top: -19.5px !important;
  }
  .mt-xxl-n5 {
    margin-top: -39px !important;
  }
  .me-xxl-n1 {
    margin-right: -3.25px !important;
  }
  .me-xxl-n2 {
    margin-right: -6.5px !important;
  }
  .me-xxl-n3 {
    margin-right: -13px !important;
  }
  .me-xxl-n4 {
    margin-right: -19.5px !important;
  }
  .me-xxl-n5 {
    margin-right: -39px !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -3.25px !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -6.5px !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -13px !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -19.5px !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -39px !important;
  }
  .ms-xxl-n1 {
    margin-left: -3.25px !important;
  }
  .ms-xxl-n2 {
    margin-left: -6.5px !important;
  }
  .ms-xxl-n3 {
    margin-left: -13px !important;
  }
  .ms-xxl-n4 {
    margin-left: -19.5px !important;
  }
  .ms-xxl-n5 {
    margin-left: -39px !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 3.25px !important;
  }
  .p-xxl-2 {
    padding: 6.5px !important;
  }
  .p-xxl-3 {
    padding: 13px !important;
  }
  .p-xxl-4 {
    padding: 19.5px !important;
  }
  .p-xxl-5 {
    padding: 39px !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-xxl-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-xxl-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-xxl-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-xxl-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-xxl-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-xxl-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-xxl-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-xxl-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 3.25px !important;
  }
  .pt-xxl-2 {
    padding-top: 6.5px !important;
  }
  .pt-xxl-3 {
    padding-top: 13px !important;
  }
  .pt-xxl-4 {
    padding-top: 19.5px !important;
  }
  .pt-xxl-5 {
    padding-top: 39px !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 3.25px !important;
  }
  .pe-xxl-2 {
    padding-right: 6.5px !important;
  }
  .pe-xxl-3 {
    padding-right: 13px !important;
  }
  .pe-xxl-4 {
    padding-right: 19.5px !important;
  }
  .pe-xxl-5 {
    padding-right: 39px !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-xxl-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-xxl-3 {
    padding-bottom: 13px !important;
  }
  .pb-xxl-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-xxl-5 {
    padding-bottom: 39px !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 3.25px !important;
  }
  .ps-xxl-2 {
    padding-left: 6.5px !important;
  }
  .ps-xxl-3 {
    padding-left: 13px !important;
  }
  .ps-xxl-4 {
    padding-left: 19.5px !important;
  }
  .ps-xxl-5 {
    padding-left: 39px !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 3.25px !important;
  }
  .gap-xxl-2 {
    gap: 6.5px !important;
  }
  .gap-xxl-3 {
    gap: 13px !important;
  }
  .gap-xxl-4 {
    gap: 19.5px !important;
  }
  .gap-xxl-5 {
    gap: 39px !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 3.25px !important;
  }
  .row-gap-xxl-2 {
    row-gap: 6.5px !important;
  }
  .row-gap-xxl-3 {
    row-gap: 13px !important;
  }
  .row-gap-xxl-4 {
    row-gap: 19.5px !important;
  }
  .row-gap-xxl-5 {
    row-gap: 39px !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 3.25px !important;
  }
  .column-gap-xxl-2 {
    column-gap: 6.5px !important;
  }
  .column-gap-xxl-3 {
    column-gap: 13px !important;
  }
  .column-gap-xxl-4 {
    column-gap: 19.5px !important;
  }
  .column-gap-xxl-5 {
    column-gap: 39px !important;
  }
  .text-xxl-start {
    text-align: left !important;
  }
  .text-xxl-end {
    text-align: right !important;
  }
  .text-xxl-center {
    text-align: center !important;
  }
  .flex-basis-xxl-0 {
    flex-basis: 0 !important;
  }
  .flex-basis-xxl-25 {
    flex-basis: 25% !important;
  }
  .flex-basis-xxl-50 {
    flex-basis: 50% !important;
  }
  .flex-basis-xxl-75 {
    flex-basis: 75% !important;
  }
  .flex-basis-xxl-100 {
    flex-basis: 100% !important;
  }
  .flex-basis-xxl-auto {
    flex-basis: auto !important;
  }
}

@media (min-width: 1200px) {
  .fs-1 {
    font-size: 2.1rem !important;
  }
  .fs-2 {
    font-size: 1.3125rem !important;
  }
}

@media print {
  .d-print-inline {
    display: inline !important;
  }
  .d-print-inline-block {
    display: inline-block !important;
  }
  .d-print-block {
    display: block !important;
  }
  .d-print-grid {
    display: grid !important;
  }
  .d-print-inline-grid {
    display: inline-grid !important;
  }
  .d-print-table {
    display: table !important;
  }
  .d-print-table-row {
    display: table-row !important;
  }
  .d-print-table-cell {
    display: table-cell !important;
  }
  .d-print-flex {
    display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  }
  .d-print-inline-flex {
    display: -webkit-inline-box !important; display: -webkit-inline-flex !important; display: inline-flex !important;
  }
  .d-print-none {
    display: none !important;
  }
  .d-print-contents {
    display: contents !important;
  }
  .w-print-0 {
    width: 0 !important;
  }
  .w-print-25 {
    width: 25% !important;
  }
  .w-print-50 {
    width: 50% !important;
  }
  .w-print-75 {
    width: 75% !important;
  }
  .w-print-100 {
    width: 100% !important;
  }
  .w-print-auto {
    width: auto !important;
  }
  .p-print-0 {
    padding: 0 !important;
  }
  .p-print-1 {
    padding: 3.25px !important;
  }
  .p-print-2 {
    padding: 6.5px !important;
  }
  .p-print-3 {
    padding: 13px !important;
  }
  .p-print-4 {
    padding: 19.5px !important;
  }
  .p-print-5 {
    padding: 39px !important;
  }
  .px-print-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-print-1 {
    padding-right: 3.25px !important;
    padding-left: 3.25px !important;
  }
  .px-print-2 {
    padding-right: 6.5px !important;
    padding-left: 6.5px !important;
  }
  .px-print-3 {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }
  .px-print-4 {
    padding-right: 19.5px !important;
    padding-left: 19.5px !important;
  }
  .px-print-5 {
    padding-right: 39px !important;
    padding-left: 39px !important;
  }
  .py-print-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-print-1 {
    padding-top: 3.25px !important;
    padding-bottom: 3.25px !important;
  }
  .py-print-2 {
    padding-top: 6.5px !important;
    padding-bottom: 6.5px !important;
  }
  .py-print-3 {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
  }
  .py-print-4 {
    padding-top: 19.5px !important;
    padding-bottom: 19.5px !important;
  }
  .py-print-5 {
    padding-top: 39px !important;
    padding-bottom: 39px !important;
  }
  .pt-print-0 {
    padding-top: 0 !important;
  }
  .pt-print-1 {
    padding-top: 3.25px !important;
  }
  .pt-print-2 {
    padding-top: 6.5px !important;
  }
  .pt-print-3 {
    padding-top: 13px !important;
  }
  .pt-print-4 {
    padding-top: 19.5px !important;
  }
  .pt-print-5 {
    padding-top: 39px !important;
  }
  .pe-print-0 {
    padding-right: 0 !important;
  }
  .pe-print-1 {
    padding-right: 3.25px !important;
  }
  .pe-print-2 {
    padding-right: 6.5px !important;
  }
  .pe-print-3 {
    padding-right: 13px !important;
  }
  .pe-print-4 {
    padding-right: 19.5px !important;
  }
  .pe-print-5 {
    padding-right: 39px !important;
  }
  .pb-print-0 {
    padding-bottom: 0 !important;
  }
  .pb-print-1 {
    padding-bottom: 3.25px !important;
  }
  .pb-print-2 {
    padding-bottom: 6.5px !important;
  }
  .pb-print-3 {
    padding-bottom: 13px !important;
  }
  .pb-print-4 {
    padding-bottom: 19.5px !important;
  }
  .pb-print-5 {
    padding-bottom: 39px !important;
  }
  .ps-print-0 {
    padding-left: 0 !important;
  }
  .ps-print-1 {
    padding-left: 3.25px !important;
  }
  .ps-print-2 {
    padding-left: 6.5px !important;
  }
  .ps-print-3 {
    padding-left: 13px !important;
  }
  .ps-print-4 {
    padding-left: 19.5px !important;
  }
  .ps-print-5 {
    padding-left: 39px !important;
  }
}



/* /web/static/src/scss/bootstrap_review.scss */

.alert {
  clear: both;
}

.accordion .collapsing > .card-body:first-child, .accordion .collapse.show > .card-body:first-child {
  margin-top: var(--border-width);
}

.toast-header {
  background-clip: border-box;
}

@media (min-width: 100mm) {
  :not(.s_popup) > .modal .modal-dialog {
    height: 100%;
    padding: 1.75rem 0;
    margin: 0 auto;
  }
  :not(.s_popup) > .modal .modal-content {
    max-height: 100%;
  }
  :not(.s_popup) > .modal .modal-header, :not(.s_popup) > .modal .modal-footer {
    -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  }
  :not(.s_popup) > .modal .modal-body {
    overflow: auto;
    min-height: 0;
  }
}

.modal-backdrop {
  display: none;
}

.modal:not([data-bs-backdrop="false"]) {
  background-color: rgba(0, 0, 0, 0.5);
}

.form-check .form-check-input:not(:disabled), .form-check .form-check-input:not(:disabled) + label {
  cursor: pointer;
}

.form-check:hover, .form-check:hover .form-check-input:not(:disabled) {
  border-color: #017e84;
}

.form-select:where(:not(:disabled)):hover {
  border-color: #017e84;
}

.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] {
  /*rtl:ignore*/
  right: auto;
}

.popover {
  right: auto/*rtl:ignore*/;
}

.carousel-indicators {
  list-style: none;
}

@keyframes progress-bar-stripes {
  0% {
    background-position-x: var(--progress-height, 1rem);
  }
}



/* /web/static/src/scss/bootstrap_review_backend.scss */

.btn {
  --btn-disabled-border-color: transparent;
}

.btn-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #52374b;
  --btn-hover-border-color: #52374b;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #714B67;
  --btn-active-bg: #f1edf0;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.btn-secondary {
  --btn-color: #495057;
  --btn-bg: #e9ecef;
  --btn-border-color: #e9ecef;
  --btn-hover-color: #343a40;
  --btn-hover-bg: #dee2e6;
  --btn-hover-border-color: #dee2e6;
  --btn-focus-shadow-rgb: 209, 213, 216;
  --btn-active-color: #212529;
  --btn-active-bg: #e6f2f3;
  --btn-active-border-color: #017e84;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #e9ecef;
  --btn-disabled-border-color: #e9ecef;
}

.btn-light {
  --btn-color: #495057;
  --btn-bg: #FFF;
  --btn-border-color: #FFF;
  --btn-hover-color: #212529;
  --btn-hover-bg: #e9ecef;
  --btn-hover-border-color: #e9ecef;
  --btn-focus-shadow-rgb: 228, 229, 230;
  --btn-active-color: #212529;
  --btn-active-bg: #e6f2f3;
  --btn-active-border-color: #017e84;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #FFF;
  --btn-disabled-border-color: #FFF;
}

.btn-outline-secondary {
  --btn-color: #495057;
  --btn-bg: transparent;
  --btn-border-color: #dee2e6;
  --btn-hover-color: #343a40;
  --btn-hover-bg: #e9ecef;
  --btn-hover-border-color: #dee2e6;
  --btn-focus-shadow-rgb: 200, 204, 209;
  --btn-active-color: #212529;
  --btn-active-bg: #e6f2f3;
  --btn-active-border-color: #017e84;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #dee2e6;
}

.btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #52374b;
  --btn-hover-border-color: #52374b;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #714B67;
  --btn-active-bg: #f1edf0;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.btn-fill-secondary {
  --btn-color: #495057;
  --btn-bg: #e9ecef;
  --btn-border-color: #e9ecef;
  --btn-hover-color: #343a40;
  --btn-hover-bg: #dee2e6;
  --btn-hover-border-color: #dee2e6;
  --btn-focus-shadow-rgb: 209, 213, 216;
  --btn-active-color: #212529;
  --btn-active-bg: #e6f2f3;
  --btn-active-border-color: #017e84;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #e9ecef;
  --btn-disabled-border-color: #e9ecef;
}

.btn-fill-light {
  --btn-color: #495057;
  --btn-bg: #FFF;
  --btn-border-color: #FFF;
  --btn-hover-color: #212529;
  --btn-hover-bg: #e9ecef;
  --btn-hover-border-color: #e9ecef;
  --btn-focus-shadow-rgb: 228, 229, 230;
  --btn-active-color: #212529;
  --btn-active-bg: #e6f2f3;
  --btn-active-border-color: #017e84;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #FFF;
  --btn-disabled-border-color: #FFF;
}

.btn-outline-primary {
  --btn-color: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #714B67;
  --btn-hover-border-color: #714B67;
  --btn-focus-shadow-rgb: 113, 75, 103;
  --btn-active-color: #FFF;
  --btn-active-bg: #714B67;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #714B67;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #714B67;
  --gradient: none;
}

.btn-success {
  --btn-color: #FFF;
  --btn-bg: #28a745;
  --btn-border-color: #28a745;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #228e3b;
  --btn-hover-border-color: #208637;
  --btn-focus-shadow-rgb: 72, 180, 97;
  --btn-active-color: #FFF;
  --btn-active-bg: #208637;
  --btn-active-border-color: #1e7d34;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #28a745;
  --btn-disabled-border-color: #28a745;
}

.btn-outline-success {
  --btn-color: #28a745;
  --btn-border-color: #28a745;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #28a745;
  --btn-hover-border-color: #28a745;
  --btn-focus-shadow-rgb: 40, 167, 69;
  --btn-active-color: #FFF;
  --btn-active-bg: #28a745;
  --btn-active-border-color: #28a745;
  --btn-active-shadow: 0;
  --btn-disabled-color: #28a745;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #28a745;
  --gradient: none;
}

.btn-info {
  --btn-color: #FFF;
  --btn-bg: #17a2b8;
  --btn-border-color: #17a2b8;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #148a9c;
  --btn-hover-border-color: #128293;
  --btn-focus-shadow-rgb: 58, 176, 195;
  --btn-active-color: #FFF;
  --btn-active-bg: #128293;
  --btn-active-border-color: #117a8a;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #17a2b8;
  --btn-disabled-border-color: #17a2b8;
}

.btn-outline-info {
  --btn-color: #17a2b8;
  --btn-border-color: #17a2b8;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #17a2b8;
  --btn-hover-border-color: #17a2b8;
  --btn-focus-shadow-rgb: 23, 162, 184;
  --btn-active-color: #FFF;
  --btn-active-bg: #17a2b8;
  --btn-active-border-color: #17a2b8;
  --btn-active-shadow: 0;
  --btn-disabled-color: #17a2b8;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #17a2b8;
  --gradient: none;
}

.btn-warning {
  --btn-color: #000;
  --btn-bg: #e99d00;
  --btn-border-color: #e99d00;
  --btn-hover-color: #000;
  --btn-hover-bg: #ecac26;
  --btn-hover-border-color: #eba71a;
  --btn-focus-shadow-rgb: 198, 133, 0;
  --btn-active-color: #000;
  --btn-active-bg: #edb133;
  --btn-active-border-color: #eba71a;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #e99d00;
  --btn-disabled-border-color: #e99d00;
}

.btn-outline-warning {
  --btn-color: #e99d00;
  --btn-border-color: #e99d00;
  --btn-hover-color: #000;
  --btn-hover-bg: #e99d00;
  --btn-hover-border-color: #e99d00;
  --btn-focus-shadow-rgb: 233, 157, 0;
  --btn-active-color: #000;
  --btn-active-bg: #e99d00;
  --btn-active-border-color: #e99d00;
  --btn-active-shadow: 0;
  --btn-disabled-color: #e99d00;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #e99d00;
  --gradient: none;
}

.btn-danger {
  --btn-color: #FFF;
  --btn-bg: #d44c59;
  --btn-border-color: #d44c59;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #b4414c;
  --btn-hover-border-color: #aa3d47;
  --btn-focus-shadow-rgb: 218, 103, 114;
  --btn-active-color: #FFF;
  --btn-active-bg: #aa3d47;
  --btn-active-border-color: #9f3943;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #d44c59;
  --btn-disabled-border-color: #d44c59;
}

.btn-outline-danger {
  --btn-color: #d44c59;
  --btn-border-color: #d44c59;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #d44c59;
  --btn-hover-border-color: #d44c59;
  --btn-focus-shadow-rgb: 212, 76, 89;
  --btn-active-color: #FFF;
  --btn-active-bg: #d44c59;
  --btn-active-border-color: #d44c59;
  --btn-active-shadow: 0;
  --btn-disabled-color: #d44c59;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #d44c59;
  --gradient: none;
}

.btn-outline-light {
  --btn-color: #FFF;
  --btn-border-color: #FFF;
  --btn-hover-color: #000;
  --btn-hover-bg: #FFF;
  --btn-hover-border-color: #FFF;
  --btn-focus-shadow-rgb: 255, 255, 255;
  --btn-active-color: #000;
  --btn-active-bg: #FFF;
  --btn-active-border-color: #FFF;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #FFF;
  --gradient: none;
}

.btn-dark {
  --btn-color: #FFF;
  --btn-bg: #212529;
  --btn-border-color: #212529;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #1c1f23;
  --btn-hover-border-color: #1a1e21;
  --btn-focus-shadow-rgb: 66, 70, 73;
  --btn-active-color: #FFF;
  --btn-active-bg: #1a1e21;
  --btn-active-border-color: #191c1f;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #212529;
  --btn-disabled-border-color: #212529;
}

.btn-outline-dark {
  --btn-color: #212529;
  --btn-border-color: #212529;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #212529;
  --btn-hover-border-color: #212529;
  --btn-focus-shadow-rgb: 33, 37, 41;
  --btn-active-color: #FFF;
  --btn-active-bg: #212529;
  --btn-active-border-color: #212529;
  --btn-active-shadow: 0;
  --btn-disabled-color: #212529;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #212529;
  --gradient: none;
}

.btn-favourite {
  --btn-color: #000;
  --btn-bg: #f3cc00;
  --btn-border-color: #f3cc00;
  --btn-hover-color: #000;
  --btn-hover-bg: #f5d426;
  --btn-hover-border-color: #f4d11a;
  --btn-focus-shadow-rgb: 207, 173, 0;
  --btn-active-color: #000;
  --btn-active-bg: #f5d633;
  --btn-active-border-color: #f4d11a;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #f3cc00;
  --btn-disabled-border-color: #f3cc00;
}

.btn-group > :not(.btn-check:first-child) + .btn,
.btn-group > .btn-group:not(:first-child) {
  margin-left: var(--btn-group-gap, var(--border-width));
}

.text-primary {
  --color: RGBA(113, 75, 103, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-primary:hover, a.text-primary:focus, a.text-primary:active, a.text-primary.active, button.text-primary:hover, button.text-primary:focus, button.text-primary:active, button.text-primary.active {
  --color: RGBA(79, 53, 72, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-secondary {
  --color: RGBA(222, 226, 230, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-secondary:hover, a.text-secondary:focus, a.text-secondary:active, a.text-secondary.active, button.text-secondary:hover, button.text-secondary:focus, button.text-secondary:active, button.text-secondary.active {
  --color: RGBA(155, 158, 161, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-success {
  --color: RGBA(0, 136, 24, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-success:hover, a.text-success:focus, a.text-success:active, a.text-success.active, button.text-success:hover, button.text-success:focus, button.text-success:active, button.text-success.active {
  --color: RGBA(0, 95, 17, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-info {
  --color: RGBA(1, 128, 165, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-info:hover, a.text-info:focus, a.text-info:active, a.text-info.active, button.text-info:hover, button.text-info:focus, button.text-info:active, button.text-info.active {
  --color: RGBA(1, 90, 116, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-warning {
  --color: RGBA(154, 107, 1, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-warning:hover, a.text-warning:focus, a.text-warning:active, a.text-warning.active, button.text-warning:hover, button.text-warning:focus, button.text-warning:active, button.text-warning.active {
  --color: RGBA(108, 75, 1, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-danger {
  --color: RGBA(210, 63, 58, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-danger:hover, a.text-danger:focus, a.text-danger:active, a.text-danger.active, button.text-danger:hover, button.text-danger:focus, button.text-danger:active, button.text-danger.active {
  --color: RGBA(147, 44, 41, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-light {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-light:hover, a.text-light:focus, a.text-light:active, a.text-light.active, button.text-light:hover, button.text-light:focus, button.text-light:active, button.text-light.active {
  --color: RGBA(179, 179, 179, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-dark {
  --color: RGBA(33, 37, 41, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-dark:hover, a.text-dark:focus, a.text-dark:active, a.text-dark.active, button.text-dark:hover, button.text-dark:focus, button.text-dark:active, button.text-dark.active {
  --color: RGBA(23, 26, 29, var(--text-opacity, 1));
  color: var(--color) !important;
}

.btn-link {
  font-weight: 500;
}

.btn-link.btn-primary, .btn-link.text-primary {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-primary:hover, .btn-link.btn-primary:focus, .btn-link.btn-primary.focus, .btn-link.text-primary:hover, .btn-link.text-primary:focus, .btn-link.text-primary.focus {
  color: #714B67 !important;
}

.btn-link.btn-primary, .btn-link.btn-primary:hover, .btn-link.btn-primary:focus, .btn-link.btn-primary:active, .btn-link.btn-primary.active, .btn-link.text-primary, .btn-link.text-primary:hover, .btn-link.text-primary:focus, .btn-link.text-primary:active, .btn-link.text-primary.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-primary:hover:active:focus, .btn-link.text-primary:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-primary.text-muted, .btn-link.btn-primary .text-muted, .btn-link.text-primary.text-muted, .btn-link.text-primary .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-primary.text-muted:hover, .btn-link.btn-primary.text-muted:focus, .btn-link.btn-primary.text-muted.focus, .btn-link.btn-primary .text-muted:hover, .btn-link.btn-primary .text-muted:focus, .btn-link.btn-primary .text-muted.focus, .btn-link.text-primary.text-muted:hover, .btn-link.text-primary.text-muted:focus, .btn-link.text-primary.text-muted.focus, .btn-link.text-primary .text-muted:hover, .btn-link.text-primary .text-muted:focus, .btn-link.text-primary .text-muted.focus {
  color: #714B67 !important;
}

.btn-link.btn-secondary, .btn-link.text-secondary {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-secondary:hover, .btn-link.btn-secondary:focus, .btn-link.btn-secondary.focus, .btn-link.text-secondary:hover, .btn-link.text-secondary:focus, .btn-link.text-secondary.focus {
  color: #dee2e6 !important;
}

.btn-link.btn-secondary, .btn-link.btn-secondary:hover, .btn-link.btn-secondary:focus, .btn-link.btn-secondary:active, .btn-link.btn-secondary.active, .btn-link.text-secondary, .btn-link.text-secondary:hover, .btn-link.text-secondary:focus, .btn-link.text-secondary:active, .btn-link.text-secondary.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-secondary:hover:active:focus, .btn-link.text-secondary:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-secondary.text-muted, .btn-link.btn-secondary .text-muted, .btn-link.text-secondary.text-muted, .btn-link.text-secondary .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-secondary.text-muted:hover, .btn-link.btn-secondary.text-muted:focus, .btn-link.btn-secondary.text-muted.focus, .btn-link.btn-secondary .text-muted:hover, .btn-link.btn-secondary .text-muted:focus, .btn-link.btn-secondary .text-muted.focus, .btn-link.text-secondary.text-muted:hover, .btn-link.text-secondary.text-muted:focus, .btn-link.text-secondary.text-muted.focus, .btn-link.text-secondary .text-muted:hover, .btn-link.text-secondary .text-muted:focus, .btn-link.text-secondary .text-muted.focus {
  color: #dee2e6 !important;
}

.btn-link.btn-success, .btn-link.text-success {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-success:hover, .btn-link.btn-success:focus, .btn-link.btn-success.focus, .btn-link.text-success:hover, .btn-link.text-success:focus, .btn-link.text-success.focus {
  color: #008818 !important;
}

.btn-link.btn-success, .btn-link.btn-success:hover, .btn-link.btn-success:focus, .btn-link.btn-success:active, .btn-link.btn-success.active, .btn-link.text-success, .btn-link.text-success:hover, .btn-link.text-success:focus, .btn-link.text-success:active, .btn-link.text-success.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-success:hover:active:focus, .btn-link.text-success:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-success.text-muted, .btn-link.btn-success .text-muted, .btn-link.text-success.text-muted, .btn-link.text-success .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-success.text-muted:hover, .btn-link.btn-success.text-muted:focus, .btn-link.btn-success.text-muted.focus, .btn-link.btn-success .text-muted:hover, .btn-link.btn-success .text-muted:focus, .btn-link.btn-success .text-muted.focus, .btn-link.text-success.text-muted:hover, .btn-link.text-success.text-muted:focus, .btn-link.text-success.text-muted.focus, .btn-link.text-success .text-muted:hover, .btn-link.text-success .text-muted:focus, .btn-link.text-success .text-muted.focus {
  color: #008818 !important;
}

.btn-link.btn-info, .btn-link.text-info {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-info:hover, .btn-link.btn-info:focus, .btn-link.btn-info.focus, .btn-link.text-info:hover, .btn-link.text-info:focus, .btn-link.text-info.focus {
  color: #0180a5 !important;
}

.btn-link.btn-info, .btn-link.btn-info:hover, .btn-link.btn-info:focus, .btn-link.btn-info:active, .btn-link.btn-info.active, .btn-link.text-info, .btn-link.text-info:hover, .btn-link.text-info:focus, .btn-link.text-info:active, .btn-link.text-info.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-info:hover:active:focus, .btn-link.text-info:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-info.text-muted, .btn-link.btn-info .text-muted, .btn-link.text-info.text-muted, .btn-link.text-info .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-info.text-muted:hover, .btn-link.btn-info.text-muted:focus, .btn-link.btn-info.text-muted.focus, .btn-link.btn-info .text-muted:hover, .btn-link.btn-info .text-muted:focus, .btn-link.btn-info .text-muted.focus, .btn-link.text-info.text-muted:hover, .btn-link.text-info.text-muted:focus, .btn-link.text-info.text-muted.focus, .btn-link.text-info .text-muted:hover, .btn-link.text-info .text-muted:focus, .btn-link.text-info .text-muted.focus {
  color: #0180a5 !important;
}

.btn-link.btn-warning, .btn-link.text-warning {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-warning:hover, .btn-link.btn-warning:focus, .btn-link.btn-warning.focus, .btn-link.text-warning:hover, .btn-link.text-warning:focus, .btn-link.text-warning.focus {
  color: #9a6b01 !important;
}

.btn-link.btn-warning, .btn-link.btn-warning:hover, .btn-link.btn-warning:focus, .btn-link.btn-warning:active, .btn-link.btn-warning.active, .btn-link.text-warning, .btn-link.text-warning:hover, .btn-link.text-warning:focus, .btn-link.text-warning:active, .btn-link.text-warning.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-warning:hover:active:focus, .btn-link.text-warning:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-warning.text-muted, .btn-link.btn-warning .text-muted, .btn-link.text-warning.text-muted, .btn-link.text-warning .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-warning.text-muted:hover, .btn-link.btn-warning.text-muted:focus, .btn-link.btn-warning.text-muted.focus, .btn-link.btn-warning .text-muted:hover, .btn-link.btn-warning .text-muted:focus, .btn-link.btn-warning .text-muted.focus, .btn-link.text-warning.text-muted:hover, .btn-link.text-warning.text-muted:focus, .btn-link.text-warning.text-muted.focus, .btn-link.text-warning .text-muted:hover, .btn-link.text-warning .text-muted:focus, .btn-link.text-warning .text-muted.focus {
  color: #9a6b01 !important;
}

.btn-link.btn-danger, .btn-link.text-danger {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-danger:hover, .btn-link.btn-danger:focus, .btn-link.btn-danger.focus, .btn-link.text-danger:hover, .btn-link.text-danger:focus, .btn-link.text-danger.focus {
  color: #d23f3a !important;
}

.btn-link.btn-danger, .btn-link.btn-danger:hover, .btn-link.btn-danger:focus, .btn-link.btn-danger:active, .btn-link.btn-danger.active, .btn-link.text-danger, .btn-link.text-danger:hover, .btn-link.text-danger:focus, .btn-link.text-danger:active, .btn-link.text-danger.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-danger:hover:active:focus, .btn-link.text-danger:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-danger.text-muted, .btn-link.btn-danger .text-muted, .btn-link.text-danger.text-muted, .btn-link.text-danger .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-danger.text-muted:hover, .btn-link.btn-danger.text-muted:focus, .btn-link.btn-danger.text-muted.focus, .btn-link.btn-danger .text-muted:hover, .btn-link.btn-danger .text-muted:focus, .btn-link.btn-danger .text-muted.focus, .btn-link.text-danger.text-muted:hover, .btn-link.text-danger.text-muted:focus, .btn-link.text-danger.text-muted.focus, .btn-link.text-danger .text-muted:hover, .btn-link.text-danger .text-muted:focus, .btn-link.text-danger .text-muted.focus {
  color: #d23f3a !important;
}

.btn-link.btn-light, .btn-link.text-light {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-light:hover, .btn-link.btn-light:focus, .btn-link.btn-light.focus, .btn-link.text-light:hover, .btn-link.text-light:focus, .btn-link.text-light.focus {
  color: #FFF !important;
}

.btn-link.btn-light, .btn-link.btn-light:hover, .btn-link.btn-light:focus, .btn-link.btn-light:active, .btn-link.btn-light.active, .btn-link.text-light, .btn-link.text-light:hover, .btn-link.text-light:focus, .btn-link.text-light:active, .btn-link.text-light.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-light:hover:active:focus, .btn-link.text-light:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-light.text-muted, .btn-link.btn-light .text-muted, .btn-link.text-light.text-muted, .btn-link.text-light .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-light.text-muted:hover, .btn-link.btn-light.text-muted:focus, .btn-link.btn-light.text-muted.focus, .btn-link.btn-light .text-muted:hover, .btn-link.btn-light .text-muted:focus, .btn-link.btn-light .text-muted.focus, .btn-link.text-light.text-muted:hover, .btn-link.text-light.text-muted:focus, .btn-link.text-light.text-muted.focus, .btn-link.text-light .text-muted:hover, .btn-link.text-light .text-muted:focus, .btn-link.text-light .text-muted.focus {
  color: #FFF !important;
}

.btn-link.btn-dark, .btn-link.text-dark {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-dark:hover, .btn-link.btn-dark:focus, .btn-link.btn-dark.focus, .btn-link.text-dark:hover, .btn-link.text-dark:focus, .btn-link.text-dark.focus {
  color: #212529 !important;
}

.btn-link.btn-dark, .btn-link.btn-dark:hover, .btn-link.btn-dark:focus, .btn-link.btn-dark:active, .btn-link.btn-dark.active, .btn-link.text-dark, .btn-link.text-dark:hover, .btn-link.text-dark:focus, .btn-link.text-dark:active, .btn-link.text-dark.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-dark:hover:active:focus, .btn-link.text-dark:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-dark.text-muted, .btn-link.btn-dark .text-muted, .btn-link.text-dark.text-muted, .btn-link.text-dark .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-dark.text-muted:hover, .btn-link.btn-dark.text-muted:focus, .btn-link.btn-dark.text-muted.focus, .btn-link.btn-dark .text-muted:hover, .btn-link.btn-dark .text-muted:focus, .btn-link.btn-dark .text-muted.focus, .btn-link.text-dark.text-muted:hover, .btn-link.text-dark.text-muted:focus, .btn-link.text-dark.text-muted.focus, .btn-link.text-dark .text-muted:hover, .btn-link.text-dark .text-muted:focus, .btn-link.text-dark .text-muted.focus {
  color: #212529 !important;
}

.bg-primary {
  --background-color: RGBA(113, 75, 103, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-secondary {
  --background-color: RGBA(222, 226, 230, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-success {
  --background-color: RGBA(40, 167, 69, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-info {
  --background-color: RGBA(23, 162, 184, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-warning {
  --background-color: RGBA(233, 157, 0, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-danger {
  --background-color: RGBA(212, 76, 89, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-light {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-dark {
  --background-color: RGBA(33, 37, 41, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-white-muted, .text-white-disabled, .text-white-75, .text-white-50, .text-white-25, .text-white {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-black-muted, .text-black-disabled, .text-black-75, .text-black-50, .text-black-25, .text-black {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-white-muted, .bg-white-disabled, .bg-white-75, .bg-white-50, .bg-white-25, .bg-white {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-black-muted, .bg-black-disabled, .bg-black-75, .bg-black-50, .bg-black-25, .bg-transparent, .bg-black {
  --background-color: RGBA(0, 0, 0, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-transparent {
  --bg-opacity: 0;
}

.bg-white-25 {
  --bg-opacity: 0.25;
}

.bg-black-25 {
  --bg-opacity: 0.25;
}

.bg-white-50 {
  --bg-opacity: 0.5;
}

.bg-black-50 {
  --bg-opacity: 0.5;
}

.bg-white-75 {
  --bg-opacity: 0.75;
}

.bg-black-75 {
  --bg-opacity: 0.75;
}

.bg-white-disabled {
  --bg-opacity: 0.5;
}

.bg-black-disabled {
  --bg-opacity: 0.5;
}

.bg-white-muted {
  --bg-opacity: 0.76;
}

.bg-black-muted {
  --bg-opacity: 0.76;
}

.text-white-25 {
  --text-opacity: 0.25;
}

.text-black-25 {
  --text-opacity: 0.25;
}

.text-white-50 {
  --text-opacity: 0.5;
}

.text-black-50 {
  --text-opacity: 0.5;
}

.text-white-75 {
  --text-opacity: 0.75;
}

.text-black-75 {
  --text-opacity: 0.75;
}

.text-white-disabled {
  --text-opacity: 0.5;
}

.text-black-disabled {
  --text-opacity: 0.5;
}

.text-white-muted {
  --text-opacity: 0.76;
}

.text-black-muted {
  --text-opacity: 0.76;
}

.text-action {
  --color: RGBA(1, 126, 132, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-action:hover, a.text-action:focus, a.text-action:active, a.text-action.active, button.text-action:hover, button.text-action:focus, button.text-action:active, button.text-action.active {
  --color: RGBA(1, 88, 92, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-favourite {
  --color: RGBA(243, 204, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-favourite:hover, a.text-favourite:focus, a.text-favourite:active, a.text-favourite.active, button.text-favourite:hover, button.text-favourite:focus, button.text-favourite:active, button.text-favourite.active {
  --color: RGBA(170, 143, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-100 {
  --color: RGBA(248, 249, 250, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-100:hover, a.text-100:focus, a.text-100:active, a.text-100.active, button.text-100:hover, button.text-100:focus, button.text-100:active, button.text-100.active {
  --color: RGBA(174, 174, 175, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-200 {
  --color: RGBA(233, 236, 239, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-200:hover, a.text-200:focus, a.text-200:active, a.text-200.active, button.text-200:hover, button.text-200:focus, button.text-200:active, button.text-200.active {
  --color: RGBA(163, 165, 167, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-300 {
  --color: RGBA(222, 226, 230, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-300:hover, a.text-300:focus, a.text-300:active, a.text-300.active, button.text-300:hover, button.text-300:focus, button.text-300:active, button.text-300.active {
  --color: RGBA(155, 158, 161, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-400 {
  --color: RGBA(206, 212, 218, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-400:hover, a.text-400:focus, a.text-400:active, a.text-400.active, button.text-400:hover, button.text-400:focus, button.text-400:active, button.text-400.active {
  --color: RGBA(144, 148, 153, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-500 {
  --color: RGBA(173, 181, 189, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-500:hover, a.text-500:focus, a.text-500:active, a.text-500.active, button.text-500:hover, button.text-500:focus, button.text-500:active, button.text-500.active {
  --color: RGBA(121, 127, 132, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-600 {
  --color: RGBA(108, 117, 125, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-600:hover, a.text-600:focus, a.text-600:active, a.text-600.active, button.text-600:hover, button.text-600:focus, button.text-600:active, button.text-600.active {
  --color: RGBA(76, 82, 88, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-700 {
  --color: RGBA(73, 80, 87, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-700:hover, a.text-700:focus, a.text-700:active, a.text-700.active, button.text-700:hover, button.text-700:focus, button.text-700:active, button.text-700.active {
  --color: RGBA(51, 56, 61, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-800 {
  --color: RGBA(52, 58, 64, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-800:hover, a.text-800:focus, a.text-800:active, a.text-800.active, button.text-800:hover, button.text-800:focus, button.text-800:active, button.text-800.active {
  --color: RGBA(36, 41, 45, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-900 {
  --color: RGBA(33, 37, 41, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-900:hover, a.text-900:focus, a.text-900:active, a.text-900.active, button.text-900:hover, button.text-900:focus, button.text-900:active, button.text-900.active {
  --color: RGBA(23, 26, 29, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-action, .text-bg-action {
  --background-color: RGBA(1, 126, 132, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-action {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-view, .text-bg-view {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-view {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-favourite, .text-bg-favourite {
  --background-color: RGBA(243, 204, 0, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-favourite {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-100, .text-bg-100 {
  --background-color: RGBA(248, 249, 250, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-100 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-200, .text-bg-200 {
  --background-color: RGBA(233, 236, 239, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-200 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-300, .text-bg-300 {
  --background-color: RGBA(222, 226, 230, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-300 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-400, .text-bg-400 {
  --background-color: RGBA(206, 212, 218, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-400 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-500, .text-bg-500 {
  --background-color: RGBA(173, 181, 189, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-500 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-600, .text-bg-600 {
  --background-color: RGBA(108, 117, 125, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-600 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-700, .text-bg-700 {
  --background-color: RGBA(73, 80, 87, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-700 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-800, .text-bg-800 {
  --background-color: RGBA(52, 58, 64, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-800 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-900, .text-bg-900 {
  --background-color: RGBA(33, 37, 41, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-900 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.btn-link.btn-action, .btn-link.text-action {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-action:hover, .btn-link.btn-action:focus, .btn-link.btn-action.focus, .btn-link.text-action:hover, .btn-link.text-action:focus, .btn-link.text-action.focus {
  color: #017e84 !important;
}

.btn-link.btn-action, .btn-link.btn-action:hover, .btn-link.btn-action:focus, .btn-link.btn-action:active, .btn-link.btn-action.active, .btn-link.text-action, .btn-link.text-action:hover, .btn-link.text-action:focus, .btn-link.text-action:active, .btn-link.text-action.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-action:hover:active:focus, .btn-link.text-action:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-action.text-muted, .btn-link.btn-action .text-muted, .btn-link.text-action.text-muted, .btn-link.text-action .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-action.text-muted:hover, .btn-link.btn-action.text-muted:focus, .btn-link.btn-action.text-muted.focus, .btn-link.btn-action .text-muted:hover, .btn-link.btn-action .text-muted:focus, .btn-link.btn-action .text-muted.focus, .btn-link.text-action.text-muted:hover, .btn-link.text-action.text-muted:focus, .btn-link.text-action.text-muted.focus, .btn-link.text-action .text-muted:hover, .btn-link.text-action .text-muted:focus, .btn-link.text-action .text-muted.focus {
  color: #017e84 !important;
}

.btn-link.btn-favourite, .btn-link.text-favourite {
  text-transform: none;
  color: #6c757d !important;
}

.btn-link.btn-favourite:hover, .btn-link.btn-favourite:focus, .btn-link.btn-favourite.focus, .btn-link.text-favourite:hover, .btn-link.text-favourite:focus, .btn-link.text-favourite.focus {
  color: #f3cc00 !important;
}

.btn-link.btn-favourite, .btn-link.btn-favourite:hover, .btn-link.btn-favourite:focus, .btn-link.btn-favourite:active, .btn-link.btn-favourite.active, .btn-link.text-favourite, .btn-link.text-favourite:hover, .btn-link.text-favourite:focus, .btn-link.text-favourite:active, .btn-link.text-favourite.active {
  border-color: transparent !important;
  background-color: transparent !important;
}

.btn-link.btn-favourite:hover:active:focus, .btn-link.text-favourite:hover:active:focus {
  box-shadow: none;
  outline: none;
}

.btn-link.btn-favourite.text-muted, .btn-link.btn-favourite .text-muted, .btn-link.text-favourite.text-muted, .btn-link.text-favourite .text-muted {
  color: rgba(52, 58, 64, 0.76);
}

.btn-link.btn-favourite.text-muted:hover, .btn-link.btn-favourite.text-muted:focus, .btn-link.btn-favourite.text-muted.focus, .btn-link.btn-favourite .text-muted:hover, .btn-link.btn-favourite .text-muted:focus, .btn-link.btn-favourite .text-muted.focus, .btn-link.text-favourite.text-muted:hover, .btn-link.text-favourite.text-muted:focus, .btn-link.text-favourite.text-muted.focus, .btn-link.text-favourite .text-muted:hover, .btn-link.text-favourite .text-muted:focus, .btn-link.text-favourite .text-muted.focus {
  color: #f3cc00 !important;
}

.bg-inherit {
  background-color: inherit;
}

.alert {
  padding-top: var(--alert-padding-y, 13px);
  padding-bottom: var(--alert-padding-y, 13px);
  margin-bottom: var(--alert-margin-bottom, 1rem);
}

.form-switch .form-check-input:checked {
  background-color: #28a745;
  border-color: #28a745;
}

.form-switch .form-check-input:focus {
  border-color: #28a745;
}

.form-switch:hover .form-check-input:not(:disabled) {
  border-color: #28a745;
}

.form-switch.o_switch_toggle .form-check-input, .form-switch.o_switch_toggle .form-check-input:checked {
  border-color: #017e84;
  background-color: white;
}

.form-switch.o_switch_toggle .form-check-input, .form-switch.o_switch_toggle .form-check-input:focus, .form-switch.o_switch_toggle .form-check-input:checked, .form-switch.o_switch_toggle .form-check-input:checked, .form-switch.o_switch_toggle .form-check-input:checked:focus, .form-switch.o_switch_toggle .form-check-input:checked:checked {
  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='%23017e84'/%3e%3c/svg%3e");
}

.form-switch.o_switch_toggle:hover .form-check-input:not(:disabled) {
  border-color: #017e84;
}

.form-switch:disabled, .form-switch.disabled, .form-switch[disabled] {
  opacity: 0.5;
}

.table > :not(caption) > * > * {
  color: unset;
}



/* /web/static/src/core/utils/transitions.scss */

/**
 * This file includes all the t-transition mixins.
 */
/*
  Fade in and out with t-transition
  Usage:
    scss: @include owl-fade(0.5s, 'o_notification')
    xml: <tag t-transition="o_notification_fade" />
 */


/* /web/static/src/core/action_swiper/action_swiper.scss */

.o_actionswiper {
  position: relative;
  touch-action: pan-y;
}

.o_actionswiper_target_container {
  transition: transform 0.4s;
}

.o_actionswiper_swiping {
  transition: none;
}

.o_actionswiper_right_swipe_area {
  /*rtl:ignore*/
  transform: translateX(-100%);
  inset: 0 auto auto 0;
}

.o_actionswiper_left_swipe_area {
  /*rtl:ignore*/
  transform: translateX(100%);
  inset: 0 0 auto auto;
}



/* /web/static/src/core/autocomplete/autocomplete.scss */

.o-autocomplete .o-autocomplete--input {
  width: 100%;
}



/* /web/static/src/core/avatar/avatar.scss */

.o_avatar img,
.o_avatar .o_avatar_empty,
img.o_avatar {
  height: var(--Avatar-size, 1.7145em);
  aspect-ratio: 1;
  object-fit: cover;
}

.o_avatar_empty {
  background: #000;
  opacity: .1;
}



/* /web/static/src/core/barcode/barcode_dialog.scss */

.modal .o-barcode-modal .modal-body {
  overflow: hidden;
}

@media (max-width: 187.98mm) {
  .modal .o-barcode-modal .modal-body {
    padding: 0;
  }
}

.modal .o-barcode-modal .modal-body video {
  object-fit: cover;
}



/* /web/static/src/core/barcode/crop_overlay.scss */

.o_crop_container {
  position: relative;
}

.o_crop_container > * {
  grid-row: 1 / -1;
  grid-column: 1 / -1;
}

.o_crop_container .o_crop_overlay {
  background-color: RGB(0 0 0/0.75);
  mix-blend-mode: darken;
}

.o_crop_container .o_crop_overlay::after {
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  clip-path: inset(var(--o-crop-y, 0px) var(--o-crop-x, 0px));
  background-color: white;
}

.o_crop_container .o_crop_icon {
  --o-crop-icon-width: 20px;
  --o-crop-icon-height: 20px;
  position: absolute;
  width: var(--o-crop-icon-width);
  height: var(--o-crop-icon-height);
  left: calc(var(--o-crop-icon-x, 0px) - (var(--o-crop-icon-width) / 2));
  top: calc(var(--o-crop-icon-y, 0px) - (var(--o-crop-icon-height) / 2));
}



/* /web/static/src/core/checkbox/checkbox.scss */

.o-checkbox {
  width: fit-content;
}



/* /web/static/src/core/colorlist/colorlist.scss */

.o_colorlist button {
  border: 1px solid var(--body-bg);
  box-shadow: 0 0 0 1px #adb5bd;
  width: 22px;
  height: 17px;
}

.o_colorlist .o_colorlist_selected {
  box-shadow: 0 0 0 2px #714B67 !important;
}

.o_colorlist_item_color_1 {
  --background-color: RGBA(255, 155.5, 155.5, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(67.15870044, 11.84129956, 11.84129956, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_2 {
  --background-color: RGBA(247.0375, 198.06116071, 152.4625, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(52.9, 33.325, 15.1, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_3 {
  --background-color: RGBA(252.88960843, 226.89175248, 135.61039157, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(47.45993976, 39.05405514, 9.54006024, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_4 {
  --background-color: RGBA(187.45210396, 215.03675558, 248.04789604, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(25.3049505, 49.60939855, 78.6950495, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_5 {
  --background-color: RGBA(216.79194664, 167.70805336, 203.91748283, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(28.91432806, 24.08567194, 27.64779531, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_6 {
  --background-color: RGBA(247.84539474, 213.9484835, 199.65460526, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(85.32105263, 46.88635147, 30.67894737, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_7 {
  --background-color: RGBA(136.6125, 224.8875, 218.94591346, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(10.58333333, 19.41666667, 18.82211538, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_8 {
  --background-color: RGBA(150.60535714, 165.68382711, 248.89464286, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(13.95714286, 20.10665584, 54.04285714, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_9 {
  --background-color: RGBA(254.94583333, 157.55416667, 203.95543194, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(68.805, 12.195, 39.16625654, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_10 {
  --background-color: RGBA(182.62075688, 236.87924312, 189.81831118, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(30.82018349, 57.17981651, 34.3168695, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_11 {
  --background-color: RGBA(230.11575613, 219.41069277, 252.08930723, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(56.75321978, 31.58433735, 108.41566265, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_0 {
  background: linear-gradient(45deg, rgba(var(--body-bg), 0) 0%, rgba(var(--body-bg), 0) 48%, #d44c59 48%, #d44c59 52%, rgba(var(--body-bg), 0) 52%, rgba(var(--body-bg), 0) 100%);
}



/* /web/static/src/core/colorpicker/colorpicker.scss */

.o_colorpicker_widget .o_color_pick_area {
  height: 125px;
  background-image: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, black 100%), linear-gradient(to right, gray 0%, rgba(128, 128, 128, 0) 100%);
  cursor: crosshair;
}

.o_colorpicker_widget .o_color_slider {
  background: linear-gradient(#F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%);
}

.o_colorpicker_widget .o_color_slider, .o_colorpicker_widget .o_opacity_slider {
  width: 4%;
  margin-right: 2%;
  cursor: pointer;
}

.o_colorpicker_widget .o_slider_pointer, .o_colorpicker_widget .o_opacity_pointer {
  position: absolute;
  top: auto;
  left: -50%;
  bottom: auto;
  right: auto;
  width: 200%;
  height: 8px;
  margin-top: -2px;
}

.o_colorpicker_widget .o_slider_pointer, .o_colorpicker_widget .o_opacity_pointer, .o_colorpicker_widget .o_picker_pointer, .o_colorpicker_widget .o_color_preview {
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.9);
  border: 1px solid black;
}

.o_colorpicker_widget .o_color_picker_inputs {
  font-size: 10px;
}

.o_colorpicker_widget .o_color_picker_inputs input {
  font-family: monospace !important;
  height: 18px;
  font-size: 11px;
}

.o_colorpicker_widget .o_color_picker_inputs .o_hex_div input {
  width: 7ch;
}

.o_colorpicker_widget .o_color_picker_inputs .o_rgba_div input {
  margin-right: 3px;
  width: 3ch;
}



/* /web/static/src/core/commands/command_palette.scss */

.o_command_palette {
  top: 120px;
  position: absolute;
}

.o_command_palette > .modal-body {
  padding: 0;
}

.o_command_palette_listbox {
  max-height: 50vh;
}

.o_command_palette_listbox .o_command.focused {
  background: rgba(230, 242, 243, 0.65);
}

.o_command_palette_listbox .o_command_hotkey {
  align-items: center;
  justify-content: space-between;
  background-color: inherit;
  padding: 0.5rem 1.3em;
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_command_palette_listbox .o_command_hotkey > icon {
  position: relative;
  top: 0.4em;
}

.o_command_palette_listbox .o_command a {
  text-decoration: none;
  color: inherit;
}

.o_command_palette .o_favorite {
  color: #f3cc00;
}

.o_command_palette .o_app_icon {
  height: 1.8rem;
  width: 1.8rem;
}

.o_command_palette .o_command {
  cursor: pointer;
}

.o_command_palette .o_command .text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.o_command_palette .o_command .o_command_focus {
  white-space: nowrap;
  opacity: 0.9;
}



/* /web/static/src/core/datetime/datetime_picker.scss */

.o_datetime_picker {
  --DateTimePicker__Cell-size-md: 3rem;
  --DateTimePicker__Cell-size-lg: 5rem;
  --DateTimePicker__Template-rows: 3;
  --DateTimePicker__Template-columns: 4;
  --DateTimePicker__Day-template-rows: 6;
}

.o_datetime_picker .o_datetime_picker_header .o_header_part {
  text-transform: none;
}

.o_datetime_picker .o_date_item_cell {
  position: relative;
  border-radius: 0;
}

.o_datetime_picker .o_current,
.o_datetime_picker .o_selected {
  color: #212529;
}

.o_datetime_picker .o_selected:not(.o_select_start):not(.o_select_end) {
  background: #e6f2f3;
}

.o_datetime_picker .o_current:before,
.o_datetime_picker .o_highlighted:before,
.o_datetime_picker .o_select_start:before,
.o_datetime_picker .o_select_end:before {
  content: "";
  position: absolute;
  box-shadow: inset 0 0 0 1px #017e84;
  width: 100%;
  aspect-ratio: 1;
  border-radius: 100%;
  z-index: 1;
}

.o_datetime_picker .o_select_start:before,
.o_datetime_picker .o_select_end:before {
  background: #c4e8ea;
}

.o_datetime_picker .o_select_start:after,
.o_datetime_picker .o_select_end:after {
  content: "";
  position: absolute;
  background: transparent;
  width: 50%;
  aspect-ratio: 1/2;
}

.o_datetime_picker .o_select_start:not(.o_select_end):after,
.o_datetime_picker .o_select_end:not(.o_select_end):after {
  right: 0;
  background: #e6f2f3;
}

.o_datetime_picker .o_select_start:not(.o_select_start):after,
.o_datetime_picker .o_select_end:not(.o_select_start):after {
  right: 50%;
  background: #e6f2f3;
}

.o_datetime_picker .o_today span {
  position: relative;
}

.o_datetime_picker .o_today span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3.25px;
  transform: translateX(-50%);
  width: 0.95em;
  height: 0.2em;
  border-radius: 50rem;
  background: #d44c59;
}

.o_datetime_picker .o_time_picker_select {
  background: none;
}

.o_datetime_picker .o_time_picker_select:focus, .o_datetime_picker .o_time_picker_select:hover {
  border-color: var(--primary);
}

.o_datetime_picker .o_date_picker {
  grid-template-rows: repeat(var(--DateTimePicker__Day-template-rows), 1fr);
  grid-template-columns: repeat(var(--DateTimePicker__Day-template-columns), 1fr);
}

.o_datetime_picker .o_date_item_picker {
  grid-template-rows: repeat(var(--DateTimePicker__Template-rows), 1fr);
  grid-template-columns: repeat(var(--DateTimePicker__Template-columns), 1fr);
}

.o_datetime_picker .o_date_item_picker .o_datetime_button.o_selected:not(.o_select_start):not(.o_select_end), .o_datetime_picker .o_date_item_picker .o_datetime_button:hover:not(.o_select_start):not(.o_select_end), .o_datetime_picker .o_date_item_picker .o_datetime_button.o_today:not(.o_selected):hover:not(.o_select_start):not(.o_select_end) {
  background: #e6f2f3;
  color: #212529;
}

.o_datetime_picker .o_center {
  display: grid;
  place-items: center;
}

.o_datetime_picker .o_zoom_out {
  gap: calc( var(--border-width) * 4 + 0.875rem * 2 + 0.625rem * 4);
}

.o_datetime_picker .o_cell_md {
  aspect-ratio: 1;
}

@media (min-width: 188mm) {
  .o_datetime_picker .o_cell_md {
    padding: 0.4rem;
    width: var(--DateTimePicker__Cell-size-md);
    height: var(--DateTimePicker__Cell-size-md);
  }
}

.o_datetime_picker .o_cell_lg {
  width: var(--DateTimePicker__Cell-size-lg);
  height: var(--DateTimePicker__Cell-size-lg);
}

.o_datetime_picker .o_text_sm {
  font-size: 0.875rem;
}

.o_datetime_picker .o_time_picker {
  /*rtl:ignore*/
  direction: ltr;
}



/* /web/static/src/core/debug/debug_menu.scss */

.o_dialog .o_debug_manager .dropdown-toggle {
  padding: 0 4px;
  margin: 2px 10px 2px 0;
}



/* /web/static/src/core/dialog/dialog.scss */

.modal.o_technical_modal .modal-content .modal-header .modal-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.modal.o_technical_modal .modal-content .modal-header .o_expand_button {
  opacity: 75%;
}

.modal.o_technical_modal .modal-content .modal-header .o_expand_button:hover {
  opacity: 100%;
}

.modal.o_technical_modal .modal-footer {
  text-align: left;
}

.modal.o_technical_modal .modal-footer footer, .modal.o_technical_modal .modal-footer .o_form_buttons_edit, .modal.o_technical_modal .modal-footer .o_form_buttons_view {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  justify-content: space-around;
  gap: 3.25px;
}

@media (min-width: 188mm) {
  .modal.o_technical_modal .modal-footer footer, .modal.o_technical_modal .modal-footer .o_form_buttons_edit, .modal.o_technical_modal .modal-footer .o_form_buttons_view {
    -webkit-box-pack: start; justify-content: flex-start;
  }
}

.modal.o_technical_modal .modal-footer button {
  margin: 0;
}

@media (max-width: 187.98mm) {
  .modal.o_technical_modal .modal-footer .btn {
    width: 45%;
    text-overflow: ellipsis;
    white-space: inherit;
  }
}

@media (max-width: 99.98mm) {
  .modal.o_technical_modal.o_modal_full .modal-dialog {
    margin: 0px;
    height: 100%;
  }
  .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content {
    height: 100%;
    border: none;
  }
  .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header {
    background: #FFF;
  }
  .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header .modal-title, .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-header .btn {
    color: #343a40;
  }
  .modal.o_technical_modal.o_modal_full .modal-dialog .modal-content .modal-body {
    height: 100%;
    overflow-y: auto;
  }
}

.modal.o_inactive_modal {
  z-index: 1049;
}

.o_dialog > .modal {
  display: block;
}

@media (min-width: 100mm) {
  .modal-fs {
    width: calc(100% - 3.5rem);
    max-width: none;
  }
}

@media (max-width: 187.98mm) {
  .modal.o_modal_full .modal-content .modal-header {
    align-items: center;
    height: 46px;
    padding: 0 1rem;
  }
  .modal.o_modal_full .modal-content .modal-footer {
    padding-top: 1rem;
    padding-right: 13px;
    padding-bottom: 0.5rem;
    padding-left: 13px;
    box-shadow: 0 1rem 2rem black;
    z-index: 0;
  }
}



/* /web/static/src/core/dropdown/accordion_item.scss */

.o_accordion_toggle::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-bottom: 0;
  border-left: 4px solid transparent;
}

.o_accordion_toggle:empty::after {
  margin-left: 0;
}

.o_accordion_toggle.open::after {
  display: inline-block;
  margin-left: 3.4px;
  vertical-align: 3.4px;
  content: "";
  border-top: 0;
  border-right: 4px solid transparent;
  border-bottom: 4px solid;
  border-left: 4px solid transparent;
}

.o_accordion_toggle.open:empty::after {
  margin-left: 0;
}

.o_accordion_toggle::after {
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
  transform: translate(-0.6em, 0.8em);
}



/* /web/static/src/core/dropdown/dropdown.scss */

.o-dropdown {
  /*!rtl:begin:ignore*/
  /*!rtl:end:ignore*/
}

.o-dropdown.dropdown-toggle::after {
  content: none;
  border: none;
}

.o-dropdown.btn-secondary, .o-dropdown.btn-outline-secondary {
  transition: background-color .2s ease-in-out, border-color .2s ease-in-out;
}

.o-dropdown.btn-secondary.show, .o-dropdown.btn-outline-secondary.show {
  color: #212529;
  background-color: #e6f2f3;
  border-color: #017e84;
}

.o-dropdown.dropup > .o-dropdown--menu, .o-dropdown.dropdown > .o-dropdown--menu, .o-dropdown.dropstart > .o-dropdown--menu, .o-dropdown.dropend > .o-dropdown--menu {
  left: auto;
  right: auto;
  margin-left: 0;
  margin-right: 0;
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret),
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret),
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret) {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: nowrap; flex-wrap: nowrap;
  align-items: center;
  gap: 5px;
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret):after,
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret):after,
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret):after {
  content: "\f0d7";
  font-family: FontAwesome;
  display: inline-block;
  margin-left: auto;
  transform: rotate(0deg);
  transition: .25s ease-in-out;
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret).show:after,
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret).show:after,
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret).show:after {
  transform: rotate(180deg);
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent,
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent,
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent {
  padding-right: 8px;
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent:after,
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent:after,
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent:after {
  transform: rotate(-90deg);
}

.o-dropdown.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent.o-dropdown--open:after,
.o-dropdopwn-item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent.o-dropdown--open:after,
.o_menu_item.o-dropdown-caret:not(.o-dropdown-no-caret).o-dropdown--has-parent.o-dropdown--open:after {
  transform: rotate(90deg);
}

.o-dropdown--menu {
  font-size: 0.875rem;
  margin-top: var(--Dropdown_menu-margin-y, 3.25px);
  margin-bottom: var(--Dropdown_menu-margin-y, 3.25px);
}

.o-dropdown--menu .dropdown-toggle:focus,
.o-dropdown--menu .dropdown-item:focus {
  background-color: transparent;
  outline: none;
}

.o-dropdown--menu .dropdown-toggle.focus,
.o-dropdown--menu .dropdown-item.focus {
  background-color: rgba(0, 0, 0, 0.08);
}

.o-dropdown--menu.o-dropdown--menu-submenu {
  --o-dropdown--submenu-margin: calc(-.5rem - 1px);
  margin-top: var(--o-dropdown--submenu-margin);
  margin-bottom: var(--o-dropdown--submenu-margin);
}

.o-dropdown--menu .dropdown-item:not(.disabled):not(:disabled), .o-dropdown--menu .dropdown-item:not(.disabled):not(:disabled) label {
  cursor: pointer;
}

.o-dropdown-item-unstyled-button button, .o-dropdown-item-unstyled-button button:hover, .o-dropdown-item-unstyled-button button:disabled, .o_web_client.o_touch_device .o-dropdown-item-unstyled-button button, .o_web_client.o_touch_device .o-dropdown-item-unstyled-button button:hover, .o_web_client.o_touch_device .o-dropdown-item-unstyled-button button:disabled {
  all: unset;
}



/* /web/static/src/core/dropzone/dropzone.scss */

.o-Dropzone {
  border: 2px dashed;
  z-index: 1000;
}

.o-Dropzone.o-dragging-inside {
  border-width: 5px;
}



/* /web/static/src/core/effects/rainbow_man.scss */

.o_reward {
  will-change: transform;
  z-index: 1056;
  animation: reward-fading 0.7s ease-in-out forwards;
}

.o_reward .o_reward_box {
  transform-box: fill-box;
}

.o_reward.o_reward_fading {
  animation: reward-fading-reverse 0.56s ease-in-out forwards;
}

.o_reward.o_reward_fading .o_reward_face_group {
  animation: reward-jump-reverse 0.56s ease-in-out forwards;
}

.o_reward.o_reward_fading .o_reward_rainbow_line {
  animation: reward-rainbow-reverse 0.7s ease-out forwards;
}

.o_reward .o_reward_rainbow_man {
  max-width: 400px;
}

.o_reward .o_reward_rainbow_line {
  animation: reward-rainbow 1.12s ease-out 1 forwards;
}

.o_reward .o_reward_face_group {
  animation: reward-jump 1.12s ease-in-out 1;
}

.o_reward .o_reward_face_wrap {
  animation: reward-rotate 1.12s cubic-bezier(0.51, 0.92, 0.24, 1.15) 1;
}

.o_reward .o_reward_face {
  animation: reward-float 1.4s ease-in-out 1.4s infinite alternate;
}

.o_reward .o_reward_star_01, .o_reward .o_reward_star_03 {
  animation: reward-stars 1.4s ease-in-out infinite alternate-reverse;
}

.o_reward .o_reward_star_02, .o_reward .o_reward_star_04 {
  animation: reward-stars 1.68s ease-in-out infinite alternate;
}

.o_reward .o_reward_thumbup {
  animation: reward-scale 0.7s ease-in-out 0s infinite alternate;
}

.o_reward .o_reward_shadow_container {
  animation: reward-float 1.4s ease-in-out infinite alternate;
}

.o_reward .o_reward_shadow {
  animation: reward-scale 1.4s ease-in-out infinite alternate;
}

.o_reward .o_reward_msg_container {
  aspect-ratio: 1 / 1;
  animation: reward-float-reverse 1.4s ease-in-out infinite alternate-reverse;
}

@keyframes reward-fading {
  0% {
    opacity: 0;
  }
}

@keyframes reward-fading-reverse {
  100% {
    opacity: 0;
  }
}

@keyframes reward-jump {
  0% {
    transform: scale(0.5);
  }
  50% {
    transform: scale(1.05);
  }
}

@keyframes reward-jump-reverse {
  50% {
    transform: scale(1.05);
  }
  to {
    transform: scale(0.5);
  }
}

@keyframes reward-rainbow {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes reward-rainbow-reverse {
  from {
    stroke-dashoffset: 0;
  }
}

@keyframes reward-float {
  to {
    transform: translateY(5px);
  }
}

@keyframes reward-float-reverse {
  from {
    transform: translateY(5px);
  }
}

@keyframes reward-stars {
  from {
    transform: scale(0.3) rotate(0deg);
  }
  50% {
    transform: scale(1) rotate(20deg);
  }
  to {
    transform: scale(0.3) rotate(80deg);
  }
}

@keyframes reward-scale {
  from {
    transform: scale(0.8);
  }
}

@keyframes reward-rotate {
  from {
    transform: scale(0.5) rotate(-30deg);
  }
}



/* /web/static/src/core/emoji_picker/emoji_picker.scss */

.popover .o-EmojiPicker {
  width: 300px;
  height: 365px;
}

.o-EmojiPicker-content {
  padding-left: 4.875px;
  padding-right: 4.875px;
}

.o-EmojiPicker {
  --EmojiPicker-active: rgba(1, 126, 132, 0.15);
}

.o-EmojiPicker .o-Emoji {
  padding-left: 3.25px;
  padding-right: 3.25px;
  font-size: 0.8rem;
  aspect-ratio: 1;
}

.o-EmojiPicker .o-Emoji:hover {
  background-color: var(--EmojiPicker-active) !important;
}

.o-EmojiPicker .o-Emoji.o-active {
  background-color: var(--EmojiPicker-active) !important;
}

.o-EmojiPicker .o-EmojiPicker-navbar {
  --border-opacity: .5;
  padding-top: 1.625px;
  padding-bottom: 1.625px;
}

.o-EmojiPicker .o-EmojiPicker-navbar .o-Emoji > span {
  filter: grayscale(1);
}

.o-EmojiPicker .o-EmojiPicker-navbar .o-Emoji:not(.o-active) > span {
  opacity: 50%;
}

.o-EmojiPicker .o-EmojiPicker-sectionIcon {
  filter: grayscale(1);
}

.o-EmojiPicker .o-EmojiPicker-empty {
  font-size: 5rem !important;
  filter: grayscale(0.25);
}

.o-EmojiPicker-category:before {
  content: "\200b";
  /* unicode zero width space character */
}

.o-EmojiPicker-search input::placeholder {
  opacity: var(--EmojiPicker-placeholderOpacity, 50%);
}

.o-EmojiPicker-search input:not(:focus) + .oi-search {
  color: rgba(52, 58, 64, 0.76);
}



/* /web/static/src/core/errors/error_dialog.scss */

@media (min-width: 188mm) {
  .o_error_dialog {
    padding: 1rem;
  }
  .o_error_dialog .o_error_detail > div pre {
    max-height: 40vh;
  }
}

.o_error_dialog .o_error_detail > div {
  overflow: auto;
}

.o_error_dialog .o_error_detail > div pre {
  border: none;
  overflow: unset;
}

.o_error_dialog .o_error_detail button {
  top: 10px;
  right: 15px;
  opacity: 0.66;
}

.o_error_dialog .o_error_detail button:hover {
  opacity: 1;
}

.o_error_dialog .modal-header {
  border: none;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.o_error_dialog .modal-header .modal-title {
  font-size: 1.625rem;
}

.o_error_dialog .modal-body {
  padding-top: 0;
}

.o_error_dialog .modal-footer {
  border: none;
  padding-top: 0;
}



/* /web/static/src/core/file_upload/file_upload_progress_bar.scss */

.o-file-upload-progress-bar-value {
  transition: width 0.1s;
  border-right: 1px solid #5a3c52;
  background-color: #714B67;
  opacity: 0.5;
}

.o-file-upload-progress-bar-abort {
  padding: 4px;
  color: #963535;
  font-size: 16px;
}

.o-file-upload-progress-bar-abort:active {
  opacity: 0.7;
}

div:not(:hover) .o-file-upload-progress-bar-abort {
  display: none;
}



/* /web/static/src/core/file_upload/file_upload_progress_record.scss */

.o_kanban_record .o_kanban_progress_card {
  min-height: 80px;
}

.o_kanban_record .o_kanban_progress_card .o_kanban_record_bottom {
  color: #212529;
}

.o_kanban_record .o_kanban_progress_card .o_kanban_image_wrapper {
  opacity: 0.7;
}

.o_data_row.o_list_progress_card {
  height: 25px;
  border: 1px solid #dfdfdf;
}

.o_data_row.o_list_progress_card .o_file_upload_upload_title {
  color: #212529;
  font-size: 13px;
  font-weight: 500;
}



/* /web/static/src/core/file_viewer/file_viewer.scss */

.o-FileViewer {
  z-index: -1;
  outline: none;
}

.o-FileViewer-navigation {
  width: 40px;
  height: 40px;
}

.o-FileViewer-header {
  color: #fff;
  background-color: var(--FileViewer-toolbarBgColor, #343a40);
  height: 46px;
}

.o-FileViewer-main {
  z-index: -1;
  padding: 51.75px 0;
}

.o-FileViewer-zoomer {
  padding: 51.75px 0;
}

.o-FileViewer-headerButton:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: #fafafb;
}

.o-FileViewer-toolbarButton {
  background-color: var(--FileViewer-toolbarBgColor, #343a40);
  color: #fff;
}

.o-FileViewer-toolbarButton:hover {
  filter: brightness(1.3);
}

.o-FileViewer-view {
  background-color: #000000;
  box-shadow: 0 0 40px #000000;
  outline: none;
}

.o-FileViewer-view.o-isText {
  background: #FFF;
}



/* /web/static/src/core/model_field_selector/model_field_selector.scss */

.o_model_field_selector {
  position: relative;
}

.o_model_field_selector.o_edit_mode {
  cursor: pointer;
}

.o_model_field_selector > .o_model_field_selector_value {
  min-height: 20px;
  max-width: 100%;
  word-wrap: break-word;
}

.o_model_field_selector > .o_model_field_selector_value:active, .o_model_field_selector > .o_model_field_selector_value:focus, .o_model_field_selector > .o_model_field_selector_value:active:focus {
  outline: none;
}

.o_model_field_selector > .o_model_field_selector_value > .o_model_field_selector_chain_part {
  cursor: inherit;
  border: 1px solid #dae0e5;
  background: #f8f9fa;
}

.o_model_field_selector > .o_model_field_selector_value > i {
  font-size: 10px;
}



/* /web/static/src/core/model_field_selector/model_field_selector_popover.scss */

.o_model_field_selector_popover {
  width: 17rem;
}

.o_model_field_selector_popover .o_model_field_selector_popover_body .o_model_field_selector_popover_page {
  height: 20rem;
}

.o_model_field_selector_popover .o_model_field_selector_popover_body .o_model_field_selector_popover_page > .o_model_field_selector_popover_item {
  background: var(--body-bg);
}

.o_model_field_selector_popover .o_model_field_selector_popover_body .o_model_field_selector_popover_page > .o_model_field_selector_popover_item.active button {
  background: rgba(0, 0, 0, 0.08);
}



/* /web/static/src/core/model_selector/model_selector.scss */

.o_model_selector .o-autocomplete--dropdown-menu {
  width: 25ch;
  max-height: 350px !important;
}

.o_model_selector .o-autocomplete--dropdown-menu .o-autocomplete--dropdown-item a {
  text-overflow: ellipsis;
  width: inherit;
}



/* /web/static/src/core/notebook/notebook.scss */

.o_notebook {
  --notebook-margin-x: 0;
  --notebook-padding-x: 0;
  --notebook-link-border-color: transparent;
  --notebook-link-border-color-active: #dee2e6;
  --notebook-link-border-color-hover: #e9ecef;
  --notebook-link-border-color-active-accent: #dee2e6;
}

.o_notebook .o_notebook_headers {
  margin: 0 var(--notebook-margin-x, 0);
  overflow-x: auto;
}

@media (max-width: 187.98mm) {
  .o_notebook .o_notebook_headers::-webkit-scrollbar {
    display: none;
  }
}

.o_notebook .nav {
  padding: 0 var(--notebook-padding-x, 0);
  background-color: white;
}

.o_notebook .nav-item {
  white-space: nowrap;
  margin: 0 -1px 0 0;
}

.o_notebook .nav-item.disabled .nav-link {
  cursor: not-allowed;
  opacity: .3;
}

.o_notebook .nav-link {
  border-color: var(--notebook-link-border-color, transparent);
}

.o_notebook .nav-link.active, .o_notebook .nav-link.active:hover, .o_notebook .nav-link.active:focus, .o_notebook .nav-link.active:active {
  border-color: var(--notebook-link-border-color-active);
  border-top-color: var(--notebook-link-border-color-active-accent, var(--notebook-link-border-color-active));
  border-bottom-color: white;
}

.o_notebook .nav-link:hover, .o_notebook .nav-link:focus, .o_notebook .nav-link:active {
  outline: none;
}

.o_notebook .nav-link:hover {
  border-color: var(--notebook-link-border-color-hover);
}

.o_notebook .tab-pane:not(.show) {
  transition: none;
}

.o_notebook.vertical .o_notebook_headers {
  overflow-x: visible;
}

.o_notebook.vertical .nav {
  width: max-content;
  border-bottom-color: transparent;
}

.o_notebook.vertical .nav-item {
  margin: 0 0 -1px 0;
}

.o_notebook.vertical .nav-item:first-child .nav-link {
  border-top-width: 0;
}

.o_notebook.vertical .nav-link {
  margin-bottom: 0;
}

.o_notebook.vertical .nav-link.active, .o_notebook.vertical .nav-link.active:hover, .o_notebook.vertical .nav-link.active:focus, .o_notebook.vertical .nav-link.active:active {
  border-color: var(--notebook-link-border-color-active);
  border-left-color: var(--notebook-link-border-color-active-accent, var(--notebook-link-border-color-active));
  border-right-color: white;
}

@media (max-width: 189.98mm) {
  .o_notebook .o_notebook_content .oe-toolbar {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    left: auto;
    bottom: auto;
    right: auto;
    margin-left: var(--notebook-margin-x, 13px);
    margin-right: var(--notebook-margin-x, 13px);
    width: auto;
  }
}



/* /web/static/src/core/notifications/notification.scss */

.o_notification_manager {
  position: fixed;
  inset: 52.9px 1rem auto 1rem;
  z-index: 1055;
}

@media (min-width: 100mm) {
  .o_notification_manager {
    left: auto;
    width: 400px;
  }
}

.o_notification_manager .o_notification {
  background-color: var(--Notification__background-color, white);
}

.o_notification_manager .o_notification_bar {
  width: 0.5rem;
}

.o_notification_fade {
  transition: all 0.5s;
}

.o_notification_fade-enter {
  opacity: 0;
}



/* /web/static/src/core/overlay/overlay_container.scss */

.o-overlay-item {
  position: fixed;
  z-index: 1055;
}



/* /web/static/src/core/pager/pager_indicator.scss */

.o_pager_indicator {
  z-index: 1056;
  transition: opacity 0.4s;
}

.o_pager_indicator > .o_pager_indicator_inner {
  min-width: 13ch;
  padding: 7px 14px;
  border: var(--border-width) solid #e9ecef;
  border-radius: var(--border-radius);
  background-color: #e9ecef;
}

.o_pager_indicator.o-fade-leave, .o_pager_indicator.o-fade-enter {
  opacity: 0;
}



/* /web/static/src/core/popover/popover.scss */

/*!rtl:begin:ignore*/
.o_popover.o-popover--with-arrow {
  margin: 6.5px;
}

.o_popover .popover-arrow {
  position: absolute;
}

.o_popover.o-popover--ts .popover-arrow, .o_popover.o-popover--bs .popover-arrow {
  left: 0.25rem;
}

.o_popover.o-popover--te .popover-arrow, .o_popover.o-popover--be .popover-arrow {
  right: 0.25rem;
}

.o_popover.o-popover--ls .popover-arrow, .o_popover.o-popover--rs .popover-arrow {
  top: 0.25rem;
}

.o_popover.o-popover--le .popover-arrow, .o_popover.o-popover--re .popover-arrow {
  bottom: 0.25rem;
}

/*!rtl:end:ignore*/


/* /web/static/src/core/pwa/install_prompt.scss */

.o_install_prompt {
  /* We don't use a rounded-x class for this dialog to match the look of a native OS dialog */
  border-radius: 20px;
  height: unset !important;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: rgba(255, 255, 255, 0.7);
  inset: 0 auto auto 0 !important;
  width: fit-content !important;
}

.o_install_prompt.o_touch_bounce {
  animation: none;
}

@media screen and (max-width: 768px) {
  .o_install_prompt {
    inset: auto auto 0 0 !important;
    width: 90% !important;
    margin: 5% !important;
  }
  .o_install_prompt .modal-header {
    background: none !important;
    border: none !important;
  }
  .o_install_prompt .modal-header button {
    color: #000 !important;
  }
}



/* /web/static/src/core/record_selectors/record_selectors.scss */

.o_record_selector:hover .o_dropdown_button:after, .o_record_selector:focus-within .o_dropdown_button:after, .o_multi_record_selector:hover .o_dropdown_button:after, .o_multi_record_selector:focus-within .o_dropdown_button:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  -moz-transform: scale(0.9999);
  border-bottom: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--o-caret-color, currentColor);
}

.o_record_selector .o_record_autocomplete_with_caret, .o_multi_record_selector .o_record_autocomplete_with_caret {
  display: -webkit-box; display: -webkit-flex; display: flex;
  min-width: 100%;
}

.o_record_selector .o_record_autocomplete_with_caret:hover::after, .o_record_selector .o_record_autocomplete_with_caret:focus-within::after, .o_multi_record_selector .o_record_autocomplete_with_caret:hover::after, .o_multi_record_selector .o_record_autocomplete_with_caret:focus-within::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  -moz-transform: scale(0.9999);
  border-bottom: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--o-caret-color, currentColor);
  align-self: center;
}



/* /web/static/src/core/resizable_panel/resizable_panel.scss */

.o_resizable_panel {
  max-width: 100vw;
  flex-grow: 0;
}

.o_resizable_panel_handle {
  cursor: col-resize;
  z-index: 10;
  width: 5px;
}



/* /web/static/src/core/select_menu/select_menu.scss */

.o_select_menu .o_select_menu_toggler {
  display: grid;
  grid-template-columns: auto 25px;
}

.o_select_menu .o_select_menu_toggler.o_can_deselect {
  grid-template-columns: auto 25px 25px;
}

.o_select_menu .o_select_menu_toggler_slot {
  flex-grow: 2;
}

.o_select_menu .o_select_menu_toggler_caret {
  grid-column: 2;
}

.o_select_menu .o_can_deselect .o_select_menu_toggler_caret {
  grid-column: 3;
}

.o_select_menu .o_select_menu_toggler_clear {
  grid-column: 2;
}

.o_select_menu .o_select_menu_toggler_clear:hover i {
  color: red;
}

.o_select_menu .o_tag {
  margin: 2px;
}

.o_select_menu--sticky {
  position: sticky;
}

.o_select_menu_menu {
  min-width: fit-content;
  max-height: 350px !important;
}

.o_select_menu_menu input {
  cursor: text !important;
}

.o_select_menu_menu .o_select_menu_sticky {
  background-color: var(--body-bg) !important;
}

.o_select_menu_menu .o_select_menu_sticky.o_select_menu_item.focus {
  background: #dee2e6 !important;
}

.o_select_menu_menu .o_select_menu_group {
  top: 40px !important;
}

.o_select_menu_menu .o_select_menu_group:not(.o_select_menu_searchable_group) {
  top: -4px;
}

.o_select_menu_menu .o_select_active {
  color: white;
}

.o_select_menu_menu.o_select_menu_multi_select .o_select_active:hover {
  background: #dc3545 !important;
  transition: background .5s;
}

.dropup .o_select_menu_menu {
  box-shadow: 0 -7px 10px rgba(8, 8, 8, 0.319);
}

.dropdown .o_select_menu_menu {
  box-shadow: 0 7px 10px rgba(8, 8, 8, 0.319);
}



/* /web/static/src/core/signature/name_and_signature.scss */

.o_web_sign_name_and_signature {
  position: relative;
}

.o_web_sign_signature_container canvas {
  width: 100%;
  height: 100%;
}

.o_signature_stroke {
  position: absolute;
  border-top: #D1D0CE solid 2px;
  bottom: 20%;
  width: 72%;
  left: 14%;
}



/* /web/static/src/core/tags_list/tags_list.scss */

.o_tag {
  font-size: var(--Tag-font-size, 0.8125rem);
  max-width: var(--Tag-max-width, 100%);
}

.o_tag.o_tag_color_0, .o_tag.o_tag_color_0::after {
  --background-color: RGBA(230.1375, 221.3625, 221.3625, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(60, 60, 60, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_1, .o_tag.o_tag_color_1::after {
  --background-color: RGBA(255, 155.5, 155.5, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(67.15870044, 11.84129956, 11.84129956, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_2, .o_tag.o_tag_color_2::after {
  --background-color: RGBA(247.0375, 198.06116071, 152.4625, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(52.9, 33.325, 15.1, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_3, .o_tag.o_tag_color_3::after {
  --background-color: RGBA(252.88960843, 226.89175248, 135.61039157, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(47.45993976, 39.05405514, 9.54006024, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_4, .o_tag.o_tag_color_4::after {
  --background-color: RGBA(187.45210396, 215.03675558, 248.04789604, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(25.3049505, 49.60939855, 78.6950495, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_5, .o_tag.o_tag_color_5::after {
  --background-color: RGBA(216.79194664, 167.70805336, 203.91748283, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(28.91432806, 24.08567194, 27.64779531, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_6, .o_tag.o_tag_color_6::after {
  --background-color: RGBA(247.84539474, 213.9484835, 199.65460526, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(85.32105263, 46.88635147, 30.67894737, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_7, .o_tag.o_tag_color_7::after {
  --background-color: RGBA(136.6125, 224.8875, 218.94591346, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(10.58333333, 19.41666667, 18.82211538, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_8, .o_tag.o_tag_color_8::after {
  --background-color: RGBA(150.60535714, 165.68382711, 248.89464286, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(13.95714286, 20.10665584, 54.04285714, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_9, .o_tag.o_tag_color_9::after {
  --background-color: RGBA(254.94583333, 157.55416667, 203.95543194, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(68.805, 12.195, 39.16625654, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_10, .o_tag.o_tag_color_10::after {
  --background-color: RGBA(182.62075688, 236.87924312, 189.81831118, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(30.82018349, 57.17981651, 34.3168695, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_11, .o_tag.o_tag_color_11::after {
  --background-color: RGBA(230.11575613, 219.41069277, 252.08930723, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(56.75321978, 31.58433735, 108.41566265, var(--text-opacity, 1));
  color: var(--color) !important;
}



/* /web/static/src/core/tooltip/tooltip.scss */

.o-tooltip {
  --tooltip-max-width: 400px;
  --tooltip-padding-x: 6.5px;
  --tooltip-padding-y: 3.25px;
  --tooltip-color: #e9ecef;
  --tooltip-bg: var(--emphasis-color);
  --tooltip-border-radius: var(--border-radius);
  font-family: var(--font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  letter-spacing: normal;
  word-break: normal;
  white-space: normal;
  word-spacing: normal;
  line-break: auto;
  font-size: 0.8125rem;
}

.o-tooltip:has(.o-tooltip--technical) {
  max-width: 800px;
}

.o-tooltip:has(.o-tooltip--technical) .o-tooltip--help {
  background-color: #17a2b8;
  color: #FFF;
}

.o-tooltip:has(.o-tooltip--technical) .o-tooltip--string, .o-tooltip:has(.o-tooltip--technical) .o-tooltip--help {
  max-width: MIN(400px, 100%);
}

.o-tooltip .o-tooltip--string, .o-tooltip .o-tooltip--technical--title {
  padding: 3.25px 0;
  font-weight: 500;
}

.o-tooltip .o-tooltip--help, .o-tooltip .o-tooltip--technical {
  margin: 3.25px 6.5px 6.5px;
}

.o-tooltip .o-tooltip--help {
  white-space: pre-line;
  padding: 0 6.5px;
}

.o-tooltip .o-tooltip--technical {
  padding-left: 1.3em;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.75rem;
  list-style-type: disc;
}

.o-tooltip .o-tooltip--technical .o-tooltip--technical--title {
  margin-right: 3.25px;
}

.o-tooltip + .popover-arrow {
  --popover-bg: var(--emphasis-color);
  display: none;
}



/* /web/static/src/core/tree_editor/tree_editor.scss */

.o_tree_editor .o_tree_editor_node .o_tree_editor_node_control_panel > button {
  opacity: .2;
}

.o_tree_editor .o_tree_editor_node.o_hovered_button .o_tree_editor_node_control_panel > button {
  opacity: .5;
}

.o_tree_editor .o_tree_editor_node.o_hovered_button .o_tree_editor_node_control_panel > button:hover {
  opacity: 1;
}



/* /web/static/src/core/ui/block_ui.scss */

.o_blockUI {
  cursor: wait;
  z-index: 1070 !important;
}

.o_blockUI:not(.o_blockUI_invisible) {
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
}



/* /web/static/src/core/utils/draggable_hook_builder.scss */

@keyframes o-draggable-bounce {
  0% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}

.o_draggable {
  -webkit-touch-callout: none;
}

.o_dragged {
  z-index: 1000;
  pointer-events: none;
}

.o_touch_bounce {
  animation: o-draggable-bounce .4s forwards;
  user-select: none;
}



/* /web/static/src/core/utils/nested_sortable.scss */

.o_nested_sortable_placeholder {
  background-clip: content-box;
  background-color: deepskyblue;
  height: 5px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.o_nested_sortable_placeholder_realsize {
  outline: 1px dashed #6c757d;
  background-color: #f8f9fa;
}



/* /web/static/src/libs/fontawesome/css/font-awesome.css */
/*!
 *  Based on Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url('/web/static/src/libs/fontawesome/css/../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('/web/static/src/libs/fontawesome/css/../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* matches 'oi-large' utility-class */
.fa-lg {
  font-size: 1.315em;
  vertical-align: -6%;
}
.fa-2x {
  font-size: 2em;
}
.fa-3x {
  font-size: 3em;
}
.fa-4x {
  font-size: 4em;
}
.fa-5x {
  font-size: 5em;
}
.fa-fw {
  width: 1.28571429em;
  text-align: center;
}
.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}
.fa-ul > li {
  position: relative;
}
.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}
.fa-li.fa-lg {
  left: -1.85714286em;
}
.fa-border {
  padding: .2em .25em .15em;
  border: solid 0.08em #eeeeee;
  border-radius: .1em;
}
.fa-pull-left {
  float: left;
}
.fa-pull-right {
  float: right;
}
.fa.fa-pull-left {
  margin-right: .3em;
}
.fa.fa-pull-right {
  margin-left: .3em;
}
.fa-spin {
  animation: fa-spin 2s infinite linear;
}
.fa-pulse {
  animation: fa-spin 1s infinite steps(8);
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  transform: rotate(90deg);
}
.fa-rotate-180 {
  transform: rotate(180deg);
}
.fa-rotate-270 {
  transform: rotate(270deg);
}
.fa-flip-horizontal {
  transform: scale(-1, 1);
}
.fa-flip-vertical {
  transform: scale(1, -1);
}
:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}
.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}
.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}
.fa-stack-1x {
  line-height: inherit;
}
.fa-stack-2x {
  font-size: 2em;
}
.fa-inverse {
  color: #ffffff;
}
/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}
.fa-music:before {
  content: "\f001";
}
.fa-search:before {
  content: "\f002";
}
.fa-envelope-o:before {
  content: "\f003";
}
.fa-heart:before {
  content: "\f004";
}
.fa-star:before {
  content: "\f005";
}
.fa-star-o:before {
  content: "\f006";
}
.fa-user:before {
  content: "\f007";
}
.fa-film:before {
  content: "\f008";
}
.fa-th-large:before {
  content: "\f009";
}
.fa-th:before {
  content: "\f00a";
}
.fa-th-list:before {
  content: "\f00b";
}
.fa-check:before {
  content: "\f00c";
}
.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}
.fa-search-plus:before {
  content: "\f00e";
}
.fa-search-minus:before {
  content: "\f010";
}
.fa-power-off:before {
  content: "\f011";
}
.fa-signal:before {
  content: "\f012";
}
.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}
.fa-trash-o:before {
  content: "\f014";
}
.fa-home:before {
  content: "\f015";
}
.fa-file-o:before {
  content: "\f016";
}
.fa-clock-o:before {
  content: "\f017";
}
.fa-road:before {
  content: "\f018";
}
.fa-download:before {
  content: "\f019";
}
.fa-arrow-circle-o-down:before {
  content: "\f01a";
}
.fa-arrow-circle-o-up:before {
  content: "\f01b";
}
.fa-inbox:before {
  content: "\f01c";
}
.fa-play-circle-o:before {
  content: "\f01d";
}
.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}
.fa-refresh:before {
  content: "\f021";
}
.fa-list-alt:before {
  content: "\f022";
}
.fa-lock:before {
  content: "\f023";
}
.fa-flag:before {
  content: "\f024";
}
.fa-headphones:before {
  content: "\f025";
}
.fa-volume-off:before {
  content: "\f026";
}
.fa-volume-down:before {
  content: "\f027";
}
.fa-volume-up:before {
  content: "\f028";
}
.fa-qrcode:before {
  content: "\f029";
}
.fa-barcode:before {
  content: "\f02a";
}
.fa-tag:before {
  content: "\f02b";
}
.fa-tags:before {
  content: "\f02c";
}
.fa-book:before {
  content: "\f02d";
}
.fa-bookmark:before {
  content: "\f02e";
}
.fa-print:before {
  content: "\f02f";
}
.fa-camera:before {
  content: "\f030";
}
.fa-font:before {
  content: "\f031";
}
.fa-bold:before {
  content: "\f032";
}
.fa-italic:before {
  content: "\f033";
}
.fa-text-height:before {
  content: "\f034";
}
.fa-text-width:before {
  content: "\f035";
}
.fa-align-left:before {
  content: "\f036";
}
.fa-align-center:before {
  content: "\f037";
}
.fa-align-right:before {
  content: "\f038";
}
.fa-align-justify:before {
  content: "\f039";
}
.fa-list:before {
  content: "\f03a";
}
.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}
.fa-indent:before {
  content: "\f03c";
}
.fa-video-camera:before {
  content: "\f03d";
}
.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}
.fa-pencil:before {
  content: "\f040";
}
.fa-map-marker:before {
  content: "\f041";
}
.fa-adjust:before {
  content: "\f042";
}
.fa-tint:before {
  content: "\f043";
}
.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}
.fa-share-square-o:before {
  content: "\f045";
}
.fa-check-square-o:before {
  content: "\f046";
}
.fa-arrows:before {
  content: "\f047";
}
.fa-step-backward:before {
  content: "\f048";
}
.fa-fast-backward:before {
  content: "\f049";
}
.fa-backward:before {
  content: "\f04a";
}
.fa-play:before {
  content: "\f04b";
}
.fa-pause:before {
  content: "\f04c";
}
.fa-stop:before {
  content: "\f04d";
}
.fa-forward:before {
  content: "\f04e";
}
.fa-fast-forward:before {
  content: "\f050";
}
.fa-step-forward:before {
  content: "\f051";
}
.fa-eject:before {
  content: "\f052";
}
.fa-chevron-left:before {
  content: "\f053";
}
.fa-chevron-right:before {
  content: "\f054";
}
.fa-plus-circle:before {
  content: "\f055";
}
.fa-minus-circle:before {
  content: "\f056";
}
.fa-times-circle:before {
  content: "\f057";
}
.fa-check-circle:before {
  content: "\f058";
}
.fa-question-circle:before {
  content: "\f059";
}
.fa-info-circle:before {
  content: "\f05a";
}
.fa-crosshairs:before {
  content: "\f05b";
}
.fa-times-circle-o:before {
  content: "\f05c";
}
.fa-check-circle-o:before {
  content: "\f05d";
}
.fa-ban:before {
  content: "\f05e";
}
.fa-arrow-left:before {
  content: "\f060";
}
.fa-arrow-right:before {
  content: "\f061";
}
.fa-arrow-up:before {
  content: "\f062";
}
.fa-arrow-down:before {
  content: "\f063";
}
.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}
.fa-expand:before {
  content: "\f065";
}
.fa-compress:before {
  content: "\f066";
}
.fa-plus:before {
  content: "\f067";
}
.fa-minus:before {
  content: "\f068";
}
.fa-asterisk:before {
  content: "\f069";
}
.fa-exclamation-circle:before {
  content: "\f06a";
}
.fa-gift:before {
  content: "\f06b";
}
.fa-leaf:before {
  content: "\f06c";
}
.fa-fire:before {
  content: "\f06d";
}
.fa-eye:before {
  content: "\f06e";
}
.fa-eye-slash:before {
  content: "\f070";
}
.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}
.fa-plane:before {
  content: "\f072";
}
.fa-calendar:before {
  content: "\f073";
}
.fa-random:before {
  content: "\f074";
}
.fa-comment:before {
  content: "\f075";
}
.fa-magnet:before {
  content: "\f076";
}
.fa-chevron-up:before {
  content: "\f077";
}
.fa-chevron-down:before {
  content: "\f078";
}
.fa-retweet:before {
  content: "\f079";
}
.fa-shopping-cart:before {
  content: "\f07a";
}
.fa-folder:before {
  content: "\f07b";
}
.fa-folder-open:before {
  content: "\f07c";
}
.fa-arrows-v:before {
  content: "\f07d";
}
.fa-arrows-h:before {
  content: "\f07e";
}
.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}
.fa-twitter-square:before {
  content: "\f081";
}
.fa-facebook-square:before {
  content: "\f082";
}
.fa-camera-retro:before {
  content: "\f083";
}
.fa-key:before {
  content: "\f084";
}
.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}
.fa-comments:before {
  content: "\f086";
}
.fa-thumbs-o-up:before {
  content: "\f087";
}
.fa-thumbs-o-down:before {
  content: "\f088";
}
.fa-star-half:before {
  content: "\f089";
}
.fa-heart-o:before {
  content: "\f08a";
}
.fa-sign-out:before {
  content: "\f08b";
}
.fa-linkedin-square:before {
  content: "\f08c";
}
.fa-thumb-tack:before {
  content: "\f08d";
}
.fa-external-link:before {
  content: "\f08e";
}
.fa-sign-in:before {
  content: "\f090";
}
.fa-trophy:before {
  content: "\f091";
}
.fa-github-square:before {
  content: "\f092";
}
.fa-upload:before {
  content: "\f093";
}
.fa-lemon-o:before {
  content: "\f094";
}
.fa-phone:before {
  content: "\f095";
}
.fa-square-o:before {
  content: "\f096";
}
.fa-bookmark-o:before {
  content: "\f097";
}
.fa-phone-square:before {
  content: "\f098";
}
.fa-twitter:before {
  content: "\f099";
}
.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}
.fa-github:before {
  content: "\f09b";
}
.fa-unlock:before {
  content: "\f09c";
}
.fa-credit-card:before {
  content: "\f09d";
}
.fa-feed:before,
.fa-rss:before {
  content: "\f09e";
}
.fa-hdd-o:before {
  content: "\f0a0";
}
.fa-bullhorn:before {
  content: "\f0a1";
}
.fa-bell:before {
  content: "\f0f3";
}
.fa-certificate:before {
  content: "\f0a3";
}
.fa-hand-o-right:before {
  content: "\f0a4";
}
.fa-hand-o-left:before {
  content: "\f0a5";
}
.fa-hand-o-up:before {
  content: "\f0a6";
}
.fa-hand-o-down:before {
  content: "\f0a7";
}
.fa-arrow-circle-left:before {
  content: "\f0a8";
}
.fa-arrow-circle-right:before {
  content: "\f0a9";
}
.fa-arrow-circle-up:before {
  content: "\f0aa";
}
.fa-arrow-circle-down:before {
  content: "\f0ab";
}
.fa-globe:before {
  content: "\f0ac";
}
.fa-wrench:before {
  content: "\f0ad";
}
.fa-tasks:before {
  content: "\f0ae";
}
.fa-filter:before {
  content: "\f0b0";
}
.fa-briefcase:before {
  content: "\f0b1";
}
.fa-arrows-alt:before {
  content: "\f0b2";
}
.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}
.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}
.fa-cloud:before {
  content: "\f0c2";
}
.fa-flask:before {
  content: "\f0c3";
}
.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}
.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}
.fa-paperclip:before {
  content: "\f0c6";
}
.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}
.fa-square:before {
  content: "\f0c8";
}
.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}
.fa-list-ul:before {
  content: "\f0ca";
}
.fa-list-ol:before {
  content: "\f0cb";
}
.fa-strikethrough:before {
  content: "\f0cc";
}
.fa-underline:before {
  content: "\f0cd";
}
.fa-table:before {
  content: "\f0ce";
}
.fa-magic:before {
  content: "\f0d0";
}
.fa-truck:before {
  content: "\f0d1";
}
.fa-pinterest:before {
  content: "\f0d2";
}
.fa-pinterest-square:before {
  content: "\f0d3";
}
.fa-google-plus-square:before {
  content: "\f0d4";
}
.fa-google-plus:before {
  content: "\f0d5";
}
.fa-money:before {
  content: "\f0d6";
}
.fa-caret-down:before {
  content: "\f0d7";
}
.fa-caret-up:before {
  content: "\f0d8";
}
.fa-caret-left:before {
  content: "\f0d9";
}
.fa-caret-right:before {
  content: "\f0da";
}
.fa-columns:before {
  content: "\f0db";
}
.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}
.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}
.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}
.fa-envelope:before {
  content: "\f0e0";
}
.fa-linkedin:before {
  content: "\f0e1";
}
.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}
.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}
.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}
.fa-comment-o:before {
  content: "\f0e5";
}
.fa-comments-o:before {
  content: "\f0e6";
}
.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}
.fa-sitemap:before {
  content: "\f0e8";
}
.fa-umbrella:before {
  content: "\f0e9";
}
.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}
.fa-lightbulb-o:before {
  content: "\f0eb";
}
.fa-exchange:before {
  content: "\f0ec";
}
.fa-cloud-download:before {
  content: "\f0ed";
}
.fa-cloud-upload:before {
  content: "\f0ee";
}
.fa-user-md:before {
  content: "\f0f0";
}
.fa-stethoscope:before {
  content: "\f0f1";
}
.fa-suitcase:before {
  content: "\f0f2";
}
.fa-bell-o:before {
  content: "\f0a2";
}
.fa-coffee:before {
  content: "\f0f4";
}
.fa-cutlery:before {
  content: "\f0f5";
}
.fa-file-text-o:before {
  content: "\f0f6";
}
.fa-building-o:before {
  content: "\f0f7";
}
.fa-hospital-o:before {
  content: "\f0f8";
}
.fa-ambulance:before {
  content: "\f0f9";
}
.fa-medkit:before {
  content: "\f0fa";
}
.fa-fighter-jet:before {
  content: "\f0fb";
}
.fa-beer:before {
  content: "\f0fc";
}
.fa-h-square:before {
  content: "\f0fd";
}
.fa-plus-square:before {
  content: "\f0fe";
}
.fa-angle-double-left:before {
  content: "\f100";
}
.fa-angle-double-right:before {
  content: "\f101";
}
.fa-angle-double-up:before {
  content: "\f102";
}
.fa-angle-double-down:before {
  content: "\f103";
}
.fa-angle-left:before {
  content: "\f104";
}
.fa-angle-right:before {
  content: "\f105";
}
.fa-angle-up:before {
  content: "\f106";
}
.fa-angle-down:before {
  content: "\f107";
}
.fa-desktop:before {
  content: "\f108";
}
.fa-laptop:before {
  content: "\f109";
}
.fa-tablet:before {
  content: "\f10a";
}
.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}
.fa-circle-o:before {
  content: "\f10c";
}
.fa-quote-left:before {
  content: "\f10d";
}
.fa-quote-right:before {
  content: "\f10e";
}
.fa-spinner:before {
  content: "\f110";
}
.fa-circle:before {
  content: "\f111";
}
.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}
.fa-github-alt:before {
  content: "\f113";
}
.fa-folder-o:before {
  content: "\f114";
}
.fa-folder-open-o:before {
  content: "\f115";
}
.fa-smile-o:before {
  content: "\f118";
}
.fa-frown-o:before {
  content: "\f119";
}
.fa-meh-o:before {
  content: "\f11a";
}
.fa-gamepad:before {
  content: "\f11b";
}
.fa-keyboard-o:before {
  content: "\f11c";
}
.fa-flag-o:before {
  content: "\f11d";
}
.fa-flag-checkered:before {
  content: "\f11e";
}
.fa-terminal:before {
  content: "\f120";
}
.fa-code:before {
  content: "\f121";
}
.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}
.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}
.fa-location-arrow:before {
  content: "\f124";
}
.fa-crop:before {
  content: "\f125";
}
.fa-code-fork:before {
  content: "\f126";
}
.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}
.fa-question:before {
  content: "\f128";
}
.fa-info:before {
  content: "\f129";
}
.fa-exclamation:before {
  content: "\f12a";
}
.fa-superscript:before {
  content: "\f12b";
}
.fa-subscript:before {
  content: "\f12c";
}
.fa-eraser:before {
  content: "\f12d";
}
.fa-puzzle-piece:before {
  content: "\f12e";
}
.fa-microphone:before {
  content: "\f130";
}
.fa-microphone-slash:before {
  content: "\f131";
}
.fa-shield:before {
  content: "\f132";
}
.fa-calendar-o:before {
  content: "\f133";
}
.fa-fire-extinguisher:before {
  content: "\f134";
}
.fa-rocket:before {
  content: "\f135";
}
.fa-maxcdn:before {
  content: "\f136";
}
.fa-chevron-circle-left:before {
  content: "\f137";
}
.fa-chevron-circle-right:before {
  content: "\f138";
}
.fa-chevron-circle-up:before {
  content: "\f139";
}
.fa-chevron-circle-down:before {
  content: "\f13a";
}
.fa-html5:before {
  content: "\f13b";
}
.fa-css3:before {
  content: "\f13c";
}
.fa-anchor:before {
  content: "\f13d";
}
.fa-unlock-alt:before {
  content: "\f13e";
}
.fa-bullseye:before {
  content: "\f140";
}
.fa-ellipsis-h:before {
  content: "\f141";
}
.fa-ellipsis-v:before {
  content: "\f142";
}
.fa-rss-square:before {
  content: "\f143";
}
.fa-play-circle:before {
  content: "\f144";
}
.fa-ticket:before {
  content: "\f145";
}
.fa-minus-square:before {
  content: "\f146";
}
.fa-minus-square-o:before {
  content: "\f147";
}
.fa-level-up:before {
  content: "\f148";
}
.fa-level-down:before {
  content: "\f149";
}
.fa-check-square:before {
  content: "\f14a";
}
.fa-pencil-square:before {
  content: "\f14b";
}
.fa-external-link-square:before {
  content: "\f14c";
}
.fa-share-square:before {
  content: "\f14d";
}
.fa-compass:before {
  content: "\f14e";
}
.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}
.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}
.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}
.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}
.fa-gbp:before {
  content: "\f154";
}
.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}
.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}
.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}
.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}
.fa-won:before,
.fa-krw:before {
  content: "\f159";
}
.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}
.fa-file:before {
  content: "\f15b";
}
.fa-file-text:before {
  content: "\f15c";
}
.fa-sort-alpha-asc:before {
  content: "\f15d";
}
.fa-sort-alpha-desc:before {
  content: "\f15e";
}
.fa-sort-amount-asc:before {
  content: "\f160";
}
.fa-sort-amount-desc:before {
  content: "\f161";
}
.fa-sort-numeric-asc:before {
  content: "\f162";
}
.fa-sort-numeric-desc:before {
  content: "\f163";
}
.fa-thumbs-up:before {
  content: "\f164";
}
.fa-thumbs-down:before {
  content: "\f165";
}
.fa-youtube-square:before {
  content: "\f166";
}
.fa-youtube:before {
  content: "\f167";
}
.fa-xing:before {
  content: "\f168";
}
.fa-xing-square:before {
  content: "\f169";
}
.fa-youtube-play:before {
  content: "\f16a";
}
.fa-dropbox:before {
  content: "\f16b";
}
.fa-stack-overflow:before {
  content: "\f16c";
}
.fa-instagram:before {
  content: "\f16d";
}
.fa-flickr:before {
  content: "\f16e";
}
.fa-adn:before {
  content: "\f170";
}
.fa-bitbucket:before {
  content: "\f171";
}
.fa-bitbucket-square:before {
  content: "\f172";
}
.fa-tumblr:before {
  content: "\f173";
}
.fa-tumblr-square:before {
  content: "\f174";
}
.fa-long-arrow-down:before {
  content: "\f175";
}
.fa-long-arrow-up:before {
  content: "\f176";
}
.fa-long-arrow-left:before {
  content: "\f177";
}
.fa-long-arrow-right:before {
  content: "\f178";
}
.fa-apple:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-android:before {
  content: "\f17b";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-dribbble:before {
  content: "\f17d";
}
.fa-skype:before {
  content: "\f17e";
}
.fa-foursquare:before {
  content: "\f180";
}
.fa-trello:before {
  content: "\f181";
}
.fa-female:before {
  content: "\f182";
}
.fa-male:before {
  content: "\f183";
}
.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}
.fa-sun-o:before {
  content: "\f185";
}
.fa-moon-o:before {
  content: "\f186";
}
.fa-archive:before {
  content: "\f187";
}
.fa-bug:before {
  content: "\f188";
}
.fa-vk:before {
  content: "\f189";
}
.fa-weibo:before {
  content: "\f18a";
}
.fa-renren:before {
  content: "\f18b";
}
.fa-pagelines:before {
  content: "\f18c";
}
.fa-stack-exchange:before {
  content: "\f18d";
}
.fa-arrow-circle-o-right:before {
  content: "\f18e";
}
.fa-arrow-circle-o-left:before {
  content: "\f190";
}
.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}
.fa-dot-circle-o:before {
  content: "\f192";
}
.fa-wheelchair:before {
  content: "\f193";
}
.fa-vimeo-square:before {
  content: "\f194";
}
.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}
.fa-plus-square-o:before {
  content: "\f196";
}
.fa-space-shuttle:before {
  content: "\f197";
}
.fa-slack:before {
  content: "\f198";
}
.fa-envelope-square:before {
  content: "\f199";
}
.fa-wordpress:before {
  content: "\f19a";
}
.fa-openid:before {
  content: "\f19b";
}
.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}
.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}
.fa-yahoo:before {
  content: "\f19e";
}
.fa-google:before {
  content: "\f1a0";
}
.fa-reddit:before {
  content: "\f1a1";
}
.fa-reddit-square:before {
  content: "\f1a2";
}
.fa-stumbleupon-circle:before {
  content: "\f1a3";
}
.fa-stumbleupon:before {
  content: "\f1a4";
}
.fa-delicious:before {
  content: "\f1a5";
}
.fa-digg:before {
  content: "\f1a6";
}
.fa-pied-piper-pp:before {
  content: "\f1a7";
}
.fa-pied-piper-alt:before {
  content: "\f1a8";
}
.fa-drupal:before {
  content: "\f1a9";
}
.fa-joomla:before {
  content: "\f1aa";
}
.fa-language:before {
  content: "\f1ab";
}
.fa-fax:before {
  content: "\f1ac";
}
.fa-building:before {
  content: "\f1ad";
}
.fa-child:before {
  content: "\f1ae";
}
.fa-paw:before {
  content: "\f1b0";
}
.fa-spoon:before {
  content: "\f1b1";
}
.fa-cube:before {
  content: "\f1b2";
}
.fa-cubes:before {
  content: "\f1b3";
}
.fa-behance:before {
  content: "\f1b4";
}
.fa-behance-square:before {
  content: "\f1b5";
}
.fa-steam:before {
  content: "\f1b6";
}
.fa-steam-square:before {
  content: "\f1b7";
}
.fa-recycle:before {
  content: "\f1b8";
}
.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}
.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}
.fa-tree:before {
  content: "\f1bb";
}
.fa-spotify:before {
  content: "\f1bc";
}
.fa-deviantart:before {
  content: "\f1bd";
}
.fa-soundcloud:before {
  content: "\f1be";
}
.fa-database:before {
  content: "\f1c0";
}
.fa-file-pdf-o:before {
  content: "\f1c1";
}
.fa-file-word-o:before {
  content: "\f1c2";
}
.fa-file-excel-o:before {
  content: "\f1c3";
}
.fa-file-powerpoint-o:before {
  content: "\f1c4";
}
.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}
.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}
.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}
.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}
.fa-file-code-o:before {
  content: "\f1c9";
}
.fa-vine:before {
  content: "\f1ca";
}
.fa-codepen:before {
  content: "\f1cb";
}
.fa-jsfiddle:before {
  content: "\f1cc";
}
.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}
.fa-circle-o-notch:before {
  content: "\f1ce";
}
.fa-ra:before,
.fa-resistance:before,
.fa-rebel:before {
  content: "\f1d0";
}
.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}
.fa-git-square:before {
  content: "\f1d2";
}
.fa-git:before {
  content: "\f1d3";
}
.fa-y-combinator-square:before,
.fa-yc-square:before,
.fa-hacker-news:before {
  content: "\f1d4";
}
.fa-tencent-weibo:before {
  content: "\f1d5";
}
.fa-qq:before {
  content: "\f1d6";
}
.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}
.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}
.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}
.fa-history:before {
  content: "\f1da";
}
.fa-circle-thin:before {
  content: "\f1db";
}
.fa-header:before {
  content: "\f1dc";
}
.fa-paragraph:before {
  content: "\f1dd";
}
.fa-sliders:before {
  content: "\f1de";
}
.fa-share-alt:before {
  content: "\f1e0";
}
.fa-share-alt-square:before {
  content: "\f1e1";
}
.fa-bomb:before {
  content: "\f1e2";
}
.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}
.fa-tty:before {
  content: "\f1e4";
}
.fa-binoculars:before {
  content: "\f1e5";
}
.fa-plug:before {
  content: "\f1e6";
}
.fa-slideshare:before {
  content: "\f1e7";
}
.fa-twitch:before {
  content: "\f1e8";
}
.fa-yelp:before {
  content: "\f1e9";
}
.fa-newspaper-o:before {
  content: "\f1ea";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-calculator:before {
  content: "\f1ec";
}
.fa-paypal:before {
  content: "\f1ed";
}
.fa-google-wallet:before {
  content: "\f1ee";
}
.fa-cc-visa:before {
  content: "\f1f0";
}
.fa-cc-mastercard:before {
  content: "\f1f1";
}
.fa-cc-discover:before {
  content: "\f1f2";
}
.fa-cc-amex:before {
  content: "\f1f3";
}
.fa-cc-paypal:before {
  content: "\f1f4";
}
.fa-cc-stripe:before {
  content: "\f1f5";
}
.fa-bell-slash:before {
  content: "\f1f6";
}
.fa-bell-slash-o:before {
  content: "\f1f7";
}
.fa-trash:before {
  content: "\f1f8";
}
.fa-copyright:before {
  content: "\f1f9";
}
.fa-at:before {
  content: "\f1fa";
}
.fa-eyedropper:before {
  content: "\f1fb";
}
.fa-paint-brush:before {
  content: "\f1fc";
}
.fa-birthday-cake:before {
  content: "\f1fd";
}
.fa-area-chart:before {
  content: "\f1fe";
}
.fa-pie-chart:before {
  content: "\f200";
}
.fa-line-chart:before {
  content: "\f201";
}
.fa-lastfm:before {
  content: "\f202";
}
.fa-lastfm-square:before {
  content: "\f203";
}
.fa-toggle-off:before {
  content: "\f204";
}
.fa-toggle-on:before {
  content: "\f205";
}
.fa-bicycle:before {
  content: "\f206";
}
.fa-bus:before {
  content: "\f207";
}
.fa-ioxhost:before {
  content: "\f208";
}
.fa-angellist:before {
  content: "\f209";
}
.fa-cc:before {
  content: "\f20a";
}
.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}
.fa-meanpath:before {
  content: "\f20c";
}
.fa-buysellads:before {
  content: "\f20d";
}
.fa-connectdevelop:before {
  content: "\f20e";
}
.fa-dashcube:before {
  content: "\f210";
}
.fa-forumbee:before {
  content: "\f211";
}
.fa-leanpub:before {
  content: "\f212";
}
.fa-sellsy:before {
  content: "\f213";
}
.fa-shirtsinbulk:before {
  content: "\f214";
}
.fa-simplybuilt:before {
  content: "\f215";
}
.fa-skyatlas:before {
  content: "\f216";
}
.fa-cart-plus:before {
  content: "\f217";
}
.fa-cart-arrow-down:before {
  content: "\f218";
}
.fa-diamond:before {
  content: "\f219";
}
.fa-ship:before {
  content: "\f21a";
}
.fa-user-secret:before {
  content: "\f21b";
}
.fa-motorcycle:before {
  content: "\f21c";
}
.fa-street-view:before {
  content: "\f21d";
}
.fa-heartbeat:before {
  content: "\f21e";
}
.fa-venus:before {
  content: "\f221";
}
.fa-mars:before {
  content: "\f222";
}
.fa-mercury:before {
  content: "\f223";
}
.fa-intersex:before,
.fa-transgender:before {
  content: "\f224";
}
.fa-transgender-alt:before {
  content: "\f225";
}
.fa-venus-double:before {
  content: "\f226";
}
.fa-mars-double:before {
  content: "\f227";
}
.fa-venus-mars:before {
  content: "\f228";
}
.fa-mars-stroke:before {
  content: "\f229";
}
.fa-mars-stroke-v:before {
  content: "\f22a";
}
.fa-mars-stroke-h:before {
  content: "\f22b";
}
.fa-neuter:before {
  content: "\f22c";
}
.fa-genderless:before {
  content: "\f22d";
}
.fa-facebook-official:before {
  content: "\f230";
}
.fa-pinterest-p:before {
  content: "\f231";
}
.fa-whatsapp:before {
  content: "\f232";
}
.fa-server:before {
  content: "\f233";
}
.fa-user-plus:before {
  content: "\f234";
}
.fa-user-times:before {
  content: "\f235";
}
.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}
.fa-viacoin:before {
  content: "\f237";
}
.fa-train:before {
  content: "\f238";
}
.fa-subway:before {
  content: "\f239";
}
.fa-medium:before {
  content: "\f23a";
}
.fa-yc:before,
.fa-y-combinator:before {
  content: "\f23b";
}
.fa-optin-monster:before {
  content: "\f23c";
}
.fa-opencart:before {
  content: "\f23d";
}
.fa-expeditedssl:before {
  content: "\f23e";
}
.fa-battery-4:before,
.fa-battery:before,
.fa-battery-full:before {
  content: "\f240";
}
.fa-battery-3:before,
.fa-battery-three-quarters:before {
  content: "\f241";
}
.fa-battery-2:before,
.fa-battery-half:before {
  content: "\f242";
}
.fa-battery-1:before,
.fa-battery-quarter:before {
  content: "\f243";
}
.fa-battery-0:before,
.fa-battery-empty:before {
  content: "\f244";
}
.fa-mouse-pointer:before {
  content: "\f245";
}
.fa-i-cursor:before {
  content: "\f246";
}
.fa-object-group:before {
  content: "\f247";
}
.fa-object-ungroup:before {
  content: "\f248";
}
.fa-sticky-note:before {
  content: "\f249";
}
.fa-sticky-note-o:before {
  content: "\f24a";
}
.fa-cc-jcb:before {
  content: "\f24b";
}
.fa-cc-diners-club:before {
  content: "\f24c";
}
.fa-clone:before {
  content: "\f24d";
}
.fa-balance-scale:before {
  content: "\f24e";
}
.fa-hourglass-o:before {
  content: "\f250";
}
.fa-hourglass-1:before,
.fa-hourglass-start:before {
  content: "\f251";
}
.fa-hourglass-2:before,
.fa-hourglass-half:before {
  content: "\f252";
}
.fa-hourglass-3:before,
.fa-hourglass-end:before {
  content: "\f253";
}
.fa-hourglass:before {
  content: "\f254";
}
.fa-hand-grab-o:before,
.fa-hand-rock-o:before {
  content: "\f255";
}
.fa-hand-stop-o:before,
.fa-hand-paper-o:before {
  content: "\f256";
}
.fa-hand-scissors-o:before {
  content: "\f257";
}
.fa-hand-lizard-o:before {
  content: "\f258";
}
.fa-hand-spock-o:before {
  content: "\f259";
}
.fa-hand-pointer-o:before {
  content: "\f25a";
}
.fa-hand-peace-o:before {
  content: "\f25b";
}
.fa-trademark:before {
  content: "\f25c";
}
.fa-registered:before {
  content: "\f25d";
}
.fa-creative-commons:before {
  content: "\f25e";
}
.fa-gg:before {
  content: "\f260";
}
.fa-gg-circle:before {
  content: "\f261";
}
.fa-tripadvisor:before {
  content: "\f262";
}
.fa-odnoklassniki:before {
  content: "\f263";
}
.fa-odnoklassniki-square:before {
  content: "\f264";
}
.fa-get-pocket:before {
  content: "\f265";
}
.fa-wikipedia-w:before {
  content: "\f266";
}
.fa-safari:before {
  content: "\f267";
}
.fa-chrome:before {
  content: "\f268";
}
.fa-firefox:before {
  content: "\f269";
}
.fa-opera:before {
  content: "\f26a";
}
.fa-internet-explorer:before {
  content: "\f26b";
}
.fa-tv:before,
.fa-television:before {
  content: "\f26c";
}
.fa-contao:before {
  content: "\f26d";
}
.fa-500px:before {
  content: "\f26e";
}
.fa-amazon:before {
  content: "\f270";
}
.fa-calendar-plus-o:before {
  content: "\f271";
}
.fa-calendar-minus-o:before {
  content: "\f272";
}
.fa-calendar-times-o:before {
  content: "\f273";
}
.fa-calendar-check-o:before {
  content: "\f274";
}
.fa-industry:before {
  content: "\f275";
}
.fa-map-pin:before {
  content: "\f276";
}
.fa-map-signs:before {
  content: "\f277";
}
.fa-map-o:before {
  content: "\f278";
}
.fa-map:before {
  content: "\f279";
}
.fa-commenting:before {
  content: "\f27a";
}
.fa-commenting-o:before {
  content: "\f27b";
}
.fa-houzz:before {
  content: "\f27c";
}
.fa-vimeo:before {
  content: "\f27d";
}
.fa-black-tie:before {
  content: "\f27e";
}
.fa-fonticons:before {
  content: "\f280";
}
.fa-reddit-alien:before {
  content: "\f281";
}
.fa-edge:before {
  content: "\f282";
}
.fa-credit-card-alt:before {
  content: "\f283";
}
.fa-codiepie:before {
  content: "\f284";
}
.fa-modx:before {
  content: "\f285";
}
.fa-fort-awesome:before {
  content: "\f286";
}
.fa-usb:before {
  content: "\f287";
}
.fa-product-hunt:before {
  content: "\f288";
}
.fa-mixcloud:before {
  content: "\f289";
}
.fa-scribd:before {
  content: "\f28a";
}
.fa-pause-circle:before {
  content: "\f28b";
}
.fa-pause-circle-o:before {
  content: "\f28c";
}
.fa-stop-circle:before {
  content: "\f28d";
}
.fa-stop-circle-o:before {
  content: "\f28e";
}
.fa-shopping-bag:before {
  content: "\f290";
}
.fa-shopping-basket:before {
  content: "\f291";
}
.fa-hashtag:before {
  content: "\f292";
}
.fa-bluetooth:before {
  content: "\f293";
}
.fa-bluetooth-b:before {
  content: "\f294";
}
.fa-percent:before {
  content: "\f295";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-wpbeginner:before {
  content: "\f297";
}
.fa-wpforms:before {
  content: "\f298";
}
.fa-envira:before {
  content: "\f299";
}
.fa-universal-access:before {
  content: "\f29a";
}
.fa-wheelchair-alt:before {
  content: "\f29b";
}
.fa-question-circle-o:before {
  content: "\f29c";
}
.fa-blind:before {
  content: "\f29d";
}
.fa-audio-description:before {
  content: "\f29e";
}
.fa-volume-control-phone:before {
  content: "\f2a0";
}
.fa-braille:before {
  content: "\f2a1";
}
.fa-assistive-listening-systems:before {
  content: "\f2a2";
}
.fa-asl-interpreting:before,
.fa-american-sign-language-interpreting:before {
  content: "\f2a3";
}
.fa-deafness:before,
.fa-hard-of-hearing:before,
.fa-deaf:before {
  content: "\f2a4";
}
.fa-glide:before {
  content: "\f2a5";
}
.fa-glide-g:before {
  content: "\f2a6";
}
.fa-signing:before,
.fa-sign-language:before {
  content: "\f2a7";
}
.fa-low-vision:before {
  content: "\f2a8";
}
.fa-viadeo:before {
  content: "\f2a9";
}
.fa-viadeo-square:before {
  content: "\f2aa";
}
.fa-snapchat:before {
  content: "\f2ab";
}
.fa-snapchat-ghost:before {
  content: "\f2ac";
}
.fa-snapchat-square:before {
  content: "\f2ad";
}
.fa-pied-piper:before {
  content: "\f2ae";
}
.fa-first-order:before {
  content: "\f2b0";
}
.fa-yoast:before {
  content: "\f2b1";
}
.fa-themeisle:before {
  content: "\f2b2";
}
.fa-google-plus-circle:before,
.fa-google-plus-official:before {
  content: "\f2b3";
}
.fa-fa:before,
.fa-font-awesome:before {
  content: "\f2b4";
}
.fa-handshake-o:before {
  content: "\f2b5";
}
.fa-envelope-open:before {
  content: "\f2b6";
}
.fa-envelope-open-o:before {
  content: "\f2b7";
}
.fa-linode:before {
  content: "\f2b8";
}
.fa-address-book:before {
  content: "\f2b9";
}
.fa-address-book-o:before {
  content: "\f2ba";
}
.fa-vcard:before,
.fa-address-card:before {
  content: "\f2bb";
}
.fa-vcard-o:before,
.fa-address-card-o:before {
  content: "\f2bc";
}
.fa-user-circle:before {
  content: "\f2bd";
}
.fa-user-circle-o:before {
  content: "\f2be";
}
.fa-user-o:before {
  content: "\f2c0";
}
.fa-id-badge:before {
  content: "\f2c1";
}
.fa-drivers-license:before,
.fa-id-card:before {
  content: "\f2c2";
}
.fa-drivers-license-o:before,
.fa-id-card-o:before {
  content: "\f2c3";
}
.fa-quora:before {
  content: "\f2c4";
}
.fa-free-code-camp:before {
  content: "\f2c5";
}
.fa-telegram:before {
  content: "\f2c6";
}
.fa-thermometer-4:before,
.fa-thermometer:before,
.fa-thermometer-full:before {
  content: "\f2c7";
}
.fa-thermometer-3:before,
.fa-thermometer-three-quarters:before {
  content: "\f2c8";
}
.fa-thermometer-2:before,
.fa-thermometer-half:before {
  content: "\f2c9";
}
.fa-thermometer-1:before,
.fa-thermometer-quarter:before {
  content: "\f2ca";
}
.fa-thermometer-0:before,
.fa-thermometer-empty:before {
  content: "\f2cb";
}
.fa-shower:before {
  content: "\f2cc";
}
.fa-bathtub:before,
.fa-s15:before,
.fa-bath:before {
  content: "\f2cd";
}
.fa-podcast:before {
  content: "\f2ce";
}
.fa-window-maximize:before {
  content: "\f2d0";
}
.fa-window-minimize:before {
  content: "\f2d1";
}
.fa-window-restore:before {
  content: "\f2d2";
}
.fa-times-rectangle:before,
.fa-window-close:before {
  content: "\f2d3";
}
.fa-times-rectangle-o:before,
.fa-window-close-o:before {
  content: "\f2d4";
}
.fa-bandcamp:before {
  content: "\f2d5";
}
.fa-grav:before {
  content: "\f2d6";
}
.fa-etsy:before {
  content: "\f2d7";
}
.fa-imdb:before {
  content: "\f2d8";
}
.fa-ravelry:before {
  content: "\f2d9";
}
.fa-eercast:before {
  content: "\f2da";
}
.fa-microchip:before {
  content: "\f2db";
}
.fa-snowflake-o:before {
  content: "\f2dc";
}
.fa-superpowers:before {
  content: "\f2dd";
}
.fa-wpexplorer:before {
  content: "\f2de";
}
.fa-meetup:before {
  content: "\f2e0";
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.visually-hidden-focusable:active,
.visually-hidden-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}


/* /web/static/lib/odoo_ui_icons/style.css */
@font-face {
  font-family: 'odoo_ui_icons';
  src: url('/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff2') format('woff2'), url('/web/static/lib/odoo_ui_icons/fonts/odoo_ui_icons.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.oi {
  display: inline-block;
  font-family: 'odoo_ui_icons';
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.oi-view-pivot:before { content: '\e800'; }
.oi-text-break:before { content: '\e801'; }
.oi-text-inline:before { content: '\e802'; }
.oi-voip:before { content: '\e803'; }
.oi-odoo:before { content: '\e806'; }
.oi-search:before { content: '\e808'; }
.oi-group:before { content: '\e80a'; }
.oi-settings-adjust:before { content: '\e80c'; }
.oi-apps:before { content: '\e80d'; }
.oi-panel-right:before { content: '\e810'; }
.oi-launch:before { content: '\e812'; }
.oi-studio:before { content: '\e813'; }
.oi-view-kanban:before { content: '\e814'; }
.oi-text-wrap:before { content: '\e815'; }
.oi-view-cohort:before { content: '\e816'; }
.oi-view-list:before { content: '\e817'; }
.oi-gif-picker:before { content: '\e82e'; }
.oi-chevron-down:before { content: '\e839'; }
.oi-chevron-left:before { content: '\e83a'; }
.oi-chevron-right:before { content: '\e83b'; }
.oi-chevron-up:before { content: '\e83c'; }
.oi-arrows-h:before { content: '\e83d'; }
.oi-arrows-v:before { content: '\e83e'; }
.oi-arrow-down-left:before { content: '\e83f'; }
.oi-arrow-down-right:before { content: '\e840'; }
.oi-arrow-down:before { content: '\e841'; }
.oi-arrow-left:before { content: '\e842'; }
.oi-arrow-right:before { content: '\e843'; }
.oi-arrow-up-left:before { content: '\e844'; }
.oi-arrow-up-right:before { content: '\e845'; }
.oi-arrow-up:before { content: '\e846'; }
.oi-draggable:before { content: '\e847'; }
.oi-view:before { content: '\e861'; }
.oi-archive:before { content: '\e862'; }
.oi-unarchive:before { content: '\e863'; }
.oi-text-effect:before { content: '\e827'; }
.oi-smile-add:before { content: '\e84e'; }
.oi-close:before { content: '\e852'; }
.oi-food-delivery:before { content: '\e82a'; }

/* RTL adaptations. */
/* Flip directional icons by 180 degree. */
/* ---------------------------------------------------------------------------- */
.o_rtl .oi-chevron-left,
.o_rtl .oi-chevron-right,
.o_rtl .oi-arrow-down-left,
.o_rtl .oi-arrow-down-right,
.o_rtl .oi-arrow-left,
.o_rtl .oi-arrow-right,
.o_rtl .oi-arrow-up-left,
.o_rtl .oi-arrow-up-right {
  transform: rotate(180deg);
}


/* /web/static/src/webclient/navbar/navbar.scss */

.o_main_navbar {
  --o-navbar-height: 46px;
  --Dropdown_menu-margin-y: 0;
  display: -webkit-box; display: -webkit-flex; display: flex;
  height: var(--o-navbar-height);
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 0;
  background: #FFF;
  font-size: 0.875rem;
}

@media (min-width: 188mm) {
  .o_main_navbar {
    min-width: min-content;
  }
}

.o_main_navbar > ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.o_main_navbar .o_menu_toggle {
  --NavBar-entry-padding-left: 13px;
  --NavBar-entry-padding-right: 6.5px;
  color: var(--NavBar-entry-color, #343a40);
}

.o_main_navbar .o_menu_toggle rect, .o_main_navbar .o_menu_toggle g {
  transform-origin: 0 50%;
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back {
  transform: translateX(25%) rotateY(-180deg);
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back rect {
  width: 6px;
  height: 3px;
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back rect:first-child {
  transform: translate(12%, 0) /* rtl:translate(-6%, 0) */;
  rx: 1;
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back #o_menu_toggle_row_0 {
  transform: scale3d(0.5, 1, 1) translate(0, 45%) skewY(-22deg) /* rtl:scale3d(.5, 1, 1) translate(0, 41%) skewY(22deg) */;
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back #o_menu_toggle_row_0 + g rect {
  width: 0;
  height: 0;
}

.o_main_navbar .o_menu_toggle.o_menu_toggle_back #o_menu_toggle_row_2 {
  transform: scale3d(0.5, 1, 1) translate(0, -37%) skewY(22deg) /* rtl:scale3d(.5, 1, 1) translate(0, -35%) skewY(-22deg) */;
}

@media (min-width: 188mm) {
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) .o_menu_toggle_icon {
    opacity: 0;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back):hover .o_menu_toggle_icon {
    opacity: 1;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back):hover .o_menu_brand_icon {
    opacity: 0;
  }
}

@media screen and (min-width: 188mm) and (prefers-reduced-motion: no-preference) {
  .o_main_navbar .o_menu_toggle:hover rect {
    width: 6px;
    height: 3px;
  }
  .o_main_navbar .o_menu_toggle:hover rect:first-child {
    transform: translate(12%, 0) /* rtl:translate(-6%, 0) */;
    rx: 1;
  }
  .o_main_navbar .o_menu_toggle:hover #o_menu_toggle_row_0 {
    transform: scale3d(0.5, 1, 1) translate(0, 45%) skewY(-22deg) /* rtl:scale3d(.5, 1, 1) translate(0, 41%) skewY(22deg) */;
  }
  .o_main_navbar .o_menu_toggle:hover #o_menu_toggle_row_0 + g rect {
    width: 0;
    height: 0;
  }
  .o_main_navbar .o_menu_toggle:hover #o_menu_toggle_row_2 {
    transform: scale3d(0.5, 1, 1) translate(0, -37%) skewY(22deg) /* rtl:scale3d(.5, 1, 1) translate(0, -35%) skewY(-22deg) */;
  }
  .o_main_navbar .o_menu_toggle, .o_main_navbar .o_menu_toggle g {
    transition: all .3s;
  }
  .o_main_navbar .o_menu_toggle rect {
    transition: all .1s;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) {
    transform: none;
    transition: none;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) .o_menu_toggle_icon, .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) .o_menu_brand_icon, .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) .o_menu_brand {
    will-change: transform;
    transition: all 0.1s;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back) .o_menu_toggle_icon {
    transform: translateX(75%);
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back):hover .o_menu_toggle_icon {
    transform: translateX(25%);
    transition: all .4s;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back):hover .o_menu_brand_icon {
    transform: rotateY(-90deg);
    transition: all .2s;
  }
  .o_main_navbar .o_menu_toggle.hasImage:not(.o_menu_toggle_back):hover .o_menu_brand {
    transform: translateX(-6.5px);
    transition: all .4s;
  }
}

@media (min-width: 188mm) {
  .o_main_navbar .o_menu_toggle .o_menu_brand_icon {
    width: calc(var(--o-navbar-height) - 20px + 3.25px);
    object-fit: cover;
  }
}

.o_main_navbar .o_nav_entry, .o_main_navbar .dropdown-toggle:not(.o-dropdown-toggle-custo) {
  border-color: transparent;
}

.o_main_navbar .o_menu_sections .o_nav_entry, .o_main_navbar .o_menu_sections .dropdown-toggle {
  background: var(--NavBar-entry-backgroundColor, #FFF);
  border: 1px solid transparent;
}

.o_main_navbar .o_menu_sections .o_nav_entry:hover, .o_main_navbar .o_menu_sections .dropdown-toggle:hover {
  background: var(--NavBar-entry-backgroundColor--hover, #e9ecef);
}

.o_main_navbar .o_menu_sections .o_nav_entry:focus, .o_main_navbar .o_menu_sections .dropdown-toggle:focus {
  background: var(--NavBar-entry-backgroundColor--focus, #e9ecef);
}

.o_main_navbar .o_menu_sections .o_nav_entry:active, .o_main_navbar .o_menu_sections .dropdown-toggle:active {
  background: var(--NavBar-entry-backgroundColor--active, unset);
}

.o_main_navbar .o_menu_sections .dropdown.show.dropdown-toggle {
  border-color: var(--NavBar-entry-borderColor-active, transparent);
  background: var(--NavBar-entry-backgroundColor--active, unset);
  color: var(--NavBar-entry-color--active, unset);
}

.o_main_navbar .dropdown-header.dropdown-menu_group {
  margin-top: 0;
}

.o_main_navbar .dropdown-item + .dropdown-header:not(.o_more_dropdown_section_group) {
  margin-top: .3em;
}

.o_main_navbar .o_dropdown_menu_group_entry.dropdown-item {
  padding-left: 30px;
}

.o_main_navbar .o_dropdown_menu_group_entry.dropdown-item + .dropdown-item:not(.o_dropdown_menu_group_entry) {
  margin-top: .8em;
}

.o_main_navbar .o_navbar_apps_menu .dropdown-toggle {
  --NavBar-entry-padding-left: 13px;
  font-size: 1.2em;
}

.o_main_navbar .o_menu_brand {
  padding-left: 0;
  font-size: 1.2em;
}

.o_main_navbar .o_menu_brand:hover {
  background: none;
}

.o_main_navbar .o_menu_brand, .o_main_navbar .o_navbar_breadcrumbs, .o_main_navbar .o_navbar_breadcrumbs .btn {
  color: var(--NavBar-brand-color, #495057);
}

.o_main_navbar .o_menu_sections .o_more_dropdown_section_group {
  margin-top: .8em;
}

.o_main_navbar .o_menu_sections .o_more_dropdown_section_group:first-child {
  margin-top: -0.5rem;
  padding-top: 0.75rem;
}

.o_main_navbar .o_menu_systray {
  --NavBar-entry-padding-left: 0.315em;
  --NavBar-entry-padding-right: 0.315em;
}

.o_main_navbar .o_menu_systray .badge {
  margin-right: -.5em;
  border: 0;
  padding: 3px 6px;
  background-color: var(--o-navbar-badge-bg, #dc3545);
  font-size: 0.7em;
  color: var(--o-navbar-badge-color, #FFF);
  text-shadow: var(--o-navbar-badge-text-shadow, none);
  transform: translate(-0.6em, -30%);
}

body.o_is_superuser .o_menu_systray {
  border-image: repeating-linear-gradient(135deg, #d9b904, #d9b904 10px, #373435 10px, #373435 20px) 2;
  border-image-width: 2px;
}



/* /web/static/src/scss/animation.scss */

/************** DEFINITION of ANIMATIONS **************/
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}



/* /web/static/src/scss/fontawesome_overridden.scss */

@font-face {
  font-family: 'FontAwesome-tiktok-only';
  src: url("/web/static/src/scss/../../fonts/tiktok_only.woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'FontAwesome-twitter-x-only';
  src: url("/web/static/src/scss/../../fonts/twitter_x_only.woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.fa.fa-tiktok {
  font-family: 'FontAwesome-tiktok-only' !important;
}

.fa.fa-tiktok:before {
  content: '\e07b';
}

.fa-twitter.fa {
  font-family: 'FontAwesome-twitter-x-only' !important;
}

.fa-twitter.fa:before {
  content: '\e800';
}

.fa-twitter-square.fa {
  font-family: 'FontAwesome-twitter-x-only' !important;
}

.fa-twitter-square.fa:before {
  content: '\e803';
}

.o_rtl .fa.fa-align-right, .o_rtl .fa.fa-align-left, .o_rtl .fa.fa-chevron-right, .o_rtl .fa.fa-chevron-left, .o_rtl .fa.fa-arrow-right, .o_rtl .fa.fa-arrow-left, .o_rtl .fa.fa-hand-o-right, .o_rtl .fa.fa-hand-o-left, .o_rtl .fa.fa-arrow-circle-right, .o_rtl .fa.fa-arrow-circle-left, .o_rtl .fa.fa-caret-right, .o_rtl .fa.fa-caret-left, .o_rtl .fa.fa-rotate-right, .o_rtl .fa.fa-rotate-left, .o_rtl .fa.fa-angle-double-right, .o_rtl .fa.fa-angle-double-left, .o_rtl .fa.fa-angle-right, .o_rtl .fa.fa-angle-left, .o_rtl .fa.fa-quote-right, .o_rtl .fa.fa-quote-left, .o_rtl .fa.fa-chevron-circle-right, .o_rtl .fa.fa-chevron-circle-left, .o_rtl .fa.fa-long-arrow-right, .o_rtl .fa.fa-long-arrow-left, .o_rtl .fa.fa-toggle-right, .o_rtl .fa.fa-toggle-left, .o_rtl .fa.fa-caret-square-o-right, .o_rtl .fa.fa-arrow-circle-o-left, .o_rtl .fa.fa-arrow-circle-o-right, .o_rtl .fa.fa-caret-square-o-left {
  transform: rotate(180deg);
}



/* /web/static/src/scss/mimetypes.scss */

.o_image {
  display: inline-block;
  width: 38px;
  height: 38px;
  background-image: url("/web/static/img/mimetypes/unknown.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.o_image[data-mimetype^='image'] {
  background-image: url("/web/static/img/mimetypes/image.svg");
}

.o_image[data-mimetype^='audio'] {
  background-image: url("/web/static/img/mimetypes/audio.svg");
}

.o_image[data-mimetype^='text'], .o_image[data-mimetype$='rtf'] {
  background-image: url("/web/static/img/mimetypes/text.svg");
}

.o_image[data-mimetype*='octet-stream'], .o_image[data-mimetype*='download'], .o_image[data-mimetype*='python'] {
  background-image: url("/web/static/img/mimetypes/binary.svg");
}

.o_image[data-mimetype^='video'], .o_image[title$='.mp4'], .o_image[title$='.avi'] {
  background-image: url("/web/static/img/mimetypes/video.svg");
}

.o_image[data-mimetype$='archive'], .o_image[data-mimetype$='compressed'], .o_image[data-mimetype*='zip'], .o_image[data-mimetype$='tar'], .o_image[data-mimetype*='package'] {
  background-image: url("/web/static/img/mimetypes/archive.svg");
}

.o_image[data-mimetype^='application/pdf'] {
  background-image: url("/web/static/img/mimetypes/pdf.svg");
}

.o_image[data-mimetype^='text-master'], .o_image[data-mimetype*='document'], .o_image[data-mimetype*='msword'], .o_image[data-mimetype*='wordprocessing'] {
  background-image: url("/web/static/img/mimetypes/document.svg");
}

.o_image[data-mimetype*='application/xml'], .o_image[data-mimetype$='html'] {
  background-image: url("/web/static/img/mimetypes/web_code.svg");
}

.o_image[data-mimetype$='css'], .o_image[data-mimetype$='less'], .o_image[data-ext$='less'] {
  background-image: url("/web/static/img/mimetypes/web_style.svg");
}

.o_image[data-mimetype*='-image'], .o_image[data-mimetype*='diskimage'], .o_image[data-ext$='dmg'] {
  background-image: url("/web/static/img/mimetypes/disk.svg");
}

.o_image[data-mimetype$='csv'], .o_image[data-mimetype*='vc'], .o_image[data-mimetype*='excel'], .o_image[data-mimetype$='numbers'], .o_image[data-mimetype$='calc'], .o_image[data-mimetype*='mods'], .o_image[data-mimetype*='spreadsheet'] {
  background-image: url("/web/static/img/mimetypes/spreadsheet.svg");
}

.o_image[data-mimetype^='key'] {
  background-image: url("/web/static/img/mimetypes/certificate.svg");
}

.o_image[data-mimetype*='presentation'], .o_image[data-mimetype*='keynote'], .o_image[data-mimetype*='teacher'], .o_image[data-mimetype*='slideshow'], .o_image[data-mimetype*='powerpoint'] {
  background-image: url("/web/static/img/mimetypes/presentation.svg");
}

.o_image[data-mimetype*='cert'], .o_image[data-mimetype*='rules'], .o_image[data-mimetype*='pkcs'], .o_image[data-mimetype$='stl'], .o_image[data-mimetype$='crl'] {
  background-image: url("/web/static/img/mimetypes/certificate.svg");
}

.o_image[data-mimetype*='-font'], .o_image[data-mimetype*='font-'], .o_image[data-ext$='ttf'] {
  background-image: url("/web/static/img/mimetypes/font.svg");
}

.o_image[data-mimetype*='-dvi'] {
  background-image: url("/web/static/img/mimetypes/print.svg");
}

.o_image[data-mimetype*='script'], .o_image[data-mimetype*='x-sh'], .o_image[data-ext*='bat'], .o_image[data-mimetype$='bat'], .o_image[data-mimetype$='cgi'], .o_image[data-mimetype$='-c'], .o_image[data-mimetype*='java'], .o_image[data-mimetype*='ruby'] {
  background-image: url("/web/static/img/mimetypes/script.svg");
}

.o_image[data-mimetype*='javascript'] {
  background-image: url("/web/static/img/mimetypes/javascript.svg");
}

.o_image[data-mimetype*='calendar'], .o_image[data-mimetype$='ldif'] {
  background-image: url("/web/static/img/mimetypes/calendar.svg");
}

.o_image[data-mimetype$='postscript'], .o_image[data-mimetype$='cdr'], .o_image[data-mimetype$='xara'], .o_image[data-mimetype$='cgm'], .o_image[data-mimetype$='graphics'], .o_image[data-mimetype$='draw'], .o_image[data-mimetype*='svg'] {
  background-image: url("/web/static/img/mimetypes/vector.svg");
}



/* /web/static/src/scss/ui.scss */

:root .o_hidden {
  display: none !important;
}

.o_disabled {
  pointer-events: none;
  opacity: 0.5;
}

.o_btn_loading {
  opacity: 0.5;
}

.o_btn_loading .fa:not(.fa-spin) {
  display: none;
}

.o_text_overflow {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.dropdown-menu {
  max-height: 70vh;
  overflow: auto;
  background-clip: border-box;
}

.dropdown-toggle {
  white-space: nowrap;
}

.dropdown-toggle.o-no-caret::before, .dropdown-toggle.o-no-caret::after {
  content: normal;
}

.o_catch_attention {
  position: relative;
  z-index: 1;
  animation: catchAttention 200ms ease 0s infinite normal;
}

.o_treeEntry {
  padding-left: var(--treeEntry-padding-h, 19.5px);
  position: relative;
}

.o_treeEntry:before, .o_treeEntry:after {
  position: absolute;
  left: var(--treeEntry--beforeAfter-left, calc(var(--treeEntry-padding-h, 19.5px) * .5));
  background: var(--treeEntry--beforeAfter-color, #dee2e6);
  content: '';
}

.o_treeEntry:before {
  top: var(--treeEntry--before-top, 0);
  width: 1px;
  height: 100%;
}

.o_treeEntry:after {
  display: var(--treeEntry--after-display, initial);
  top: calc(.5em + var(--treeEntry-padding-v, 6.5px));
  width: calc(var(--treeEntry-padding-h, 19.5px) * .5);
  height: 1px;
}

.o_treeEntry:last-of-type:before {
  height: calc(.5em + var(--treeEntry-padding-v, 6.5px));
}

@keyframes catchAttention {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    transform: translateY(-30%);
  }
  20% {
    transform: translateY(-25%);
  }
  40% {
    transform: translateY(-20%);
  }
  60% {
    transform: translateY(-15%);
  }
  80% {
    transform: translateY(-10%);
  }
  100% {
    transform: translateY(-5%);
  }
}

span.o_force_ltr {
  display: inline;
}

.o_force_ltr {
  unicode-bidi: embed;
  /*rtl:ignore*/
  direction: ltr;
}

/* rtl:raw:
[type="tel"],
[type="url"],
[type="email"],
[type="number"],
.o_force_ltr {
  text-align: end !important;
}
*/
.o_object_fit_cover {
  object-fit: cover;
}

.o_object_fit_contain {
  object-fit: contain;
}

.o_image_24_cover {
  width: 24px;
  height: 24px;
  object-fit: cover;
}

.o_image_40_cover {
  width: 40px;
  height: 40px;
  object-fit: cover;
}

.o_image_64_cover {
  width: 64px;
  height: 64px;
  object-fit: cover;
}

.o_image_64_contain {
  width: 64px;
  height: 64px;
  object-fit: contain;
}

.o_image_64_max {
  max-width: 64px;
  max-height: 64px;
}

.modal .o_cp_action_menus .o-dropdown:has(.fa-cog) {
  display: none;
}

.o_ui_app_icon {
  width: var(--oi-font-size, 1em);
}

:not(:hover) > .o_ui_app_icon {
  --oi-color: currentColor;
}



/* /web/static/src/views/fields/translation_dialog.scss */

.o_translation_dialog .o_language_current {
  font-weight: bold;
}

.o_translation_dialog .row {
  margin-bottom: 9px;
}



/* /web/static/src/legacy/scss/ui.scss */

.ui-autocomplete {
  z-index: 1056;
  max-width: 600px;
}

.ui-autocomplete .ui-menu-item > a {
  display: block;
}

.o_rtl .ui-autocomplete {
  direction: ltr;
  right: 0;
  left: auto;
}



/* /base/static/src/css/modules.css */
.oe_module_flag {
    position: absolute;
    left: 12px;
    top: calc(50% - 35px);
    font: 27px icon;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}

.o_kanban_view.o_modules_kanban .o_kanban_renderer .o_kanban_record .o_dropdown_kanban,
.o_modules_field .o_modules_kanban .o_kanban_renderer .o_kanban_record .o_dropdown_kanban {
    visibility: visible;
    opacity: 0.5;
}

.o_kanban_view.o_modules_kanban .o_kanban_renderer .o_kanban_record:hover .o_dropdown_kanban,
.o_kanban_view.o_modules_kanban .o_kanban_renderer .o_kanban_record .o_dropdown_kanban.show {
    opacity: 1;
}

.o_modules_field .o_modules_kanban .o_kanban_renderer {
    --KanbanRecord-width: 280px;
    --KanbanRecord-width-small: 280px;
}

.o_module_form.o_form_view .oe_avatar > img {
    border: none;
    box-shadow: none;
    max-width: 70px;
    max-height: 70px;
}


/* /web/static/src/search/cog_menu/cog_menu.scss */

.o_cp_action_menus .o-dropdown {
  min-width: 5px;
}



/* /web/static/src/search/control_panel/control_panel.scss */

.o_control_panel {
  border-bottom: var(--ControlPanel-border-bottom, 1px solid #dee2e6);
  background-color: white;
  padding: 0 0 6.5px !important;
  margin-bottom: 1rem;
}

.o_control_panel, .o_control_panel .o_facet_value {
  font-weight: bold;
}

.o_control_panel .o_control_panel_main {
  align-items: center !important;
}

.o_control_panel .o_searchview_facet_label > i {
  font-size: 0.8125rem !important;
}

.o_control_panel .o_facet_value {
  padding-right: 6.5px;
}

.o_control_panel .o_breadcrumb {
  flex-direction: row !important;
  align-items: start;
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.o_control_panel .o_breadcrumb a {
  font-weight: bold !important;
  color: inherit;
}

.o_control_panel .o_breadcrumb .btn.btn-light {
  border: 0;
  padding-right: 0 !important;
  background: transparent;
  color: inherit;
}

.o_control_panel .o_back_button a, .o_control_panel .o_last_breadcrumb_item {
  font-weight: bold !important;
  font-size: 0.875rem !important;
  padding-left: 0.15rem;
}

.o_control_panel .o_back_button a::after {
  float: right;
  padding-left: 0.15rem;
  color: rgba(52, 58, 64, 0.76);
  content: var(--breadcrumb-divider, "/");
}

.o_control_panel .o_pager_counter > span:nth-child(2) {
  width: 1em;
  display: inline-block;
  text-align: center;
}

.o_x2m_control_panel {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
}

.o_x2m_control_panel .o_cp_buttons {
  display: -webkit-box; display: -webkit-flex; display: flex;
  margin-right: auto;
}

.o_x2m_control_panel .o_cp_pager {
  display: -webkit-box; display: -webkit-flex; display: flex;
  margin-left: auto;
}

.o_dragged_embedded_action {
  transition: transform 0.5s;
  transform: rotate(2deg);
  opacity: 0.8;
}

.o_embedded_actions {
  max-height: 500px;
  transition: opacity 0.5s, max-height 0.5s ease;
}

.o_embedded_actions.o-fade-leave, .o_embedded_actions.o-fade-enter {
  opacity: 0;
  max-height: 0;
}

.o_embedded_actions::before, .o_embedded_actions::after {
  -webkit-box-flex: 1; -webkit-flex: 1 1 0; flex: 1 1 0;
  height: 1px;
  background-color: #dee2e6;
  content: "";
}

.o_embedded_actions_dropdown_menu .o_icon_right {
  transform: translate(-0.45em, 0);
}

.o_embedded_actions_dropdown_menu .o_save_current_view:before {
  margin-inline-end: 3.25px;
  font-family: FontAwesome;
  opacity: 0.76;
  content: "\f0c7";
}

@media (max-width: 187.98mm) {
  .o_rtl .o_control_panel .o_back_button:before {
    transform: rotate(180deg);
  }
}



/* /web/static/src/search/control_panel/control_panel.variables_print.scss */



/* /web/static/src/search/custom_group_by_item/custom_group_by_item.scss */

.o_add_custom_group_menu {
  background-position-x: calc(100% - 0.6em);
  border: 0 !important;
}



/* /web/static/src/search/search_bar/search_bar.scss */

.o_searchview_facet {
  animation: animate .25s ease-out;
}

@keyframes animate {
  from {
    opacity: .5;
    transform: translateY(20%);
  }
}

.o_searchview_facet .btn, .o_searchview_facet .btn:focus {
  z-index: 0;
}

.o_searchview_facet .o_facet_value {
  max-width: 16rem;
}

@media (max-width: 187.98mm) {
  .o_searchview_facet .o_facet_value {
    max-width: 8rem;
  }
}



/* /web/static/src/search/search_bar_menu/search_bar_menu.scss */

.o_search_bar_menu {
  max-width: calc(100vw - 26px);
}

.o_search_bar_menu .o_dropdown_container {
  border-color: #dee2e6 !important;
  min-width: 200px;
}

.o_search_bar_menu .o_accordion_values .o_input {
  max-width: 17ch;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 190mm) {
  .o_search_bar_menu .o_dropdown_container {
    max-width: calc(calc(100vw - 26px) / 6);
  }
}



/* /web/static/src/search/search_panel/search_panel.scss */

.o_component_with_search_panel,
.o_controller_with_searchpanel {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: flex-start;
}

.o_component_with_search_panel .o_renderer,
.o_component_with_search_panel .o_renderer_with_searchpanel,
.o_controller_with_searchpanel .o_renderer,
.o_controller_with_searchpanel .o_renderer_with_searchpanel {
  flex: 1 1 100%;
  overflow: auto;
  max-height: 100%;
  position: relative;
  height: 100%;
}

@media (max-width: 187.98mm) {
  .o_component_with_search_panel .o_renderer,
.o_component_with_search_panel .o_renderer_with_searchpanel,
.o_controller_with_searchpanel .o_renderer,
.o_controller_with_searchpanel .o_renderer_with_searchpanel {
    overflow: visible;
  }
}

.o_search_panel {
  --treeEntry-padding-h: 13px;
  width: var(--SearchPanel-width, 220px);
  font-size: var(--SearchPanel-fontSize, 1em);
}

@media (min-width: 188mm) {
  .o_search_panel {
    border-right: 1px solid #dee2e6;
  }
}

.o_search_panel .o_toggle_fold {
  width: 13px;
}

.o_search_panel .o_search_panel_counter {
  font-variant-numeric: tabular-nums;
}

.o_search_panel_resize {
  cursor: col-resize;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: 0px -2px;
  width: 10px;
  height: 100%;
  z-index: 1;
}

.o_search_panel_sidebar {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: 3rem;
}

@media (min-width: 188mm) {
  .o_search_panel_sidebar {
    border-right: 1px solid #dee2e6;
  }
}

.o_mobile_search_content {
  --SearchPanel-width: 100%;
  --SearchPanel-fontSize: 1.1em;
  --treeEntry-padding-v: 13px;
}

@media (max-width: 187.98mm) {
  .o_component_with_search_panel,
.o_controller_with_searchpanel {
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    align-items: initial;
  }
  .o_component_with_search_panel .o_renderer_with_searchpanel.o_list_view,
.o_controller_with_searchpanel .o_renderer_with_searchpanel.o_list_view {
    width: 100%;
  }
}



/* /web/static/src/search/search_panel/search_view.scss */

.o_searchview {
  --SearchBar-background-color: $input-focus-bg;
  background-color: var(--SearchBar-background-color);
  border: var(--border-width) solid #dee2e6;
}

.o_searchview:focus-within {
  border-color: #75b5ba;
  color: var(--body-color);
}

.o_searchview:focus-within + .o_searchview_dropdown_toggler {
  border-top-color: #75b5ba;
  border-right-color: #75b5ba;
  border-bottom-color: #75b5ba;
}

.o_searchview .o_searchview_input {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}

.o_searchview .o_searchview_autocomplete {
  position: absolute;
  top: calc(100% + 3px);
  left: auto;
  bottom: auto;
  right: 0;
  width: 100%;
}

.o_searchview .o_searchview_autocomplete .o_menu_item {
  align-items: center;
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding-left: 25px;
}

.o_searchview .o_searchview_autocomplete .o_menu_item.o_indent {
  padding-left: 50px;
}

.o_searchview .o_searchview_autocomplete .o_menu_item a {
  color: inherit;
}

.o_searchview .o_searchview_autocomplete .o_menu_item a.o_expand {
  display: -webkit-box; display: -webkit-flex; display: flex;
  justify-content: center;
  width: 25px;
  position: absolute;
  top: auto;
  left: 0;
  bottom: auto;
  right: auto;
}

.o_search_options {
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  margin: auto 0;
  flex-grow: 1;
}

.o_filter_menu .o_filter_condition.o_filter_condition_with_buttons {
  padding-right: 0;
  padding-left: 30px;
}

.o_filter_menu .o_filter_condition .o_or_filter {
  position: absolute;
  top: auto;
  left: 4px;
  bottom: auto;
  right: auto;
}

.o_filter_menu .o_filter_condition .o_generator_menu_value {
  color: #343a40;
}

.o_filter_menu .o_filter_condition .o_generator_menu_value .datepickerbutton {
  cursor: pointer;
  position: absolute;
  top: 3px;
  left: auto;
  bottom: auto;
  right: -20px;
}

.o_filter_menu .o_filter_condition .o_generator_menu_delete {
  opacity: 0.8;
  position: absolute;
  top: 6px;
  left: auto;
  bottom: auto;
  right: 4px;
}

.o_filter_menu .o_filter_condition .o_generator_menu_delete:hover, .o_filter_menu .o_filter_condition .o_generator_menu_delete:focus, .o_filter_menu .o_filter_condition .o_generator_menu_delete.focus {
  opacity: 1;
}

.o_filter_menu .o_filter_condition .o_generator_menu_delete:hover {
  background-color: #f8f9fa;
}

.o_filter_menu .o_add_condition {
  line-height: 1.1;
}

.o_filter_menu .o_add_condition .fa {
  font-size: 1.09375rem;
}

.o_web_client .o_mobile_search {
  align-items: normal;
  background-color: var(--mobileSearch-bg, #FFF);
  border: none;
  bottom: 0;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  left: 0;
  overflow: auto;
  padding: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1055;
}

.o_web_client .o_mobile_search .o_mobile_search_header {
  background-color: var(--mobileSearch__header-bg, #714B67);
  display: -webkit-box; display: -webkit-flex; display: flex;
  min-height: 46px;
  justify-content: space-between;
  width: 100%;
}

.o_web_client .o_mobile_search .o_mobile_search_header .o_mobile_search_button {
  color: white;
}

.o_web_client .o_mobile_search .o_mobile_search_header .o_mobile_search_button:active {
  background-color: #52374b;
}

.o_web_client .o_mobile_search .o_mobile_search_content {
  flex: auto;
  height: auto;
  overflow-y: auto;
  width: 100%;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding: 15px 20px 0 20px;
  position: relative;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container .o_searchview_input {
  border-bottom: 1px solid #8f8f8f;
  margin-bottom: 15px;
  width: 100%;
  background-color: var(--o-input-background-color, transparent);
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container .o_searchview_facet {
  border-radius: 10px;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  order: 1;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container .o_searchview_facet .o_searchview_facet_label {
  border-radius: 2em 0em 0em 2em;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container .o_searchview_autocomplete {
  top: 100%;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_searchview_input_container .o_searchview_autocomplete > li {
  margin: 5px 0px;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter {
  padding: 8px 20px 15%;
  flex: auto;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown {
  margin-top: 15px;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  line-height: 2;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown:not(.show) {
  box-shadow: 0 0 0 1px #dee2e6;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown, .o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown-toggle {
  width: 100%;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown-backdrop {
  z-index: -1;
}

.o_web_client .o_mobile_search .o_mobile_search_content .o_mobile_search_filter .dropdown-menu {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  width: 100%;
}

.o_web_client .o_mobile_search .o_mobile_search_footer {
  width: 100%;
}



/* /web/static/src/webclient/icons.scss */

.oi, .fa {
  font-weight: 400;
}

.oi:before, .fa:before {
  font-size: var(--oi-font-size, 1em);
  vertical-align: var(--oi-vertical-align, 0);
  text-rendering: geometricPrecision;
}

.oi-fw {
  width: calc(1.28571429 * var(--oi-font-size, 1em));
  text-align: center;
}

.oi-small {
  --oi-font-size: 0.769em;
  --oi-vertical-align: 10%;
}

.oi-normal {
  --oi-font-size: 1em;
}

.oi-large {
  --oi-font-size: 1.315em;
  --oi-vertical-align: -6%;
}

.oi-larger {
  --oi-font-size: 1.462em;
  --oi-vertical-align: -10%;
}

@media (min-width: 100mm) {
  .oi-sm-small {
    --oi-font-size: 0.769em;
    --oi-vertical-align: 10%;
  }
  .oi-sm-normal {
    --oi-font-size: 1em;
  }
  .oi-sm-large {
    --oi-font-size: 1.315em;
    --oi-vertical-align: -6%;
  }
  .oi-sm-larger {
    --oi-font-size: 1.462em;
    --oi-vertical-align: -10%;
  }
}

@media (min-width: 188mm) {
  .oi-md-small {
    --oi-font-size: 0.769em;
    --oi-vertical-align: 10%;
  }
  .oi-md-normal {
    --oi-font-size: 1em;
  }
  .oi-md-large {
    --oi-font-size: 1.315em;
    --oi-vertical-align: -6%;
  }
  .oi-md-larger {
    --oi-font-size: 1.462em;
    --oi-vertical-align: -10%;
  }
}

@media (min-width: 190mm) {
  .oi-lg-small {
    --oi-font-size: 0.769em;
    --oi-vertical-align: 10%;
  }
  .oi-lg-normal {
    --oi-font-size: 1em;
  }
  .oi-lg-large {
    --oi-font-size: 1.315em;
    --oi-vertical-align: -6%;
  }
  .oi-lg-larger {
    --oi-font-size: 1.462em;
    --oi-vertical-align: -10%;
  }
}

@media (min-width: 220mm) {
  .oi-xl-small {
    --oi-font-size: 0.769em;
    --oi-vertical-align: 10%;
  }
  .oi-xl-normal {
    --oi-font-size: 1em;
  }
  .oi-xl-large {
    --oi-font-size: 1.315em;
    --oi-vertical-align: -6%;
  }
  .oi-xl-larger {
    --oi-font-size: 1.462em;
    --oi-vertical-align: -10%;
  }
}

@media (min-width: 250mm) {
  .oi-xxl-small {
    --oi-font-size: 0.769em;
    --oi-vertical-align: 10%;
  }
  .oi-xxl-normal {
    --oi-font-size: 1em;
  }
  .oi-xxl-large {
    --oi-font-size: 1.315em;
    --oi-vertical-align: -6%;
  }
  .oi-xxl-larger {
    --oi-font-size: 1.462em;
    --oi-vertical-align: -10%;
  }
}

.oi-spin {
  animation: fa-spin 2s infinite linear;
}

.oi-pulse {
  animation: fa-spin 1s infinite steps(8);
}

.o_barcode {
  -webkit-mask: url("/web/static/img/barcode.svg") center/contain no-repeat;
  mask: url("/web/static/img/barcode.svg") center/contain no-repeat;
  background-color: #714B67;
}

.o_fa_stack {
  display: grid;
  align-items: baseline;
  justify-items: center;
}

.o_fa_stack > * {
  grid-column: 1/-1;
  grid-row: 1/-1;
}

.o_fa_stack > :first-child {
  font-size: 2em;
}



/* /web/static/src/views/calendar/calendar_common/calendar_common_popover.scss */

.o_cw_popover {
  width: 448px;
  z-index: 1054;
  font-size: 0.875rem;
}

.o_cw_popover .card-header,
.o_cw_popover .card-header .popover-header {
  font-size: 1.05em;
  font-weight: 500;
  line-height: 1;
}

.o_cw_popover .card-footer, .o_cw_popover .modal-footer {
  --btn-group-gap: -1px;
  background: none;
}

.o_cw_popover .o_footer_shrink {
  padding-top: 0px;
  padding-bottom: 0px;
}

.o_cw_popover .o_cw_popover_close {
  cursor: pointer;
}

.o_cw_popover .o_calendar_avatars {
  line-height: 1;
}

.o_cw_popover .o_calendar_avatars img {
  margin-right: 0.4rem;
  width: 16px;
  height: 16px;
  border-radius: 100%;
}

.o_cw_popover .list-group-item {
  padding: 0.5rem 1rem;
  border: none;
}

.o_cw_popover .o_cw_popover_field .o_field_widget {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_cw_popover .o_cw_popover_fields_secondary {
  max-height: 170px;
  max-height: 25vh;
  overflow: auto;
  padding-bottom: 1px;
}

.o_cw_popover .o_cw_popover_fields_secondary::-webkit-scrollbar {
  background: #e9ecef;
  width: 6px;
}

.o_cw_popover .o_cw_popover_fields_secondary::-webkit-scrollbar-thumb {
  background: #adb5bd;
}

.fc-rtl .o_cw_popover {
  text-align: right;
}

.fc-rtl .o_cw_popover .o_calendar_avatars > div {
  -webkit-box-pack: end; justify-content: flex-end;
}

.fc-rtl .o_cw_popover .o_calendar_avatars img {
  order: 2;
  margin: 0 0 0 0.4rem;
}

.o_cw_popover .card-header {
  padding-left: 2px;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_0 .modal-header {
  background-color: #d5d5d5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_0 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_0 .card-header,
.o_cw_popover.o_calendar_color_0 .card-header .popover-header {
  background-color: #efefef;
  color: #000;
}

.o_cw_popover.o_calendar_color_0 .card-header {
  --card-border-color: #d5d5d5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_1 .modal-header {
  background-color: #f7a1a1;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_1 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_1 .card-header,
.o_cw_popover.o_calendar_color_1 .card-header .popover-header {
  background-color: #fbd0d0;
  color: #000;
}

.o_cw_popover.o_calendar_color_1 .card-header {
  --card-border-color: #f7a1a1;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_2 .modal-header {
  background-color: #efc8a4;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_2 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_2 .card-header,
.o_cw_popover.o_calendar_color_2 .card-header .popover-header {
  background-color: #f7e2cf;
  color: #000;
}

.o_cw_popover.o_calendar_color_2 .card-header {
  --card-border-color: #efc8a4;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_3 .modal-header {
  background-color: #f5e099;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_3 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_3 .card-header,
.o_cw_popover.o_calendar_color_3 .card-header .popover-header {
  background-color: #faeec7;
  color: #000;
}

.o_cw_popover.o_calendar_color_3 .card-header {
  --card-border-color: #f5e099;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_4 .modal-header {
  background-color: #b3cff0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_4 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_4 .card-header,
.o_cw_popover.o_calendar_color_4 .card-header .popover-header {
  background-color: #deeaf8;
  color: #000;
}

.o_cw_popover.o_calendar_color_4 .card-header {
  --card-border-color: #b3cff0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_5 .modal-header {
  background-color: #d4b8cd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_5 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_5 .card-header,
.o_cw_popover.o_calendar_color_5 .card-header .popover-header {
  background-color: #e7d8e3;
  color: #000;
}

.o_cw_popover.o_calendar_color_5 .card-header {
  --card-border-color: #d4b8cd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_6 .modal-header {
  background-color: #efc9ba;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_6 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_6 .card-header,
.o_cw_popover.o_calendar_color_6 .card-header .popover-header {
  background-color: #f9e9e3;
  color: #000;
}

.o_cw_popover.o_calendar_color_6 .card-header {
  --card-border-color: #efc9ba;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_7 .modal-header {
  background-color: #aad8d5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_7 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_7 .card-header,
.o_cw_popover.o_calendar_color_7 .card-header .popover-header {
  background-color: #cde8e6;
  color: #000;
}

.o_cw_popover.o_calendar_color_7 .card-header {
  --card-border-color: #aad8d5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_8 .modal-header {
  background-color: #a2aef1;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_8 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_8 .card-header,
.o_cw_popover.o_calendar_color_8 .card-header .popover-header {
  background-color: #ced5f8;
  color: #000;
}

.o_cw_popover.o_calendar_color_8 .card-header {
  --card-border-color: #a2aef1;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_9 .modal-header {
  background-color: #f7a1ca;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_9 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_9 .card-header,
.o_cw_popover.o_calendar_color_9 .card-header .popover-header {
  background-color: #fbd0e5;
  color: #000;
}

.o_cw_popover.o_calendar_color_9 .card-header {
  --card-border-color: #f7a1ca;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_10 .modal-header {
  background-color: #b8e4be;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_10 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_10 .card-header,
.o_cw_popover.o_calendar_color_10 .card-header .popover-header {
  background-color: #ddf2e0;
  color: #000;
}

.o_cw_popover.o_calendar_color_10 .card-header {
  --card-border-color: #b8e4be;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_11 .modal-header {
  background-color: #d1c0f4;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_11 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_11 .card-header,
.o_cw_popover.o_calendar_color_11 .card-header .popover-header {
  background-color: #f1ebfc;
  color: #000;
}

.o_cw_popover.o_calendar_color_11 .card-header {
  --card-border-color: #d1c0f4;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_12 .modal-header {
  background-color: #d9aebc;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_12 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_12 .card-header,
.o_cw_popover.o_calendar_color_12 .card-header .popover-header {
  background-color: #e9d1d9;
  color: #000;
}

.o_cw_popover.o_calendar_color_12 .card-header {
  --card-border-color: #d9aebc;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_13 .modal-header {
  background-color: #a2e4c6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_13 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_13 .card-header,
.o_cw_popover.o_calendar_color_13 .card-header .popover-header {
  background-color: #caefde;
  color: #000;
}

.o_cw_popover.o_calendar_color_13 .card-header {
  --card-border-color: #a2e4c6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_14 .modal-header {
  background-color: #d0c0a6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_14 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_14 .card-header,
.o_cw_popover.o_calendar_color_14 .card-header .popover-header {
  background-color: #e2d8c7;
  color: #000;
}

.o_cw_popover.o_calendar_color_14 .card-header {
  --card-border-color: #d0c0a6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_15 .modal-header {
  background-color: #fbe99a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_15 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_15 .card-header,
.o_cw_popover.o_calendar_color_15 .card-header .popover-header {
  background-color: #fdf4cb;
  color: #000;
}

.o_cw_popover.o_calendar_color_15 .card-header {
  --card-border-color: #fbe99a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_16 .modal-header {
  background-color: #aac8fa;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_16 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_16 .card-header,
.o_cw_popover.o_calendar_color_16 .card-header .popover-header {
  background-color: #dae7fd;
  color: #000;
}

.o_cw_popover.o_calendar_color_16 .card-header {
  --card-border-color: #aac8fa;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_17 .modal-header {
  background-color: #cc9cd9;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_17 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_17 .card-header,
.o_cw_popover.o_calendar_color_17 .card-header .popover-header {
  background-color: #dfc1e7;
  color: #000;
}

.o_cw_popover.o_calendar_color_17 .card-header {
  --card-border-color: #cc9cd9;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_18 .modal-header {
  background-color: #ed95b7;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_18 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_18 .card-header,
.o_cw_popover.o_calendar_color_18 .card-header .popover-header {
  background-color: #f4c1d5;
  color: #000;
}

.o_cw_popover.o_calendar_color_18 .card-header {
  --card-border-color: #ed95b7;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_19 .modal-header {
  background-color: #97a8aa;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_19 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_19 .card-header,
.o_cw_popover.o_calendar_color_19 .card-header .popover-header {
  background-color: #b3bfc1;
  color: #000;
}

.o_cw_popover.o_calendar_color_19 .card-header {
  --card-border-color: #97a8aa;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_20 .modal-header {
  background-color: #a4cdb0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_20 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_20 .card-header,
.o_cw_popover.o_calendar_color_20 .card-header .popover-header {
  background-color: #c5dfcd;
  color: #000;
}

.o_cw_popover.o_calendar_color_20 .card-header {
  --card-border-color: #a4cdb0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_21 .modal-header {
  background-color: #d9a6a5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_21 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_21 .card-header,
.o_cw_popover.o_calendar_color_21 .card-header .popover-header {
  background-color: #e8c9c9;
  color: #000;
}

.o_cw_popover.o_calendar_color_21 .card-header {
  --card-border-color: #d9a6a5;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_22 .modal-header {
  background-color: #c3b3ad;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_22 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_22 .card-header,
.o_cw_popover.o_calendar_color_22 .card-header .popover-header {
  background-color: #d9ceca;
  color: #000;
}

.o_cw_popover.o_calendar_color_22 .card-header {
  --card-border-color: #c3b3ad;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_23 .modal-header {
  background-color: #b78da2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_23 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_23 .card-header,
.o_cw_popover.o_calendar_color_23 .card-header .popover-header {
  background-color: #cbacbc;
  color: #000;
}

.o_cw_popover.o_calendar_color_23 .card-header {
  --card-border-color: #b78da2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_24 .modal-header {
  background-color: #bcf3c8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_24 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_24 .card-header,
.o_cw_popover.o_calendar_color_24 .card-header .popover-header {
  background-color: #e7fbec;
  color: #000;
}

.o_cw_popover.o_calendar_color_24 .card-header {
  --card-border-color: #bcf3c8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_25 .modal-header {
  background-color: #d1d1ba;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_25 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_25 .card-header,
.o_cw_popover.o_calendar_color_25 .card-header .popover-header {
  background-color: #e5e5d9;
  color: #000;
}

.o_cw_popover.o_calendar_color_25 .card-header {
  --card-border-color: #d1d1ba;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_26 .modal-header {
  background-color: #f5ebb8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_26 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_26 .card-header,
.o_cw_popover.o_calendar_color_26 .card-header .popover-header {
  background-color: #fbf8e5;
  color: #000;
}

.o_cw_popover.o_calendar_color_26 .card-header {
  --card-border-color: #f5ebb8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_27 .modal-header {
  background-color: #debcbc;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_27 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_27 .card-header,
.o_cw_popover.o_calendar_color_27 .card-header .popover-header {
  background-color: #efdede;
  color: #000;
}

.o_cw_popover.o_calendar_color_27 .card-header {
  --card-border-color: #debcbc;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_28 .modal-header {
  background-color: #e1e4e6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_28 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_28 .card-header,
.o_cw_popover.o_calendar_color_28 .card-header .popover-header {
  background-color: #fdfdfd;
  color: #000;
}

.o_cw_popover.o_calendar_color_28 .card-header {
  --card-border-color: #e1e4e6;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_29 .modal-header {
  background-color: #b9cec0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_29 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_29 .card-header,
.o_cw_popover.o_calendar_color_29 .card-header .popover-header {
  background-color: #d7e3db;
  color: #000;
}

.o_cw_popover.o_calendar_color_29 .card-header {
  --card-border-color: #b9cec0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_30 .modal-header {
  background-color: #f68cff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_30 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_30 .card-header,
.o_cw_popover.o_calendar_color_30 .card-header .popover-header {
  background-color: #fabfff;
  color: #000;
}

.o_cw_popover.o_calendar_color_30 .card-header {
  --card-border-color: #f68cff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_31 .modal-header {
  background-color: #ff8c9d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_31 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_31 .card-header,
.o_cw_popover.o_calendar_color_31 .card-header .popover-header {
  background-color: #ffbfc8;
  color: #000;
}

.o_cw_popover.o_calendar_color_31 .card-header {
  --card-border-color: #ff8c9d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_32 .modal-header {
  background-color: #cbe88c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_32 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_32 .card-header,
.o_cw_popover.o_calendar_color_32 .card-header .popover-header {
  background-color: #def1b7;
  color: #000;
}

.o_cw_popover.o_calendar_color_32 .card-header {
  --card-border-color: #cbe88c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_33 .modal-header {
  background-color: #8ce2db;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_33 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_33 .card-header,
.o_cw_popover.o_calendar_color_33 .card-header .popover-header {
  background-color: #b5ece8;
  color: #000;
}

.o_cw_popover.o_calendar_color_33 .card-header {
  --card-border-color: #8ce2db;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_34 .modal-header {
  background-color: #8cbcff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_34 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_34 .card-header,
.o_cw_popover.o_calendar_color_34 .card-header .popover-header {
  background-color: #bfdaff;
  color: #000;
}

.o_cw_popover.o_calendar_color_34 .card-header {
  --card-border-color: #8cbcff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_35 .modal-header {
  background-color: #db8ce2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_35 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_35 .card-header,
.o_cw_popover.o_calendar_color_35 .card-header .popover-header {
  background-color: #e8b5ec;
  color: #000;
}

.o_cw_popover.o_calendar_color_35 .card-header {
  --card-border-color: #db8ce2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_36 .modal-header {
  background-color: #e28c99;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_36 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_36 .card-header,
.o_cw_popover.o_calendar_color_36 .card-header .popover-header {
  background-color: #ecb5bd;
  color: #000;
}

.o_cw_popover.o_calendar_color_36 .card-header {
  --card-border-color: #e28c99;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_37 .modal-header {
  background-color: #e2b98c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_37 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_37 .card-header,
.o_cw_popover.o_calendar_color_37 .card-header .popover-header {
  background-color: #ecd2b5;
  color: #000;
}

.o_cw_popover.o_calendar_color_37 .card-header {
  --card-border-color: #e2b98c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_38 .modal-header {
  background-color: #cbff8c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_38 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_38 .card-header,
.o_cw_popover.o_calendar_color_38 .card-header .popover-header {
  background-color: #e2ffbf;
  color: #000;
}

.o_cw_popover.o_calendar_color_38 .card-header {
  --card-border-color: #cbff8c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_39 .modal-header {
  background-color: #8cf9ff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_39 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_39 .card-header,
.o_cw_popover.o_calendar_color_39 .card-header .popover-header {
  background-color: #bffcff;
  color: #000;
}

.o_cw_popover.o_calendar_color_39 .card-header {
  --card-border-color: #8cf9ff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_40 .modal-header {
  background-color: #8caedd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_40 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_40 .card-header,
.o_cw_popover.o_calendar_color_40 .card-header .popover-header {
  background-color: #b3cae9;
  color: #000;
}

.o_cw_popover.o_calendar_color_40 .card-header {
  --card-border-color: #8caedd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_41 .modal-header {
  background-color: #ff8cea;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_41 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_41 .card-header,
.o_cw_popover.o_calendar_color_41 .card-header .popover-header {
  background-color: #ffbff3;
  color: #000;
}

.o_cw_popover.o_calendar_color_41 .card-header {
  --card-border-color: #ff8cea;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_42 .modal-header {
  background-color: #ffd78c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_42 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_42 .card-header,
.o_cw_popover.o_calendar_color_42 .card-header .popover-header {
  background-color: #ffe9bf;
  color: #000;
}

.o_cw_popover.o_calendar_color_42 .card-header {
  --card-border-color: #ffd78c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_43 .modal-header {
  background-color: #a6e88c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_43 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_43 .card-header,
.o_cw_popover.o_calendar_color_43 .card-header .popover-header {
  background-color: #c7f1b7;
  color: #000;
}

.o_cw_popover.o_calendar_color_43 .card-header {
  --card-border-color: #a6e88c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_44 .modal-header {
  background-color: #8cdee2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_44 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_44 .card-header,
.o_cw_popover.o_calendar_color_44 .card-header .popover-header {
  background-color: #b5eaec;
  color: #000;
}

.o_cw_popover.o_calendar_color_44 .card-header {
  --card-border-color: #8cdee2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_45 .modal-header {
  background-color: #8cadff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_45 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_45 .card-header,
.o_cw_popover.o_calendar_color_45 .card-header .popover-header {
  background-color: #bfd1ff;
  color: #000;
}

.o_cw_popover.o_calendar_color_45 .card-header {
  --card-border-color: #8cadff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_46 .modal-header {
  background-color: #e2c48c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_46 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_46 .card-header,
.o_cw_popover.o_calendar_color_46 .card-header .popover-header {
  background-color: #ecd9b5;
  color: #000;
}

.o_cw_popover.o_calendar_color_46 .card-header {
  --card-border-color: #e2c48c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_47 .modal-header {
  background-color: #8eff8c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_47 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_47 .card-header,
.o_cw_popover.o_calendar_color_47 .card-header .popover-header {
  background-color: #c0ffbf;
  color: #000;
}

.o_cw_popover.o_calendar_color_47 .card-header {
  --card-border-color: #8eff8c;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_48 .modal-header {
  background-color: #8ceaff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_48 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_48 .card-header,
.o_cw_popover.o_calendar_color_48 .card-header .popover-header {
  background-color: #bff3ff;
  color: #000;
}

.o_cw_popover.o_calendar_color_48 .card-header {
  --card-border-color: #8ceaff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_49 .modal-header {
  background-color: #8ca5e2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_49 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_49 .card-header,
.o_cw_popover.o_calendar_color_49 .card-header .popover-header {
  background-color: #b5c5ec;
  color: #000;
}

.o_cw_popover.o_calendar_color_49 .card-header {
  --card-border-color: #8ca5e2;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_50 .modal-header {
  background-color: #ff8ccb;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_50 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_50 .card-header,
.o_cw_popover.o_calendar_color_50 .card-header .popover-header {
  background-color: #ffbfe2;
  color: #000;
}

.o_cw_popover.o_calendar_color_50 .card-header {
  --card-border-color: #ff8ccb;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_51 .modal-header {
  background-color: #8ce2ad;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_51 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_51 .card-header,
.o_cw_popover.o_calendar_color_51 .card-header .popover-header {
  background-color: #b5ecca;
  color: #000;
}

.o_cw_popover.o_calendar_color_51 .card-header {
  --card-border-color: #8ce2ad;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_52 .modal-header {
  background-color: #8ccedd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_52 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_52 .card-header,
.o_cw_popover.o_calendar_color_52 .card-header .popover-header {
  background-color: #b3dfe9;
  color: #000;
}

.o_cw_popover.o_calendar_color_52 .card-header {
  --card-border-color: #8ccedd;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_53 .modal-header {
  background-color: #8c8eff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_53 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_53 .card-header,
.o_cw_popover.o_calendar_color_53 .card-header .popover-header {
  background-color: #bfc0ff;
  color: #000;
}

.o_cw_popover.o_calendar_color_53 .card-header {
  --card-border-color: #8c8eff;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_54 .modal-header {
  background-color: #dc8cb8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_54 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_54 .card-header,
.o_cw_popover.o_calendar_color_54 .card-header .popover-header {
  background-color: #e8b3d0;
  color: #000;
}

.o_cw_popover.o_calendar_color_54 .card-header {
  --card-border-color: #dc8cb8;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_55 .modal-header {
  background-color: #b9cec0;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_55 .modal-header .btn {
  color: #343a40;
}

.o_cw_popover.o_calendar_color_55 .card-header,
.o_cw_popover.o_calendar_color_55 .card-header .popover-header {
  background-color: #d7e3db;
  color: #000;
}

.o_cw_popover.o_calendar_color_55 .card-header {
  --card-border-color: #b9cec0;
}



/* /web/static/src/views/calendar/calendar_controller.scss */

@keyframes backgroundfade {
  from {
    background-color: rgba(23, 162, 184, 0.5);
  }
  to {
    background-color: rgba(23, 162, 184, 0.1);
  }
}

.o_calendar_container {
  grid-template-rows: auto auto 1fr auto;
  grid-template-columns: 1fr auto auto;
}

.o_calendar_container .o_calendar_header {
  grid-area: 1 / 1 / 2 / 3;
}

.o_calendar_container .o_sidebar_toggler {
  grid-area: 1 / 3;
}

.o_calendar_container .o_calendar_wrapper {
  grid-area: 3 / 1 / 3 / 4;
}

.o_calendar_container .o_calendar_wrapper:has(.fc-popover) {
  overflow: auto !important;
}

@media (max-width: 187.98mm) {
  .o_calendar_container .o_calendar_wrapper:has(.fc-popover) .o_actionswiper_overflow_container {
    overflow: visible !important;
  }
}

.o_calendar_sidebar_container {
  --Avatar-size: 20px;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_calendar_sidebar_container .o_calendar_sidebar {
  padding-top: 6.5px;
  padding-right: 13px;
  padding-bottom: 0px;
  padding-left: 13px;
}

@media (min-width: 220mm) {
  .o_calendar_sidebar_container .o_calendar_sidebar {
    width: 210px;
  }
}

.o_calendar_sidebar_container .o_calendar_sidebar .o_datetime_picker {
  --DateTimePicker__Cell-size-md: 1.8rem;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

@media (min-width: 220mm) {
  .o_calendar_sidebar_container .o_calendar_sidebar .o_datetime_picker {
    --DateTimePicker__Cell-size-md: 1.5rem;
  }
}

.o_calendar_sidebar_container .o_calendar_sidebar .o_datetime_picker .o_day_of_week_cell {
  --background-color: transparent;
  border: none !important;
}

.o_calendar_sidebar_container .o_calendar_sidebar .o_datetime_picker .o_cell_md {
  font-size: .75rem;
}

.o_calendar_sidebar_container .o_calendar_sidebar .o_calendar_sync {
  padding-bottom: 0.5em;
}

.o_calendar_sidebar_container .o_calendar_filter .o_calendar_filter_items_checkall button.o_remove,
.o_calendar_sidebar_container .o_calendar_filter .o_calendar_filter_item button.o_remove {
  transform: translate(100%, -50%);
}

.o_calendar_sidebar_container .o_calendar_filter .o_calendar_filter_items_checkall:hover button.o_remove,
.o_calendar_sidebar_container .o_calendar_filter .o_calendar_filter_item:hover button.o_remove {
  transform: translate(0%, -50%);
}

.o_calendar_sidebar_container .o_calendar_filter .o_field_many2one {
  margin-top: 1rem;
  width: 100%;
}

.modal .o_attendee_head {
  width: 32px;
  margin-right: 5px;
}

.o_dashboard .o_calendar_container .o_calendar_sidebar_container {
  display: none;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-theme-standard .fc-scrollgrid {
  border-top: 0;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .o_actionswiper, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .o_actionswiper_overflow_container, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .o_actionswiper_target_container, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .o_calendar_widget, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc .fc-daygrid-body, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-daygrid-body, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-scrollgrid-sync-table {
  height: 100% !important;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-col-header, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-daygrid-body, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_calendar_renderer .fc-scrollgrid-sync-table {
  width: 100% !important;
}



/* /web/static/src/views/calendar/calendar_controller_mobile.scss */

@media (max-width: 187.98mm) {
  .o_calendar_header .o_calendar_button_today {
    line-height: 1.9em;
  }
  .o_calendar_header .o_calendar_button_today > span {
    font-size: .65rem;
  }
  .o_calendar_container .o_other_calendar_panel {
    grid-area: 2 / 1 / 2 / 4;
    padding: 0 6.5px;
  }
  .o_calendar_container .o_other_calendar_panel .fa-filter {
    min-height: 1.59rem;
    line-height: 1.59rem;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter {
    padding: 6.5px 0;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter > span > span {
    font-size: x-small;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter > span > span:nth-child(1) {
    font-size: xx-small;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_0 {
    color: #a2a2a2;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_1 {
    color: #ee2d2d;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_2 {
    color: #dc8534;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_3 {
    color: #e8bb1d;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_4 {
    color: #5794dd;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_5 {
    color: #9f628f;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_6 {
    color: #db8865;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_7 {
    color: #41a9a2;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_8 {
    color: #304be0;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_9 {
    color: #ee2f8a;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_10 {
    color: #61c36e;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_11 {
    color: #9872e6;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_12 {
    color: #aa4b6b;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_13 {
    color: #30C381;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_14 {
    color: #97743a;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_15 {
    color: #F7CD1F;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_16 {
    color: #4285F4;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_17 {
    color: #8E24AA;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_18 {
    color: #D6145F;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_19 {
    color: #173e43;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_20 {
    color: #348F50;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_21 {
    color: #AA3A38;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_22 {
    color: #795548;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_23 {
    color: #5e0231;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_24 {
    color: #6be585;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_25 {
    color: #999966;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_26 {
    color: #e9d362;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_27 {
    color: #b56969;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_28 {
    color: #bdc3c7;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_29 {
    color: #649173;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_30 {
    color: #ea00ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_31 {
    color: #ff0026;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_32 {
    color: #8bcc00;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_33 {
    color: #00bfaf;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_34 {
    color: #006aff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_35 {
    color: #af00bf;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_36 {
    color: #bf001d;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_37 {
    color: #bf6300;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_38 {
    color: #8cff00;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_39 {
    color: #00f2ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_40 {
    color: #004ab3;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_41 {
    color: #ff00d0;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_42 {
    color: #ffa600;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_43 {
    color: #3acc00;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_44 {
    color: #00b6bf;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_45 {
    color: #0048ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_46 {
    color: #bf7c00;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_47 {
    color: #04ff00;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_48 {
    color: #00d0ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_49 {
    color: #0036bf;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_50 {
    color: #ff008c;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_51 {
    color: #00bf49;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_52 {
    color: #0092b3;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_53 {
    color: #0004ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_54 {
    color: #b20062;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_55 {
    color: #649173;
  }
  .o_calendar_container .o_calendar_sidebar_container {
    height: 100%;
  }
  .o_calendar_container .o_calendar_sidebar_container > .o_calendar_sidebar {
    width: auto;
  }
}



/* /web/static/src/views/calendar/calendar_renderer.scss */

.o_calendar_renderer {
  --o-circle-padding: calc(3.25px / 2);
  --o-cw-border-color: #dee2e6;
  background-color: white;
}

@media (max-width: 189.98mm) {
  .o_calendar_renderer {
    border-top: 1px solid var(--o-cw-border-color);
  }
}

.o_calendar_renderer .fc-timegrid-event .fc-event-resizer {
  color: #fff;
  text-align: center;
  font-family: monospace;
}

.o_calendar_renderer .fc-timegrid-event:hover .fc-event-resizer:after {
  content: "=";
  display: inline-block;
  vertical-align: top;
  line-height: 0;
}

.o_calendar_renderer .fc-event {
  cursor: pointer;
  --fc-event-text-color: $body-color;
  --fc-event-bg-color: white;
  overflow: hidden;
}

@media (max-width: 187.98mm) {
  .o_calendar_renderer .fc-event {
    line-height: 1.2;
  }
}

.o_calendar_renderer .fc-event:hover {
  color: #343a40;
}

.o_calendar_renderer .fc-event:hover:not(.o_event_dot) .fc-bg {
  --o-bg-opacity: .35;
}

.o_calendar_renderer .fc-event.fc-event-mirror, .o_calendar_renderer .fc-event.fc-dragging {
  --o-bg-opacity: .25;
  border-color: rgba(1, 126, 132, 0.5);
}

.o_calendar_renderer .fc-event.fc-event-mirror .fc-bg, .o_calendar_renderer .fc-event.fc-dragging .fc-bg {
  background-color: rgba(1, 126, 132, var(--o-bg-opacity));
}

.o_calendar_renderer .fc-event.fc-event-mirror {
  background-color: rgba(1, 126, 132, var(--o-bg-opacity));
}

.o_calendar_renderer .fc-event.o_past_event::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  z-index: 3;
  background-color: rgba(255, 255, 255, var(--o-overlay-opacity));
}

.o_calendar_renderer .fc-event:not(.o_event_dot):not(.fc-dragging).o_cw_custom_highlight {
  box-shadow: 0px 8px 8px -7px rgba(0, 0, 0, 0.2);
  z-index: 2;
}

.o_calendar_renderer .fc-event .fc-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: all 0.2s ease-in-out;
}

@media (max-width: 189.98mm) {
  .o_calendar_renderer .fc-event .fc-event-main > .o_event_title {
    text-overflow: unset;
    white-space: break-spaces;
  }
  .o_calendar_renderer .fc-event .fc-event-main > .o_event_title > span {
    word-break: break-word;
  }
}

.o_calendar_renderer .fc-event:not(.o_event_dot) {
  --o-overlay-opacity: .5;
}

.o_calendar_renderer .fc-event:not(.o_event_dot).o_event_hatched {
  --o-bg-opacity: .5;
}

.o_calendar_renderer .fc-event.o_event_dot {
  --o-overlay-opacity: .25;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  gap: 3.25px;
  border: none;
}

.o_calendar_renderer .fc-event.o_event_dot:before {
  z-index: 2;
  display: inline-block;
  font-family: Fontawesome;
  content: '\f111';
}

.o_calendar_renderer .fc-event.o_event_dot:hover {
  --o-bg-opacity: 1;
}

.o_calendar_renderer div.fc a {
  color: inherit;
}

.o_calendar_renderer .o_calendar_widget {
  --fc-page-bg-color: white;
  --fc-border-color: var(--o-cw-border-color);
}

.o_calendar_renderer .o_calendar_widget .fc-day-today:not(.o_calendar_disabled) {
  --fc-today-bg-color: none;
}

.o_calendar_renderer .o_calendar_widget .fc-body > tr > .fc-widget-content {
  border-top: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-widget-content, .o_calendar_renderer .o_calendar_widget .fc-widget-header {
  border-bottom: 0;
}

.o_calendar_renderer .o_calendar_widget hr.fc-widget-header {
  padding: 1px;
  border: 0;
  background: #ced4da;
}

.o_calendar_renderer .o_calendar_widget .fc-scrollgrid {
  border-top: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-scrollgrid-section-header .fc-timegrid-axis-frame.fc-scrollgrid-shrink-frame.fc-timegrid-axis-frame-liquid > a.fc-timegrid-axis-cushion.fc-scrollgrid-shrink-cushion.fc-scrollgrid-sync-inner {
  color: transparent;
}

.o_calendar_renderer .o_calendar_widget .fc-more-popover .fc-popover-header {
  padding-left: 1rem;
}

.o_calendar_renderer .o_calendar_widget .fc-more-popover .fc-popover-header .fc-popover-title {
  font-weight: bold;
}

.o_calendar_renderer .o_calendar_widget .fc-more-popover .fc-popover-body {
  max-height: 500px;
  overflow: auto;
}

.o_calendar_renderer .o_calendar_widget .o_calendar_disabled {
  background-color: rgba(233, 236, 239, 0.5);
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell {
  text-align: left;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell a {
  gap: 3.25px;
  margin-left: 3.25px;
  margin-bottom: 3.25px;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell .o_cw_day_number {
  padding: 3.25px;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell {
  text-align: center;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell a {
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell .o_cw_day_number {
  padding: 3.25px 6.5px;
}

@media (min-width: 190mm) {
  .o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell .o_cw_day_number {
    font-size: 1.25rem;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-scrollgrid-section-body:not(.fc-scrollgrid-section-liquid) .fc-scroller-harness,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-scrollgrid-section-body:not(.fc-scrollgrid-section-liquid) .fc-scroller-harness {
  background-color: white;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-scrollgrid-section-body:first-child td,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-scrollgrid-section-body:first-child td {
  border-bottom: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell a,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell a {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell.fc-day-today,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell.fc-day-today {
  --o-cw-color: #FFF;
  --o-cw-bg: #dc3545;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell.fc-day-today .o_cw_day_number,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell.fc-day-today .o_cw_day_number {
  z-index: 0;
  position: relative;
  color: var(--o-cw-color);
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell.fc-day-today .o_cw_day_number:before,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell.fc-day-today .o_cw_day_number:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  transform: translate(-50%, -50%);
  z-index: -1;
  width: 100%;
  border-radius: 50rem;
  background: var(--o-cw-bg);
  aspect-ratio: 1;
  color: white;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-slot-minor,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-slot-minor {
  border-top-style: none;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-slot,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-slot {
  font-size: .6rem;
}

@media (min-width: 188mm) {
  .o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-slot,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-slot {
    font-size: .75rem;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-slot.fc-timegrid-slot-label,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-slot.fc-timegrid-slot-label {
  border-width: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-slot.fc-timegrid-slot-label .fc-timegrid-slot-label-cushion,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-slot.fc-timegrid-slot-label .fc-timegrid-slot-label-cushion {
  margin-top: -18px;
  position: relative;
  display: block;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-scroller.fc-scroller-liquid-absolute,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-scroller.fc-scroller-liquid-absolute {
  padding-top: 15px;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-divider.fc-cell-shaded,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-divider.fc-cell-shaded {
  position: relative;
  padding: 0;
}

@media (max-width: 187.98mm) {
  .o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-daygrid-day .fc-daygrid-event,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-daygrid-day .fc-daygrid-event {
    margin: 1px;
  }
  .o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-daygrid-day .fc-daygrid-event .fc-event-main,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-daygrid-day .fc-daygrid-event .fc-event-main {
    max-height: 1.2em;
    white-space: nowrap;
    overflow: hidden;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-scrollgrid-section-liquid tr:first-child .fc-timegrid-slot.fc-timegrid-slot-lane:last-child,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-scrollgrid-section-liquid tr:first-child .fc-timegrid-slot.fc-timegrid-slot-lane:last-child {
  box-shadow: inset 0 1px 0 var(--o-cw-border-color);
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-event,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-event {
  --o-bg-opacity: .25;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-event:not(.o_event_allday):not(.o_homework_event),
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-event:not(.o_event_allday):not(.o_homework_event) {
  box-shadow: 0 0 0 1px white;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-event .fc-event-main,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-event .fc-event-main {
  margin: 3.25px;
}

@media (min-width: 188mm) {
  .o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-event .fc-event-main,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-event .fc-event-main {
    margin-top: 0;
    margin-bottom: 0;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-event-harness-inset,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-event-harness-inset {
  transition: right .3s, left .3s;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-event-harness-inset:has(.fc-event.o_cw_custom_highlight:not(.fc-dragging)),
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-event-harness-inset:has(.fc-event.o_cw_custom_highlight:not(.fc-dragging)) {
  z-index: 1055 !important;
  right: 0 !important;
  left: 0 !important;
  margin-right: 0 !important;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-now-indicator-line,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-now-indicator-line {
  pointer-events: none;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(2) .fc-timegrid-now-indicator-container {
  left: 0%;
  right: -600%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(3) .fc-timegrid-now-indicator-container {
  left: -100%;
  right: -500%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(4) .fc-timegrid-now-indicator-container {
  left: -200%;
  right: -400%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(5) .fc-timegrid-now-indicator-container {
  left: -300%;
  right: -300%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(6) .fc-timegrid-now-indicator-container {
  left: -400%;
  right: -200%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(7) .fc-timegrid-now-indicator-container {
  left: -500%;
  right: -100%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-col:not(.fc-timegrid-axis):nth-child(8) .fc-timegrid-now-indicator-container {
  left: -600%;
  right: 0%;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-col-header-cell a, .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-col-header-cell a {
  text-transform: uppercase;
  font-size: 0.75rem;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week-header {
  color: transparent;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week, .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week-header {
  line-height: 1;
  font-size: 0.75rem;
  opacity: .5;
}

@media (max-width: 187.98mm) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week, .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week-header {
    width: 3ch;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-col-header-cell, .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .o-fc-week-header {
  border-bottom: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-daygrid-week-number {
  line-height: 1;
  font-size: 0.75rem;
  opacity: .8;
}

@media (max-width: 189.98mm) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-daygrid-week-number > a {
    font-size: .5rem;
  }
}

@media (min-width: 190mm) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-daygrid-week-number {
    padding: 3.25px;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day .fc-daygrid-day-top {
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  align-items: center;
  justify-content: center;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day .fc-daygrid-day-top .fc-daygrid-day-number {
  color: var(--o-cw-color);
}

@media (max-width: 189.98mm) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day .fc-daygrid-week-number {
    background-color: #f8f9fa;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day.fc-day-other .fc-daygrid-day-top {
  opacity: 0.8;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day.fc-day-other .fc-daygrid-day-top:not(.fc-day-today) .fc-daygrid-day-number {
  --o-cw-color: #adb5bd;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day .fc-daygrid-day-number:before {
  content: "";
  z-index: -1;
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  transform: translate(-50%, -50%);
  aspect-ratio: 1/1;
  height: 100%;
  border-radius: 100%;
  background: var(--o-cw-bg, none);
  padding: var(--o-circle-padding);
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day.fc-day-today {
  --o-cw-color: #FFF;
  --o-cw-bg: #dc3545;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day.fc-day-today .fc-daygrid-day-number:before {
  display: block;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view td:first-child {
  border-left: none;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-bg .fc-day-today:not(.o_calendar_disabled) {
  background: none;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-more-cell {
  text-align: center;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-more-cell .fc-more-link {
  color: #017e84;
  cursor: pointer;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-event {
  padding: 0 3.25px;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-event .fc-event-main:not(.o_homework_single):not(.o_homework_multi) {
  display: -webkit-box; display: -webkit-flex; display: flex;
  justify-content: start;
  flex-direction: row;
  max-height: 1.2em;
  line-height: 100%;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view {
  --fc-neutral-bg-color: none;
  flex-direction: row;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view .fc-scroller {
  overflow: hidden !important;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view table,
.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view tr,
.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view th,
.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view td {
  border: none;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view.fc-readonly-year-view .fc-daygrid-day-top:not(.fc-has-event), .o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view.fc-readonly-year-view .fc-daygrid-day-top:not(.fc-has-event) a {
  cursor: default !important;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view:not(.fc-readonly-year-view) .fc-daygrid-body tr .fc-day.fc-day-today {
  padding-top: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view:not(.fc-readonly-year-view) .fc-daygrid-body tr .fc-day .fc-daygrid-day-top:hover > .fc-daygrid-day-number {
  --o-cw-color: #000;
  --o-cw-bg: #c0dfe0;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view:not(.fc-readonly-year-view) .fc-daygrid-body tr .fc-day .fc-daygrid-day-top:hover > .fc-daygrid-day-number:before {
  display: block;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view:not(.fc-readonly-year-view) .fc-daygrid-body tr .fc-day .fc-daygrid-day-top .fc-daygrid-day-number:before {
  height: 120%;
}

@media (max-width: 187.98mm) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container {
    width: 100%;
  }
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month {
  width: 21rem;
  margin: auto;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month > .fc-toolbar.fc-header-toolbar {
  margin-bottom: 4px;
  cursor: default;
  justify-content: start;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month > .fc-toolbar.fc-header-toolbar h2, .o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month > .fc-toolbar.fc-header-toolbar .h2 {
  font-size: 0.875rem;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-widget-header {
  position: static;
  cursor: default;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-dayGridMonth-view {
  border-right: none;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-dayGridMonth-view .fc-has-event {
  background-color: #b4dff5;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-dayGridMonth-view .fc-week-number {
  cursor: default;
  opacity: .5;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-dayGridMonth-view .fc-day-header {
  font-size: 0.75rem;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-daygrid-body tr .fc-daygrid-day-frame {
  display: -webkit-box; display: -webkit-flex; display: flex;
  place-content: center;
  min-height: 2rem;
  line-height: 1;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-daygrid-body tr .o-fc-week {
  height: 100%;
  vertical-align: middle;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-daygrid-body tr .fc-daygrid-day-events {
  display: none;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-disabled-day {
  background-color: unset;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridYear-view > .fc-month-container > .fc-month .fc-daygrid-day-top {
  text-align: center;
  cursor: pointer;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-timeGrid-view .fc-event {
  border-width: 0 3px 0 0;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-dayGridMonth-view .fc-event {
  border-width: 0 3px 0 0;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-dayGridMonth-view .fc-event.fc-not-start {
  margin: 0 0 1px 5px;
  border-width: 0 0 0 3px;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-dayGridMonth-view .fc-event.fc-not-start .fc-event-main {
  padding-right: 6px;
  padding-left: 0;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-dayGridMonth-view .fc-event.fc-not-end {
  margin: 0 5px 1px 0;
}

.o_calendar_renderer .o_calendar_widget.fc-rtl .fc-dayGridMonth-view .fc-event.fc-not-end .fc-event-main {
  padding-left: 6px;
  padding-right: 0;
}

.o_calendar_renderer .o_calendar_widget .fc-more-popover {
  z-index: 1049;
}

.o_calendar_renderer .fc-view .fc-event:not(.o_event_dot):not(.fc-dragging).o_cw_custom_highlight, .o_calendar_renderer .fc-view .fc-event:not(.o_event_dot):not(.fc-dragging).o_calendar_popover_open {
  box-shadow: 0px 8px 2px -7px rgba(0, 0, 0, 0.5);
  z-index: 2;
}

.o_calendar_renderer .o_calendar_color_0 {
  --fc-event-bg-color: #d5d5d5;
  --o-event-bg: #a2a2a2;
  --o-event-bg--subtle-rgb: 213, 213, 213;
}

.o_calendar_renderer .o_calendar_color_0.fc-bg-event {
  --fc-bg-event-color: #d5d5d5;
}

.o_calendar_renderer .o_calendar_color_0.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_0.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_0.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_0.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_0.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(162, 162, 162, 0.3), RGBA(162, 162, 162, 0.3) 10px, RGBA(162, 162, 162, 0.6) 10px, RGBA(162, 162, 162, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_0.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #a2a2a2 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_0.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #d1d1d1;
}

.o_calendar_renderer .o_calendar_color_0.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_0.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_0.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #828282;
}

.o_cw_filter_color_0 .o_cw_filter_input_bg {
  border-color: #a2a2a2;
}

.o_cw_filter_color_0 .o_cw_filter_input_bg:checked {
  background-color: #a2a2a2;
}

.o_calendar_renderer .o_calendar_color_1 {
  --fc-event-bg-color: #f7a1a1;
  --o-event-bg: #ee2d2d;
  --o-event-bg--subtle-rgb: 247, 161, 161;
}

.o_calendar_renderer .o_calendar_color_1.fc-bg-event {
  --fc-bg-event-color: #f7a1a1;
}

.o_calendar_renderer .o_calendar_color_1.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_1.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_1.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_1.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_1.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(238, 45, 45, 0.3), RGBA(238, 45, 45, 0.3) 10px, RGBA(238, 45, 45, 0.6) 10px, RGBA(238, 45, 45, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_1.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ee2d2d 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_1.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #f79696;
}

.o_calendar_renderer .o_calendar_color_1.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_1.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_1.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #be2424;
}

.o_cw_filter_color_1 .o_cw_filter_input_bg {
  border-color: #ee2d2d;
}

.o_cw_filter_color_1 .o_cw_filter_input_bg:checked {
  background-color: #ee2d2d;
}

.o_calendar_renderer .o_calendar_color_2 {
  --fc-event-bg-color: #efc8a4;
  --o-event-bg: #dc8534;
  --o-event-bg--subtle-rgb: 239, 200, 164;
}

.o_calendar_renderer .o_calendar_color_2.fc-bg-event {
  --fc-bg-event-color: #efc8a4;
}

.o_calendar_renderer .o_calendar_color_2.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_2.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_2.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_2.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_2.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(220, 133, 52, 0.3), RGBA(220, 133, 52, 0.3) 10px, RGBA(220, 133, 52, 0.6) 10px, RGBA(220, 133, 52, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_2.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #dc8534 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_2.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #eec29a;
}

.o_calendar_renderer .o_calendar_color_2.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_2.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_2.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #b06a2a;
}

.o_cw_filter_color_2 .o_cw_filter_input_bg {
  border-color: #dc8534;
}

.o_cw_filter_color_2 .o_cw_filter_input_bg:checked {
  background-color: #dc8534;
}

.o_calendar_renderer .o_calendar_color_3 {
  --fc-event-bg-color: #f5e099;
  --o-event-bg: #e8bb1d;
  --o-event-bg--subtle-rgb: 245, 224, 153;
}

.o_calendar_renderer .o_calendar_color_3.fc-bg-event {
  --fc-bg-event-color: #f5e099;
}

.o_calendar_renderer .o_calendar_color_3.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_3.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_3.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_3.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_3.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(232, 187, 29, 0.3), RGBA(232, 187, 29, 0.3) 10px, RGBA(232, 187, 29, 0.6) 10px, RGBA(232, 187, 29, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_3.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #e8bb1d 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_3.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #f4dd8e;
}

.o_calendar_renderer .o_calendar_color_3.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_3.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_3.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ba9617;
}

.o_cw_filter_color_3 .o_cw_filter_input_bg {
  border-color: #e8bb1d;
}

.o_cw_filter_color_3 .o_cw_filter_input_bg:checked {
  background-color: #e8bb1d;
}

.o_calendar_renderer .o_calendar_color_4 {
  --fc-event-bg-color: #b3cff0;
  --o-event-bg: #5794dd;
  --o-event-bg--subtle-rgb: 179, 207, 240;
}

.o_calendar_renderer .o_calendar_color_4.fc-bg-event {
  --fc-bg-event-color: #b3cff0;
}

.o_calendar_renderer .o_calendar_color_4.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_4.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_4.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_4.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_4.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(87, 148, 221, 0.3), RGBA(87, 148, 221, 0.3) 10px, RGBA(87, 148, 221, 0.6) 10px, RGBA(87, 148, 221, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_4.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #5794dd 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_4.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #abcaee;
}

.o_calendar_renderer .o_calendar_color_4.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_4.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_4.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #4676b1;
}

.o_cw_filter_color_4 .o_cw_filter_input_bg {
  border-color: #5794dd;
}

.o_cw_filter_color_4 .o_cw_filter_input_bg:checked {
  background-color: #5794dd;
}

.o_calendar_renderer .o_calendar_color_5 {
  --fc-event-bg-color: #d4b8cd;
  --o-event-bg: #9f628f;
  --o-event-bg--subtle-rgb: 212, 184, 205;
}

.o_calendar_renderer .o_calendar_color_5.fc-bg-event {
  --fc-bg-event-color: #d4b8cd;
}

.o_calendar_renderer .o_calendar_color_5.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_5.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_5.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_5.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_5.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(159, 98, 143, 0.3), RGBA(159, 98, 143, 0.3) 10px, RGBA(159, 98, 143, 0.6) 10px, RGBA(159, 98, 143, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_5.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #9f628f 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_5.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #cfb1c7;
}

.o_calendar_renderer .o_calendar_color_5.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_5.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_5.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #7f4e72;
}

.o_cw_filter_color_5 .o_cw_filter_input_bg {
  border-color: #9f628f;
}

.o_cw_filter_color_5 .o_cw_filter_input_bg:checked {
  background-color: #9f628f;
}

.o_calendar_renderer .o_calendar_color_6 {
  --fc-event-bg-color: #efc9ba;
  --o-event-bg: #db8865;
  --o-event-bg--subtle-rgb: 239, 201, 186;
}

.o_calendar_renderer .o_calendar_color_6.fc-bg-event {
  --fc-bg-event-color: #efc9ba;
}

.o_calendar_renderer .o_calendar_color_6.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_6.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_6.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_6.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_6.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(219, 136, 101, 0.3), RGBA(219, 136, 101, 0.3) 10px, RGBA(219, 136, 101, 0.6) 10px, RGBA(219, 136, 101, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_6.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #db8865 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_6.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #edc4b2;
}

.o_calendar_renderer .o_calendar_color_6.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_6.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_6.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #af6d51;
}

.o_cw_filter_color_6 .o_cw_filter_input_bg {
  border-color: #db8865;
}

.o_cw_filter_color_6 .o_cw_filter_input_bg:checked {
  background-color: #db8865;
}

.o_calendar_renderer .o_calendar_color_7 {
  --fc-event-bg-color: #aad8d5;
  --o-event-bg: #41a9a2;
  --o-event-bg--subtle-rgb: 170, 216, 213;
}

.o_calendar_renderer .o_calendar_color_7.fc-bg-event {
  --fc-bg-event-color: #aad8d5;
}

.o_calendar_renderer .o_calendar_color_7.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_7.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_7.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_7.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_7.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(65, 169, 162, 0.3), RGBA(65, 169, 162, 0.3) 10px, RGBA(65, 169, 162, 0.6) 10px, RGBA(65, 169, 162, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_7.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #41a9a2 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_7.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #a0d4d1;
}

.o_calendar_renderer .o_calendar_color_7.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_7.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_7.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #348782;
}

.o_cw_filter_color_7 .o_cw_filter_input_bg {
  border-color: #41a9a2;
}

.o_cw_filter_color_7 .o_cw_filter_input_bg:checked {
  background-color: #41a9a2;
}

.o_calendar_renderer .o_calendar_color_8 {
  --fc-event-bg-color: #a2aef1;
  --o-event-bg: #304be0;
  --o-event-bg--subtle-rgb: 162, 174, 241;
}

.o_calendar_renderer .o_calendar_color_8.fc-bg-event {
  --fc-bg-event-color: #a2aef1;
}

.o_calendar_renderer .o_calendar_color_8.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_8.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_8.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_8.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_8.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(48, 75, 224, 0.3), RGBA(48, 75, 224, 0.3) 10px, RGBA(48, 75, 224, 0.6) 10px, RGBA(48, 75, 224, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_8.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #304be0 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_8.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #98a5f0;
}

.o_calendar_renderer .o_calendar_color_8.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_8.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_8.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #263cb3;
}

.o_cw_filter_color_8 .o_cw_filter_input_bg {
  border-color: #304be0;
}

.o_cw_filter_color_8 .o_cw_filter_input_bg:checked {
  background-color: #304be0;
}

.o_calendar_renderer .o_calendar_color_9 {
  --fc-event-bg-color: #f7a1ca;
  --o-event-bg: #ee2f8a;
  --o-event-bg--subtle-rgb: 247, 161, 202;
}

.o_calendar_renderer .o_calendar_color_9.fc-bg-event {
  --fc-bg-event-color: #f7a1ca;
}

.o_calendar_renderer .o_calendar_color_9.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_9.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_9.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_9.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_9.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(238, 47, 138, 0.3), RGBA(238, 47, 138, 0.3) 10px, RGBA(238, 47, 138, 0.6) 10px, RGBA(238, 47, 138, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_9.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ee2f8a 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_9.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #f797c5;
}

.o_calendar_renderer .o_calendar_color_9.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_9.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_9.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #be266e;
}

.o_cw_filter_color_9 .o_cw_filter_input_bg {
  border-color: #ee2f8a;
}

.o_cw_filter_color_9 .o_cw_filter_input_bg:checked {
  background-color: #ee2f8a;
}

.o_calendar_renderer .o_calendar_color_10 {
  --fc-event-bg-color: #b8e4be;
  --o-event-bg: #61c36e;
  --o-event-bg--subtle-rgb: 184, 228, 190;
}

.o_calendar_renderer .o_calendar_color_10.fc-bg-event {
  --fc-bg-event-color: #b8e4be;
}

.o_calendar_renderer .o_calendar_color_10.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_10.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_10.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_10.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_10.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(97, 195, 110, 0.3), RGBA(97, 195, 110, 0.3) 10px, RGBA(97, 195, 110, 0.6) 10px, RGBA(97, 195, 110, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_10.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #61c36e 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_10.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #b0e1b7;
}

.o_calendar_renderer .o_calendar_color_10.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_10.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_10.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #4e9c58;
}

.o_cw_filter_color_10 .o_cw_filter_input_bg {
  border-color: #61c36e;
}

.o_cw_filter_color_10 .o_cw_filter_input_bg:checked {
  background-color: #61c36e;
}

.o_calendar_renderer .o_calendar_color_11 {
  --fc-event-bg-color: #d1c0f4;
  --o-event-bg: #9872e6;
  --o-event-bg--subtle-rgb: 209, 192, 244;
}

.o_calendar_renderer .o_calendar_color_11.fc-bg-event {
  --fc-bg-event-color: #d1c0f4;
}

.o_calendar_renderer .o_calendar_color_11.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_11.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_11.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_11.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_11.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(152, 114, 230, 0.3), RGBA(152, 114, 230, 0.3) 10px, RGBA(152, 114, 230, 0.6) 10px, RGBA(152, 114, 230, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_11.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #9872e6 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_11.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ccb9f3;
}

.o_calendar_renderer .o_calendar_color_11.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_11.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_11.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #7a5bb8;
}

.o_cw_filter_color_11 .o_cw_filter_input_bg {
  border-color: #9872e6;
}

.o_cw_filter_color_11 .o_cw_filter_input_bg:checked {
  background-color: #9872e6;
}

.o_calendar_renderer .o_calendar_color_12 {
  --fc-event-bg-color: #d9aebc;
  --o-event-bg: #aa4b6b;
  --o-event-bg--subtle-rgb: 217, 174, 188;
}

.o_calendar_renderer .o_calendar_color_12.fc-bg-event {
  --fc-bg-event-color: #d9aebc;
}

.o_calendar_renderer .o_calendar_color_12.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_12.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_12.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_12.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_12.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(170, 75, 107, 0.3), RGBA(170, 75, 107, 0.3) 10px, RGBA(170, 75, 107, 0.6) 10px, RGBA(170, 75, 107, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_12.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #aa4b6b 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_12.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #d5a5b5;
}

.o_calendar_renderer .o_calendar_color_12.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_12.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_12.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #883c56;
}

.o_cw_filter_color_12 .o_cw_filter_input_bg {
  border-color: #aa4b6b;
}

.o_cw_filter_color_12 .o_cw_filter_input_bg:checked {
  background-color: #aa4b6b;
}

.o_calendar_renderer .o_calendar_color_13 {
  --fc-event-bg-color: #a2e4c6;
  --o-event-bg: #30C381;
  --o-event-bg--subtle-rgb: 162, 228, 198;
}

.o_calendar_renderer .o_calendar_color_13.fc-bg-event {
  --fc-bg-event-color: #a2e4c6;
}

.o_calendar_renderer .o_calendar_color_13.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_13.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_13.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_13.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_13.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(48, 195, 129, 0.3), RGBA(48, 195, 129, 0.3) 10px, RGBA(48, 195, 129, 0.6) 10px, RGBA(48, 195, 129, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_13.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #30C381 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_13.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #98e1c0;
}

.o_calendar_renderer .o_calendar_color_13.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_13.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_13.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #269c67;
}

.o_cw_filter_color_13 .o_cw_filter_input_bg {
  border-color: #30C381;
}

.o_cw_filter_color_13 .o_cw_filter_input_bg:checked {
  background-color: #30C381;
}

.o_calendar_renderer .o_calendar_color_14 {
  --fc-event-bg-color: #d0c0a6;
  --o-event-bg: #97743a;
  --o-event-bg--subtle-rgb: 208, 192, 166;
}

.o_calendar_renderer .o_calendar_color_14.fc-bg-event {
  --fc-bg-event-color: #d0c0a6;
}

.o_calendar_renderer .o_calendar_color_14.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_14.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_14.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_14.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_14.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(151, 116, 58, 0.3), RGBA(151, 116, 58, 0.3) 10px, RGBA(151, 116, 58, 0.6) 10px, RGBA(151, 116, 58, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_14.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #97743a 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_14.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #cbba9d;
}

.o_calendar_renderer .o_calendar_color_14.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_14.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_14.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #795d2e;
}

.o_cw_filter_color_14 .o_cw_filter_input_bg {
  border-color: #97743a;
}

.o_cw_filter_color_14 .o_cw_filter_input_bg:checked {
  background-color: #97743a;
}

.o_calendar_renderer .o_calendar_color_15 {
  --fc-event-bg-color: #fbe99a;
  --o-event-bg: #F7CD1F;
  --o-event-bg--subtle-rgb: 251, 233, 154;
}

.o_calendar_renderer .o_calendar_color_15.fc-bg-event {
  --fc-bg-event-color: #fbe99a;
}

.o_calendar_renderer .o_calendar_color_15.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_15.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_15.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_15.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_15.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(247, 205, 31, 0.3), RGBA(247, 205, 31, 0.3) 10px, RGBA(247, 205, 31, 0.6) 10px, RGBA(247, 205, 31, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_15.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #F7CD1F 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_15.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #fbe68f;
}

.o_calendar_renderer .o_calendar_color_15.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_15.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_15.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #c6a419;
}

.o_cw_filter_color_15 .o_cw_filter_input_bg {
  border-color: #F7CD1F;
}

.o_cw_filter_color_15 .o_cw_filter_input_bg:checked {
  background-color: #F7CD1F;
}

.o_calendar_renderer .o_calendar_color_16 {
  --fc-event-bg-color: #aac8fa;
  --o-event-bg: #4285F4;
  --o-event-bg--subtle-rgb: 170, 200, 250;
}

.o_calendar_renderer .o_calendar_color_16.fc-bg-event {
  --fc-bg-event-color: #aac8fa;
}

.o_calendar_renderer .o_calendar_color_16.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_16.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_16.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_16.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_16.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(66, 133, 244, 0.3), RGBA(66, 133, 244, 0.3) 10px, RGBA(66, 133, 244, 0.6) 10px, RGBA(66, 133, 244, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_16.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #4285F4 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_16.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #a1c2fa;
}

.o_calendar_renderer .o_calendar_color_16.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_16.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_16.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #356ac3;
}

.o_cw_filter_color_16 .o_cw_filter_input_bg {
  border-color: #4285F4;
}

.o_cw_filter_color_16 .o_cw_filter_input_bg:checked {
  background-color: #4285F4;
}

.o_calendar_renderer .o_calendar_color_17 {
  --fc-event-bg-color: #cc9cd9;
  --o-event-bg: #8E24AA;
  --o-event-bg--subtle-rgb: 204, 156, 217;
}

.o_calendar_renderer .o_calendar_color_17.fc-bg-event {
  --fc-bg-event-color: #cc9cd9;
}

.o_calendar_renderer .o_calendar_color_17.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_17.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_17.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_17.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_17.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(142, 36, 170, 0.3), RGBA(142, 36, 170, 0.3) 10px, RGBA(142, 36, 170, 0.6) 10px, RGBA(142, 36, 170, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_17.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #8E24AA 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_17.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #c792d5;
}

.o_calendar_renderer .o_calendar_color_17.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_17.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_17.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #721d88;
}

.o_cw_filter_color_17 .o_cw_filter_input_bg {
  border-color: #8E24AA;
}

.o_cw_filter_color_17 .o_cw_filter_input_bg:checked {
  background-color: #8E24AA;
}

.o_calendar_renderer .o_calendar_color_18 {
  --fc-event-bg-color: #ed95b7;
  --o-event-bg: #D6145F;
  --o-event-bg--subtle-rgb: 237, 149, 183;
}

.o_calendar_renderer .o_calendar_color_18.fc-bg-event {
  --fc-bg-event-color: #ed95b7;
}

.o_calendar_renderer .o_calendar_color_18.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_18.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_18.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_18.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_18.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(214, 20, 95, 0.3), RGBA(214, 20, 95, 0.3) 10px, RGBA(214, 20, 95, 0.6) 10px, RGBA(214, 20, 95, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_18.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #D6145F 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_18.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #eb8aaf;
}

.o_calendar_renderer .o_calendar_color_18.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_18.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_18.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ab104c;
}

.o_cw_filter_color_18 .o_cw_filter_input_bg {
  border-color: #D6145F;
}

.o_cw_filter_color_18 .o_cw_filter_input_bg:checked {
  background-color: #D6145F;
}

.o_calendar_renderer .o_calendar_color_19 {
  --fc-event-bg-color: #97a8aa;
  --o-event-bg: #173e43;
  --o-event-bg--subtle-rgb: 151, 168, 170;
}

.o_calendar_renderer .o_calendar_color_19.fc-bg-event {
  --fc-bg-event-color: #97a8aa;
}

.o_calendar_renderer .o_calendar_color_19.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_19.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_19.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_19.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_19.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(23, 62, 67, 0.3), RGBA(23, 62, 67, 0.3) 10px, RGBA(23, 62, 67, 0.6) 10px, RGBA(23, 62, 67, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_19.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #173e43 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_19.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #8b9fa1;
}

.o_calendar_renderer .o_calendar_color_19.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_19.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_19.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #123236;
}

.o_cw_filter_color_19 .o_cw_filter_input_bg {
  border-color: #173e43;
}

.o_cw_filter_color_19 .o_cw_filter_input_bg:checked {
  background-color: #173e43;
}

.o_calendar_renderer .o_calendar_color_20 {
  --fc-event-bg-color: #a4cdb0;
  --o-event-bg: #348F50;
  --o-event-bg--subtle-rgb: 164, 205, 176;
}

.o_calendar_renderer .o_calendar_color_20.fc-bg-event {
  --fc-bg-event-color: #a4cdb0;
}

.o_calendar_renderer .o_calendar_color_20.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_20.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_20.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_20.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_20.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(52, 143, 80, 0.3), RGBA(52, 143, 80, 0.3) 10px, RGBA(52, 143, 80, 0.6) 10px, RGBA(52, 143, 80, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_20.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #348F50 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_20.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #9ac7a8;
}

.o_calendar_renderer .o_calendar_color_20.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_20.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_20.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #2a7240;
}

.o_cw_filter_color_20 .o_cw_filter_input_bg {
  border-color: #348F50;
}

.o_cw_filter_color_20 .o_cw_filter_input_bg:checked {
  background-color: #348F50;
}

.o_calendar_renderer .o_calendar_color_21 {
  --fc-event-bg-color: #d9a6a5;
  --o-event-bg: #AA3A38;
  --o-event-bg--subtle-rgb: 217, 166, 165;
}

.o_calendar_renderer .o_calendar_color_21.fc-bg-event {
  --fc-bg-event-color: #d9a6a5;
}

.o_calendar_renderer .o_calendar_color_21.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_21.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_21.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_21.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_21.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(170, 58, 56, 0.3), RGBA(170, 58, 56, 0.3) 10px, RGBA(170, 58, 56, 0.6) 10px, RGBA(170, 58, 56, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_21.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #AA3A38 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_21.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #d59d9c;
}

.o_calendar_renderer .o_calendar_color_21.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_21.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_21.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #882e2d;
}

.o_cw_filter_color_21 .o_cw_filter_input_bg {
  border-color: #AA3A38;
}

.o_cw_filter_color_21 .o_cw_filter_input_bg:checked {
  background-color: #AA3A38;
}

.o_calendar_renderer .o_calendar_color_22 {
  --fc-event-bg-color: #c3b3ad;
  --o-event-bg: #795548;
  --o-event-bg--subtle-rgb: 195, 179, 173;
}

.o_calendar_renderer .o_calendar_color_22.fc-bg-event {
  --fc-bg-event-color: #c3b3ad;
}

.o_calendar_renderer .o_calendar_color_22.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_22.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_22.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_22.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_22.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(121, 85, 72, 0.3), RGBA(121, 85, 72, 0.3) 10px, RGBA(121, 85, 72, 0.6) 10px, RGBA(121, 85, 72, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_22.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #795548 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_22.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #bcaaa4;
}

.o_calendar_renderer .o_calendar_color_22.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_22.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_22.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #61443a;
}

.o_cw_filter_color_22 .o_cw_filter_input_bg {
  border-color: #795548;
}

.o_cw_filter_color_22 .o_cw_filter_input_bg:checked {
  background-color: #795548;
}

.o_calendar_renderer .o_calendar_color_23 {
  --fc-event-bg-color: #b78da2;
  --o-event-bg: #5e0231;
  --o-event-bg--subtle-rgb: 183, 141, 162;
}

.o_calendar_renderer .o_calendar_color_23.fc-bg-event {
  --fc-bg-event-color: #b78da2;
}

.o_calendar_renderer .o_calendar_color_23.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_23.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_23.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_23.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_23.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(94, 2, 49, 0.3), RGBA(94, 2, 49, 0.3) 10px, RGBA(94, 2, 49, 0.6) 10px, RGBA(94, 2, 49, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_23.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #5e0231 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_23.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #af8198;
}

.o_calendar_renderer .o_calendar_color_23.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_23.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_23.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #4b0227;
}

.o_cw_filter_color_23 .o_cw_filter_input_bg {
  border-color: #5e0231;
}

.o_cw_filter_color_23 .o_cw_filter_input_bg:checked {
  background-color: #5e0231;
}

.o_calendar_renderer .o_calendar_color_24 {
  --fc-event-bg-color: #bcf3c8;
  --o-event-bg: #6be585;
  --o-event-bg--subtle-rgb: 188, 243, 200;
}

.o_calendar_renderer .o_calendar_color_24.fc-bg-event {
  --fc-bg-event-color: #bcf3c8;
}

.o_calendar_renderer .o_calendar_color_24.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_24.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_24.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_24.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_24.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(107, 229, 133, 0.3), RGBA(107, 229, 133, 0.3) 10px, RGBA(107, 229, 133, 0.6) 10px, RGBA(107, 229, 133, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_24.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #6be585 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_24.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #b5f2c2;
}

.o_calendar_renderer .o_calendar_color_24.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_24.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_24.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #56b76a;
}

.o_cw_filter_color_24 .o_cw_filter_input_bg {
  border-color: #6be585;
}

.o_cw_filter_color_24 .o_cw_filter_input_bg:checked {
  background-color: #6be585;
}

.o_calendar_renderer .o_calendar_color_25 {
  --fc-event-bg-color: #d1d1ba;
  --o-event-bg: #999966;
  --o-event-bg--subtle-rgb: 209, 209, 186;
}

.o_calendar_renderer .o_calendar_color_25.fc-bg-event {
  --fc-bg-event-color: #d1d1ba;
}

.o_calendar_renderer .o_calendar_color_25.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_25.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_25.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_25.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_25.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(153, 153, 102, 0.3), RGBA(153, 153, 102, 0.3) 10px, RGBA(153, 153, 102, 0.6) 10px, RGBA(153, 153, 102, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_25.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #999966 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_25.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ccccb3;
}

.o_calendar_renderer .o_calendar_color_25.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_25.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_25.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #7a7a52;
}

.o_cw_filter_color_25 .o_cw_filter_input_bg {
  border-color: #999966;
}

.o_cw_filter_color_25 .o_cw_filter_input_bg:checked {
  background-color: #999966;
}

.o_calendar_renderer .o_calendar_color_26 {
  --fc-event-bg-color: #f5ebb8;
  --o-event-bg: #e9d362;
  --o-event-bg--subtle-rgb: 245, 235, 184;
}

.o_calendar_renderer .o_calendar_color_26.fc-bg-event {
  --fc-bg-event-color: #f5ebb8;
}

.o_calendar_renderer .o_calendar_color_26.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_26.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_26.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_26.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_26.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(233, 211, 98, 0.3), RGBA(233, 211, 98, 0.3) 10px, RGBA(233, 211, 98, 0.6) 10px, RGBA(233, 211, 98, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_26.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #e9d362 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_26.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #f4e9b1;
}

.o_calendar_renderer .o_calendar_color_26.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_26.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_26.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #baa94e;
}

.o_cw_filter_color_26 .o_cw_filter_input_bg {
  border-color: #e9d362;
}

.o_cw_filter_color_26 .o_cw_filter_input_bg:checked {
  background-color: #e9d362;
}

.o_calendar_renderer .o_calendar_color_27 {
  --fc-event-bg-color: #debcbc;
  --o-event-bg: #b56969;
  --o-event-bg--subtle-rgb: 222, 188, 188;
}

.o_calendar_renderer .o_calendar_color_27.fc-bg-event {
  --fc-bg-event-color: #debcbc;
}

.o_calendar_renderer .o_calendar_color_27.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_27.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_27.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_27.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_27.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(181, 105, 105, 0.3), RGBA(181, 105, 105, 0.3) 10px, RGBA(181, 105, 105, 0.6) 10px, RGBA(181, 105, 105, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_27.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #b56969 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_27.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #dab4b4;
}

.o_calendar_renderer .o_calendar_color_27.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_27.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_27.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #915454;
}

.o_cw_filter_color_27 .o_cw_filter_input_bg {
  border-color: #b56969;
}

.o_cw_filter_color_27 .o_cw_filter_input_bg:checked {
  background-color: #b56969;
}

.o_calendar_renderer .o_calendar_color_28 {
  --fc-event-bg-color: #e1e4e6;
  --o-event-bg: #bdc3c7;
  --o-event-bg--subtle-rgb: 225, 228, 230;
}

.o_calendar_renderer .o_calendar_color_28.fc-bg-event {
  --fc-bg-event-color: #e1e4e6;
}

.o_calendar_renderer .o_calendar_color_28.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_28.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_28.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_28.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_28.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(189, 195, 199, 0.3), RGBA(189, 195, 199, 0.3) 10px, RGBA(189, 195, 199, 0.6) 10px, RGBA(189, 195, 199, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_28.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #bdc3c7 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_28.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #dee1e3;
}

.o_calendar_renderer .o_calendar_color_28.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_28.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_28.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #979c9f;
}

.o_cw_filter_color_28 .o_cw_filter_input_bg {
  border-color: #bdc3c7;
}

.o_cw_filter_color_28 .o_cw_filter_input_bg:checked {
  background-color: #bdc3c7;
}

.o_calendar_renderer .o_calendar_color_29 {
  --fc-event-bg-color: #b9cec0;
  --o-event-bg: #649173;
  --o-event-bg--subtle-rgb: 185, 206, 192;
}

.o_calendar_renderer .o_calendar_color_29.fc-bg-event {
  --fc-bg-event-color: #b9cec0;
}

.o_calendar_renderer .o_calendar_color_29.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_29.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_29.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_29.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_29.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(100, 145, 115, 0.3), RGBA(100, 145, 115, 0.3) 10px, RGBA(100, 145, 115, 0.6) 10px, RGBA(100, 145, 115, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_29.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #649173 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_29.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #b2c8b9;
}

.o_calendar_renderer .o_calendar_color_29.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_29.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_29.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #50745c;
}

.o_cw_filter_color_29 .o_cw_filter_input_bg {
  border-color: #649173;
}

.o_cw_filter_color_29 .o_cw_filter_input_bg:checked {
  background-color: #649173;
}

.o_calendar_renderer .o_calendar_color_30 {
  --fc-event-bg-color: #f68cff;
  --o-event-bg: #ea00ff;
  --o-event-bg--subtle-rgb: 246, 140, 255;
}

.o_calendar_renderer .o_calendar_color_30.fc-bg-event {
  --fc-bg-event-color: #f68cff;
}

.o_calendar_renderer .o_calendar_color_30.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_30.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_30.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_30.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_30.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(234, 0, 255, 0.3), RGBA(234, 0, 255, 0.3) 10px, RGBA(234, 0, 255, 0.6) 10px, RGBA(234, 0, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_30.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ea00ff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_30.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #f580ff;
}

.o_calendar_renderer .o_calendar_color_30.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_30.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_30.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #bb00cc;
}

.o_cw_filter_color_30 .o_cw_filter_input_bg {
  border-color: #ea00ff;
}

.o_cw_filter_color_30 .o_cw_filter_input_bg:checked {
  background-color: #ea00ff;
}

.o_calendar_renderer .o_calendar_color_31 {
  --fc-event-bg-color: #ff8c9d;
  --o-event-bg: #ff0026;
  --o-event-bg--subtle-rgb: 255, 140, 157;
}

.o_calendar_renderer .o_calendar_color_31.fc-bg-event {
  --fc-bg-event-color: #ff8c9d;
}

.o_calendar_renderer .o_calendar_color_31.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_31.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_31.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_31.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_31.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(255, 0, 38, 0.3), RGBA(255, 0, 38, 0.3) 10px, RGBA(255, 0, 38, 0.6) 10px, RGBA(255, 0, 38, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_31.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff0026 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_31.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ff8093;
}

.o_calendar_renderer .o_calendar_color_31.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_31.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_31.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #cc001e;
}

.o_cw_filter_color_31 .o_cw_filter_input_bg {
  border-color: #ff0026;
}

.o_cw_filter_color_31 .o_cw_filter_input_bg:checked {
  background-color: #ff0026;
}

.o_calendar_renderer .o_calendar_color_32 {
  --fc-event-bg-color: #cbe88c;
  --o-event-bg: #8bcc00;
  --o-event-bg--subtle-rgb: 203, 232, 140;
}

.o_calendar_renderer .o_calendar_color_32.fc-bg-event {
  --fc-bg-event-color: #cbe88c;
}

.o_calendar_renderer .o_calendar_color_32.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_32.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_32.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_32.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_32.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(139, 204, 0, 0.3), RGBA(139, 204, 0, 0.3) 10px, RGBA(139, 204, 0, 0.6) 10px, RGBA(139, 204, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_32.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #8bcc00 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_32.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #c5e680;
}

.o_calendar_renderer .o_calendar_color_32.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_32.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_32.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #6fa300;
}

.o_cw_filter_color_32 .o_cw_filter_input_bg {
  border-color: #8bcc00;
}

.o_cw_filter_color_32 .o_cw_filter_input_bg:checked {
  background-color: #8bcc00;
}

.o_calendar_renderer .o_calendar_color_33 {
  --fc-event-bg-color: #8ce2db;
  --o-event-bg: #00bfaf;
  --o-event-bg--subtle-rgb: 140, 226, 219;
}

.o_calendar_renderer .o_calendar_color_33.fc-bg-event {
  --fc-bg-event-color: #8ce2db;
}

.o_calendar_renderer .o_calendar_color_33.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_33.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_33.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_33.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_33.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 191, 175, 0.3), RGBA(0, 191, 175, 0.3) 10px, RGBA(0, 191, 175, 0.6) 10px, RGBA(0, 191, 175, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_33.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #00bfaf 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_33.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80dfd7;
}

.o_calendar_renderer .o_calendar_color_33.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_33.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_33.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #00998c;
}

.o_cw_filter_color_33 .o_cw_filter_input_bg {
  border-color: #00bfaf;
}

.o_cw_filter_color_33 .o_cw_filter_input_bg:checked {
  background-color: #00bfaf;
}

.o_calendar_renderer .o_calendar_color_34 {
  --fc-event-bg-color: #8cbcff;
  --o-event-bg: #006aff;
  --o-event-bg--subtle-rgb: 140, 188, 255;
}

.o_calendar_renderer .o_calendar_color_34.fc-bg-event {
  --fc-bg-event-color: #8cbcff;
}

.o_calendar_renderer .o_calendar_color_34.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_34.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_34.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_34.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_34.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 106, 255, 0.3), RGBA(0, 106, 255, 0.3) 10px, RGBA(0, 106, 255, 0.6) 10px, RGBA(0, 106, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_34.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #006aff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_34.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80b5ff;
}

.o_calendar_renderer .o_calendar_color_34.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_34.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_34.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #0055cc;
}

.o_cw_filter_color_34 .o_cw_filter_input_bg {
  border-color: #006aff;
}

.o_cw_filter_color_34 .o_cw_filter_input_bg:checked {
  background-color: #006aff;
}

.o_calendar_renderer .o_calendar_color_35 {
  --fc-event-bg-color: #db8ce2;
  --o-event-bg: #af00bf;
  --o-event-bg--subtle-rgb: 219, 140, 226;
}

.o_calendar_renderer .o_calendar_color_35.fc-bg-event {
  --fc-bg-event-color: #db8ce2;
}

.o_calendar_renderer .o_calendar_color_35.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_35.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_35.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_35.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_35.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(175, 0, 191, 0.3), RGBA(175, 0, 191, 0.3) 10px, RGBA(175, 0, 191, 0.6) 10px, RGBA(175, 0, 191, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_35.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #af00bf 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_35.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #d780df;
}

.o_calendar_renderer .o_calendar_color_35.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_35.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_35.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #8c0099;
}

.o_cw_filter_color_35 .o_cw_filter_input_bg {
  border-color: #af00bf;
}

.o_cw_filter_color_35 .o_cw_filter_input_bg:checked {
  background-color: #af00bf;
}

.o_calendar_renderer .o_calendar_color_36 {
  --fc-event-bg-color: #e28c99;
  --o-event-bg: #bf001d;
  --o-event-bg--subtle-rgb: 226, 140, 153;
}

.o_calendar_renderer .o_calendar_color_36.fc-bg-event {
  --fc-bg-event-color: #e28c99;
}

.o_calendar_renderer .o_calendar_color_36.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_36.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_36.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_36.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_36.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(191, 0, 29, 0.3), RGBA(191, 0, 29, 0.3) 10px, RGBA(191, 0, 29, 0.6) 10px, RGBA(191, 0, 29, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_36.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #bf001d 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_36.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #df808e;
}

.o_calendar_renderer .o_calendar_color_36.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_36.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_36.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #990017;
}

.o_cw_filter_color_36 .o_cw_filter_input_bg {
  border-color: #bf001d;
}

.o_cw_filter_color_36 .o_cw_filter_input_bg:checked {
  background-color: #bf001d;
}

.o_calendar_renderer .o_calendar_color_37 {
  --fc-event-bg-color: #e2b98c;
  --o-event-bg: #bf6300;
  --o-event-bg--subtle-rgb: 226, 185, 140;
}

.o_calendar_renderer .o_calendar_color_37.fc-bg-event {
  --fc-bg-event-color: #e2b98c;
}

.o_calendar_renderer .o_calendar_color_37.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_37.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_37.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_37.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_37.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(191, 99, 0, 0.3), RGBA(191, 99, 0, 0.3) 10px, RGBA(191, 99, 0, 0.6) 10px, RGBA(191, 99, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_37.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #bf6300 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_37.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #dfb180;
}

.o_calendar_renderer .o_calendar_color_37.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_37.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_37.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #994f00;
}

.o_cw_filter_color_37 .o_cw_filter_input_bg {
  border-color: #bf6300;
}

.o_cw_filter_color_37 .o_cw_filter_input_bg:checked {
  background-color: #bf6300;
}

.o_calendar_renderer .o_calendar_color_38 {
  --fc-event-bg-color: #cbff8c;
  --o-event-bg: #8cff00;
  --o-event-bg--subtle-rgb: 203, 255, 140;
}

.o_calendar_renderer .o_calendar_color_38.fc-bg-event {
  --fc-bg-event-color: #cbff8c;
}

.o_calendar_renderer .o_calendar_color_38.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_38.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_38.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_38.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_38.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(140, 255, 0, 0.3), RGBA(140, 255, 0, 0.3) 10px, RGBA(140, 255, 0, 0.6) 10px, RGBA(140, 255, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_38.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #8cff00 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_38.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #c6ff80;
}

.o_calendar_renderer .o_calendar_color_38.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_38.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_38.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #70cc00;
}

.o_cw_filter_color_38 .o_cw_filter_input_bg {
  border-color: #8cff00;
}

.o_cw_filter_color_38 .o_cw_filter_input_bg:checked {
  background-color: #8cff00;
}

.o_calendar_renderer .o_calendar_color_39 {
  --fc-event-bg-color: #8cf9ff;
  --o-event-bg: #00f2ff;
  --o-event-bg--subtle-rgb: 140, 249, 255;
}

.o_calendar_renderer .o_calendar_color_39.fc-bg-event {
  --fc-bg-event-color: #8cf9ff;
}

.o_calendar_renderer .o_calendar_color_39.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_39.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_39.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_39.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_39.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 242, 255, 0.3), RGBA(0, 242, 255, 0.3) 10px, RGBA(0, 242, 255, 0.6) 10px, RGBA(0, 242, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_39.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #00f2ff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_39.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80f9ff;
}

.o_calendar_renderer .o_calendar_color_39.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_39.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_39.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #00c2cc;
}

.o_cw_filter_color_39 .o_cw_filter_input_bg {
  border-color: #00f2ff;
}

.o_cw_filter_color_39 .o_cw_filter_input_bg:checked {
  background-color: #00f2ff;
}

.o_calendar_renderer .o_calendar_color_40 {
  --fc-event-bg-color: #8caedd;
  --o-event-bg: #004ab3;
  --o-event-bg--subtle-rgb: 140, 174, 221;
}

.o_calendar_renderer .o_calendar_color_40.fc-bg-event {
  --fc-bg-event-color: #8caedd;
}

.o_calendar_renderer .o_calendar_color_40.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_40.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_40.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_40.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_40.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 74, 179, 0.3), RGBA(0, 74, 179, 0.3) 10px, RGBA(0, 74, 179, 0.6) 10px, RGBA(0, 74, 179, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_40.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #004ab3 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_40.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80a5d9;
}

.o_calendar_renderer .o_calendar_color_40.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_40.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_40.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #003b8f;
}

.o_cw_filter_color_40 .o_cw_filter_input_bg {
  border-color: #004ab3;
}

.o_cw_filter_color_40 .o_cw_filter_input_bg:checked {
  background-color: #004ab3;
}

.o_calendar_renderer .o_calendar_color_41 {
  --fc-event-bg-color: #ff8cea;
  --o-event-bg: #ff00d0;
  --o-event-bg--subtle-rgb: 255, 140, 234;
}

.o_calendar_renderer .o_calendar_color_41.fc-bg-event {
  --fc-bg-event-color: #ff8cea;
}

.o_calendar_renderer .o_calendar_color_41.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_41.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_41.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_41.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_41.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(255, 0, 208, 0.3), RGBA(255, 0, 208, 0.3) 10px, RGBA(255, 0, 208, 0.6) 10px, RGBA(255, 0, 208, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_41.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff00d0 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_41.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ff80e8;
}

.o_calendar_renderer .o_calendar_color_41.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_41.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_41.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #cc00a6;
}

.o_cw_filter_color_41 .o_cw_filter_input_bg {
  border-color: #ff00d0;
}

.o_cw_filter_color_41 .o_cw_filter_input_bg:checked {
  background-color: #ff00d0;
}

.o_calendar_renderer .o_calendar_color_42 {
  --fc-event-bg-color: #ffd78c;
  --o-event-bg: #ffa600;
  --o-event-bg--subtle-rgb: 255, 215, 140;
}

.o_calendar_renderer .o_calendar_color_42.fc-bg-event {
  --fc-bg-event-color: #ffd78c;
}

.o_calendar_renderer .o_calendar_color_42.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_42.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_42.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_42.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_42.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(255, 166, 0, 0.3), RGBA(255, 166, 0, 0.3) 10px, RGBA(255, 166, 0, 0.6) 10px, RGBA(255, 166, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_42.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffa600 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_42.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ffd380;
}

.o_calendar_renderer .o_calendar_color_42.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_42.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_42.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #cc8500;
}

.o_cw_filter_color_42 .o_cw_filter_input_bg {
  border-color: #ffa600;
}

.o_cw_filter_color_42 .o_cw_filter_input_bg:checked {
  background-color: #ffa600;
}

.o_calendar_renderer .o_calendar_color_43 {
  --fc-event-bg-color: #a6e88c;
  --o-event-bg: #3acc00;
  --o-event-bg--subtle-rgb: 166, 232, 140;
}

.o_calendar_renderer .o_calendar_color_43.fc-bg-event {
  --fc-bg-event-color: #a6e88c;
}

.o_calendar_renderer .o_calendar_color_43.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_43.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_43.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_43.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_43.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(58, 204, 0, 0.3), RGBA(58, 204, 0, 0.3) 10px, RGBA(58, 204, 0, 0.6) 10px, RGBA(58, 204, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_43.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #3acc00 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_43.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #9de680;
}

.o_calendar_renderer .o_calendar_color_43.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_43.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_43.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #2ea300;
}

.o_cw_filter_color_43 .o_cw_filter_input_bg {
  border-color: #3acc00;
}

.o_cw_filter_color_43 .o_cw_filter_input_bg:checked {
  background-color: #3acc00;
}

.o_calendar_renderer .o_calendar_color_44 {
  --fc-event-bg-color: #8cdee2;
  --o-event-bg: #00b6bf;
  --o-event-bg--subtle-rgb: 140, 222, 226;
}

.o_calendar_renderer .o_calendar_color_44.fc-bg-event {
  --fc-bg-event-color: #8cdee2;
}

.o_calendar_renderer .o_calendar_color_44.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_44.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_44.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_44.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_44.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 182, 191, 0.3), RGBA(0, 182, 191, 0.3) 10px, RGBA(0, 182, 191, 0.6) 10px, RGBA(0, 182, 191, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_44.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #00b6bf 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_44.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80dbdf;
}

.o_calendar_renderer .o_calendar_color_44.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_44.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_44.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #009299;
}

.o_cw_filter_color_44 .o_cw_filter_input_bg {
  border-color: #00b6bf;
}

.o_cw_filter_color_44 .o_cw_filter_input_bg:checked {
  background-color: #00b6bf;
}

.o_calendar_renderer .o_calendar_color_45 {
  --fc-event-bg-color: #8cadff;
  --o-event-bg: #0048ff;
  --o-event-bg--subtle-rgb: 140, 173, 255;
}

.o_calendar_renderer .o_calendar_color_45.fc-bg-event {
  --fc-bg-event-color: #8cadff;
}

.o_calendar_renderer .o_calendar_color_45.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_45.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_45.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_45.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_45.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 72, 255, 0.3), RGBA(0, 72, 255, 0.3) 10px, RGBA(0, 72, 255, 0.6) 10px, RGBA(0, 72, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_45.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #0048ff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_45.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80a4ff;
}

.o_calendar_renderer .o_calendar_color_45.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_45.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_45.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #003acc;
}

.o_cw_filter_color_45 .o_cw_filter_input_bg {
  border-color: #0048ff;
}

.o_cw_filter_color_45 .o_cw_filter_input_bg:checked {
  background-color: #0048ff;
}

.o_calendar_renderer .o_calendar_color_46 {
  --fc-event-bg-color: #e2c48c;
  --o-event-bg: #bf7c00;
  --o-event-bg--subtle-rgb: 226, 196, 140;
}

.o_calendar_renderer .o_calendar_color_46.fc-bg-event {
  --fc-bg-event-color: #e2c48c;
}

.o_calendar_renderer .o_calendar_color_46.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_46.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_46.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_46.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_46.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(191, 124, 0, 0.3), RGBA(191, 124, 0, 0.3) 10px, RGBA(191, 124, 0, 0.6) 10px, RGBA(191, 124, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_46.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #bf7c00 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_46.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #dfbe80;
}

.o_calendar_renderer .o_calendar_color_46.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_46.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_46.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #996300;
}

.o_cw_filter_color_46 .o_cw_filter_input_bg {
  border-color: #bf7c00;
}

.o_cw_filter_color_46 .o_cw_filter_input_bg:checked {
  background-color: #bf7c00;
}

.o_calendar_renderer .o_calendar_color_47 {
  --fc-event-bg-color: #8eff8c;
  --o-event-bg: #04ff00;
  --o-event-bg--subtle-rgb: 142, 255, 140;
}

.o_calendar_renderer .o_calendar_color_47.fc-bg-event {
  --fc-bg-event-color: #8eff8c;
}

.o_calendar_renderer .o_calendar_color_47.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_47.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_47.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_47.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_47.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(4, 255, 0, 0.3), RGBA(4, 255, 0, 0.3) 10px, RGBA(4, 255, 0, 0.6) 10px, RGBA(4, 255, 0, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_47.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #04ff00 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_47.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #82ff80;
}

.o_calendar_renderer .o_calendar_color_47.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_47.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_47.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #03cc00;
}

.o_cw_filter_color_47 .o_cw_filter_input_bg {
  border-color: #04ff00;
}

.o_cw_filter_color_47 .o_cw_filter_input_bg:checked {
  background-color: #04ff00;
}

.o_calendar_renderer .o_calendar_color_48 {
  --fc-event-bg-color: #8ceaff;
  --o-event-bg: #00d0ff;
  --o-event-bg--subtle-rgb: 140, 234, 255;
}

.o_calendar_renderer .o_calendar_color_48.fc-bg-event {
  --fc-bg-event-color: #8ceaff;
}

.o_calendar_renderer .o_calendar_color_48.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_48.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_48.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_48.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_48.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 208, 255, 0.3), RGBA(0, 208, 255, 0.3) 10px, RGBA(0, 208, 255, 0.6) 10px, RGBA(0, 208, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_48.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #00d0ff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_48.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80e8ff;
}

.o_calendar_renderer .o_calendar_color_48.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_48.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_48.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #00a6cc;
}

.o_cw_filter_color_48 .o_cw_filter_input_bg {
  border-color: #00d0ff;
}

.o_cw_filter_color_48 .o_cw_filter_input_bg:checked {
  background-color: #00d0ff;
}

.o_calendar_renderer .o_calendar_color_49 {
  --fc-event-bg-color: #8ca5e2;
  --o-event-bg: #0036bf;
  --o-event-bg--subtle-rgb: 140, 165, 226;
}

.o_calendar_renderer .o_calendar_color_49.fc-bg-event {
  --fc-bg-event-color: #8ca5e2;
}

.o_calendar_renderer .o_calendar_color_49.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_49.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_49.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_49.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_49.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 54, 191, 0.3), RGBA(0, 54, 191, 0.3) 10px, RGBA(0, 54, 191, 0.6) 10px, RGBA(0, 54, 191, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_49.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #0036bf 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_49.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #809bdf;
}

.o_calendar_renderer .o_calendar_color_49.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_49.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_49.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #002b99;
}

.o_cw_filter_color_49 .o_cw_filter_input_bg {
  border-color: #0036bf;
}

.o_cw_filter_color_49 .o_cw_filter_input_bg:checked {
  background-color: #0036bf;
}

.o_calendar_renderer .o_calendar_color_50 {
  --fc-event-bg-color: #ff8ccb;
  --o-event-bg: #ff008c;
  --o-event-bg--subtle-rgb: 255, 140, 203;
}

.o_calendar_renderer .o_calendar_color_50.fc-bg-event {
  --fc-bg-event-color: #ff8ccb;
}

.o_calendar_renderer .o_calendar_color_50.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_50.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_50.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_50.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_50.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(255, 0, 140, 0.3), RGBA(255, 0, 140, 0.3) 10px, RGBA(255, 0, 140, 0.6) 10px, RGBA(255, 0, 140, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_50.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff008c 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_50.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #ff80c6;
}

.o_calendar_renderer .o_calendar_color_50.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_50.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_50.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #cc0070;
}

.o_cw_filter_color_50 .o_cw_filter_input_bg {
  border-color: #ff008c;
}

.o_cw_filter_color_50 .o_cw_filter_input_bg:checked {
  background-color: #ff008c;
}

.o_calendar_renderer .o_calendar_color_51 {
  --fc-event-bg-color: #8ce2ad;
  --o-event-bg: #00bf49;
  --o-event-bg--subtle-rgb: 140, 226, 173;
}

.o_calendar_renderer .o_calendar_color_51.fc-bg-event {
  --fc-bg-event-color: #8ce2ad;
}

.o_calendar_renderer .o_calendar_color_51.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_51.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_51.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_51.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_51.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 191, 73, 0.3), RGBA(0, 191, 73, 0.3) 10px, RGBA(0, 191, 73, 0.6) 10px, RGBA(0, 191, 73, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_51.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #00bf49 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_51.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80dfa4;
}

.o_calendar_renderer .o_calendar_color_51.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_51.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_51.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #00993a;
}

.o_cw_filter_color_51 .o_cw_filter_input_bg {
  border-color: #00bf49;
}

.o_cw_filter_color_51 .o_cw_filter_input_bg:checked {
  background-color: #00bf49;
}

.o_calendar_renderer .o_calendar_color_52 {
  --fc-event-bg-color: #8ccedd;
  --o-event-bg: #0092b3;
  --o-event-bg--subtle-rgb: 140, 206, 221;
}

.o_calendar_renderer .o_calendar_color_52.fc-bg-event {
  --fc-bg-event-color: #8ccedd;
}

.o_calendar_renderer .o_calendar_color_52.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_52.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_52.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_52.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_52.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 146, 179, 0.3), RGBA(0, 146, 179, 0.3) 10px, RGBA(0, 146, 179, 0.6) 10px, RGBA(0, 146, 179, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_52.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #0092b3 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_52.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #80c9d9;
}

.o_calendar_renderer .o_calendar_color_52.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_52.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_52.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #00758f;
}

.o_cw_filter_color_52 .o_cw_filter_input_bg {
  border-color: #0092b3;
}

.o_cw_filter_color_52 .o_cw_filter_input_bg:checked {
  background-color: #0092b3;
}

.o_calendar_renderer .o_calendar_color_53 {
  --fc-event-bg-color: #8c8eff;
  --o-event-bg: #0004ff;
  --o-event-bg--subtle-rgb: 140, 142, 255;
}

.o_calendar_renderer .o_calendar_color_53.fc-bg-event {
  --fc-bg-event-color: #8c8eff;
}

.o_calendar_renderer .o_calendar_color_53.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_53.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_53.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_53.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_53.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(0, 4, 255, 0.3), RGBA(0, 4, 255, 0.3) 10px, RGBA(0, 4, 255, 0.6) 10px, RGBA(0, 4, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_53.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #0004ff 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_53.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #8082ff;
}

.o_calendar_renderer .o_calendar_color_53.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_53.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_53.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #0003cc;
}

.o_cw_filter_color_53 .o_cw_filter_input_bg {
  border-color: #0004ff;
}

.o_cw_filter_color_53 .o_cw_filter_input_bg:checked {
  background-color: #0004ff;
}

.o_calendar_renderer .o_calendar_color_54 {
  --fc-event-bg-color: #dc8cb8;
  --o-event-bg: #b20062;
  --o-event-bg--subtle-rgb: 220, 140, 184;
}

.o_calendar_renderer .o_calendar_color_54.fc-bg-event {
  --fc-bg-event-color: #dc8cb8;
}

.o_calendar_renderer .o_calendar_color_54.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_54.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_54.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_54.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_54.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(178, 0, 98, 0.3), RGBA(178, 0, 98, 0.3) 10px, RGBA(178, 0, 98, 0.6) 10px, RGBA(178, 0, 98, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_54.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #b20062 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_54.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #d980b1;
}

.o_calendar_renderer .o_calendar_color_54.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_54.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_54.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #8e004e;
}

.o_cw_filter_color_54 .o_cw_filter_input_bg {
  border-color: #b20062;
}

.o_cw_filter_color_54 .o_cw_filter_input_bg:checked {
  background-color: #b20062;
}

.o_calendar_renderer .o_calendar_color_55 {
  --fc-event-bg-color: #b9cec0;
  --o-event-bg: #649173;
  --o-event-bg--subtle-rgb: 185, 206, 192;
}

.o_calendar_renderer .o_calendar_color_55.fc-bg-event {
  --fc-bg-event-color: #b9cec0;
}

.o_calendar_renderer .o_calendar_color_55.o_event_hatched:has(.fc-bg), .o_calendar_renderer .o_calendar_color_55.o_attendee_status_tentative:has(.fc-bg) {
  --fc-event-bg-color: white;
}

.o_calendar_renderer .o_calendar_color_55.o_event_hatched:not(.o_event_dot):not(.fc-daygrid-event):not(.fc-timegrid-event), .o_calendar_renderer .o_calendar_color_55.o_event_hatched .fc-bg, .o_calendar_renderer .o_calendar_color_55.o_attendee_status_tentative:not(.o_event_dot) .fc-bg {
  background: repeating-linear-gradient(45deg, RGBA(100, 145, 115, 0.3), RGBA(100, 145, 115, 0.3) 10px, RGBA(100, 145, 115, 0.6) 10px, RGBA(100, 145, 115, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_55.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #649173 45% 55%, transparent 55% 100%);
}

.o_calendar_renderer .o_calendar_color_55.fc-event:not(.o_event_dot):not(.fc-dragging) {
  --fc-event-text-color: #000;
  --fc-event-border-color: #b2c8b9;
}

.o_calendar_renderer .o_calendar_color_55.o_event_dot {
  background-color: rgba(var(--o-event-bg--subtle-rgb), var(--o-bg-opacity));
}

.o_calendar_renderer .o_calendar_color_55.o_event_dot:before {
  color: var(--o-event-bg, #17a2b8);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #dee2e6;
}

.o_cw_filter_color_55.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #50745c;
}

.o_cw_filter_color_55 .o_cw_filter_input_bg {
  border-color: #649173;
}

.o_cw_filter_color_55 .o_cw_filter_input_bg:checked {
  background-color: #649173;
}



/* /web/static/src/views/calendar/calendar_renderer_mobile.scss */

@media (max-width: 187.98mm) {
  .o_calendar_renderer .o_actionswiper, .o_calendar_renderer .o_actionswiper_overflow_container, .o_calendar_renderer .o_actionswiper_target_container {
    height: 100%;
  }
  .o_calendar_renderer .fc-view.fc-timeGrid-view .fc-axis {
    padding-left: 0;
  }
  .o_calendar_renderer .fc-view.fc-timeGridDay-view colgroup > col, .o_calendar_renderer .fc-view.fc-timeGridWeek-view colgroup > col {
    width: 5ch !important;
  }
  .o_calendar_renderer .fc-view .fc-body > tr > .fc-widget-content {
    border: 0;
  }
  .o_calendar_renderer .fc-view .fc-head-container.fc-widget-header {
    border-left: 0;
    border-right: 0;
  }
  .o_calendar_renderer .fc-more-popover .fc-close {
    padding: 5px;
  }
}



/* /web/static/src/views/calendar/calendar_year/calendar_year_popover.scss */

.o_cw_popover_link {
  margin-top: 2px;
}

.o_cw_popover_link[class*="o_calendar_color_"] {
  --o-bg-opacity: 1;
  border-radius: 0.25rem;
  border-color: var(--o-cw-popover-color, #17a2b8);
  padding: 0 3.25px;
  background: RGBA(var(--o-cw-popover-color--subtle, 23, 162, 184), var(--o-bg-opacity));
  font-weight: 400;
}

.o_cw_popover_link[class*="o_calendar_color_"]:hover {
  --o-bg-opacity: .5 !important;
}

.o_cw_popover_link[class*="o_calendar_color_"].o_event_dot {
  --o-bg-opacity: 0;
}

.o_cw_popover_link[class*="o_calendar_color_"].o_event_dot:before {
  margin-right: 3.25px;
  font-family: FontAwesome;
  font-size: 0.75rem;
  color: var(--o-cw-popover-color, #17a2b8);
  content: '\f111';
}

.o_cw_popover_link.o_calendar_color_0 {
  --o-cw-popover-color: #a2a2a2;
  --o-cw-popover-color--subtle: #d5d5d5;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_1 {
  --o-cw-popover-color: #ee2d2d;
  --o-cw-popover-color--subtle: #f7a1a1;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_2 {
  --o-cw-popover-color: #dc8534;
  --o-cw-popover-color--subtle: #efc8a4;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_3 {
  --o-cw-popover-color: #e8bb1d;
  --o-cw-popover-color--subtle: #f5e099;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_4 {
  --o-cw-popover-color: #5794dd;
  --o-cw-popover-color--subtle: #b3cff0;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_5 {
  --o-cw-popover-color: #9f628f;
  --o-cw-popover-color--subtle: #d4b8cd;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_6 {
  --o-cw-popover-color: #db8865;
  --o-cw-popover-color--subtle: #efc9ba;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_7 {
  --o-cw-popover-color: #41a9a2;
  --o-cw-popover-color--subtle: #aad8d5;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_8 {
  --o-cw-popover-color: #304be0;
  --o-cw-popover-color--subtle: #a2aef1;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_9 {
  --o-cw-popover-color: #ee2f8a;
  --o-cw-popover-color--subtle: #f7a1ca;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_10 {
  --o-cw-popover-color: #61c36e;
  --o-cw-popover-color--subtle: #b8e4be;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_11 {
  --o-cw-popover-color: #9872e6;
  --o-cw-popover-color--subtle: #d1c0f4;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_12 {
  --o-cw-popover-color: #aa4b6b;
  --o-cw-popover-color--subtle: #d9aebc;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_13 {
  --o-cw-popover-color: #30C381;
  --o-cw-popover-color--subtle: #a2e4c6;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_14 {
  --o-cw-popover-color: #97743a;
  --o-cw-popover-color--subtle: #d0c0a6;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_15 {
  --o-cw-popover-color: #F7CD1F;
  --o-cw-popover-color--subtle: #fbe99a;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_16 {
  --o-cw-popover-color: #4285F4;
  --o-cw-popover-color--subtle: #aac8fa;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_17 {
  --o-cw-popover-color: #8E24AA;
  --o-cw-popover-color--subtle: #cc9cd9;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_18 {
  --o-cw-popover-color: #D6145F;
  --o-cw-popover-color--subtle: #ed95b7;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_19 {
  --o-cw-popover-color: #173e43;
  --o-cw-popover-color--subtle: #97a8aa;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_20 {
  --o-cw-popover-color: #348F50;
  --o-cw-popover-color--subtle: #a4cdb0;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_21 {
  --o-cw-popover-color: #AA3A38;
  --o-cw-popover-color--subtle: #d9a6a5;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_22 {
  --o-cw-popover-color: #795548;
  --o-cw-popover-color--subtle: #c3b3ad;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_23 {
  --o-cw-popover-color: #5e0231;
  --o-cw-popover-color--subtle: #b78da2;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_24 {
  --o-cw-popover-color: #6be585;
  --o-cw-popover-color--subtle: #bcf3c8;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_25 {
  --o-cw-popover-color: #999966;
  --o-cw-popover-color--subtle: #d1d1ba;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_26 {
  --o-cw-popover-color: #e9d362;
  --o-cw-popover-color--subtle: #f5ebb8;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_27 {
  --o-cw-popover-color: #b56969;
  --o-cw-popover-color--subtle: #debcbc;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_28 {
  --o-cw-popover-color: #bdc3c7;
  --o-cw-popover-color--subtle: #e1e4e6;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_29 {
  --o-cw-popover-color: #649173;
  --o-cw-popover-color--subtle: #b9cec0;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_30 {
  --o-cw-popover-color: #ea00ff;
  --o-cw-popover-color--subtle: #f68cff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_31 {
  --o-cw-popover-color: #ff0026;
  --o-cw-popover-color--subtle: #ff8c9d;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_32 {
  --o-cw-popover-color: #8bcc00;
  --o-cw-popover-color--subtle: #cbe88c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_33 {
  --o-cw-popover-color: #00bfaf;
  --o-cw-popover-color--subtle: #8ce2db;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_34 {
  --o-cw-popover-color: #006aff;
  --o-cw-popover-color--subtle: #8cbcff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_35 {
  --o-cw-popover-color: #af00bf;
  --o-cw-popover-color--subtle: #db8ce2;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_36 {
  --o-cw-popover-color: #bf001d;
  --o-cw-popover-color--subtle: #e28c99;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_37 {
  --o-cw-popover-color: #bf6300;
  --o-cw-popover-color--subtle: #e2b98c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_38 {
  --o-cw-popover-color: #8cff00;
  --o-cw-popover-color--subtle: #cbff8c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_39 {
  --o-cw-popover-color: #00f2ff;
  --o-cw-popover-color--subtle: #8cf9ff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_40 {
  --o-cw-popover-color: #004ab3;
  --o-cw-popover-color--subtle: #8caedd;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_41 {
  --o-cw-popover-color: #ff00d0;
  --o-cw-popover-color--subtle: #ff8cea;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_42 {
  --o-cw-popover-color: #ffa600;
  --o-cw-popover-color--subtle: #ffd78c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_43 {
  --o-cw-popover-color: #3acc00;
  --o-cw-popover-color--subtle: #a6e88c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_44 {
  --o-cw-popover-color: #00b6bf;
  --o-cw-popover-color--subtle: #8cdee2;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_45 {
  --o-cw-popover-color: #0048ff;
  --o-cw-popover-color--subtle: #8cadff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_46 {
  --o-cw-popover-color: #bf7c00;
  --o-cw-popover-color--subtle: #e2c48c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_47 {
  --o-cw-popover-color: #04ff00;
  --o-cw-popover-color--subtle: #8eff8c;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_48 {
  --o-cw-popover-color: #00d0ff;
  --o-cw-popover-color--subtle: #8ceaff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_49 {
  --o-cw-popover-color: #0036bf;
  --o-cw-popover-color--subtle: #8ca5e2;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_50 {
  --o-cw-popover-color: #ff008c;
  --o-cw-popover-color--subtle: #ff8ccb;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_51 {
  --o-cw-popover-color: #00bf49;
  --o-cw-popover-color--subtle: #8ce2ad;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_52 {
  --o-cw-popover-color: #0092b3;
  --o-cw-popover-color--subtle: #8ccedd;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_53 {
  --o-cw-popover-color: #0004ff;
  --o-cw-popover-color--subtle: #8c8eff;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_54 {
  --o-cw-popover-color: #b20062;
  --o-cw-popover-color--subtle: #dc8cb8;
  color: #000;
}

.o_cw_popover_link.o_calendar_color_55 {
  --o-cw-popover-color: #649173;
  --o-cw-popover-color--subtle: #b9cec0;
  color: #000;
}



/* /web/static/src/views/calendar/filter_panel/calendar_filter_panel.scss */

.o-section-slide {
  max-height: 0;
  transition: max-height 0.35s ease;
}

.o-section-slide.o-section-slide-enter, .o-section-slide.o-section-slide-leave {
  overflow: hidden !important;
}

.o-section-slide.o-section-slide-enter-active {
  max-height: 100%;
  overflow: auto;
}

.o-section-slide .o_calendar_filter_item.no_filter_color input, .o-section-slide .o_calendar_filter_item.no_filter_color input:hover, .o-section-slide .o_calendar_filter_item.o_cw_filter_color_false input, .o-section-slide .o_calendar_filter_item.o_cw_filter_color_false input:hover, .o-section-slide .o_calendar_filter_item:not([class*='o_cw_filter_color']) input, .o-section-slide .o_calendar_filter_item:not([class*='o_cw_filter_color']) input:hover {
  border-color: #FFF;
  background-color: transparent !important;
  filter: invert(1) grayscale(1);
}



/* /web/static/src/views/fields/ace/ace_field.scss */

.o_field_ace, .o_field_code {
  display: block !important;
}



/* /web/static/src/views/fields/boolean_favorite/boolean_favorite_field.scss */

.o_field_widget.o_favorite i.fa, .o_field_widget .o_favorite i.fa {
  font-size: var(--Favorite-font-size, 1rem);
}

.o_field_widget.o_favorite i.fa-star-o, .o_field_widget .o_favorite i.fa-star-o {
  color: rgba(52, 58, 64, 0.76);
}

.o_field_widget.o_favorite i.fa-star-o:hover, .o_field_widget.o_favorite i.fa-star-o:focus, .o_field_widget.o_favorite i.fa-star-o.focus, .o_field_widget .o_favorite i.fa-star-o:hover, .o_field_widget .o_favorite i.fa-star-o:focus, .o_field_widget .o_favorite i.fa-star-o.focus {
  color: #f3cc00;
}

.o_field_widget.o_favorite i.fa-star, .o_field_widget .o_favorite i.fa-star {
  color: #f3cc00;
}



/* /web/static/src/views/fields/char/char_field.scss */

@media (min-width: 188mm) {
  .o_field_char {
    width: inherit;
  }
}

.o_field_widget:has(.o_field_translate + .o_field_input_buttons) {
  position: relative;
}

.o_field_input_buttons {
  position: absolute;
  right: 0;
  height: 100%;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  visibility: hidden;
}

.o_field_char .o_field_input_buttons {
  align-items: center;
}

.o_field_text .o_field_input_buttons {
  align-items: flex-start;
}

.o_field_input_buttons .btn.o_field_translate {
  position: relative;
  right: auto;
  top: auto;
}

.o_field_input_buttons .btn.o_field_translate:only-child {
  padding-right: 10px;
}

.o_field_widget:hover .o_field_input_buttons,
.o_field_widget:focus-within .o_field_input_buttons {
  visibility: visible;
}



/* /web/static/src/views/fields/color_picker/color_picker_field.scss */

.o_field_widget.o_field_color_picker > div {
  margin-left: -2px;
  margin-right: -2px;
  margin-bottom: -2px;
}

.o_field_widget.o_field_color_picker > div > div {
  display: inline-block;
  border: 1px solid white;
  box-shadow: 0 0 0 1px #dee2e6;
  margin: 2px;
}



/* /web/static/src/views/fields/copy_clipboard/copy_clipboard_field.scss */

.o_field_CopyClipboardURL > div, .o_field_CopyClipboardChar > div {
  grid-template-columns: auto min-content;
}

.o_field_CopyClipboardURL > div .o_clipboard_button, .o_field_CopyClipboardChar > div .o_clipboard_button {
  border: none;
}

.o_field_CopyClipboardURL > div > span:first-child, .o_field_CopyClipboardURL > div a, .o_field_CopyClipboardChar > div > span:first-child, .o_field_CopyClipboardChar > div a {
  margin-left: 4px;
  margin-right: 4px;
  align-self: center;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.o_field_CopyClipboardURL.o_readonly_modifier > div, .o_field_CopyClipboardChar.o_readonly_modifier > div {
  border: 1px solid #e6e6e6;
}

.o_field_CopyClipboardURL.o_readonly_modifier > div > span, .o_field_CopyClipboardChar.o_readonly_modifier > div > span {
  padding-left: 4px;
}

body:not(.o_touch_device) .o_field_CopyClipboardURL:not(.o_readonly_modifier):not(:hover):not(:focus-within) button, .o_field_CopyClipboardChar:not(.o_readonly_modifier):not(:hover):not(:focus-within) button {
  opacity: 0 !important;
}



/* /web/static/src/views/fields/datetime/datetime_field.scss */

.o_field_date .o_add_date,
.o_field_datetime .o_add_date,
.o_field_daterange .o_add_date {
  visibility: hidden;
}

.o_field_date:focus-within .o_add_date, .o_field_date:hover .o_add_date,
.o_field_datetime:focus-within .o_add_date,
.o_field_datetime:hover .o_add_date,
.o_field_daterange:focus-within .o_add_date,
.o_field_daterange:hover .o_add_date {
  visibility: visible;
}

.o_field_date .o_add_start_date,
.o_field_datetime .o_add_start_date,
.o_field_daterange .o_add_start_date {
  order: 1;
}



/* /web/static/src/views/fields/email/email_field.scss */

body:not(.o_touch_device) .o_field_email:not(:hover):not(:focus-within) input:not(:hover) ~ a {
  display: none !important;
}



/* /web/static/src/views/fields/fields.scss */

.o_field_cursor_disabled {
  cursor: not-allowed;
}

.o_field_highlight .o_field_widget .o_input, .o_field_highlight.o_field_widget .o_input {
  border-color: var(--o-input-border-color);
}

.o_field_widget input, .o_field_widget textarea, .o_field_widget select {
  color: inherit;
}

:root {
  --o-input-border-color: #e9ecef;
  --o-caret-color: var(--body-color);
}

.o_required_modifier {
  --o-input-border-color: #212529;
  --o-caret-color: #212529;
}

.o_field_widget:focus-within {
  --o-input-border-color: #017e84;
  --o-caret-color: #017e84;
}

.o_field_invalid {
  --o-input-border-color: #d44c59;
  --o-caret-color: #d44c59;
}

.o_input {
  border: var(--border-width) solid var(--o-input-border-color);
  border-width: 0 0 var(--border-width) 0;
  padding: 1px 0;
  background-color: var(--o-input-background-color, transparent);
}

.o_input:placeholder-shown {
  text-overflow: ellipsis;
}

.o_input .o_input {
  border: 0;
  padding: 0;
}

.o_field_invalid:not(:focus-within).o_input, .o_field_invalid:not(:focus-within) > .o_input, .o_field_invalid:not(:focus-within).o_form_label {
  color: #d23f3a;
}

.o_field_invalid:not(:focus-within):not(.o_form_label) {
  --o-input-background-color: rgba(220, 53, 69, 0.1);
}

.o_field_empty {
  display: none;
}

.o_field_number {
  white-space: nowrap;
}

.o_field_widget {
  text-align: inherit;
  display: var(--fieldWidget-display, inline-block);
  margin-bottom: var(--fieldWidget-margin-bottom);
}

.o_field_widget textarea.o_input,
.o_field_widget input.o_input {
  display: inline-block;
  text-align: inherit;
}

.o_field_widget .o_input_dropdown .o_input, .o_field_widget .o_input_dropdown > input, .o_field_widget .o_datepicker .o_input, .o_field_widget .o_datepicker > input {
  padding-right: 10px;
}

.o_field_widget .o_input_dropdown .o_dropdown_button, .o_field_widget .o_input_dropdown .o_datepicker_button, .o_field_widget .o_datepicker .o_dropdown_button, .o_field_widget .o_datepicker .o_datepicker_button {
  position: absolute;
  top: 1px;
  left: auto;
  bottom: var(--border-width);
  right: 0;
  pointer-events: none;
}

.o_field_widget .o_input_dropdown .o_dropdown_button:after, .o_field_widget .o_input_dropdown .o_datepicker_button:after, .o_field_widget .o_datepicker .o_dropdown_button:after, .o_field_widget .o_datepicker .o_datepicker_button:after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  -moz-transform: scale(0.9999);
  border-bottom: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--o-caret-color, currentColor);
}

.o_field_widget.note-editor, .o_field_widget.o_field_html, .o_field_widget.oe_form_field_text, .o_field_widget.o_field_domain, .o_field_widget.o_graph_linechart, .o_field_widget.o_graph_barchart {
  display: block;
}

.o_field_widget.o_field_many2one, .o_field_widget.o_field_radio, .o_field_widget.o_field_percent_pie, .o_field_widget.o_field_monetary, .o_field_widget.o_field_binary_file, .o_field_widget.o_field_float_percentage {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
}

.o_field_widget.o_field_many2one > span, .o_field_widget.o_field_many2one > button, .o_field_widget.o_field_radio > span, .o_field_widget.o_field_radio > button, .o_field_widget.o_field_percent_pie > span, .o_field_widget.o_field_percent_pie > button, .o_field_widget.o_field_monetary > span, .o_field_widget.o_field_monetary > button, .o_field_widget.o_field_binary_file > span, .o_field_widget.o_field_binary_file > button, .o_field_widget.o_field_float_percentage > span, .o_field_widget.o_field_float_percentage > button {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_field_widget .o_input_dropdown {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  position: relative;
  width: 100%;
}

.o_field_widget .o_input_dropdown > input {
  cursor: pointer;
}

.o_field_widget .o_input_dropdown > input::-ms-clear {
  display: none;
}

.o_field_widget.o_field_text, .o_field_widget.oe_form_field_text .oe_form_text_content {
  width: 100%;
  white-space: pre-wrap;
}

.o_field_widget.o_field_monetary.o_input, .o_field_widget.o_field_float_percentage.o_input {
  align-items: baseline;
}

.o_field_widget.o_field_monetary.o_input > input, .o_field_widget.o_field_float_percentage.o_input > input {
  width: 100px;
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
}

.o_field_widget.o_field_many2one {
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
}

.o_field_widget .o_field_many2one_selection {
  display: -webkit-box; display: -webkit-flex; display: flex;
  width: 100%;
}

.o_field_widget .o_external_button {
  padding-top: 0;
  padding-bottom: 0;
}

.o_field_widget .o_row_handle {
  cursor: url(/web/static/img/openhand.cur), grab;
  color: #adb5bd;
  text-align: center;
  width: 100%;
}

.o_field_widget .o_row_handle:hover {
  color: #666666;
}

@media (max-width: 187.98mm) {
  .o_field_widget.o_field_radio {
    display: inline-block;
  }
}

.o_field_widget.o_field_radio .o_radio_input {
  outline: none;
}

.o_field_widget.o_field_radio .o_radio_item {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_field_widget.o_field_radio.o_horizontal .o_radio_item {
  margin-right: 10px;
}

.o_field_widget.o_field_radio.o_vertical {
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
}

.o_field_widget.o_field_radio.o_vertical .o_radio_item {
  margin-bottom: 5px;
}

.o_field_widget.o_field_percent_pie {
  align-items: center;
}

.o_field_widget.o_ace_view_editor {
  width: 100%;
}

.o_field_widget.o_ace_view_editor .ace-view-editor {
  height: 300px;
  padding: 0 1em;
}

.o_field_widget.o_field_image, .o_field_widget.o_field_image_url {
  position: relative;
}

.o_field_widget.o_field_image .o_form_image_controls, .o_field_widget.o_field_image_url .o_form_image_controls {
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
  width: 100%;
  color: white;
  background-color: #714B67;
  opacity: 0;
  transition: opacity ease 400ms;
  min-width: 35px;
}

.o_field_widget.o_field_image .o_form_image_controls > button.fa, .o_field_widget.o_field_image_url .o_form_image_controls > button.fa {
  border: none;
  background-color: transparent;
}

.o_field_widget.o_field_image .o_form_image_controls > .fa, .o_field_widget.o_field_image_url .o_form_image_controls > .fa {
  padding: 4px;
  margin: 5px;
  cursor: pointer;
}

@media (max-width: 575.98px) {
  .o_field_widget.o_field_image .o_form_image_controls, .o_field_widget.o_field_image_url .o_form_image_controls {
    position: initial;
    opacity: 1;
  }
  .o_field_widget.o_field_image .o_form_image_controls > .fa, .o_field_widget.o_field_image_url .o_form_image_controls > .fa {
    width: 50%;
    padding: 6px;
    margin: 0px;
    text-align: center;
  }
  .o_field_widget.o_field_image .o_form_image_controls > .fa.o_select_file_button, .o_field_widget.o_field_image_url .o_form_image_controls > .fa.o_select_file_button {
    background: #714B67;
  }
  .o_field_widget.o_field_image .o_form_image_controls > .fa.o_clear_file_button, .o_field_widget.o_field_image_url .o_form_image_controls > .fa.o_clear_file_button {
    background: #d44c59;
  }
}

.o_field_widget.o_field_image:hover .o_form_image_controls, .o_field_widget.o_field_image_url:hover .o_form_image_controls {
  opacity: 0.8;
}

.o_field_widget.o_field_image.o_field_invalid > img, .o_field_widget.o_field_image_url.o_field_invalid > img {
  border: 1px solid #d44c59;
}

.o_field_widget .o_form_binary_progress, .o_field_widget .o_hidden_input_file .o_input_file {
  display: none;
}

.o_field_widget.o_field_domain > .o_field_domain_panel {
  margin-top: 8px;
}

.o_field_widget.o_field_domain.o_inline_mode.o_edit_mode {
  position: relative;
}

.o_field_widget.o_field_domain.o_inline_mode.o_edit_mode > .o_field_domain_panel {
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
  margin-top: 0;
}

.o_field_widget.o_field_pdfviewer, .o_field_widget.o_field_pdf_viewer .o_pdfview_iframe {
  width: 100%;
  height: 450px;
  border: 0;
  margin-top: 10px;
}

.o_field_widget.o_field_copy {
  position: relative;
  width: 100% !important;
  border-radius: 5px;
  border: 1px solid #714B67;
  font-size: 0.8125rem;
  color: #714B67;
  font-weight: normal;
  text-align: center;
  padding-right: 6rem;
  word-break: break-word;
}

.o_field_widget.o_field_copy .o_clipboard_button {
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
}

.o_field_widget.o_field_copy .o_clipboard_button.o_btn_text_copy {
  position: absolute;
  top: 0;
  right: 0;
}

.o_field_widget.o_field_copy .o_clipboard_button.o_btn_char_copy {
  height: 100%;
}

.o_field_widget.o_field_copy.o_field_copy_url {
  cursor: pointer;
  padding-left: 3px;
}

.o_field_widget > .o_field_color {
  border: 2px solid rgba(0, 0, 0, 0.25);
  border-radius: 100px;
  width: 30px;
  height: 30px;
  margin: 0 5px 0 0;
  display: inline-block;
}

span.o_field_copy:empty {
  border: none;
}

button.o_field_float_toggle {
  width: 100%;
  text-align: center;
}

select.o_field_widget.o_input {
  padding: 1px;
}



/* /web/static/src/views/fields/google_slide_viewer/google_slide_viewer.scss */

.o_field_widget.o_field_google_slide_viewer {
  width: 100%;
}

.o_field_widget.o_field_google_slide_viewer div {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 Ratio */
  height: 0;
  overflow: hidden;
}

.o_field_widget.o_field_google_slide_viewer iframe {
  border: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}



/* /web/static/src/views/fields/html/html_field.scss */

.o_field_widget.o_field_html {
  display: block;
}



/* /web/static/src/views/fields/iframe_wrapper/iframe_wrapper_field.scss */

.o_preview_iframe_wrapper {
  overflow: hidden;
  width: 520px;
  height: 732px;
  position: relative;
  margin: 8px;
}

.o_preview_iframe {
  width: 1040px;
  height: 1464px;
  border: 2px solid lightgrey;
  padding-top: 30px;
  padding-bottom: 30px;
  -ms-zoom: 0.5;
  -moz-transform: scale(0.5);
  -moz-transform-origin: 0 0;
  -o-transform: scale(0.5);
  -o-transform-origin: 0 0;
  -webkit-transform: scale(0.5);
  -webkit-transform-origin: 0 0;
}

@media (max-width: 1488px), (max-height: 950px) {
  .o_preview_iframe_wrapper {
    overflow: hidden;
    width: 494px;
    height: 695.4px;
    position: relative;
    margin: 8px;
  }
  .o_preview_iframe {
    width: 1040px;
    height: 1464px;
    border: 2px solid lightgrey;
    padding-top: 30px;
    padding-bottom: 30px;
    -ms-zoom: 0.5;
    -moz-transform: scale(0.475);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.475);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.475);
    -webkit-transform-origin: 0 0;
  }
}

@media (max-width: 1488px), (max-height: 900px) {
  .o_preview_iframe_wrapper {
    overflow: hidden;
    width: 390px;
    height: 549px;
    position: relative;
    margin: 8px;
  }
  .o_preview_iframe {
    width: 1040px;
    height: 1464px;
    border: 2px solid lightgrey;
    padding-top: 30px;
    padding-bottom: 30px;
    -ms-zoom: 0.5;
    -moz-transform: scale(0.375);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.375);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.375);
    -webkit-transform-origin: 0 0;
  }
}

@media (max-width: 600px) {
  .o_preview_iframe_wrapper {
    overflow: hidden;
    width: 312px;
    height: 439.2px;
    position: relative;
    margin: 8px;
  }
  .o_preview_iframe {
    width: 1040px;
    height: 1464px;
    border: 2px solid lightgrey;
    padding-top: 30px;
    padding-bottom: 30px;
    -ms-zoom: 0.5;
    -moz-transform: scale(0.3);
    -moz-transform-origin: 0 0;
    -o-transform: scale(0.3);
    -o-transform-origin: 0 0;
    -webkit-transform: scale(0.3);
    -webkit-transform-origin: 0 0;
  }
}



/* /web/static/src/views/fields/image/image_field.scss */

.o_field_image > div {
  height: 100%;
  width: 100%;
}

.o_field_image > div > img {
  background-color: var(--ImageField-background-color, transparent);
}

.o_field_image button {
  transition: opacity ease 400ms;
  width: 26px;
  height: 26px;
}

.o_field_image .o_mobile_controls button {
  width: 30px;
  height: 30px;
  padding: 6px !important;
}

.o_field_image.o_field_invalid img {
  border: 1px solid #d44c59;
}

.o_image_zoom img {
  max-width: 100%;
  max-height: 50vh;
}



/* /web/static/src/views/fields/journal_dashboard_graph/journal_dashboard_graph_field.scss */

.o_field_dashboard_graph {
  width: 100%;
}



/* /web/static/src/views/fields/kanban_color_picker/kanban_color_picker_field.scss */

.o_kanban_colorpicker {
  max-width: 150px;
  padding: 3px 15px 3px 20px;
}

.o_kanban_colorpicker .o_kanban_color_1:after {
  background-color: #ee2d2d;
}

.o_kanban_colorpicker .o_kanban_color_2:after {
  background-color: #dc8534;
}

.o_kanban_colorpicker .o_kanban_color_3:after {
  background-color: #e8bb1d;
}

.o_kanban_colorpicker .o_kanban_color_4:after {
  background-color: #5794dd;
}

.o_kanban_colorpicker .o_kanban_color_5:after {
  background-color: #9f628f;
}

.o_kanban_colorpicker .o_kanban_color_6:after {
  background-color: #db8865;
}

.o_kanban_colorpicker .o_kanban_color_7:after {
  background-color: #41a9a2;
}

.o_kanban_colorpicker .o_kanban_color_8:after {
  background-color: #304be0;
}

.o_kanban_colorpicker .o_kanban_color_9:after {
  background-color: #ee2f8a;
}

.o_kanban_colorpicker .o_kanban_color_10:after {
  background-color: #61c36e;
}

.o_kanban_colorpicker .o_kanban_color_11:after {
  background-color: #9872e6;
}

.o_kanban_colorpicker > li {
  display: inline-block;
  margin: 5px 5px 0 0;
  border: 1px solid white;
  box-shadow: 0 0 0 1px #dee2e6;
}

.o_kanban_colorpicker > li > a {
  display: block;
}

.o_kanban_colorpicker > li > a::after {
  content: "";
  display: block;
  width: 20px;
  height: 15px;
}

.o_kanban_colorpicker > li:first-child > a:after {
  background: linear-gradient(45deg, rgba(var(--body-bg), 0) 0%, rgba(var(--body-bg), 0) 48%, #d44c59 48%, #d44c59 52%, rgba(var(--body-bg), 0) 52%, rgba(var(--body-bg), 0) 100%);
}



/* /web/static/src/views/fields/many2many_binary/many2many_binary_field.scss */

.o_attachment {
  position: relative;
  width: 100%;
  padding: 5px;
}

@media (min-width: 188mm) {
  .o_attachment {
    width: 50%;
  }
}

@media (min-width: 190mm) {
  .o_attachment {
    width: 25%;
  }
}

@media (min-width: 188mm) {
  .o_attachment.o_attachment_many2many {
    width: 50%;
  }
}

@media (min-width: 190mm) {
  .o_attachment.o_attachment_many2many {
    width: 62%;
  }
}

.o_attachment .o_attachment_wrap {
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  padding: 4px 6px 0 4px;
  background-color: rgba(0, 0, 0, 0.05);
}

.o_attachment .o_attachment_wrap .o_attachment_delete_cross {
  float: right;
  cursor: pointer;
}

.o_attachment.o_attachment_editable .o_attachment_wrap {
  padding-right: 40px;
}

.o_attachment .o_image {
  width: 38px;
  height: 38px;
  image-orientation: from-image;
}

.o_attachment .o_image.o_hover {
  opacity: 1;
}

.o_attachment .o_image.o_hover:hover, .o_attachment .o_image.o_hover:focus, .o_attachment .o_image.o_hover.focus {
  opacity: 0.7;
}

.o_attachment .o_attachment_view {
  cursor: zoom-in;
}

.o_attachment .caption {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_attachment .caption a {
  color: #343a40;
}

.o_attachment .caption a:hover, .o_attachment .caption a:focus, .o_attachment .caption a.focus {
  color: #212529;
}

.o_attachment .o_attachment_progress_bar {
  display: none;
}

.o_attachment .o_attachment_uploaded, .o_attachment .o_attachment_delete {
  position: absolute;
  top: 0;
  left: auto;
  bottom: 0;
  right: 0;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
}

.o_attachment .o_attachment_delete {
  background: #5e5e5e;
  color: white;
  cursor: pointer;
  font-size: 20px;
  transform: translateX(100%);
  transition: all 0.3s ease 0s;
}

.o_attachment .o_attachment_delete:hover {
  background: #714B67;
}

.o_attachment.o_attachment_uploading .o_attachment_progress_bar {
  display: inline-block;
  margin: 0 0 0 8px;
  border-radius: 2px;
  vertical-align: bottom;
}

.o_attachment.o_attachment_uploading .o_attachment_progress_bar > div {
  font-size: 11px;
  padding: 0 7px;
}

.o_attachment.o_attachment_uploading .o_attachment_delete, .o_attachment.o_attachment_uploading .o_attachment_uploaded {
  display: none;
}

.o_attachment:hover .o_attachment_delete {
  transition: all 0.1s ease 0s;
  transform: translateX(0);
}



/* /web/static/src/views/fields/many2many_tags/many2many_tags_field.scss */

.o_tag_popover {
  max-width: 150px;
}

.o_tag_popover label {
  line-height: 1.3;
}

.o_field_widget.o_field_many2many_tags {
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  margin: var(--Tags-margin, 0);
}

.o_field_widget.o_field_many2many_tags .o_tags_input {
  padding: 1px 0;
}

.o_field_widget.o_field_many2many_tags .o_field_many2many_selection {
  flex: 1 0 50px;
}

.o_field_widget.o_field_many2many_tags .o_field_many2many_selection .o_input {
  height: 100%;
  border: none;
}

.o_field_widget.o_field_many2many_tags .badge {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_field_widget.o_field_many2many_tags .badge.dropdown {
  cursor: pointer;
}

.o_field_widget.o_field_many2many_tags .badge a {
  color: inherit;
}

.o_field_widget.o_field_many2many_tags .badge .o_badge_text, .o_field_widget.o_field_many2many_tags .badge .o_tag_badge_text {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  max-width: var(--Tag-max-width, 200px);
}

.o_field_widget.o_field_many2many_tags .dropdown-item-selected > a {
  font-weight: bold !important;
}

.o_field_widget.o_field_many2many_tags .o_field_many2many_selection .o_input, .o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection .o_input {
  --o-input-background-color: transparent;
}

.o_list_view .o_field_widget.o_field_many2many_tags .o_tags_input {
  border: 0;
  padding: 0;
}

.o_list_view .o_field_widget.o_field_many2many_tags .o_field_many2many_selection {
  flex-basis: 40px;
}

.o_form_view .o_group .o_field_tags, .o_form_view .o_inner_group .o_field_tags {
  width: 100%;
}

.o_form_view:not(.o_field_highlight) .o_field_many2many_selection .o_dropdown_button {
  visibility: hidden;
}

.o_form_view:not(.o_field_highlight) .o_field_many2many_selection:hover .o_dropdown_button, .o_form_view:not(.o_field_highlight) .o_field_many2many_selection:focus-within .o_dropdown_button {
  visibility: visible;
}

.o_form_statusbar .o_field_tags {
  align-self: center;
}



/* /web/static/src/views/fields/many2many_tags_avatar/many2many_tags_avatar_field.scss */

.o_field_widget.o_field_many2many_tags_avatar {
  --img-text-gap-v: calc(var(--Avatar-size, 1.7145em) - 1.3em);
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  margin-top: calc(var(--img-text-gap-v) * -0.5);
}

.o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection {
  flex: 1 0 50px;
}

.o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection .o-autocomplete, .o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection .o_input {
  height: 100%;
}

.o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection .o_input {
  border: none;
}

.o_field_widget.o_field_many2many_tags_avatar .dropdown-item-selected > a {
  font-weight: bold !important;
}

@media (min-width: 100mm) {
  .o_kanban_record .o_field_widget.o_field_many2many_tags_avatar .o_quick_assign, .o_activity_record .o_field_widget.o_field_many2many_tags_avatar .o_quick_assign {
    visibility: hidden;
  }
  .o_kanban_record:hover .o_field_widget.o_field_many2many_tags_avatar .o_quick_assign, .o_activity_record:hover .o_field_widget.o_field_many2many_tags_avatar .o_quick_assign {
    visibility: visible;
  }
}

.o_list_view .o_field_widget.o_field_many2many_tags_avatar {
  --img-text-gap-v: 0;
}

.o_list_view .o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection {
  flex-basis: 40px;
}

.o_m2m_tags_avatar_field_popover {
  z-index: 1054;
  width: 280px;
  font-size: 0.875rem;
}

.o_m2m_tags_avatar_field_popover .o_input.o_tags_input {
  border: none;
}

.o_m2m_tags_avatar_field_popover .dropdown-menu {
  width: 275px;
}

.o_m2m_tags_avatar_field_popover .o-autocomplete--dropdown-menu {
  font-size: 0.875rem;
}

.o_m2m_tags_avatar_field_popover .o-autocomplete--dropdown-menu .dropdown-item {
  padding: 3px 10px;
}

.o_m2m_tags_avatar_field_popover .o-autocomplete .o-autocomplete--input.o_input {
  border: 1px solid var(--o-input-border-color);
  border-width: 0 0 1px 0;
  margin-bottom: .5rem;
  padding-bottom: 0.25rem;
  background-color: var(--o-input-background-color, transparent);
}

.o_m2m_tags_avatar_field_popover.o_field_widget.o_field_many2many_tags_avatar .o_field_many2many_selection .o-autocomplete {
  height: inherit;
}



/* /web/static/src/views/fields/many2one/many2one_field.scss */

.o_form_view:not(.o_field_highlight) .o_field_many2one_selection .o_external_button, .o_form_view:not(.o_field_highlight) .o_field_many2one_selection .o_dropdown_button {
  visibility: hidden;
}

.o_form_view:not(.o_field_highlight) .o_field_many2one_selection:hover .o_external_button, .o_form_view:not(.o_field_highlight) .o_field_many2one_selection:hover .o_dropdown_button, .o_form_view:not(.o_field_highlight) .o_field_many2one_selection:focus-within .o_external_button, .o_form_view:not(.o_field_highlight) .o_field_many2one_selection:focus-within .o_dropdown_button {
  visibility: visible;
}



/* /web/static/src/views/fields/many2one_avatar/many2one_avatar_field.scss */

.o_field_many2one_avatar img:hover {
  cursor: context-menu;
  outline: 1px solid #017e84;
}

@media (min-width: 100mm) {
  .o_kanban_record .o_field_widget.o_field_many2one_avatar_user .o_quick_assign {
    visibility: hidden;
  }
  .o_kanban_record:hover .o_field_widget.o_field_many2one_avatar_user .o_quick_assign {
    visibility: visible;
  }
}

.o_m2o_tags_avatar_field_popover {
  z-index: 1054;
  font-size: 0.875rem;
}

.o_m2o_tags_avatar_field_popover > .o_field_many2one_selection {
  padding: 0.25rem;
}

.o_m2o_tags_avatar_field_popover > .o_field_many2one_selection .o-autocomplete--dropdown-menu {
  width: 178px;
  font-size: 0.875rem;
}

.o_m2o_tags_avatar_field_popover > .o_field_many2one_selection .o-autocomplete--dropdown-menu .dropdown-item {
  padding: 3px 10px;
}

.o_m2o_tags_avatar_field_popover > .o_field_many2one_selection .o-autocomplete--input {
  margin-bottom: .5rem;
  padding-bottom: 0.25rem;
}



/* /web/static/src/views/fields/monetary/monetary_field.scss */

.o_field_widget.o_field_monetary .o_monetary_ghost_value {
  white-space: pre;
}

.o_field_widget.o_field_monetary input {
  width: 100px;
}



/* /web/static/src/views/fields/pdf_viewer/pdf_viewer_field.scss */

.o_field_widget.o_field_pdf_viewer {
  display: block;
}



/* /web/static/src/views/fields/percent_pie/percent_pie_field.scss */

.o_field_percent_pie .o_pie {
  --PercentPieField-color-active: #017e84;
  --PercentPieField-color-static: rgba(0, 0, 0, 0.15);
  height: var(--PercentPieField-size, 1.09375rem);
  aspect-ratio: 1;
  margin-right: var(--PercentPieField-gap, 6.5px);
}

.o_field_percent_pie .o_pie_text {
  display: none;
}

.oe_stat_button .o_field_percent_pie .o_pie_text {
  display: block;
}



/* /web/static/src/views/fields/phone/phone_field.scss */

body:not(.o_touch_device) .o_field_phone {
  word-break: keep-all !important;
}

body:not(.o_touch_device) .o_field_phone:not(:hover):not(:focus-within) input:not(:hover) ~ a {
  display: none !important;
}

.o_phone_content small, .o_phone_content .small {
  overflow-wrap: normal;
  word-break: normal;
}



/* /web/static/src/views/fields/priority/priority_field.scss */

.o_field_widget.o_priority, .o_field_widget .o_priority {
  display: inline-block;
  padding: 0;
  margin: 0;
  vertical-align: baseline;
  white-space: nowrap;
}

.o_field_widget.o_priority > .o_priority_star, .o_field_widget .o_priority > .o_priority_star {
  display: inline-block;
  font-size: var(--Priority-font-size, 1.35em);
}

.o_field_widget.o_priority > .o_priority_star:hover, .o_field_widget.o_priority > .o_priority_star:focus, .o_field_widget .o_priority > .o_priority_star:hover, .o_field_widget .o_priority > .o_priority_star:focus {
  text-decoration: none;
  outline: none;
}

.o_field_widget.o_priority > .o_priority_star + .o_priority_star, .o_field_widget .o_priority > .o_priority_star + .o_priority_star {
  padding-left: 0.2em;
}

.o_field_widget.o_priority > .o_priority_star.fa-star-o, .o_field_widget .o_priority > .o_priority_star.fa-star-o {
  color: rgba(52, 58, 64, 0.76);
}

.o_field_widget.o_priority > .o_priority_star.fa-star, .o_field_widget .o_priority > .o_priority_star.fa-star {
  color: #f3cc00;
}



/* /web/static/src/views/fields/progress_bar/progress_bar_field.scss */

.o_progressbar .o_progress {
  width: 100px;
  height: 15px;
  border: 1px solid #dee2e6;
  background-color: white;
}

.o_progressbar .o_progressbar_value input {
  width: 45px;
  min-width: 45px;
  transition: width .2s;
}

.o_form_view .o_progressbar_value input:focus-within {
  width: 100%;
}

.o_list_view .o_data_cell .o_progressbar {
  display: table-row;
  justify-content: end;
}

.o_rtl .o_list_view .o_data_cell .o_progressbar {
  -webkit-box-pack: start; justify-content: flex-start;
  text-align: right;
}

.o_list_view .o_data_cell .o_progressbar .o_progressbar_value span {
  min-width: 1.5rem;
}

.o_list_view .o_data_cell .o_progressbar .o_progressbar_value span:last-child {
  text-align: left;
}

.o_kanban_renderer .o_progressbar:not(:hover):not(:focus-within) input {
  border-color: transparent;
}



/* /web/static/src/views/fields/properties/card_properties_field.scss */

.o_card_property_field {
  max-width: 300px;
  font-size: 0.875rem;
}

.o_card_property_field .form-check {
  margin-bottom: 0;
}



/* /web/static/src/views/fields/properties/properties_field.scss */

.o_field_properties {
  width: 100%;
  display: block;
  margin-bottom: 0 !important;
}

.o_field_properties .o_input,
.o_field_properties .o_dropdown_button,
.o_field_properties .o_datepicker_button,
.o_field_properties.o_field_invalid .o_input,
.o_field_properties.o_field_invalid .o_dropdown_button,
.o_field_properties.o_field_invalid .o_datepicker_button,
.o_property_field_popover .o_input,
.o_property_field_popover .o_dropdown_button,
.o_property_field_popover .o_datepicker_button {
  --o-input-border-color: #e9ecef;
  color: #343a40 !important;
}

.o_field_properties .o_dropdown_button,
.o_field_properties .o_datepicker_button,
.o_field_properties.o_field_invalid .o_dropdown_button,
.o_field_properties.o_field_invalid .o_datepicker_button,
.o_property_field_popover .o_dropdown_button,
.o_property_field_popover .o_datepicker_button {
  color: initial !important;
}

.o_field_properties .o_input_dropdown,
.o_field_properties.o_field_invalid .o_input_dropdown,
.o_property_field_popover .o_input_dropdown {
  color: #343a40 !important;
}

.o_field_properties .o_input:focus,
.o_field_properties .dropdown:focus ~ .o_dropdown_button,
.o_field_properties .dropdown:focus-within ~ .o_dropdown_button,
.o_field_properties .o_input:focus ~ .o_datepicker_button,
.o_field_properties .o_dropdown_button:focus,
.o_field_properties.o_field_invalid .o_input:focus,
.o_field_properties.o_field_invalid .dropdown:focus ~ .o_dropdown_button,
.o_field_properties.o_field_invalid .dropdown:focus-within ~ .o_dropdown_button,
.o_field_properties.o_field_invalid .o_input:focus ~ .o_datepicker_button,
.o_field_properties.o_field_invalid .o_dropdown_button:focus,
.o_property_field_popover .o_input:focus,
.o_property_field_popover .dropdown:focus ~ .o_dropdown_button,
.o_property_field_popover .dropdown:focus-within ~ .o_dropdown_button,
.o_property_field_popover .o_input:focus ~ .o_datepicker_button,
.o_property_field_popover .o_dropdown_button:focus {
  --o-input-border-color: #017e84;
}

.o_field_properties .o_input:focus *,
.o_field_properties .dropdown:focus ~ .o_dropdown_button *,
.o_field_properties .dropdown:focus-within ~ .o_dropdown_button *,
.o_field_properties .o_input:focus ~ .o_datepicker_button *,
.o_field_properties .o_dropdown_button:focus *,
.o_field_properties.o_field_invalid .o_input:focus *,
.o_field_properties.o_field_invalid .dropdown:focus ~ .o_dropdown_button *,
.o_field_properties.o_field_invalid .dropdown:focus-within ~ .o_dropdown_button *,
.o_field_properties.o_field_invalid .o_input:focus ~ .o_datepicker_button *,
.o_field_properties.o_field_invalid .o_dropdown_button:focus *,
.o_property_field_popover .o_input:focus *,
.o_property_field_popover .dropdown:focus ~ .o_dropdown_button *,
.o_property_field_popover .dropdown:focus-within ~ .o_dropdown_button *,
.o_property_field_popover .o_input:focus ~ .o_datepicker_button *,
.o_property_field_popover .o_dropdown_button:focus * {
  --o-input-border-color: #017e84;
}

.o_field_properties .o_field_property_empty_label,
.o_field_properties.o_field_invalid .o_field_property_empty_label,
.o_property_field_popover .o_field_property_empty_label {
  color: #d44c59;
}

.o_property_field_highlight .o_field_property_empty_label,
.o_property_field_highlight {
  border: 1px solid #714B67;
  padding: 5px;
  margin: -5px;
  border-radius: 3px;
}

.o_field_property_label {
  width: 180px;
}

.o_field_property_label:hover .o_field_property_open_popover,
.o_field_property_label .o_field_property_open_popover:focus, .o_field_property_label:hover .oi-draggable,
.o_field_property_label .oi-draggable:focus {
  opacity: 1;
}

.o_field_property_label .o_field_property_open_popover,
.o_field_property_label .oi-draggable {
  opacity: 0;
  cursor: pointer;
  transition: 0.1s;
}

.o_field_property_label .o_field_property_open_popover:hover,
.o_field_property_label .oi-draggable:hover {
  color: #714B67;
}

.o_field_property_add {
  margin-left: -1rem;
}

.o_property_folded .o_field_property_label,
.o_property_folded .o_property_field_value {
  display: none !important;
}

.o_property_field_popover {
  font-size: inherit;
  box-sizing: border-box;
}

@media (max-width: 187.98mm) {
  .o_property_field_popover {
    top: 0px !important;
    left: 0px !important;
    right: 0px;
    bottom: 0px;
    margin-top: 0px !important;
  }
}

.o_field_property_group_label {
  cursor: pointer;
  user-select: none;
  height: 20px;
  box-shadow: 0 1px 0 #e6e6e6;
}

.o_field_properties .oi-draggable {
  cursor: url(/web/static/img/openhand.cur), grab;
}

@media (max-width: 99.98mm) {
  .o_field_properties .o_field_property_open_popover {
    opacity: 1;
  }
  .o_field_properties .o_field_property_open_popover.disabled {
    pointer-events: none;
  }
}

.o_property_dragging input {
  background: transparent;
}

.o_property_dragging .o_field_property_open_popover,
.o_property_dragging .o_field_property_label,
.o_property_dragging input {
  pointer-events: none;
}

.o_property_dragging .o_property_drag_item {
  opacity: 0.7;
  transform: rotate(2deg);
}

.o_property_dragging .o_field_property_add {
  display: none;
}

.o_field_properties div:not([columns="1"]) .o_property_drag_group {
  box-sizing: border-box;
  background-color: #e6f2f3;
  border: 1px solid #017e84;
}



/* /web/static/src/views/fields/properties/property_definition.scss */

.o_field_property_definition {
  max-height: 70vh;
  overflow-y: auto;
}

.o_field_property_definition .o_modal_container {
  max-width: calc(1534px / 2);
}

@media (min-width: 100mm) {
  .o_field_property_definition .o_modal_container {
    min-width: calc(1534px / 3);
  }
}

.o_field_property_definition .o_field_property_definition_kanban .form-check-input,
.o_field_property_definition .o_field_property_definition_value .form-check-input {
  margin-left: 3.25px;
}

.o_field_property_definition .o_domain_selector_debug_container {
  width: 100%;
  display: inline-block !important;
}

.o_field_property_definition .o-checkbox {
  padding-left: 0 !important;
}

.o_field_property_definition .o-checkbox input {
  margin-left: 0 !important;
}

.o_field_property_definition .o_input_dropdown .o_properties_external_button,
.o_field_property_definition .o_input_dropdown .o_dropdown_button {
  display: none;
}

.o_field_property_definition .o_input_dropdown:hover .o_properties_external_button,
.o_field_property_definition .o_input_dropdown:hover .o_dropdown_button, .o_field_property_definition .o_input_dropdown:focus-within .o_properties_external_button,
.o_field_property_definition .o_input_dropdown:focus-within .o_dropdown_button {
  display: block;
}

.o_field_property_definition_type img, .o_field_property_definition_type_menu img {
  width: 20px;
  height: 20px;
}

.o_field_property_definition_type .o_input_dropdown input, .o_field_property_definition_type_menu .o_input_dropdown input {
  background-repeat: no-repeat;
  background-size: contain;
  padding-left: 25px;
  background-position-x: 0px;
  background-position-y: 3px;
  background-size: 20px;
}



/* /web/static/src/views/fields/properties/property_definition_selection.scss */

.o_field_property_selection .fa-star {
  color: #f3cc00;
}

.o_field_property_selection_drag {
  cursor: url(/web/static/img/openhand.cur), grab;
  color: #adb5bd;
}

.o_field_property_selection_drag:hover {
  color: #212529;
}



/* /web/static/src/views/fields/properties/property_tags.scss */

.o_field_property_tag .o_tag {
  margin: 1px 2px 1px 0;
}

.o_field_property_tag .o_delete {
  margin-left: 3px;
  line-height: 1;
}

.o_field_property_tag .o_delete::before {
  line-height: 1.1;
}

.o_field_property_tag .o_badge_text {
  line-height: 1.1;
}

.o_field_property_tag .o_input_dropdown {
  width: 100px !important;
  min-width: 100px !important;
}

.o_field_property_tag .o_input_dropdown input {
  border: 0px !important;
}

.o_field_property_tag .o_field_property_dropdown_add * {
  color: #714B67 !important;
}

.o_field_property_tag:not(.readonly):hover,
.o_field_property_tag:not(.readonly):focus-within {
  border-bottom: 1px solid var(--o-input-border-color);
}



/* /web/static/src/views/fields/properties/property_value.scss */

.o_field_property_dropdown_menu .o-autocomplete--dropdown-menu {
  max-height: 200px !important;
}

input.o_field_property_input::-webkit-outer-spin-button,
input.o_field_property_input::-webkit-inner-spin-button {
  -webkit--webkit-appearance: none; -moz-appearance: none; appearance: none;
  margin: 0;
}

input.o_field_property_input[type=number] {
  -moz--webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
}

.o_field_property_dropdown_empty {
  height: 25px;
}

.o_field_property_many2one_value a.disabled {
  pointer-events: none;
  color: #ced4da;
  font-style: italic;
}

.o_field_property_many2many_value .o_delete {
  line-height: 1;
  margin-right: 5px;
}

.o_field_property_many2many_value .o_input_dropdown {
  width: 100px !important;
  min-width: 100px !important;
}

.o_field_property_many2many_value .o_input_dropdown input {
  border: 0px !important;
}

.o_field_property_many2many_value:not(.readonly):hover,
.o_field_property_many2many_value:not(.readonly):focus-within {
  border-bottom: 1px solid var(--o-input-border-color);
}

.o_field_property_many2many_value.avatar .o_tag .o_tag_badge_text {
  padding: 0px !important;
}

.o_property_field_value .o_properties_external_button,
.o_property_field_value .o_dropdown_button {
  display: none;
}

.o_property_field_value:hover .o_properties_external_button,
.o_property_field_value:hover .o_dropdown_button, .o_property_field_value:focus-within .o_properties_external_button,
.o_property_field_value:focus-within .o_dropdown_button {
  display: block;
}

.o_property_field_value select:not(:hover) {
  background: none !important;
}

.o_property_field_value .o_field_property_many2one_value img,
.o_property_field_value .o_m2m_avatar {
  height: var(--Avatar-size, 1.7145em);
  aspect-ratio: 1;
}



/* /web/static/src/views/fields/radio/radio_field.scss */

.o_field_radio > span, .o_field_radio > button {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

@media (max-width: 187.98mm) {
  .o_field_radio {
    display: inline-block;
  }
}

.o_field_radio .o_radio_input {
  outline: none;
}

.o_field_radio .o_radio_item {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_field_radio .o_horizontal {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}

.o_field_radio .o_horizontal .o_radio_item {
  margin-right: 10px;
}

.o_field_radio .o_vertical {
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
}

.o_field_radio .o_vertical .o_radio_item {
  margin-bottom: 5px;
}



/* /web/static/src/views/fields/selection/selection_field.scss */

body:not(.o_touch_device) .o_field_selection:not(.o_field_invalid):not(:hover):not(:focus-within) select:not(:hover) {
  background-image: none;
}



/* /web/static/src/views/fields/signature/signature_field.scss */

.o_field_widget .o_signature {
  outline: 1px solid rgba(222, 226, 230, 0.3);
  position: relative;
}

.o_field_widget .o_signature.o_signature_empty {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_field_widget .o_signature > p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.o_field_invalid .o_signature {
  outline: 3px solid #d44c59;
  cursor: pointer;
}

.o_form_editable .o_signature:hover {
  outline: 3px solid #017e84;
  cursor: pointer;
}



/* /web/static/src/views/fields/state_selection/state_selection_field.scss */

.o_form_sheet > .o_field_state_selection {
  float: right;
}

.o_form_sheet > .o_field_state_selection .dropdown-toggle .o_status {
  height: 1.1375rem;
  width: 1.1375rem;
}



/* /web/static/src/views/fields/statusbar/statusbar_field.scss */

.o_field_statusbar > .o_statusbar_status, .o_field_statusbar_duration > .o_statusbar_status {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-content: space-around;
  margin-left: auto;
  flex-flow: row-reverse wrap-reverse;
  align-self: stretch;
  align-items: stretch;
  --o-statusbar-radius: 0.1rem;
  --o-statusbar-border: white;
  --o-statusbar-background-active: #e6f2f3;
  --o-statusbar-border-active: #017e84;
  --o-statusbar-background-hover: #dee2e6;
  --o-statusbar-caret-width: 1em;
  --o-statusbar-border-width: var(--border-width);
  --o-statusbar-padding-x: calc(var(--o-statusbar-caret-width) * 1.25);
  --o-statusbar-padding-y: calc(0.3125rem + var(--border-width));
  --o-statusbar-point-top-left: 0 0;
  --o-statusbar-point-top-right: calc(100% - var(--o-statusbar-caret-width)) 0;
  --o-statusbar-point-middle-left: var(--o-statusbar-caret-width) 50%;
  --o-statusbar-point-middle-right: 100% 50%;
  --o-statusbar-point-bottom-left: 0 100%;
  --o-statusbar-point-bottom-right: calc(100% - var(--o-statusbar-caret-width)) 100%;
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-border-width) * sqrt(2)) 0;
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) * sqrt(2)) 0;
  --o-statusbar-point-inner-middle-left: calc(var(--o-statusbar-caret-width) + var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-middle-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-border-width) * sqrt(2)) 100%;
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) * sqrt(2)) 100%;
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none), .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none) {
  position: relative;
  padding: var(--o-statusbar-padding-y) calc(var(--o-statusbar-padding-x) * 1.375);
  border: 0;
  clip-path: polygon(var(--o-statusbar-point-top-left), var(--o-statusbar-point-top-right), var(--o-statusbar-point-middle-right), var(--o-statusbar-point-bottom-right), var(--o-statusbar-point-bottom-left), var(--o-statusbar-point-middle-left));
  margin-left: calc(-1 * var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) * sqrt(3));
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last {
  --o-statusbar-point-middle-left: 0 50%;
  padding-left: var(--o-statusbar-padding-x);
  margin-left: 0;
  border-top-left-radius: var(--o-statusbar-radius);
  border-bottom-left-radius: var(--o-statusbar-radius);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first {
  --o-statusbar-point-top-right: 100% 0;
  --o-statusbar-point-bottom-right: 100% 100%;
  padding-right: var(--o-statusbar-padding-x);
  border-top-right-radius: var(--o-statusbar-radius);
  border-bottom-right-radius: var(--o-statusbar-radius);
  flex-grow: 1;
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).dropdown-toggle::after, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).dropdown-toggle::after {
  content: normal;
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none)::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none)::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--o-statusbar-border);
  clip-path: polygon(var(--o-statusbar-point-top-left), var(--o-statusbar-point-top-right), var(--o-statusbar-point-middle-right), var(--o-statusbar-point-bottom-right), var(--o-statusbar-point-bottom-left), var(--o-statusbar-point-middle-left), var(--o-statusbar-point-top-left), var(--o-statusbar-point-inner-top-left), var(--o-statusbar-point-inner-middle-left), var(--o-statusbar-point-inner-bottom-left), var(--o-statusbar-point-inner-bottom-right), var(--o-statusbar-point-inner-middle-right), var(--o-statusbar-point-inner-top-right), var(--o-statusbar-point-inner-top-left));
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last::before {
  --o-statusbar-point-inner-top-left: var(--o-statusbar-point-top-left);
  --o-statusbar-point-inner-middle-left: var(--o-statusbar-point-middle-left);
  --o-statusbar-point-inner-bottom-left: var(--o-statusbar-point-bottom-left);
  border-top-left-radius: var(--o-statusbar-radius);
  border-bottom-left-radius: var(--o-statusbar-radius);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first::before {
  --o-statusbar-point-inner-top-right: var(--o-statusbar-point-top-right);
  --o-statusbar-point-inner-middle-right: var(--o-statusbar-point-middle-right);
  --o-statusbar-point-inner-bottom-right: var(--o-statusbar-point-bottom-right);
  border-top-right-radius: var(--o-statusbar-radius);
  border-bottom-right-radius: var(--o-statusbar-radius);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):hover, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):hover, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):focus, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):focus {
  background-color: var(--o-statusbar-background-hover);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled {
  opacity: 1;
  cursor: default;
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled:not(.o_arrow_button_current), .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled:not(.o_arrow_button_current), .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled:not(.o_arrow_button_current):hover, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):disabled:not(.o_arrow_button_current):focus {
  color: rgba(52, 58, 64, 0.76);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last), .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last) {
  z-index: 1;
  background-color: var(--o-statusbar-background-active);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled::before, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last)::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last)::before {
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-border-width) * sqrt(3)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) / sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-border-width) * sqrt(3)) calc(100% - var(--o-statusbar-border-width));
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) / sqrt(2)) calc(100% - var(--o-statusbar-border-width));
  background-color: var(--o-statusbar-border-active);
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_last::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_last::before, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_last::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_last::before {
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-border-width) * sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-middle-left: calc(var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-border-width) * sqrt(2)) calc(100% - var(--o-statusbar-border-width));
}

.o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_first::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_first::before, .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_first::before, .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_first::before {
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-middle-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) calc(100% - var(--o-statusbar-border-width));
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none), .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none) {
  --o-statusbar-point-top-left: var(--o-statusbar-caret-width) 0;
  --o-statusbar-point-top-right: 100% 0;
  --o-statusbar-point-middle-left: 0 50%;
  --o-statusbar-point-middle-right: calc(100% - var(--o-statusbar-caret-width)) 50%;
  --o-statusbar-point-bottom-left: var(--o-statusbar-caret-width) 100%;
  --o-statusbar-point-bottom-right: 100% 100%;
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-caret-width) + var(--o-statusbar-border-width) * sqrt(2)) 0;
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) 0;
  --o-statusbar-point-inner-middle-left: calc(var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-middle-right: calc(100% - var(--o-statusbar-caret-width) - var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-caret-width) + var(--o-statusbar-border-width) * sqrt(2)) 100%;
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) 100%;
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last {
  --o-statusbar-point-middle-right: 100% 50%;
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first {
  --o-statusbar-point-top-left: 0 0;
  --o-statusbar-point-bottom-left: 0 100%;
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_last::before {
  --o-statusbar-point-inner-top-right: var(--o-statusbar-point-top-right);
  --o-statusbar-point-inner-middle-right: var(--o-statusbar-point-middle-right);
  --o-statusbar-point-inner-bottom-right: var(--o-statusbar-point-bottom-right);
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_first::before {
  --o-statusbar-point-inner-top-left: var(--o-statusbar-point-top-left);
  --o-statusbar-point-inner-middle-left: var(--o-statusbar-point-middle-left);
  --o-statusbar-point-inner-bottom-left: var(--o-statusbar-point-bottom-left);
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled::before, .o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last)::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last)::before {
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-caret-width) + var(--o-statusbar-border-width) / sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-border-width) * sqrt(3)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-caret-width) + var(--o-statusbar-border-width) / sqrt(2)) calc(100% - var(--o-statusbar-border-width));
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-border-width) * sqrt(3)) calc(100% - var(--o-statusbar-border-width));
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_last::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_last::before, .o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_last::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_last::before {
  --o-statusbar-point-inner-top-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-middle-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-right: calc(100% - var(--o-statusbar-border-width) * sqrt(2)) calc(100% - var(--o-statusbar-border-width));
}

.o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_first::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none).o_arrow_button_current:disabled.o_first::before, .o_rtl .o_field_statusbar > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_first::before, .o_rtl .o_field_statusbar_duration > .o_statusbar_status > .o_arrow_button:not(.d-none):active:not(.o_last).o_first::before {
  --o-statusbar-point-inner-top-left: calc(var(--o-statusbar-border-width) * sqrt(2)) var(--o-statusbar-border-width);
  --o-statusbar-point-inner-middle-left: calc(var(--o-statusbar-border-width) * sqrt(2)) 50%;
  --o-statusbar-point-inner-bottom-left: calc(var(--o-statusbar-border-width) * sqrt(2)) calc(100% - var(--o-statusbar-border-width));
}

.o_cell .o_field_statusbar > .o_statusbar_status, .o_cell .o_field_statusbar_duration > .o_statusbar_status {
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_cell .o_field_statusbar > .o_statusbar_status .o_arrow_button:not(.d-none), .o_cell .o_field_statusbar_duration > .o_statusbar_status .o_arrow_button:not(.d-none) {
  flex: 1 1 auto !important;
}



/* /web/static/src/views/fields/text/text_field.scss */

.o_field_text > div > textarea {
  height: auto;
  resize: none;
  overflow-y: hidden;
}



/* /web/static/src/views/fields/translation_button.scss */

.btn.o_field_translate {
  position: absolute;
  right: 5px;
  top: 5px;
  vertical-align: top;
  text-align: right;
  visibility: hidden;
}

.btn.o_field_translate, .o_web_client.o_touch_device .btn.o_field_translate {
  padding: 0;
}

.o_field_widget:hover .btn.o_field_translate, .o_field_widget:focus-within .btn.o_field_translate {
  visibility: visible;
}

.o_field_widget input.o_field_translate, .o_field_widget input.o_field_placeholder, .o_field_widget textarea.o_field_translate, .o_field_widget textarea.o_field_placeholder {
  padding-right: 35px;
}

.o_field_widget input.o_field_translate.o_field_placeholder, .o_field_widget textarea.o_field_translate.o_field_placeholder {
  padding-right: 70px;
}



/* /web/static/src/views/fields/url/url_field.scss */

body:not(.o_touch_device) .o_field_url:not(:hover):not(:focus-within) input:not(:hover) ~ a {
  display: none !important;
}



/* /web/static/src/views/form/form_controller.scss */

.o_form_view {
  --fieldWidget-margin-bottom: 5px;
}

@media (min-width: 188mm) {
  .o_form_view {
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
    min-height: 100%;
  }
}

.o_form_view .oe_form_box_info {
  padding-top: 5px;
  padding-right: 13px;
  padding-bottom: 5px;
  padding-left: 13px;
}

.o_form_view .oe_form_box_info > p {
  margin: auto;
}

.o_form_view .oe_text_center {
  text-align: center;
}

.o_form_view .oe_grey {
  opacity: 0.5;
}

.o_form_view .oe_inline, .o_form_view .o_field_widget.oe_inline > * {
  width: auto !important;
}

.o_form_view .o_field_widget.o_input_2ch input {
  width: 2ch !important;
}

.o_form_view .o_field_widget.o_input_3ch input {
  width: 3ch !important;
}

.o_form_view .o_field_widget.o_input_4ch input {
  width: 4ch !important;
}

.o_form_view .o_field_widget.o_input_5ch input {
  width: 5ch !important;
}

.o_form_view .o_field_widget.o_input_6ch input {
  width: 6ch !important;
}

.o_form_view .o_field_widget.o_input_7ch input {
  width: 7ch !important;
}

.o_form_view .o_field_widget.o_input_8ch input {
  width: 8ch !important;
}

.o_form_view .o_field_widget.o_input_9ch input {
  width: 9ch !important;
}

.o_form_view .o_field_widget.o_input_10ch input {
  width: 10ch !important;
}

.o_form_view .o_field_widget.o_input_11ch input {
  width: 11ch !important;
}

.o_form_view .o_field_widget.o_input_12ch input {
  width: 12ch !important;
}

.o_form_view .o_field_widget.o_input_13ch input {
  width: 13ch !important;
}

.o_form_view .o_field_empty:empty {
  min-height: 1.1375rem;
}

.o_form_view .o_row {
  align-items: baseline;
  min-width: 50px;
  margin: 0 -2.5px;
}

.o_form_view .o_row, .o_form_view .o_row.o_field_widget {
  display: -webkit-box; display: -webkit-flex; display: flex;
  width: auto !important;
}

.o_form_view .o_row > div, .o_form_view .o_row > span, .o_form_view .o_row > button, .o_form_view .o_row > label, .o_form_view .o_row > a, .o_form_view .o_row > input, .o_form_view .o_row > select {
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
  width: auto !important;
  margin-right: 2.5px;
  margin-left: 2.5px;
}

.o_form_view .o_row > .o_row {
  margin: 0;
}

.o_form_view .o_row > .btn {
  padding-top: 0;
  padding-bottom: 0;
}

.o_form_view .o_row > .o_field_boolean {
  align-self: center;
}

.o_form_view .o_row > div > .o_field_widget .oe_edit_only,
.o_form_view .o_form_readonly .oe_edit_only {
  display: none !important;
}

.o_form_view .o_row > div > .o_field_widget .o_row:not(.o_row_readonly), .o_form_view .o_row > div > .o_field_widget .o_row:not(.o_row_readonly) > div,
.o_form_view .o_form_readonly .o_row:not(.o_row_readonly),
.o_form_view .o_form_readonly .o_row:not(.o_row_readonly) > div {
  display: inline-block;
}

.o_form_view .o_row > div > .o_field_widget .o_quick_editable:not(.o_form_uri),
.o_form_view .o_form_readonly .o_quick_editable:not(.o_form_uri) {
  cursor: default;
}

.o_form_view .o_form_uri {
  display: inline-block;
  color: #017e84;
}

.o_form_view .o_form_uri:hover, .o_form_view .o_form_uri:focus, .o_form_view .o_form_uri.focus {
  color: #01585c;
}

.o_form_view .o_form_uri > span {
  color: #343a40;
}

.o_form_view .o_form_uri > span:hover, .o_form_view .o_form_uri > span:focus, .o_form_view .o_form_uri > span.focus {
  color: #343a40;
}

.o_form_view .o_form_uri > span:first-child {
  color: #017e84;
}

.o_form_view .o_form_uri > span:first-child:hover, .o_form_view .o_form_uri > span:first-child:focus, .o_form_view .o_form_uri > span:first-child.focus {
  color: #01585c;
}

.o_form_view .o_form_editable .oe_read_only {
  display: none !important;
}

.o_form_view .o_form_editable .oe_title .o_field_char {
  width: 100%;
}

.o_form_view .o_form_editable .o_field_x2many .o_list_table .o_handle_cell .o_row_handle {
  padding: 0.3rem;
}

.o_form_view .o_form_editable .o_row > .o_field_widget, .o_form_view .o_form_editable .o_row > div {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  width: 0 !important;
}

.o_form_view .o_form_editable .o_row > .o_field_widget.o_field_boolean, .o_form_view .o_form_editable .o_row > .o_field_widget.o_field_boolean_toggle, .o_form_view .o_form_editable .o_row > .o_field_widget.o_priority, .o_form_view .o_form_editable .o_row > div.o_field_boolean, .o_form_view .o_form_editable .o_row > div.o_field_boolean_toggle, .o_form_view .o_form_editable .o_row > div.o_priority {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  width: auto !important;
}

.o_form_view .o_form_editable .o_row .o_field_many2one_selection {
  width: 100% !important;
}

.o_form_view .o_form_editable .o_row .fb-mincontent {
  flex-basis: min-content !important;
}

.o_form_view .o_form_view_container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  height: 100%;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
}

.o_form_view .o_input {
  padding: 1px 0;
}

.o_form_view:not(.o_field_highlight) .o_field_widget:not(.o_field_invalid):not(.o_field_highlight) .o_input:not(:hover):not(:focus) {
  --o-input-border-color: transparent;
}

.o_form_view .o_datepicker .o_datepicker_button {
  visibility: hidden;
}

.o_form_view .o_datepicker:hover .o_datepicker_button, .o_form_view .o_datepicker:focus-within .o_datepicker_button {
  visibility: visible;
}

.o_form_view .o_form_renderer {
  max-width: 2600px;
}

.o_form_view.o_form_nosheet, .o_form_view .o_form_nosheet {
  --formView-sheet-padding-y: 19.5px;
  --formView-sheet-padding-x: 13px;
  padding: var(--formView-sheet-padding-y) var(--formView-sheet-padding-x);
  background-color: white;
}

.o_form_view.o_form_nosheet .o_notebook > .tab-content > .tab-pane > :first-child:not(.o_group).o_field_x2many.o_field_x2many_list, .o_form_view .o_form_nosheet .o_notebook > .tab-content > .tab-pane > :first-child:not(.o_group).o_field_x2many.o_field_x2many_list {
  margin-left: calc(var(--formView-sheet-padding-x) * -1);
  margin-right: calc(var(--formView-sheet-padding-x) * -1);
}

.o_form_view .o_form_sheet_bg {
  padding-top: 6.5px;
  padding-left: var(--formView-sheetBg-padding-x);
  padding-right: var(--formView-sheetBg-padding-right, var(--formView-sheetBg-padding-x));
  width: 100%;
  max-width: 1534px;
  margin-right: auto;
}

.o_form_view .o_form_sheet {
  --formView-sheet-padding-y: 13px;
  --formView-sheet-padding-x: 13px;
  margin: 0 var(--formView-sheet-margin-x, calc(var(--formView-sheetBg-padding-x) * -1));
  padding: var(--formView-sheet-padding-y) var(--formView-sheet-padding-x);
  border-style: solid;
  border-color: #dee2e6;
  border-width: var(--formView-sheet-border-width, 1px 0 1px 0);
  border-radius: var(--formView-sheet-border-radius, 0);
  background-color: white;
}

@media (min-width: 188mm) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-md, 13px);
    --formView-sheet-margin-x: var(--formView-sheet-margin-x-md, 0);
    --formView-sheet-border-width: var(--formView-sheet-border-width-md, 1px);
    --formView-sheet-border-radius: var(--formView-sheet-border-radius-md, 0.25rem);
  }
}

@media (min-width: 190mm) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-lg, 19.5px);
    --formView-sheet-padding-x: var(--formView-sheet-padding-x-lg, 19.5px);
  }
}

@media (min-width: 1534px) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-xxl, 13px);
    --formView-sheet-padding-x: var(--formView-sheet-padding-x-xxl, 13px);
  }
}

.o_form_view .o_form_sheet > .o_selection {
  float: right;
}

.o_form_view .alert {
  --alert-padding-y: 6.5px;
}

.o_form_view .alert .o_field_widget, .o_form_view .alert .o_field_widget p {
  margin-bottom: 0;
}

.o_form_view .o_form_sheet_bg > .alert {
  --alert-margin-bottom: 3.25px;
}

.o_form_view .o_form_sheet_bg > .alert:nth-last-child(1 of .alert) {
  --alert-margin-bottom: 6.5px;
}

.o_form_view .o_form_statusbar > .o_statusbar_status {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  align-content: space-around;
}

.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button {
  font-weight: 500;
}

.o_form_view .o_form_statusbar > .o_statusbar_status > .o_arrow_button:first-of-type {
  padding-right: 13px;
}

.o_form_view .o_form_statusbar .o_field_widget {
  --fieldWidget-margin-bottom: 0;
  align-self: flex-start;
}

@media (max-width: 187.98mm) {
  .o_form_view .o_form_statusbar .o_field_widget:first-child:last-child {
    width: 100%;
  }
}

.o_form_view .oe_title {
  color: #212529;
}

@media (min-width: 100mm) {
  .o_form_view .oe_title {
    max-width: 75%;
  }
}

.o_form_view .oe_title > h1, .o_form_view .oe_title > .h1, .o_form_view .oe_title > h2, .o_form_view .oe_title > .h2, .o_form_view .oe_title > h3, .o_form_view .oe_title > .h3 {
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.2;
}

.o_form_view .oe_title > h1.d-flex > .o_input, .o_form_view .oe_title > .d-flex.h1 > .o_input, .o_form_view .oe_title > h2.d-flex > .o_input, .o_form_view .oe_title > .d-flex.h2 > .o_input, .o_form_view .oe_title > h3.d-flex > .o_input, .o_form_view .oe_title > .d-flex.h3 > .o_input {
  height: max-content;
}

.o_form_view .oe_title .o_priority > .o_priority_star {
  font-size: inherit;
}

.o_form_view .oe_title > h1, .o_form_view .oe_title > .h1 {
  min-height: 55px;
}

.o_form_view .oe_title > h2, .o_form_view .oe_title > .h2 {
  min-height: 42px;
}

.o_form_view .oe_avatar {
  float: right;
  margin-bottom: 10px;
}

.o_form_view .oe_avatar .img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  vertical-align: top;
  border: 1px solid #dee2e6;
}

@media (max-width: 99.98mm) {
  .o_form_view .oe_avatar + .oe_title {
    max-width: calc(100% - 90px - 6.5px);
  }
}

.o_form_view a[data-bs-toggle="dropdown"] > .o_status {
  height: 1.1375rem;
  width: 1.1375rem;
}

.o_form_view .o_group {
  justify-content: space-between;
}

.o_form_view .o_group .o_form_label {
  font-weight: 400;
}

.o_form_view .o_group .o_field_widget > .btn {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  padding: 0 10px;
}

@media (min-width: 475px) {
  .o_form_view .o_group .o_field_widget.o_text_overflow {
    width: 1px !important;
    min-width: 100%;
  }
  .o_form_view .o_group .o_form_label {
    margin-bottom: 5px;
  }
}

.o_form_view .o_group.o_label_nowrap .o_form_label {
  white-space: nowrap;
}

@media (max-width: 189.98mm) {
  .o_form_view .o_group.o_label_nowrap .o_form_label {
    white-space: normal;
  }
}

.o_form_view .o_group .o_wrap_label .o_form_label {
  font-weight: 500;
}

.o_form_view .o_inner_group {
  --columns: 1;
  gap: 6.5px 13px;
  margin-bottom: 6.5px;
}

.o_form_view .o_inner_group .o_cell:first-child:last-child {
  grid-column: span 2;
}

.o_form_view .o_inner_group span.o_field_widget, .o_form_view .o_inner_group .o_field_boolean.o_field_widget, .o_form_view .o_inner_group .oe_avatar.o_field_widget, .o_form_view .o_inner_group .o_form_uri.o_field_widget {
  width: auto;
}

@media (min-width: 100mm) {
  .o_form_view .o_inner_group {
    grid-template-columns: fit-content(150px) minmax(0, 1fr);
  }
  .o_form_view .o_inner_group.o_form_fw_labels {
    grid-template-columns: 150px 1fr;
  }
}

.o_form_view .o_group .o_field_widget, .o_form_view .o_inner_group .o_field_widget {
  width: 100%;
}

.o_form_view .o_checkbox_optional_field {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

@media (max-width: 99.98mm) {
  .o_form_view .o_checkbox_optional_field .o_field_boolean {
    order: -1;
  }
  .o_form_view .o_checkbox_optional_field .o_field_boolean + div {
    width: 100%;
  }
}

.o_form_view .o_checkbox_optional_field > .o_form_label {
  color: #212529;
  font-weight: 500;
}

.o_form_view .o_horizontal_separator:not(:empty) {
  box-shadow: 0 1px 0 #e6e6e6;
}

.o_form_view .o_horizontal_separator:empty {
  height: 10px;
}

.o_form_view .o_kanban_renderer {
  --Kanban-background: transparent;
  --Kanban-gap: 6.5px;
  --KanbanRecord-margin-v: 0;
  --KanbanRecord-margin-h: 0;
}

.o_form_view .o_notebook {
  --notebook-margin-x: calc(var(--formView-sheet-padding-x) * -1);
  --notebook-padding-x: var(--formView-sheet-padding-x);
  clear: both;
  margin-top: 10px;
}

.o_form_view .o_notebook > .tab-content {
  border-bottom: 1px solid #dee2e6;
}

.o_form_view .o_notebook > .tab-content > .tab-pane {
  padding: 13px 0;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > .o_field_html .note-editable {
  min-height: 180px;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > .o_field_html .note-editable:hover, .o_form_view .o_notebook > .tab-content > .tab-pane > .o_field_html .note-editable:focus {
  border-color: transparent;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child {
  margin-top: 0;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .note-editor.panel {
  border: none;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .note-editing-area, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .o_readonly {
  padding: 13px 13px;
  padding-left: 13px;
  padding-right: 13px;
}

@media (min-width: 992px) {
  .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .note-editing-area, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .o_readonly {
    padding-left: 26px;
  }
}

@media (min-width: 992px) {
  .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .note-editing-area, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .o_readonly {
    padding-right: 26px;
  }
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html .note-editable.panel-body {
  padding: 0;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_field_html + .clearfix:last-child {
  margin-bottom: -37.5px;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child:not(.o_group) .o_field_x2many.o_field_x2many_list .o_list_renderer, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_invisible_modifier .o_field_x2many.o_field_x2many_list .o_list_renderer {
  --ListRenderer-margin-x: 0;
  --ListRenderer-table-padding-x: var(--notebook-padding-x);
  margin-top: -6.5px;
}

.o_form_view .o_notebook > .tab-content > .tab-pane > :first-child:not(.o_group) .o_field_x2many.o_field_x2many_list .o_list_renderer tr > :first-child.o_handle_cell, .o_form_view .o_notebook > .tab-content > .tab-pane > :first-child.o_invisible_modifier .o_field_x2many.o_field_x2many_list .o_list_renderer tr > :first-child.o_handle_cell {
  padding-left: 0.3rem;
}

.o_form_view .o_notebook:last-child > .tab-content {
  border-bottom: none;
}

.o_form_view .o_form_label {
  font-size: 0.875rem;
  line-height: 1.3;
  font-weight: 500;
}

@media (max-width: 187.98mm) {
  .o_form_view .o_form_label {
    font-size: 1rem;
  }
}

.o_form_view .o_form_label.o_form_label_empty, .o_form_view .o_form_label.o_form_label_false, .o_form_view .o_form_label.o_form_label_readonly {
  opacity: 0.66;
  font-weight: 400;
}

.o_form_view .o_field_widget .o_list_table.table-striped > tbody > tr:not(.o_data_row) > td {
  border-top: none;
}

.o_form_view .o_field_widget .o_list_table.table-striped > tfoot > tr {
  box-shadow: inset 0 1px 0 #dee2e6;
}

.o_form_view .o_field_widget .o_list_table.table-striped > tfoot > tr > td {
  border: none;
}

.o_form_view .o_field_widget .o_list_table.table-striped > tfoot > tr > td:empty {
  padding: 0;
}

.o_form_view .o_field_widget.o_field_many2one_avatar {
  --fieldWidget-display: inline;
}

.o_form_view .o_field_widget.o_field_many2many_tags_avatar {
  --fieldWidget-display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  min-height: calc(var(--Avatar-size, 1.7145em) + 1px * 2 + var(--border-width));
}

.o_form_view .o_field_widget .o_field_widget, .o_form_view .btn .o_field_widget {
  --fieldWidget-margin-bottom: 0;
}

.o_form_view .o_cell:not(.o_field_cell) .o_form_uri > span:first-child {
  display: inline-block;
  padding: 1px 0;
  margin-bottom: 1px;
}

.o_form_view .oe_no_translation_content {
  height: 0px;
}

.o_form_view .oe_no_translation_content .o_field_translate:not(.o_field_input_buttons):not(.btn) {
  display: none;
}

.o_form_view .oe_no_translation_content .o_field_translate.btn {
  visibility: hidden !important;
  margin-top: -10px;
}

.o_form_view .oe_no_translation_content .o_field_translate.btn:after {
  content: 'EN';
  visibility: visible;
}

.o_form_view iframe.wysiwyg_iframe + .o_field_translate {
  right: 35px !important;
  top: 7px !important;
}

.o_form_view .o_field_text.oe_inline {
  width: 100% !important;
}

@media (min-width: 475px) {
  .o_form_view .o_field_text.oe_inline {
    width: 45% !important;
  }
}

.o_form_view span.o_list_monetary {
  display: block;
}

.o_form_view .o_field_monetary {
  /*rtl:ignore*/
  direction: ltr;
}

.o_form_view .o_list_monetary {
  /*rtl:ignore*/
  text-align: right;
  /*rtl:ignore*/
  direction: ltr;
}

.o_form_view .o_field_float.oe_inline, .o_form_view .o_field_float.oe_inline input, .o_form_view .o_field_date.oe_inline, .o_form_view .o_field_date.oe_inline input, .o_form_view .o_field_monetary.oe_inline, .o_form_view .o_field_monetary.oe_inline input {
  max-width: inherit;
}

.o_form_view .o_field_float_time.oe_inline, .o_form_view .o_field_float_time.oe_inline input, .o_form_view .o_field_percentage.oe_inline, .o_form_view .o_field_percentage.oe_inline input {
  max-width: 7ch;
}

.o_form_view .o_field_integer.oe_inline, .o_form_view .o_field_integer.oe_inline input {
  max-width: 7rem;
}

.o_form_view .o_field_DynamicModelFieldSelectorChar.oe_inline {
  min-width: 7rem;
}

.o_form_view .o_field_widget.o_field_one2many, .o_form_view .o_field_widget.o_field_many2many {
  width: 100%;
}

.o_form_view .o_field_widget.o_field_one2many > div, .o_form_view .o_field_widget.o_field_many2many > div {
  width: 100%;
}

.o_form_view .o_field_widget:has(.o_field_x2many.o_field_x2many_list) {
  width: 100%;
}

.o_form_view .o_inner_group.oe_subtotal_footer {
  grid-template-columns: 1fr auto;
  width: auto;
  margin-left: auto;
  border-top: 1px solid #dee2e6;
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_cell {
  padding: 0;
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_cell.o_wrap_label {
  text-align: right;
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_cell .o_form_label {
  padding-right: 20px;
  margin-right: 0;
  min-width: 0;
  white-space: nowrap;
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_cell .o_form_label:after {
  content: ":";
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_cell .o_field_widget {
  text-align: right;
  -webkit-box-pack: end; justify-content: flex-end;
  width: 100%;
}

.o_form_view .o_inner_group.oe_subtotal_footer .o_wrap_field:first-child > .o_cell {
  padding-top: 4px;
}

.o_form_view .o_inner_group.oe_subtotal_footer .oe_subtotal_footer_separator {
  width: 100%;
  text-align: right;
  border-top: 1px solid #dee2e6;
  font-weight: 500;
  font-size: 1.3em;
}

.o_form_view .o_address_format {
  width: 100%;
}

.o_form_view .o_address_format .o_address_street, .o_form_view .o_address_format .o_address_country {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_form_view .o_address_format .o_address_city span {
  margin-right: 2%;
}

.o_form_view .o_address_format .o_address_state span {
  margin-right: 2%;
}

.o_form_view .o_address_format.o_zip_city .o_address_zip span {
  margin-right: 2%;
}

.o_form_view .o_address_format.o_zip_city .o_address_city span {
  margin-right: 0;
}

.o_form_view .o_address_format.o_zip_city .o_address_state span {
  display: block;
  margin-right: 0;
}

.o_form_view .o_address_format.o_city_state .o_address_state span {
  margin-right: 0;
}

.o_form_view .o_address_format.o_city_state .o_address_zip span {
  display: block;
  margin-right: 0;
}

.o_form_view .o_address_format > .o_field_widget span {
  width: auto;
}

.o_form_view .o_form_editable .o_address_format .o_address_city {
  display: inline-block;
  width: 38%;
  margin-right: 2%;
}

.o_form_view .o_form_editable .o_address_format .o_address_state {
  display: inline-block;
  width: 33%;
  margin-right: 2%;
}

.o_form_view .o_form_editable .o_address_format .o_address_zip {
  display: inline-block;
  width: 25%;
}

.o_form_view .o_form_editable .o_address_format.o_zip_city .o_address_zip {
  width: 38%;
  margin-right: 2%;
}

.o_form_view .o_form_editable .o_address_format.o_zip_city .o_address_city {
  width: 60%;
  margin-right: 0;
}

.o_form_view .o_form_editable .o_address_format.o_zip_city .o_address_state {
  width: 100%;
  margin-right: 0;
}

.o_form_view .o_form_editable .o_address_format.o_city_state .o_address_city {
  width: 50%;
}

.o_form_view .o_form_editable .o_address_format.o_city_state .o_address_state {
  width: 48%;
  margin-right: 0;
}

.o_form_view .o_form_editable .o_address_format.o_city_state .o_address_zip {
  width: 100%;
}

.o_form_view .o_field_boolean + .o_form_label {
  margin-right: 15px;
}

.o_form_view .o_tz_warning {
  cursor: help;
  position: absolute;
  margin-left: 10px;
  margin-top: 5px;
}

.o_form_view .o_recurrent_weekdays > table {
  width: 100%;
  table-layout: fixed;
  display: table;
}

.o_form_view .o_recurrent_weekdays > table td {
  border: 1px solid #dee2e6;
}

.o_form_view .o_recurrent_weekdays > table th, .o_form_view .o_recurrent_weekdays > table td {
  padding: 0.75rem 0 0.75rem 0;
}

.o_form_view .o_recurrent_weekdays > table .o_recurrent_weekday_label {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_form_view .o_recurrent_weekdays > table .form-check-label {
  left: 25%;
}

.o_form_view .o_field_widget .o_kanban_view.o_kanban_ungrouped {
  padding: 0;
}

.o_form_view .o_field_widget .o_kanban_view.o_kanban_ungrouped .o_kanban_record {
  box-shadow: none;
}

.o_form_view .o_field_widget .o_list_renderer {
  --ListRenderer-thead-bg-color: white;
  --ListRenderer-thead-bg-active-color: #e9ecef;
  --ListRenderer-tfoot-bg-color: white;
  margin-bottom: 10px;
}

.o_form_view .o_field_widget .o_list_renderer > tfoot > tr > td {
  padding: 3px;
  color: #343a40;
}

.o_form_view .o_form_readonly .o_field_widget .o_list_renderer .o_row_handle {
  display: none;
}

.o_form_view .o_field_widget.o_readonly_modifier .o_list_renderer .o_row_handle {
  display: none;
}

.o_form_view.oe_form_configuration .o_form_renderer .o_inner_group .o_form_label {
  white-space: nowrap;
}

.o_form_view.oe_form_configuration .o_form_renderer h2, .o_form_view.oe_form_configuration .o_form_renderer .h2 {
  margin-top: 32px !important;
}

.o_form_view .o_company_document_layout .report_layout_container {
  display: inline-block;
}

.o_form_view .o_company_document_layout .report_layout_container div {
  display: inline-block;
}

.o_form_view .o_company_document_layout .report_layout_container div img {
  margin-left: 0 !important;
}

.o_form_view .o_company_document_layout img[name="logo"] {
  max-height: 100px;
  max-width: 300px;
}

@media (max-width: 187.98mm) {
  .o_form_view .o_form_label:not(.o_invisible_modifier) {
    padding-bottom: 4px;
  }
  .o_form_view .o_group {
    margin-top: 0;
  }
  .o_form_view .o_group .o_inner_group {
    margin-bottom: 0 !important;
  }
  .o_form_view .o_group .o_inner_group div[name="carrier_selection"] > div:not(.alert) {
    display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
    align-items: baseline;
    justify-content: space-evenly;
  }
  .o_form_view .o_group .o_inner_group div[name="carrier_selection"] > div:not(.alert):first-child {
    width: 100%;
  }
  .o_form_view .o_group .o_inner_group div[name="carrier_selection"] > div:not(.alert):first-child .o_field_widget {
    width: 100% !important;
  }
  .o_form_view .o_group .o_inner_group div[name="carrier_selection"] > div:not(.alert):first-child .text-success {
    margin: 2px 10px;
  }
  .o_form_view .o_notebook > .tab-content > .tab-pane.active .oe_subtotal_footer {
    width: 100% !important;
  }
  .o_form_view .o_notebook > .tab-content > .tab-pane.active .oe_subtotal_footer tr > td {
    width: 0% !important;
  }
  .o_form_view .o_notebook > .tab-content > .tab-pane.active .oe_subtotal_footer tr > td:first-child {
    width: 65% !important;
  }
  .o_form_view .btn-add-record {
    margin-left: 0 !important;
    margin-bottom: 10px !important;
  }
  .o_form_view button.btn.o_external_button.fa {
    padding-right: 0 !important;
  }
  .o_form_view .oe_inline.o_field_widget.o_field_many2one {
    width: 100% !important;
  }
}

.modal .modal-dialog .o_form_view {
  min-height: auto;
  --formView-sheetBg-padding-top: 6.5px;
  --formView-sheetBg-padding-x: 13px;
}

.modal .modal-dialog .o_form_sheet {
  --formView-sheet-margin-x: 0;
  --formView-sheet-padding-y: 6.5px;
  --formView-sheet-padding-y-md: 6.5px;
  --formView-sheet-padding-y-lg: 6.5px;
  --formView-sheet-padding-y-xxl: 6.5px;
  --formView-sheet-padding-x: 0;
  --formView-sheet-padding-x-md: 0;
  --formView-sheet-padding-x-lg: 0;
  --formView-sheet-padding-x-xxl: 0;
  --formView-sheet-border-radius: 0;
  --formView-sheet-border-width: 0;
  --formView-sheet-border-width-md: 0;
}

.modal .modal-dialog .o-form-buttonbox {
  --ButtonBox-margin-bottom: 6.5px;
}

.modal .modal-dialog .o_notebook {
  --notebook-margin-x: calc(var(--formView-sheetBg-padding-x) * -1);
  --notebook-padding-x: var(--formView-sheetBg-padding-x);
}

.modal .modal-dialog.o_onboarding_payment_provider_wizard .o_form_renderer a[type="action"] {
  color: #017e84;
  cursor: pointer;
}

@media (max-width: 189.98mm) {
  .modal .modal-dialog .o_group.o_inner_group .o_wrap_label {
    min-width: 100px;
  }
}

.modal .modal-dialog:not(.modal-lg) .o_form_view .o_group {
  width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group {
  --fieldWidget-margin-bottom: 0;
  grid-template-columns: 1fr;
  margin-bottom: 20px;
  row-gap: 0;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group .o_wrap_field .o_cell {
  max-width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group .o_wrap_field .o_cell.o_wrap_label {
  line-height: 0.8;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group .o_wrap_field .o_cell .o_field_widget:not(.o_field_boolean) {
  width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group .o_wrap_field .o_cell .o_field_widget.o_field_boolean {
  margin-right: 0;
}

.modal .modal-dialog.modal-sm .o_form_view .o_inner_group .o_wrap_field .o_cell .o_input_dropdown {
  width: auto;
  max-width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group {
  --fieldWidget-margin-bottom: 0;
  grid-template-columns: 1fr;
  margin-bottom: 20px;
  row-gap: 0;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell {
  max-width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell.o_wrap_label {
  line-height: 0.8;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_field_widget:not(.o_field_boolean) {
  width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_field_widget.o_field_boolean {
  margin-right: 0;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_input_dropdown {
  width: auto;
  max-width: 100%;
}

.modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_address_type, .modal .modal-dialog.modal-sm .o_form_view .o_form_editable .o_inner_group .o_address_format {
  --fieldWidget-margin-bottom: 10px;
}

@media (max-width: 187.98mm) {
  .modal.o_modal_full .modal-content .modal-body .o_form_view .o_form_sheet_bg, .modal.o_modal_full .modal-content .modal-body .o_form_view .o_form_sheet_bg > .o_form_sheet {
    border-bottom: 0;
    border-top: 0;
  }
}

@media print {
  .oe_button_box, .o_form_statusbar {
    display: none !important;
  }
}

.o_control_panel .o_form_buttons_view > button:first-child {
  float: left;
  margin-right: 4px;
}

.o_form_view.o_xxl_form_view {
  flex-flow: row nowrap !important;
}

.o_form_view.o_xxl_form_view .o_form_view_container {
  width: 1px;
}

.o_form_view.o_xxl_form_view .o_form_sheet_bg {
  overflow: auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  flex: 2 1 990px;
}

.o_form_view.o_xxs_form_view .o_group .o_inner_group {
  margin-bottom: 20px;
}

@media (max-width: 187.98mm) {
  .o_form_view.o_xxs_form_view .o_group .o_inner_group:not(.oe_subtotal_footer) > .o_cell > .o_field_widget {
    --fieldWidget-margin-bottom: 20px;
  }
}

.o_form_view.o_xxs_form_view .o_group .o_form_label {
  font-size: 0.8rem;
  font-weight: 400;
  color: #8f8f8f;
}

.o_form_view.o_xxs_form_view .o_inner_group {
  --fieldWidget-margin-bottom: 0;
  grid-template-columns: 1fr;
  margin-bottom: 20px;
  row-gap: 0;
}

.o_form_view.o_xxs_form_view .o_inner_group .o_wrap_field .o_cell {
  max-width: 100%;
}

.o_form_view.o_xxs_form_view .o_inner_group .o_wrap_field .o_cell.o_wrap_label {
  line-height: 0.8;
}

.o_form_view.o_xxs_form_view .o_inner_group .o_wrap_field .o_cell .o_field_widget:not(.o_field_boolean) {
  width: 100%;
}

.o_form_view.o_xxs_form_view .o_inner_group .o_wrap_field .o_cell .o_field_widget.o_field_boolean {
  margin-right: 0;
}

.o_form_view.o_xxs_form_view .o_inner_group .o_wrap_field .o_cell .o_input_dropdown {
  width: auto;
  max-width: 100%;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group {
  --fieldWidget-margin-bottom: 0;
  grid-template-columns: 1fr;
  margin-bottom: 20px;
  row-gap: 0;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell {
  max-width: 100%;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell.o_wrap_label {
  line-height: 0.8;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_field_widget:not(.o_field_boolean) {
  width: 100%;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_field_widget.o_field_boolean {
  margin-right: 0;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_wrap_field .o_cell .o_input_dropdown {
  width: auto;
  max-width: 100%;
}

.o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_address_type, .o_form_view.o_xxs_form_view .o_form_editable .o_inner_group .o_address_format {
  --fieldWidget-margin-bottom: 10px;
}

.o_settings_container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  padding: 0;
  margin: auto 0 auto 0;
}

.o_settings_container .o_form_label.o_light_label, .o_settings_container .o_light_label .o_form_label {
  font-weight: 400;
}

.o_settings_container .o_setting_box:visible:nth-child(odd) {
  clear: left;
}

.o_field_section_and_note_one2many ~ .row.o_group {
  clear: both;
  justify-content: space-between;
}

.o_breadcrumb:not(:has(.breadcrumb)) + .o_form_status_indicator {
  align-self: center !important;
}



/* /web/static/src/views/form/setting/setting.scss */

.o_setting_box {
  margin-bottom: 8px;
  margin-top: 8px;
  position: relative;
}

.o_setting_left_pane {
  width: 24px;
  float: left;
}

.o_setting_right_pane {
  margin-left: 24px;
  border-left: 1px solid #dee2e6;
  padding-left: 12px;
}

.o_setting_right_pane .o_form_label + .fa, .o_setting_right_pane .o_form_label + .o_doc_link {
  margin-left: 6.5px;
}

.o_setting_right_pane .o_input_dropdown > .o_input {
  width: 100%;
}

.o_setting_right_pane .o_field_widget:not(.o_field_boolean) {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

@media (min-width: 188mm) {
  .o_setting_right_pane .o_field_widget:not(.o_field_boolean) {
    width: 50%;
  }
}

.o_setting_right_pane button.btn-link:first-child {
  padding: 0;
}

.o_setting_right_pane a.oe-link {
  font-size: 12px;
}



/* /web/static/src/views/kanban/kanban_color_picker_legacy.scss */

.oe_kanban_colorpicker {
  max-width: 150px;
  padding: 3px 15px 3px 20px;
}

.oe_kanban_colorpicker .oe_kanban_color_1:after {
  background-color: #ee2d2d;
}

.oe_kanban_colorpicker .oe_kanban_color_2:after {
  background-color: #dc8534;
}

.oe_kanban_colorpicker .oe_kanban_color_3:after {
  background-color: #e8bb1d;
}

.oe_kanban_colorpicker .oe_kanban_color_4:after {
  background-color: #5794dd;
}

.oe_kanban_colorpicker .oe_kanban_color_5:after {
  background-color: #9f628f;
}

.oe_kanban_colorpicker .oe_kanban_color_6:after {
  background-color: #db8865;
}

.oe_kanban_colorpicker .oe_kanban_color_7:after {
  background-color: #41a9a2;
}

.oe_kanban_colorpicker .oe_kanban_color_8:after {
  background-color: #304be0;
}

.oe_kanban_colorpicker .oe_kanban_color_9:after {
  background-color: #ee2f8a;
}

.oe_kanban_colorpicker .oe_kanban_color_10:after {
  background-color: #61c36e;
}

.oe_kanban_colorpicker .oe_kanban_color_11:after {
  background-color: #9872e6;
}

.oe_kanban_colorpicker > li {
  display: inline-block;
  margin: 5px 5px 0 0;
  border: 1px solid white;
  box-shadow: 0 0 0 1px #dee2e6;
}

.oe_kanban_colorpicker > li > a {
  display: block;
}

.oe_kanban_colorpicker > li > a::after {
  content: "";
  display: block;
  width: 20px;
  height: 15px;
}

.oe_kanban_colorpicker > li:first-child > a:after {
  background: linear-gradient(45deg, rgba(var(--body-bg), 0) 0%, rgba(var(--body-bg), 0) 48%, #d44c59 48%, #d44c59 52%, rgba(var(--body-bg), 0) 52%, rgba(var(--body-bg), 0) 100%);
}



/* /web/static/src/views/kanban/kanban_column_progressbar.scss */

.o_kanban_renderer .o_kanban_counter {
  transition: opacity 0.3s ease 0s;
}

.o_kanban_renderer .o_kanban_counter > .o_column_progress {
  height: 0.8125rem;
}

.o_kanban_renderer .o_kanban_counter > .o_column_progress .bg-200 {
  --background-color: RGBA(222, 226, 230, var(--bg-opacity, 1))
            ;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success {
  --KanbanGroup-background: #f4fbf6;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 #28a745, inset -2px 0 0 #28a745;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .oe_kanban_card_success {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .o_kanban_record:not(.oe_kanban_card_success) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .o_kanban_record:not(.oe_kanban_card_success):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .o_kanban_record:not(.oe_kanban_card_success):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_success .o_kanban_record:not(.oe_kanban_card_success).focus {
  opacity: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning {
  --KanbanGroup-background: #fefaf2;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 #e99d00, inset -2px 0 0 #e99d00;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .oe_kanban_card_warning {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .o_kanban_record:not(.oe_kanban_card_warning) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .o_kanban_record:not(.oe_kanban_card_warning):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .o_kanban_record:not(.oe_kanban_card_warning):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_warning .o_kanban_record:not(.oe_kanban_card_warning).focus {
  opacity: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger {
  --KanbanGroup-background: #fdf6f7;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 #d44c59, inset -2px 0 0 #d44c59;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .oe_kanban_card_danger {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .o_kanban_record:not(.oe_kanban_card_danger) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .o_kanban_record:not(.oe_kanban_card_danger):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .o_kanban_record:not(.oe_kanban_card_danger):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_danger .o_kanban_record:not(.oe_kanban_card_danger).focus {
  opacity: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted {
  --KanbanGroup-background: #f4f4f4;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 #212529, inset -2px 0 0 #212529;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .oe_kanban_card_muted {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .o_kanban_record:not(.oe_kanban_card_muted) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .o_kanban_record:not(.oe_kanban_card_muted):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .o_kanban_record:not(.oe_kanban_card_muted):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_muted .o_kanban_record:not(.oe_kanban_card_muted).focus {
  opacity: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_info {
  --KanbanGroup-background: #f3fafb;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 #17a2b8, inset -2px 0 0 #17a2b8;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .oe_kanban_card_info {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .o_kanban_record:not(.oe_kanban_card_info) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .o_kanban_record:not(.oe_kanban_card_info):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .o_kanban_record:not(.oe_kanban_card_info):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_info .o_kanban_record:not(.oe_kanban_card_info).focus {
  opacity: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple {
  --KanbanGroup-background: #f9f2f9;
  outline: 1px solid white;
  box-shadow: inset 2px 0 0 purple, inset -2px 0 0 purple;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .oe_kanban_card_purple {
  order: 1;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .o_kanban_load_more {
  order: 2;
  padding: var(--KanbanRecord-padding-v) 0;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .o_kanban_record:not(.oe_kanban_card_purple) {
  order: 3;
  opacity: 0.5;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .o_kanban_record:not(.oe_kanban_card_purple):hover, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .o_kanban_record:not(.oe_kanban_card_purple):focus, .o_kanban_renderer .o_kanban_group.o_kanban_group_show_purple .o_kanban_record:not(.oe_kanban_card_purple).focus {
  opacity: 1;
}



/* /web/static/src/views/kanban/kanban_controller.scss */

.o-dropdown--kanban-record-menu {
  margin-top: -1px;
  margin-bottom: 0px;
  min-width: 9rem;
  top: 35px;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_1 {
  border-left-color: #ee2d2d;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_1:after {
  background-color: #ee2d2d;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_2 {
  border-left-color: #dc8534;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_2:after {
  background-color: #dc8534;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_3 {
  border-left-color: #e8bb1d;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_3:after {
  background-color: #e8bb1d;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_4 {
  border-left-color: #5794dd;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_4:after {
  background-color: #5794dd;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_5 {
  border-left-color: #9f628f;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_5:after {
  background-color: #9f628f;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_6 {
  border-left-color: #db8865;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_6:after {
  background-color: #db8865;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_7 {
  border-left-color: #41a9a2;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_7:after {
  background-color: #41a9a2;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_8 {
  border-left-color: #304be0;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_8:after {
  background-color: #304be0;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_9 {
  border-left-color: #ee2f8a;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_9:after {
  background-color: #ee2f8a;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_10 {
  border-left-color: #61c36e;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_10:after {
  background-color: #61c36e;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_11 {
  border-left-color: #9872e6;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_11:after {
  background-color: #9872e6;
}

.o-dropdown--kanban-record-menu > div {
  padding: 3px 0 3px 20px;
  visibility: visible;
  margin-bottom: 5px;
}

.o-dropdown--kanban-record-menu .container, .o-dropdown--kanban-record-menu .o_container_small {
  max-width: 400px;
  margin-left: 0;
  margin-right: 0;
}

.o-dropdown--kanban-record-menu .container .row, .o-dropdown--kanban-record-menu .o_container_small .row {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
  justify-content: space-between;
  padding-left: 10px;
  padding-right: 10px;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"], .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] {
  flex: 1 1 33.33333333%;
  padding-left: 5px;
  padding-right: 5px;
  max-width: none;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"] > .o_kanban_card_manage_title, .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] > .o_kanban_card_manage_title {
  margin: 0.56875rem 0;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title), .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) {
  padding: 0;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a, .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a {
  margin: auto auto auto -5px;
  padding: 3px 5px;
  color: #343a40;
  display: block;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a:hover, .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.o-dropdown--kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title):last-child, .o-dropdown--kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title):last-child {
  margin-bottom: 5px;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings {
  padding-top: 15px;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings:not(:first-child), .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings:not(:first-child) {
  border-top: 1px solid #dee2e6;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings .o_kanban_colorpicker, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings .o_kanban_colorpicker {
  max-width: none;
  padding: 0;
  margin-left: 2px !important;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings div[class*="col-"] + div[class*="col-"], .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings div[class*="col-"] + div[class*="col-"] {
  border-left: 1px solid #dee2e6;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child {
  padding: 0;
  padding-left: 20px;
  padding-right: 20px;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child > a, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child > a {
  margin: auto auto auto -5px;
  padding: 3px 5px;
  color: #343a40;
  display: block;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child > a:hover, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.o-dropdown--kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child:last-child, .o-dropdown--kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child:last-child {
  margin-bottom: 5px;
}

@media (max-width: 187.98mm) {
  .o_kanban_view.o_field_x2many_kanban .o_kanban_ghost {
    display: none;
  }
}

.o_kanban_renderer {
  --Kanban-background: #FFFFFF;
  --Kanban-gap: unset;
  --Kanban-padding: 0;
  --KanbanGroup-background: var(--Kanban-background);
  --KanbanGroup-padding-h: 6.5px;
  --KanbanGroup-padding-bottom: 6.5px;
  --KanbanRecord-width: 16rem;
  --KanbanRecord-margin-v: 3.25px;
  --KanbanRecord-margin-h: 3.25px;
  --KanbanRecord-padding-v: 6.5px;
  --KanbanRecord-padding-h: 6.5px;
  --KanbanRecord-gap-v: 5px;
  --KanbanRecord--small-width: 16rem;
  --KanbanRecord__image-width: 64px;
  --KanbanRecord__image--fill-width: 95px;
  --KanbanRecord__dropdown-gap: 1px;
  --KanbanColumn__highlight-background: #e6f2f3;
  --KanbanColumn__highlight-border: #017e84;
  --o-view-nocontent-zindex: 1;
  --Card-Footer-gap: 4px;
  --Ribbon-font-size: 0.8125rem;
  --Ribbon-gap-top: calc(var(--KanbanRecord-padding-v) * -1 - 1px);
  --Ribbon-gap-right: 0;
  --Ribbon-wrapper-width: 6.5rem;
  --Ribbon-height:  calc(var(--Ribbon-font-size) * 2);
  border-top: 1px solid var(--Kanban-background);
  background: var(--Kanban-background);
  padding: var(--Kanban-padding);
  gap: var(--Kanban-gap);
  --Kanban-gap: 6.5px;
  --KanbanGroup-padding-h: 0;
  --KanbanRecord-margin-h: 0;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer {
    --KanbanRecord-padding-h: 13px;
  }
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) {
  --fieldWidget-display: block;
  --Tag-max-width: 100%;
  --Tag-font-size: 0.75rem;
  --Tags-margin: calc(1em - var(--Tag-font-size, .75rem)) 0;
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: stretch;
  min-width: 150px;
  margin: 0 0 -1px;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  font-size: 0.8rem;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) button {
  word-wrap: normal;
  word-break: normal;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record):not(.o_kanban_ghost) {
  padding: var(--KanbanRecord-padding-v) var(--KanbanRecord-padding-h);
  border: 1px solid #dee2e6;
  background-color: white;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record):where(:not(.row)) {
  flex-flow: column;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record):where(:not(.row)) main {
  flex-grow: 1;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record):where(:not(.row)) aside {
  flex: 0 0 var(--KanbanRecord__image-width);
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) > main {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-flow: column;
  min-width: 0;
  height: 100%;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) > footer, .o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) > main > footer {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  column-gap: var(--Card-Footer-gap, 6.5px);
  margin-top: auto;
  padding-top: var(--KanbanRecord-padding-v);
  font-size: var(--Card-Footer-font-size, 0.875rem);
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) aside img {
  height: var(--KanbanRecord__image-height, var(--KanbanRecord__image-width));
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) aside.o_kanban_aside_full {
  --KanbanRecord__image-height: 100%;
  --KanbanRecord__image-width: var(--KanbanRecord__image--fill-width);
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) aside.o_kanban_aside_full .o_kanban_image_fill {
  min-height: var(--KanbanRecord__image-fill-width);
  max-height: var(--KanbanRecord__image-max-height, 142.5px);
}

@media (min-width: 188mm) {
  .o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) aside.o_kanban_aside_full > * {
    height: calc(100% + var(--KanbanRecord-padding-v)* 2);
    margin-top: calc(var(--KanbanRecord-padding-v)* -1);
    margin-bottom: calc(var(--KanbanRecord-padding-v)* -1);
    margin-left: calc(var(--KanbanRecord-padding-h)* -1);
  }
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_global_click {
  cursor: pointer;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) .o_dropdown_kanban {
  visibility: hidden;
  z-index: 1;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) .o_dropdown_kanban {
    visibility: visible;
  }
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record):hover .o_dropdown_kanban,
.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) .o_dropdown_kanban:has(.show) {
  visibility: visible;
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record) .o_attachment_image > img {
  width: 100%;
  height: auto;
  border-radius: var(--Attachment-Image-border-radius, 0.25rem);
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_1::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(238, 45, 45, 0.5);
  border-right: 2px solid #ee2d2d;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_2::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(220, 133, 52, 0.5);
  border-right: 2px solid #dc8534;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_3::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(232, 187, 29, 0.5);
  border-right: 2px solid #e8bb1d;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_4::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(87, 148, 221, 0.5);
  border-right: 2px solid #5794dd;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_5::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(159, 98, 143, 0.5);
  border-right: 2px solid #9f628f;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_6::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(219, 136, 101, 0.5);
  border-right: 2px solid #db8865;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_7::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(65, 169, 162, 0.5);
  border-right: 2px solid #41a9a2;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_8::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(48, 75, 224, 0.5);
  border-right: 2px solid #304be0;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_9::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(238, 47, 138, 0.5);
  border-right: 2px solid #ee2f8a;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_10::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(97, 195, 110, 0.5);
  border-right: 2px solid #61c36e;
  content: "";
}

.o_kanban_renderer .o_kanban_record:not(.o_legacy_kanban_record).o_kanban_color_11::after {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  border-left: 1px solid rgba(152, 114, 230, 0.5);
  border-right: 2px solid #9872e6;
  content: "";
}

.o_kanban_renderer.o_kanban_ungrouped .o_kanban_record:not(.o_legacy_kanban) {
  flex-grow: 1;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer.o_kanban_ungrouped .o_kanban_record:not(.o_legacy_kanban) {
    flex-shrink: 0;
  }
}

.o_kanban_renderer .o_kanban_quick_create {
  border: 1px solid #dee2e6;
  background-color: white;
}

.o_kanban_renderer .o_kanban_quick_create {
  margin-bottom: calc(var(--KanbanRecord-margin-h) * 2);
  margin-top: calc(var(--KanbanRecord-margin-h) * 2);
  padding: 8px;
}

.o_kanban_renderer .o_kanban_quick_create .o_form_view .o_inner_group {
  margin: 0;
}

.o_kanban_renderer .o_dragged {
  transform: rotate(-3deg);
  transition: transform 0.6s, box-shadow 0.3s;
}

.o_kanban_renderer .o_dragged .dropdown {
  display: none;
}

.o_kanban_renderer.o_kanban_grouped {
  --KanbanGroup-width: calc(var(--KanbanRecord--small-width) + (2 * var(--KanbanGroup-padding-h)));
  min-height: 100%;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer.o_kanban_grouped {
    --KanbanGroup-width: 90%;
    min-height: initial;
    height: 100%;
    overflow: scroll hidden !important;
    scroll-snap-type: x mandatory;
  }
}

@media (min-width: 190mm) {
  .o_kanban_renderer.o_kanban_grouped {
    --KanbanGroup-width: calc(var(--KanbanRecord-width) + (2 * var(--KanbanGroup-padding-h)));
  }
}

.o_kanban_renderer.o_kanban_grouped .o_kanban_record {
  width: 100%;
}

.o_kanban_renderer.o_kanban_grouped .o_kanban_group {
  background: var(--KanbanGroup-background);
}

.o_kanban_renderer.o_kanban_grouped .o_kanban_group,
.o_kanban_renderer.o_kanban_grouped .o_column_quick_create {
  flex-basis: var(--KanbanGroup-width);
}

@media (min-width: 188mm) {
  .o_kanban_renderer.o_kanban_grouped .o_kanban_group,
.o_kanban_renderer.o_kanban_grouped .o_column_quick_create {
    max-width: var(--KanbanGroup-width);
  }
}

.o_kanban_renderer .o_kanban_group .o_kanban_header > .o_kanban_header_title:hover .o_kanban_config,
.o_kanban_renderer .o_kanban_group .o_kanban_header > .o_kanban_header_title .o_kanban_config.show {
  visibility: visible;
}

.o_kanban_renderer .o_kanban_group .o_kanban_header > .o_kanban_header_title .o_kanban_config {
  visibility: hidden;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer .o_kanban_group .o_kanban_header > .o_kanban_header_title .o_kanban_config {
    visibility: visible;
  }
}

.o_kanban_renderer .o_kanban_group .o_kanban_header .o-dropdown--kanban-config-menu {
  cursor: default;
}

.o_kanban_renderer .o_kanban_group.o_kanban_hover {
  background-color: var(--KanbanColumn__highlight-background) !important;
  box-shadow: -1px 0px 0px 0px var(--KanbanColumn__highlight-border) inset, 1px 0px 0px 0px var(--KanbanColumn__highlight-border) inset;
}

.o_kanban_renderer .o_kanban_group.o_kanban_hover .o_kanban_header {
  margin: 0 calc(-1 * var(--KanbanGroup-padding-h) + 1px);
  padding: 0 calc(var(--KanbanGroup-padding-h) - 1px);
}

.o_kanban_renderer .o_kanban_group, .o_kanban_renderer .o_column_quick_create {
  padding: 0 var(--KanbanGroup-padding-h) var(--KanbanGroup-padding-bottom);
}

.o_kanban_renderer .o_kanban_group:not(.o_column_folded) .o_kanban_header, .o_kanban_renderer .o_quick_create_folded {
  background: inherit;
}

.o_kanban_renderer .o_kanban_group:not(.o_column_folded) .o_kanban_header .dropdown-item {
  max-width: calc(var(--KanbanRecord-width) * 0.75);
  text-overflow: ellipsis;
  overflow: hidden;
}

.o_kanban_renderer .o_quick_create_folded {
  top: 13px;
}

.o_kanban_renderer .o_column_quick_create,
.o_kanban_renderer .o_kanban_group:not(.o_column_folded) .o_kanban_header_title {
  z-index: calc(var(--o-view-nocontent-zindex) + 1);
}

.o_kanban_renderer .o_group_draggable .o_column_title {
  cursor: grab;
}

.o_kanban_renderer .o_group_draggable .o_column_title:active {
  cursor: grabbing;
}

.o_kanban_renderer .o_kanban_group.o_column_folded .o_kanban_record.o_draggable {
  display: none !important;
}

@media (min-width: 188mm) {
  .o_kanban_renderer .o_kanban_group.o_column_folded {
    --KanbanGroup-padding-h: 0;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded, .o_kanban_renderer .o_kanban_group.o_column_folded .o_column_unfold {
    cursor: col-resize;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded + .o_kanban_group.o_column_folded {
    margin-left: 1px;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded .o_kanban_header {
    padding: 0 4px;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded button.o_column_unfold {
    padding: 0 .15rem;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded button.o_column_unfold .fa-caret-left {
    margin-right: 0.2rem;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded:hover button.o_column_unfold {
    padding: 0;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded:hover button.o_column_unfold .fa-caret-left {
    margin-right: 0.5rem;
  }
  .o_kanban_renderer .o_kanban_group.o_column_folded .o_column_title {
    position: absolute;
    top: 19.5px;
    left: auto;
    bottom: auto;
    right: auto;
    transform-origin: left bottom 0;
    transform: rotate(90deg);
    overflow: visible;
  }
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer .o_kanban_group,
.o_kanban_renderer .o_column_quick_create {
    scroll-snap-align: center;
    overflow-y: scroll;
  }
}

.o_kanban_renderer.o_kanban_ungrouped {
  min-height: 100%;
}

@media (min-width: 188mm) {
  .o_kanban_renderer.o_kanban_ungrouped {
    --Kanban-padding:  var(--KanbanRecord-margin-v) var(--KanbanRecord-margin-h);
  }
}

.o_kanban_renderer.o_kanban_ungrouped .o_kanban_record {
  width: var(--KanbanRecord-width);
  margin: calc(var(--KanbanRecord-margin-v) * 0.5) var(--KanbanRecord-margin-h);
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer.o_kanban_ungrouped .o_kanban_record {
    margin: 0 0 -1px;
    flex-basis: 100%;
  }
}

.o_kanban_renderer.o_kanban_ungrouped .o_kanban_record.o_kanban_ghost {
  max-height: 0 !important;
}

.o_kanban_renderer .o_field_monetary {
  /*rtl:ignore*/
  direction: ltr;
}

.o_kanban_mobile .o_kanban_renderer .o_kanban_record div.label {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

@media (min-width: 188mm) {
  .o_kanban_small_column .o_kanban_renderer.o_kanban_grouped {
    --KanbanGroup-width: calc(var(--KanbanRecord--small-width) + (2 * var(--KanbanGroup-padding-h)));
  }
}

.o_kanban_view .o_view_sample_data .o_kanban_record,
.o_kanban_view .o_view_sample_data .o_kanban_load_more,
.o_kanban_view .o_view_sample_data .o_kanban_counter {
  opacity: 0.06;
  pointer-events: none;
  user-select: none;
}



/* /web/static/src/views/kanban/kanban_cover_image_dialog.scss */

.modal .o_kanban_cover_container .o_kanban_cover_image {
  height: 120px;
  width: 120px;
}



/* /web/static/src/views/kanban/kanban_dashboard.scss */

.o_kanban_dashboard .o_kanban_renderer {
  --KanbanRecord-padding-v: 6.5px;
  --KanbanRecord-padding-h: 13px;
  --KanbanRecord__dropdown-gap: 0px;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  justify-content: space-between;
}

@media (max-width: 187.98mm) {
  .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) {
    margin-bottom: 10px;
  }
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .container, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_container_small {
  width: 100%;
  max-width: none;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header_title .o_primary,
.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_primary_left .o_primary > span:first-child,
.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .oe_kanban_content > .o_title > h3,
.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .oe_kanban_content > .o_title > .h3 {
  color: #212529;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
  margin-top: 0;
  display: block;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_primary_left .o_primary > span:nth-child(2) > strong {
  font-weight: 500;
  font-size: 0.8125rem;
  color: rgba(52, 58, 64, 0.76);
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_content {
  display: inline-block;
  vertical-align: top;
  min-height: 80px;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small {
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  justify-content: space-between;
  margin-top: calc(var(--KanbanRecord-padding-v) * 2);
  padding-right: 0;
  padding-left: 0;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content::before, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small::before, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content::after, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small::after {
  content: normal;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content a, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small a {
  position: relative;
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

@media (max-width: 189.98mm) {
  .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content button + a, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small button + a {
    display: block;
    margin-top: 13px;
  }
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content .o_kanban_primary_bottom, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small .o_kanban_primary_bottom {
  margin-top: var(--KanbanRecord-padding-v);
  margin-bottom: calc(var(--KanbanRecord-padding-v) * -1);
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .container.o_kanban_card_content .o_kanban_primary_bottom.bottom_block, .o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_kanban_card_header + .o_kanban_card_content.o_container_small .o_kanban_primary_bottom.bottom_block {
  border-top: 1px solid #dee2e6;
  background-color: #e9ecef;
  padding-top: var(--KanbanRecord-padding-v);
  padding-bottom: var(--KanbanRecord-padding-v);
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) .o_dashboard_graph {
  overflow: hidden;
}

.o_kanban_dashboard .o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban {
  visibility: visible;
}

.o-dropdown--legacy-kanban-record-menu {
  top: 35px;
}

.o-dropdown--legacy-kanban-record-menu > div:not(.o_no_padding_kanban_colorpicker) {
  padding: 3px 0 3px 20px;
  visibility: visible;
  margin-bottom: 5px;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section {
  margin-bottom: 10px;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section + .o_kanban_card_manage_section {
  border-top: 1px solid #e9ecef;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section > div {
  padding: 0;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section > div > a {
  margin: auto auto auto -20px;
  padding: 3px 20px;
  color: #343a40;
  display: block;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section > div > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section > div:last-child {
  margin-bottom: 5px;
}

.o-dropdown--legacy-kanban-record-menu .container, .o-dropdown--legacy-kanban-record-menu .o_container_small {
  max-width: 400px;
  margin-left: 0;
  margin-right: 0;
}

.o-dropdown--legacy-kanban-record-menu .container .row, .o-dropdown--legacy-kanban-record-menu .o_container_small .row {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
  justify-content: space-between;
  padding-left: 10px;
  padding-right: 10px;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"], .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] {
  flex: 1 1 33.33333333%;
  padding-left: 5px;
  padding-right: 5px;
  max-width: none;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"] > .o_kanban_card_manage_title, .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] > .o_kanban_card_manage_title {
  margin: 0.56875rem 0;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title), .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) {
  padding: 0;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a, .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a {
  margin: auto auto auto -5px;
  padding: 3px 5px;
  color: #343a40;
  display: block;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a:hover, .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title) > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.o-dropdown--legacy-kanban-record-menu .container div[class*="col-"] > div:not(.o_kanban_card_manage_title):last-child, .o-dropdown--legacy-kanban-record-menu .o_container_small div[class*="col-"] > div:not(.o_kanban_card_manage_title):last-child {
  margin-bottom: 5px;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings {
  padding-top: 15px;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings:not(:first-child), .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings:not(:first-child) {
  border-top: 1px solid #dee2e6;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings .oe_kanban_colorpicker, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings .oe_kanban_colorpicker {
  max-width: none;
  padding: 0;
  margin-left: 2px !important;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings div[class*="col-"] + div[class*="col-"], .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings div[class*="col-"] + div[class*="col-"] {
  border-left: 1px solid #dee2e6;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child {
  padding: 0;
  padding-left: 20px;
  padding-right: 20px;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child > a, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child > a {
  margin: auto auto auto -5px;
  padding: 3px 5px;
  color: #343a40;
  display: block;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child > a:hover, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.o-dropdown--legacy-kanban-record-menu .container .row.o_kanban_card_manage_settings > div:last-child:last-child, .o-dropdown--legacy-kanban-record-menu .o_container_small .row.o_kanban_card_manage_settings > div:last-child:last-child {
  margin-bottom: 5px;
}

.o_kanban_dashboard.o_emphasize_colors .o_kanban_renderer .o_legacy_kanban_record::after {
  width: 6px;
}



/* /web/static/src/views/kanban/kanban_examples_dialog.scss */

.o_kanban_examples_dialog .modal-body {
  padding: 0;
  background: #FFF;
}

.o_kanban_examples_dialog .o_notebook {
  --notebook-link-border-color: #dee2e6;
  --notebook-link-border-color-hover: #dee2e6;
  --notebook-link-border-color-active-accent: #714B67;
}

.o_kanban_examples_dialog .o_notebook .nav-link.active {
  background-color: #714B67;
  color: #FFF;
}

.o_kanban_examples_dialog .o_notebook .nav-link.active, .o_kanban_examples_dialog .o_notebook .nav-link.active:hover, .o_kanban_examples_dialog .o_notebook .nav-link.active:focus, .o_kanban_examples_dialog .o_notebook .nav-link.active:active {
  border-right-color: var(--notebook-link-border-color-active);
}

.o_kanban_examples_dialog .o_notebook .o_notebook_content {
  flex: 1 1 100%;
  min-height: 300px;
}

.o_kanban_examples_dialog .o_notebook .o_notebook_content .o_kanban_examples_description {
  padding: 16px 16px 0;
  text-align: justify;
}

.o_kanban_example_background_container .o_kanban_example_background {
  flex-basis: 100%;
}

.o_kanban_example_background_container .o_kanban_example_background .o_kanban_examples .o_kanban_examples_group .o_kanban_examples_ghost {
  width: var(--KanbanRecord--small-width);
}

.o_kanban_examples .o_kanban_examples_group .o_kanban_examples_ghost.o_collapse {
  margin-top: -1px;
}

.o_kanban_examples .o_kanban_examples_group .o_kanban_examples_ghost .o_ghost_avatar {
  height: 20px;
  width: 20px;
}



/* /web/static/src/views/kanban/kanban_header.scss */

.o-dropdown--kanban-config-menu {
  cursor: default;
}



/* /web/static/src/views/kanban/kanban_record_legacy.scss */

.o_kanban_renderer .o_legacy_kanban_record {
  position: relative;
  min-width: 150px;
  margin: 0 0 -1px;
}

.o_kanban_renderer .o_legacy_kanban_record > div:not(.o_dropdown_kanban) {
  border: 1px solid #dee2e6;
  background-color: white;
  padding: var(--KanbanRecord-padding-v) var(--KanbanRecord-padding-h);
  width: 100%;
  height: 100%;
}

.o_kanban_renderer .o_legacy_kanban_record > div::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: auto;
  width: 3px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_top,
.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_body {
  margin-bottom: var(--KanbanRecord-gap-v);
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_top,
.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_top {
  align-items: flex-start;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_top .o_dropdown_kanban {
  position: relative;
  top: auto;
  right: auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_top .o_field_priority {
  margin: auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_title {
  color: #212529;
  font-size: 0.9625rem;
  font-weight: 500;
  margin-bottom: 0;
  margin-top: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_left,
.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_right {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  min-height: 20px;
  gap: 3.25px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_left {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_left > * {
  margin-right: 6px;
  line-height: 1;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_left .o_priority_star {
  margin-top: 1px;
  font-size: 18px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_left span {
  overflow-wrap: anywhere;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .oe_kanban_bottom_right {
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .o_link_muted {
  color: #343a40;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .o_link_muted:hover {
  color: #714B67;
  text-decoration: underline;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left {
  position: relative;
  margin-right: var(--KanbanRecord-padding-h);
  flex: 1 0 var(--KanbanRecord__image--fill-width);
  min-height: 95px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

@media (min-width: 100mm) {
  .o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left {
    margin-top: calc(var(--KanbanRecord-padding-v) * -1);
    margin-bottom: calc(var(--KanbanRecord-padding-v) * -1);
    margin-left: calc(var(--KanbanRecord-padding-h) * -1);
  }
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left > img:not(.o_kanban_image_inner_pic) {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left:not(.o_kanban_image_full) {
  max-height: 140px;
  height: calc(100% + var(--KanbanRecord-padding-v) * 2);
  align-self: center;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left.o_kanban_image_full {
  background-size: contain;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left.o_kanban_image_full > img {
  object-fit: contain;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image {
  position: relative;
  margin-right: var(--KanbanRecord-padding-h);
  flex: 0 0 var(--KanbanRecord__image-width);
  min-height: var(--KanbanRecord__image-width);
  align-self: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image > img:not(.o_kanban_image_inner_pic) {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image {
    flex-basis: var(--KanbanRecord__image--fill-width);
    min-height: var(--KanbanRecord__image--fill-width);
  }
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image + div {
  padding-left: 0;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left,
.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image {
  background-color: var(--KanbanRecord__image-bg-color, none);
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_has_image_fill .o_kanban_image_fill_left .o_kanban_image_inner_pic,
.o_kanban_renderer .o_legacy_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: white;
  box-shadow: -1px -1px 0 1px white;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_1 {
  border-left-color: #ee2d2d;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_1:after {
  background-color: #ee2d2d;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_2 {
  border-left-color: #dc8534;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_2:after {
  background-color: #dc8534;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_3 {
  border-left-color: #e8bb1d;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_3:after {
  background-color: #e8bb1d;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_4 {
  border-left-color: #5794dd;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_4:after {
  background-color: #5794dd;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_5 {
  border-left-color: #9f628f;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_5:after {
  background-color: #9f628f;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_6 {
  border-left-color: #db8865;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_6:after {
  background-color: #db8865;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_7 {
  border-left-color: #41a9a2;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_7:after {
  background-color: #41a9a2;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_8 {
  border-left-color: #304be0;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_8:after {
  background-color: #304be0;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_9 {
  border-left-color: #ee2f8a;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_9:after {
  background-color: #ee2f8a;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_10 {
  border-left-color: #61c36e;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_10:after {
  background-color: #61c36e;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_11 {
  border-left-color: #9872e6;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_11:after {
  background-color: #9872e6;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_help {
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  right: auto;
  width: 3px;
  z-index: 1;
}

.o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban {
  visibility: hidden;
}

@media (max-width: 187.98mm) {
  .o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban {
    visibility: visible;
  }
}

.o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban .dropdown-toggle {
  margin: 1px 1px 0 0;
  padding: calc(var(--KanbanRecord-padding-h)/2) var(--KanbanRecord-padding-h);
  vertical-align: top;
  color: #343a40;
}

.o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban .dropdown-toggle:hover, .o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban .dropdown-toggle:focus, .o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban .dropdown-toggle.focus {
  color: #212529;
}

.o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban.show .dropdown-toggle {
  position: relative;
  z-index: 1001;
}

.o_kanban_renderer .o_legacy_kanban_record:hover .o_dropdown_kanban,
.o_kanban_renderer .o_legacy_kanban_record .o_dropdown_kanban.show {
  visibility: visible;
}

.o_kanban_renderer .o_legacy_kanban_record .o_field_many2many_tags {
  display: block;
  margin-bottom: var(--KanbanRecord-gap-v);
  word-break: break-all;
}

.o_kanban_renderer .o_legacy_kanban_record .o_field_many2many_tags.avatar {
  margin: 0 0 0 6px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_field_many2many_tags.avatar .o_m2m_avatar_empty > span {
  display: block;
  margin-top: 3px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_field_many2many_tags .o_tag {
  --Tag-max-width: MAX(200px, 100%);
  --Tag-font-size: 0.75rem;
}

.o_kanban_renderer .o_legacy_kanban_record .o_field_many2one_avatar img.o_m2o_avatar {
  margin-right: 0;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_image {
  position: relative;
  text-align: center;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_image img {
  max-width: 100%;
}

.o_kanban_renderer .o_legacy_kanban_record:focus-visible, .o_kanban_renderer .o_legacy_kanban_record:focus-within {
  z-index: 2;
}

.o_kanban_renderer .o_legacy_kanban_record .o_attachment_image > img {
  width: 100%;
  height: auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_progressbar {
  height: 20px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_progressbar .o_progressbar_title {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_image {
  float: left;
  width: var(--KanbanRecord__image-width);
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_image + div {
  padding-left: calc( var(--KanbanRecord__image-width) + var(--KanbanRecord-padding-h));
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_details {
  width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_details ul {
  margin-bottom: calc(var(--KanbanRecord-gap-v) * 0.5);
  padding-left: 0;
  list-style: none;
  font-size: 0.8125rem;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_details ul li {
  margin-bottom: 2px;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_footer {
  display: -webkit-box; display: -webkit-flex; display: flex;
  justify-content: space-between;
  align-items: center;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_footer > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_text_red {
  color: #d23f3a;
  font-weight: 500;
}

.o_kanban_renderer .o_legacy_kanban_record .o_text_bold {
  font-weight: 500;
}

.o_kanban_renderer .o_legacy_kanban_record .o_text_block {
  display: block;
}



/* /web/static/src/views/kanban/kanban_record_quick_create.scss */

.o_form_view.o_xxs_form_view.o_kanban_quick_create_form .o_inner_group {
  row-gap: 6.5px;
}

.o_form_view.o_xxs_form_view.o_kanban_quick_create_form .o_wrap_field .o_cell .o_field_widget {
  margin-bottom: 10px;
}

.o_form_view.o_xxs_form_view.o_kanban_quick_create_form .o_wrap_field .o_cell .o_field_widget > .o_field_widget {
  margin-bottom: 0;
}



/* /web/static/src/views/list/list_confirmation_dialog.scss */

.modal.o_technical_modal .o_modal_changes td:first-child {
  padding-right: 10px;
  vertical-align: top;
  white-space: nowrap;
}

.modal.o_technical_modal .o_modal_changes td:not(:first-child) {
  width: 100%;
}



/* /web/static/src/views/list/list_renderer.scss */

.o_list_renderer {
  --ListRenderer-table-padding-x: 0.15rem;
  --ListRenderer-thead-padding-y: 19.5px;
  --ListRenderer-thead-bg-color: #FFFFFF;
  --ListRenderer-thead-bg-active-color: #e9ecef;
  --ListRenderer-thead-border-end-color: #dee2e6;
  --ListRenderer-tfoot-bg-color: transparent;
  --sticky-header-zindex: 1;
  --o-view-nocontent-zindex: calc(var(--sticky-header-zindex) + 1);
  margin-left: var(--ListRenderer-margin-x, unset);
  margin-right: var(--ListRenderer-margin-x, unset);
  width: 100% !important;
}

.o_list_renderer th, .o_list_renderer td {
  background-clip: padding-box;
}

.o_list_view .o_list_renderer {
  --ListRenderer-thead-padding-y: 0.25rem;
  --ListRenderer-table-padding-x: 13px;
  --ListRenderer-table-padding-x: 0;
  --Tag-font-size: 0.8125rem;
}

.o_list_renderer .o_list_table {
  --table-bg: white;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
}

.o_list_renderer .o_list_table.o_list_table_grouped .o_group_header {
  --table-bg: #e9ecef;
  color: #000;
}

.o_list_renderer .o_list_table.o_list_table_ungrouped {
  --table-striped-bg: #f8f9fa;
  --table-striped-color: #000;
}

.o_list_renderer .o_list_table > thead > tr > :first-child, .o_list_renderer .o_list_table > tbody > tr > :first-child, .o_list_renderer .o_list_table > tfoot > tr > :first-child {
  padding-left: var(--ListRenderer-table-padding-x);
}

.o_list_renderer .o_list_table > thead > tr > :last-child, .o_list_renderer .o_list_table > tbody > tr > :last-child, .o_list_renderer .o_list_table > tfoot > tr > :last-child {
  padding-right: var(--ListRenderer-table-padding-x);
}

.o_list_renderer .o_list_table thead {
  background-color: var(--ListRenderer-thead-bg-color);
}

.o_list_renderer .o_list_table thead th {
  padding-top: var(--ListRenderer-thead-padding-y);
  background-color: transparent;
  color: #212529;
  font-weight: 500;
}

.o_list_renderer .o_list_table thead th.table-active {
  background: var(--ListRenderer-thead-bg-active-color);
  box-shadow: none;
}

.o_list_renderer .o_list_table thead .o_list_number_th {
  /*rtl:ignore*/
  text-align: right;
}

.o_list_renderer .o_list_table thead .o_column_sortable .o_list_sortable_caret {
  background: var(--ListRenderer-thead-bg-color);
  position: absolute;
  right: .2rem;
  padding: 0 .2rem;
}

.o_list_renderer .o_list_table thead .o_column_sortable.table-active .o_list_sortable_caret {
  background: var(--ListRenderer-thead-bg-active-color);
}

.o_list_renderer .o_list_table thead .o_column_sortable .o_list_header_label_spacer {
  -webkit-box-flex: 0; -webkit-flex: 0 0 0; flex: 0 0 0;
}

.o_list_renderer .o_list_table thead .o_column_sortable.table-active .o_list_header_label_spacer {
  flex: 1 0 0.4rem;
  max-width: 1.2rem;
}

.o_list_renderer .o_list_table > :not(:first-child) {
  border-top-width: 0;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove):not(.o_list_record_open_form_view) {
  --fieldWidget-display: block;
  display: table-cell;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove):not(.o_list_record_open_form_view) .o_field_priority .fa, .o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove):not(.o_list_record_open_form_view) .o_field_list_activity .fa {
  line-height: 1.1375rem;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):not(.o_handle_cell):not(.o_list_button):not(.o_list_record_remove):not(.o_list_record_open_form_view).o_list_text {
  white-space: pre-wrap;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_number {
  /*rtl:ignore*/
  text-align: right;
  /*rtl:ignore*/
  direction: ltr;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_text {
  word-wrap: break-word;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_text .o_field_widget textarea.o_input {
  vertical-align: top;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_char.o_color_cell .o_field_color {
  width: 17px;
  height: 17px;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_color_picker_cell .o_field_color_picker .o_colorlist {
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector).o_list_button > div > button {
  white-space: nowrap;
  padding: 0 5px;
}

.o_list_renderer .o_list_table tbody > tr > td:not(.o_list_record_selector):first-of-type > tr:first-child:not(.o_group_header) {
  box-shadow: inset 0px 5px 10px -4px rgba(0, 0, 0, 0.15);
}

.o_list_renderer .o_list_table.o_list_computing_widths > tbody > tr > td.o_list_text,
.o_list_renderer .o_list_table.o_list_computing_widths > tbody > tr > td > .o_field_text {
  white-space: pre !important;
}

.o_list_renderer .o_list_table.o_list_computing_widths > tbody > tr > td.o_list_button > div {
  flex-wrap: nowrap !important;
}

.o_list_renderer .o_list_table tfoot > tr > td {
  color: #212529;
  background-color: transparent;
  font-weight: 500;
  display: table-cell;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_list_renderer .o_list_table tfoot .o_list_number {
  /*rtl:ignore*/
  text-align: right;
  /*rtl:ignore*/
  direction: ltr;
}

.o_list_renderer .o_list_table .o_handle_cell {
  display: none;
}

.o_list_renderer .o_list_table .o_column_sortable:not(.o_handle_cell) {
  user-select: none;
}

.o_list_renderer .o_list_table .o_list_record_selector {
  width: 40px;
  vertical-align: middle;
  width: 1.5rem !important;
}

.o_list_renderer .o_list_table .o_list_record_remove, .o_list_renderer .o_list_table .o_handle_cell, .o_list_renderer .o_list_table .o_list_record_open_form_view {
  width: 1px;
}

.o_list_renderer .o_list_table .o_list_table_ungrouped .o_list_controller {
  max-width: 35px !important;
}

.o_list_renderer .o_list_table .o_list_record_remove button, .o_list_renderer .o_list_table .o_list_record_open_form_view button {
  padding: 0px;
  background: none;
  border-style: none;
  display: table-cell;
  cursor: pointer;
}

.o_list_renderer .o_list_table .o_keyboard_navigation th:focus-within, .o_list_renderer .o_list_table .o_keyboard_navigation td:focus-within {
  --table-accent-bg: none;
  background-color: #e9ecef;
  outline: none;
}

.o_list_renderer .o_list_table .o_selected_row th:focus-within, .o_list_renderer .o_list_table .o_selected_row td:focus-within {
  --table-accent-bg: none;
  background-color: white;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header > th,
.o_list_renderer .o_list_table tbody > tr.o_group_header > td {
  vertical-align: middle;
  padding-top: 5px;
  padding-bottom: 5px;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_group_name {
  display: table-cell;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_group_buttons {
  display: inline-block;
  margin-left: 10px;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_group_buttons > button {
  padding-top: 0;
  padding-bottom: 0;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_pager {
  cursor: text;
  user-select: none;
  text-align: right;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: -2px;
  margin-bottom: -2px;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_pager .o_pager_previous,
.o_list_renderer .o_list_table tbody > tr.o_group_header .o_pager .o_pager_next {
  max-height: 30px;
  padding: 0 5px;
  background-color: white;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_pager .o_pager_previous:hover,
.o_list_renderer .o_list_table tbody > tr.o_group_header .o_pager .o_pager_next:hover {
  background-color: #f8f9fa;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_group_caret {
  margin-inline-start: calc(var(--o-list-group-level, 0) * 19.5px);
}

.o_list_renderer .o_list_table tbody + tbody {
  border-top: none;
}

.o_list_renderer .o_list_table .o_data_cell.o_text_overflow,
.o_list_renderer .o_list_table .o_data_cell.o_invisible_modifier {
  display: table-cell !important;
}

.o_list_renderer .o_list_table.o_resizing tr > :not(.o_column_resizing) {
  opacity: 0.5;
}

.o_list_renderer .o_list_table.o_empty_list {
  table-layout: fixed;
}

.o_list_renderer .o_list_table th {
  position: relative;
}

.o_list_renderer .o_list_table span.o_resize {
  cursor: col-resize;
}

.o_list_renderer .o_list_table .o_list_open_form_view {
  width: 64px;
  min-width: 64px;
}

.o_list_renderer .o_list_table .o_list_actions_header {
  width: 32px;
  min-width: 32px;
  background-color: var(--ListRenderer-thead-bg-color);
}

.o_list_renderer .o_list_table .o_data_row.o_list_no_open {
  cursor: default;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell .form-check {
  pointer-events: none;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell.o_boolean_button_cell > .o_field_widget:not(.o_readonly_modifier) .form-check, .o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell.o_boolean_favorite_cell > .o_field_widget:not(.o_readonly_modifier) .form-check, .o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell.o_boolean_toggle_cell > .o_field_widget:not(.o_readonly_modifier) .form-check, .o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell.o_toggle_button_cell > .o_field_widget:not(.o_readonly_modifier) .form-check {
  pointer-events: auto;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_many2one,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_char,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_activity_cell,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_number {
  white-space: nowrap;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_many2one .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_char .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_activity_cell .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_number .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge) {
  display: inline;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_many2one .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_char .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_activity_cell .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_number .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_many2one .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie span.o_pie_text,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_char .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie span.o_pie_text,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_activity_cell .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie span.o_pie_text,
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_number .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge).o_field_percent_pie span.o_pie_text {
  display: none;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_many2one .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge) span:not(.o_m2o_avatar),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_char .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge) span:not(.o_m2o_avatar),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_activity_cell .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge) span:not(.o_m2o_avatar),
.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_list_number .o_field_widget:not(.o_row_handle):not(.o_field_handle):not(.o_field_badge) span:not(.o_m2o_avatar) {
  display: inline;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) {
  width: 100%;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_input {
  --o-input-background-color: initial;
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier).o_field_text {
  vertical-align: top;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_field_many2one_selection .o_external_button {
  padding: 0;
  border: none;
  background-color: inherit;
  margin-left: 5px;
  font-size: 12px;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier).o_field_monetary input {
  width: 0;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier).o_field_monetary span.o_input {
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_field_many2one_avatar {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier).o_field_badge {
  width: auto;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_input_dropdown > .o_input,
.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_datepicker > .o_input {
  padding-right: 15px;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_input_dropdown > .o_dropdown_button,
.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_input_dropdown .o_datepicker_button,
.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_datepicker > .o_dropdown_button,
.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_datepicker .o_datepicker_button {
  margin-right: 5px;
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: 0;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) input.o_field_translate,
.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) textarea.o_field_translate {
  padding-right: 35px;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .o_field_input_buttons, .o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) .btn.o_field_translate {
  visibility: visible;
}

.o_list_renderer .o_list_table .o_data_row.o_selected_row > .o_data_cell > .o_field_widget:not(.o_readonly_modifier):not(.o_invisible_modifier) > .o_row_handle {
  visibility: hidden;
}

.o_list_renderer .o_list_table .o_field_x2many_list_row_add a:focus,
.o_list_renderer .o_list_table .o_field_x2many_list_row_add a:active,
.o_list_renderer .o_list_table .o_field_x2many_list_row_add button:focus,
.o_list_renderer .o_list_table .o_field_x2many_list_row_add button:active,
.o_list_renderer .o_list_table .o_group_field_row_add a:focus,
.o_list_renderer .o_list_table .o_group_field_row_add a:active,
.o_list_renderer .o_list_table .o_group_field_row_add button:focus,
.o_list_renderer .o_list_table .o_group_field_row_add button:active {
  color: #01585c;
  outline: none;
}

.o_list_renderer .o_list_table .o_field_x2many_list_row_add button,
.o_list_renderer .o_list_table .o_group_field_row_add button {
  font-weight: 400;
  padding: 0;
  vertical-align: baseline;
}

.o_list_renderer .o_data_row.o_selected_row > .o_data_cell.o_required_modifier:not(.o_readonly_modifier) {
  border-bottom: 1px solid #212529;
}

.o_list_renderer .o_data_row.o_selected_row > .o_data_cell.o_invalid_cell:not(.o_readonly_modifier) {
  border-bottom: 1px solid #d44c59;
}

.o_list_renderer .o_data_row.o_selected_row > .o_data_cell.o_invalid_cell:not(.o_readonly_modifier):not(:focus-within) {
  background-color: rgba(220, 53, 69, 0.1);
}

.o_list_renderer .o_data_cell [type="action"] {
  display: none;
}

.o_list_renderer .o_data_cell.w-print-0.p-print-0 {
  visibility: hidden;
}

.o_list_renderer .o_optional_columns_dropdown .dropdown-item .o-checkbox .text-truncate {
  max-width: 30em;
}

@media (max-width: 187.98mm) {
  .o_data_row_selected {
    user-select: none;
  }
  .o_web_client.o_touch_device .o_content table.o_list_table.table tr > .o_list_record_selector:first-child {
    display: none;
  }
  .o_web_client.o_touch_device .o_content table.o_list_table.table tr > .o_list_record_selector:first-child + * {
    padding-left: var(--ListRenderer-table-padding-x);
  }
}

.o_list_view .o_view_sample_data .o_list_table {
  cursor: default !important;
}

.o_list_view .o_view_sample_data .o_data_row,
.o_list_view .o_view_sample_data .o_list_footer,
.o_list_view .o_view_sample_data .o_group_header {
  opacity: 0.06;
  pointer-events: none;
  user-select: none;
  border-color: rgba(0, 0, 0, 0.02);
}

.o_list_view .o_list_buttons > * {
  margin: auto 0;
}

@media (max-width: 187.98mm) {
  .o_web_client:has(.o_list_selection_container) .o_navbar {
    opacity: 0.15;
  }
  .o_list_view .o_list_selection_container {
    position: fixed;
    top: 0;
    left: 0;
  }
}

.modal-footer .o_list_selection_box {
  margin-bottom: 0rem !important;
}



/* /web/static/src/views/view.scss */

/**
 * This file regroups the rules which apply on elements which are shared between
 * all views.
 */
.o_view_sample_data .form-check {
  pointer-events: none !important;
}

.o_view_nocontent {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none;
  z-index: var(--o-view-nocontent-zindex, 1);
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  justify-content: center;
}

.o_view_nocontent .o_nocontent_help {
  pointer-events: auto;
  max-width: 650px;
  margin: auto;
  padding: 15px;
  z-index: 1000;
  text-align: center;
  color: #343a40;
  font-size: 115%;
}

.o_view_nocontent .o_nocontent_help > p:first-of-type {
  margin-top: 0;
  color: #212529;
  font-weight: bold;
  font-size: 125%;
}

.o_view_nocontent .o_nocontent_help a {
  cursor: pointer;
}

.o_view_nocontent .o_nocontent_help .o_view_nocontent_smiling_face:before {
  width: 120px;
  height: 140px;
  background: transparent url(/web/static/img/smiling_face.svg) no-repeat center;
}

.o_view_nocontent .o_nocontent_help .o_view_nocontent_neutral_face:before {
  width: 120px;
  height: 140px;
  background: transparent url(/web/static/img/neutral_face.svg) no-repeat center;
}

.o_view_nocontent .o_nocontent_help .o_empty_custom_dashboard {
  min-height: 327px;
  margin-left: -13px;
  margin-top: -13px;
  padding: 100px 0 0 137px;
  background: transparent url(/web/static/img/graph_background.png) no-repeat 0 0;
}

.o_dialog .o_content:has(.o_view_nocontent) {
  min-height: 20rem;
}

.o_invisible_modifier {
  display: none !important;
}

.o_status {
  border-radius: 50%;
  background-color: #e9ecef;
  height: var(--Status-size, 12px);
  width: var(--Status-size, 12px);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.o_status.o_status_green {
  background-color: #28a745;
}

.o_status.o_status_red {
  background-color: #d44c59;
}

.dropdown-item > .o_status {
  margin-bottom: .2em;
  transform: translateX(-50%);
}



/* /web/static/src/views/view_components/animated_number.scss */

@keyframes animated-counter-grow {
  30% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
}

@keyframes animated-counter-grow-huge {
  30% {
    transform: scale3d(1.3, 1.3, 1.3);
  }
}

.o_animated_number {
  transform-origin: right center;
}

.o_animated_number.o_animated_grow {
  animation: animated-counter-grow 1s ease 0s 1 normal none running;
}

.o_animated_number.o_animated_grow_huge {
  animation: animated-counter-grow-huge 1s ease 0s 1 normal none running;
}



/* /web/static/src/views/view_dialogs/export_data_dialog.scss */

.o_export_data_dialog .modal-body {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_export_data_dialog .modal-body .row {
  flex: 1;
}

.o_export_data_dialog .modal-body .o_left_panel .o_left_field_panel, .o_export_data_dialog .modal-body .o_left_panel .o_right_field_panel, .o_export_data_dialog .modal-body .o_right_panel .o_left_field_panel, .o_export_data_dialog .modal-body .o_right_panel .o_right_field_panel {
  user-select: none;
}

.o_export_data_dialog .modal-body .o_left_panel .o_left_field_panel .o_export_tree_item:hover:not(.o_expanded), .o_export_data_dialog .modal-body .o_left_panel .o_right_field_panel .o_export_tree_item:hover:not(.o_expanded), .o_export_data_dialog .modal-body .o_right_panel .o_left_field_panel .o_export_tree_item:hover:not(.o_expanded), .o_export_data_dialog .modal-body .o_right_panel .o_right_field_panel .o_export_tree_item:hover:not(.o_expanded) {
  background: rgba(113, 75, 103, 0.7);
  color: white;
}

.o_export_data_dialog .modal-body .o_left_panel .o_left_field_panel .o_export_tree_item.o_expanded, .o_export_data_dialog .modal-body .o_left_panel .o_right_field_panel .o_export_tree_item.o_expanded, .o_export_data_dialog .modal-body .o_right_panel .o_left_field_panel .o_export_tree_item.o_expanded, .o_export_data_dialog .modal-body .o_right_panel .o_right_field_panel .o_export_tree_item.o_expanded {
  border-bottom: 1px solid grey;
  background: rgba(113, 75, 103, 0.2);
}

.o_export_data_dialog .modal-body .o_left_panel .o_left_field_panel .o_export_tree_item .o_expand_parent, .o_export_data_dialog .modal-body .o_left_panel .o_right_field_panel .o_export_tree_item .o_expand_parent, .o_export_data_dialog .modal-body .o_right_panel .o_left_field_panel .o_export_tree_item .o_expand_parent, .o_export_data_dialog .modal-body .o_right_panel .o_right_field_panel .o_export_tree_item .o_expand_parent {
  inset: 4px auto auto 0.5em;
  line-height: inherit;
}

.o_export_data_dialog .modal-body .o_left_panel .o_left_field_panel .o_export_field_sortable > *:not(.o_remove_field), .o_export_data_dialog .modal-body .o_left_panel .o_right_field_panel .o_export_field_sortable > *:not(.o_remove_field), .o_export_data_dialog .modal-body .o_right_panel .o_left_field_panel .o_export_field_sortable > *:not(.o_remove_field), .o_export_data_dialog .modal-body .o_right_panel .o_right_field_panel .o_export_field_sortable > *:not(.o_remove_field) {
  cursor: url(/web/static/img/openhand.cur), grab;
}



/* /web/static/src/views/widgets/ribbon/ribbon.scss */

.ribbon {
  --Ribbon-wrapper-width-default: 10rem;
  --Ribbon-wrapper-height: var(--Ribbon-wrapper-width, var(--Ribbon-wrapper-width-default));
  width: var(--Ribbon-wrapper-width, var(--Ribbon-wrapper-width-default));
  height: var(--Ribbon-wrapper-height);
  overflow: hidden;
  position: absolute;
}

.ribbon span {
  --Ribbon-font-size-default: 1.09375rem;
  --Ribbon-height-default: calc(var(--Ribbon-font-size, var(--Ribbon-font-size-default)) * 2.5);
  --Ribbon-shadow-distance: .25rem;
  --Ribbon-shadow-blur: .5rem;
  z-index: var(--Ribbon-z-index);
  position: absolute;
  width: 141.421%;
  height: var(--Ribbon-height, var(--Ribbon-height-default));
  box-shadow: 0 var(--Ribbon-shadow-distance) var(--Ribbon-shadow-blur) rgba(0, 0, 0, 0.1);
  color: #FFF;
  font-size: var(--Ribbon-font-size, var(--Ribbon-font-size-default));
  line-height: var(--Ribbon-height, var(--Ribbon-height-default));
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  text-transform: uppercase;
  text-align: center;
  overflow: hidden;
  user-select: none;
  transform-origin: left bottom;
  pointer-events: none;
}

.ribbon span.o_small {
  font-size: 0.8125rem;
}

.ribbon span.o_medium {
  font-size: 0.875rem;
}

.ribbon-top-right {
  --Ribbon-gap-top-default: calc(var(--formView-sheet-padding-y, 0) * -1 - 1px);
  --Ribbon-gap-right-default: -1px;
  pointer-events: none;
  margin-top: var(--Ribbon-gap-top, var(--Ribbon-gap-top-default));
  right: var(--Ribbon-gap-right, var(--Ribbon-gap-right-default));
}

.ribbon-top-right span {
  --Ribbon-top-position-default: calc((var(--Ribbon-height-default) * -1));
  --Ribbon-left-position-default: calc(var(--Ribbon-shadow-distance) + var(--Ribbon-shadow-blur));
  left: var(--Ribbon-left-position, var(--Ribbon-left-position-default));
  top: var(--Ribbon-top-position, var(--Ribbon-top-position-default));
  transform: rotate(45deg);
}

.ribbon:not(.o_invisible_modifier) ~ .oe_title, .ribbon:not(.o_invisible_modifier) ~ .o_field_widget {
  margin-right: 100px;
}

.o_form_sheet .ribbon {
  --Ribbon-z-index: 1;
}



/* /web/static/src/views/widgets/week_days/week_days.scss */

.o_recurrent_weekdays .form-check .form-check-input {
  float: none;
  margin-left: 0;
  margin-right: 3.25px;
}



/* /web/static/src/webclient/actions/action_dialog.scss */

.modal.o_technical_modal .modal-content .modal-body.o_act_window {
  padding: 0;
}

@media (max-width: 187.98mm) {
  .modal.o_technical_modal .modal-content .modal-body.o_act_window .o_action {
    display: -webkit-box; display: -webkit-flex; display: flex;
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    height: 100%;
  }
}



/* /web/static/src/webclient/burger_menu/burger_menu.scss */

.o_burger_menu, .o_app_menu_sidebar {
  width: Min(360px, 80%);
  z-index: 1090;
  transition: transform .2s ease;
  transform: translateX(-100%);
}

.o_burger_menu.o-burger-slide-enter, .o_burger_menu.o-burger-slide-leave, .o_burger_menu.o-app-menu-sidebar-enter, .o_burger_menu.o-app-menu-sidebar-leave, .o_app_menu_sidebar.o-burger-slide-enter, .o_app_menu_sidebar.o-burger-slide-leave, .o_app_menu_sidebar.o-app-menu-sidebar-enter, .o_app_menu_sidebar.o-app-menu-sidebar-leave {
  transform: translateX(0);
}

.o_burger_menu .o_sidebar_topbar, .o_app_menu_sidebar .o_sidebar_topbar {
  min-height: 46px;
  background-color: #f8f9fa;
  color: #212529;
  line-height: 46px;
  box-shadow: inset 0 -1px 0 #dee2e6;
}

.o_burger_menu .o_sidebar_topbar .dropdown-toggle, .o_burger_menu .o_sidebar_topbar .o_sidebar_close, .o_app_menu_sidebar .o_sidebar_topbar .dropdown-toggle, .o_app_menu_sidebar .o_sidebar_topbar .o_sidebar_close {
  padding: 0 13px;
}

.o_burger_menu .o_burger_menu_content.o_burger_menu_app, .o_app_menu_sidebar .o_burger_menu_content.o_burger_menu_app {
  background-color: #FFF;
}

.o_burger_menu .o_burger_menu_content ul li, .o_app_menu_sidebar .o_burger_menu_content ul li {
  padding-left: 13px;
}

.o_burger_menu .o_burger_menu_content ul li ul > li, .o_burger_menu .o_burger_menu_content ul li ul > li > div, .o_app_menu_sidebar .o_burger_menu_content ul li ul > li, .o_app_menu_sidebar .o_burger_menu_content ul li ul > li > div {
  text-indent: .5em;
}

.o_burger_menu .o_burger_menu_content ul li ul > li ul > li, .o_burger_menu .o_burger_menu_content ul li ul > li ul > li > div, .o_app_menu_sidebar .o_burger_menu_content ul li ul > li ul > li, .o_app_menu_sidebar .o_burger_menu_content ul li ul > li ul > li > div {
  text-indent: 1em;
}

.o_burger_menu .o_burger_menu_content ul li:last-child, .o_app_menu_sidebar .o_burger_menu_content ul li:last-child {
  margin-bottom: 6.5px;
}

.o_burger_menu .o_burger_menu_content li, .o_burger_menu .o_burger_menu_content button, .o_app_menu_sidebar .o_burger_menu_content li, .o_app_menu_sidebar .o_burger_menu_content button {
  color: rgba(52, 58, 64, 0.8);
}

.o_burger_menu .o_burger_menu_content li:hover, .o_burger_menu .o_burger_menu_content li:focus, .o_burger_menu .o_burger_menu_content li.focus, .o_burger_menu .o_burger_menu_content button:hover, .o_burger_menu .o_burger_menu_content button:focus, .o_burger_menu .o_burger_menu_content button.focus, .o_app_menu_sidebar .o_burger_menu_content li:hover, .o_app_menu_sidebar .o_burger_menu_content li:focus, .o_app_menu_sidebar .o_burger_menu_content li.focus, .o_app_menu_sidebar .o_burger_menu_content button:hover, .o_app_menu_sidebar .o_burger_menu_content button:focus, .o_app_menu_sidebar .o_burger_menu_content button.focus {
  color: #343a40;
}

.o_app_menu_sidebar {
  transform: translateX(100%);
}

@media (max-width: 187.98mm) {
  .o_debug_dropdown {
    z-index: 1090;
  }
}



/* /web/static/src/webclient/debug/profiling/profiling_item.scss */

.o_debug_profiling_item {
  cursor: auto;
  padding-left: 12px;
}

.o_debug_profiling_item .o_profiling_switch .form-switch {
  cursor: pointer;
}

.o_debug_recording {
  animation: 2s flash infinite;
}

.o-dropdown--menu .o_debug_profiling_item_wrapper.dropdown-item.focus {
  background: inherit;
}



/* /web/static/src/webclient/debug/profiling/profiling_qweb.scss */

.o_form_view .o_ace_view_editor {
  background: transparent;
}

.o_profiling_qweb_view {
  user-select: none;
}

.o_profiling_qweb_view .o_select_view_profiling {
  margin-bottom: 10px;
}

.o_profiling_qweb_view .o_select_view_profiling .dropdown-menu {
  overflow: auto;
  max-height: 240px;
}

.o_profiling_qweb_view .o_select_view_profiling a {
  margin: 3px 0;
  display: block;
}

.o_profiling_qweb_view .o_select_view_profiling a .o_delay, .o_profiling_qweb_view .o_select_view_profiling a .o_query {
  font-size: 0.8em;
  display: inline-block;
  color: #343a40;
  text-align: right;
  width: 50px;
  margin-right: 10px;
  white-space: nowrap;
}

.o_profiling_qweb_view .o_select_view_profiling a .o_key {
  display: inline-block;
  margin-left: 10px;
  font-size: 0.8em;
}

.o_profiling_qweb_view .ace_hidpi .ace_text-layer,
.o_profiling_qweb_view .ace_hidpi .ace_gutter-layer,
.o_profiling_qweb_view .ace_hidpi .ace_content,
.o_profiling_qweb_view .ace_hidpi .ace_gutter {
  contain: layout !important;
}

.o_profiling_qweb_view .ace_editor {
  overflow: visible;
}

.o_profiling_qweb_view .ace_editor .ace_qweb, .o_profiling_qweb_view .ace_editor .ace_tag-name {
  cursor: default;
  pointer-events: all;
  position: relative;
}

.o_profiling_qweb_view .ace_editor .ace_qweb .o_info, .o_profiling_qweb_view .ace_editor .ace_tag-name .o_info {
  display: none;
  left: 8px;
  top: 14px;
  width: 100px;
}

.o_profiling_qweb_view .ace_editor .ace_qweb .o_info .o_delay span, .o_profiling_qweb_view .ace_editor .ace_qweb .o_info .o_query span, .o_profiling_qweb_view .ace_editor .ace_tag-name .o_info .o_delay span, .o_profiling_qweb_view .ace_editor .ace_tag-name .o_info .o_query span {
  text-align: left;
  display: inline-block;
  width: 40px;
}

.o_profiling_qweb_view .ace_editor .ace_qweb:hover .o_info, .o_profiling_qweb_view .ace_editor .ace_tag-name:hover .o_info {
  display: block;
}

.o_profiling_qweb_view .ace_editor .ace_qweb:hover .o_info:hover, .o_profiling_qweb_view .ace_editor .ace_tag-name:hover .o_info:hover {
  display: none;
}

.o_profiling_qweb_view .ace_editor .ace_gutter {
  width: 134px !important;
  overflow: visible;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-layer {
  width: 134px !important;
  overflow: visible;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info {
  display: block;
  float: left;
  font-size: 0.8em;
  white-space: nowrap;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more {
  float: left;
  position: relative;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more span {
  color: orange !important;
  cursor: default;
  margin-left: -12px;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail {
  left: 30px;
  top: -30px;
  min-width: 120px;
  display: none;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail th {
  text-align: center;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail td {
  min-width: 60px;
  vertical-align: top;
  text-align: left;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail tr td:first-child {
  padding-right: 10px;
  white-space: nowrap;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail tr th:last-child, .o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more .o_detail tr td:last-child {
  padding-left: 10px;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more:hover > .o_detail {
  display: block;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_more:hover > .o_detail:hover {
  display: none;
}

.o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_delay, .o_profiling_qweb_view .ace_editor .ace_gutter-cell .o_info .o_query {
  display: block;
  float: left;
  margin-right: 10px;
  width: 30px;
}

.o_profiling_qweb_view .ace_editor .ace_line {
  border-bottom: 1px #dddddd dotted;
}

.o_profiling_qweb_view .ace_editor .ace_scrollbar-h {
  z-index: 3;
}

.o_profiling_qweb_view .ace_editor .o_detail {
  position: absolute;
  z-index: 1;
  background: #ffedcb;
  color: orange !important;
  border: 1px orange solid;
  padding: 6px;
  white-space: normal;
  text-align: right;
}



/* /web/static/src/webclient/loading_indicator/loading_indicator.scss */

.o_loading_indicator {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1056;
  background-color: #714B67;
  color: white;
  padding: 4px;
  transition: opacity 0.4s;
}

.o_loading_indicator.o-fade-leave, .o_loading_indicator.o-fade-enter {
  opacity: 0;
}



/* /web/static/src/webclient/settings_form_view/settings/searchable_setting.scss */

.o_searchable_setting {
  --SearchableSetting__highlight-background: #e6f2f3;
  --SearchableSetting__highlight-border: #017e84;
}

.o_searchable_setting.o_setting_highlight {
  background-color: var(--SearchableSetting__highlight-background) !important;
  box-shadow: -1px 0px 0px 0px var(--SearchableSetting__highlight-border) inset, 1px 0px 0px 0px var(--SearchableSetting__highlight-border) inset, 0px -1px 0px 0px var(--SearchableSetting__highlight-border) inset, 0px 1px 0px 0px var(--SearchableSetting__highlight-border) inset;
}



/* /web/static/src/webclient/settings_form_view/settings_form_view.scss */

body:not(.o_touch_device) .o_settings_container .o_field_selection:not(:hover):not(:focus-within) select:not(:hover) {
  background: transparent url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'><polygon fill='%23343a40' points='3.5 4 7 0 0 0'/></svg>") no-repeat right center;
}

.o_base_settings_view .o_form_renderer {
  height: 100%;
  overflow: auto;
}

.o_setting_container {
  height: 100%;
}

.o_setting_container > * {
  overflow: auto;
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
}

.o_enterprise_label {
  position: absolute;
  top: 0px;
  right: 40px;
}

.o_form_view.o_base_settings_view .o_form_renderer.o_form_nosheet {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  padding: 0px;
}

.o_base_settings_view .o_form_renderer {
  --settings__tab-bg: #f8f9fa;
  --settings__tab-bg--active: #e6f2f3;
  --settings__tab-color: #495057;
  --settings__title-bg: #e9ecef;
  height: 100%;
}

.o_base_settings_view .o_form_renderer .o_control_panel {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

.o_base_settings_view .o_form_renderer .o_control_panel .o_panel {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  width: 100%;
}

.o_base_settings_view .o_form_renderer .o_control_panel .o_form_statusbar {
  padding: 0;
  margin: 0;
  border: 0;
}

.o_base_settings_view .o_form_renderer .o_setting_container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  overflow: auto;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  background: var(--settings__tab-bg);
  overflow: auto;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .selected {
  background-color: var(--settings__tab-bg--active, #e6f2f3);
  box-shadow: inset 2px 0 0 #017e84;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab {
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding: 0 26px 0 13px;
  height: 40px;
  color: var(--settings__tab-color);
  font-size: 13px;
  line-height: 40px;
  cursor: pointer;
  white-space: nowrap;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab .icon {
  width: 23px;
  min-width: 23px;
  margin-right: 10px;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab:hover, .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab.selected {
  color: #212529;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings {
  position: relative;
  flex: 1 1 100%;
  background-color: white;
  overflow: auto;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block h2, .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .h2 {
  margin: 0 0 !important;
  padding: 0.7rem 13px;
  background-color: var(--settings__title-bg);
  font-size: 15px;
}

@media (min-width: 220mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block h2, .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .h2 {
    padding-left: 26px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block h2.o_invisible_modifier + .o_settings_container, .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_invisible_modifier.h2 + .o_settings_container {
  display: none;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block h3, .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .h3 {
  margin: 0 0 !important;
  padding: 0.7rem 13px;
  font-weight: 400;
  font-size: 13px;
}

@media (min-width: 220mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block h3, .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .h3 {
    padding-left: 26px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
  max-width: 190mm;
  margin-bottom: 24px;
}

@media (min-width: 188mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
    padding: 0 13px;
  }
}

@media (min-width: 188mm) and (min-width: 220mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
    padding-left: 26px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .settingSearchHeader {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  margin-bottom: 10px;
  padding: 0.8rem 13px;
  background-color: #e9ecef;
}

@media (min-width: 220mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings .settingSearchHeader {
    padding-left: 26px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .settingSearchHeader .icon {
  width: 1.4em;
  height: 1.4em;
  margin-right: 10px;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .settingSearchHeader + .app_settings_header {
  margin-top: -10px;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .app_settings_header {
  padding: 0 13px;
}

@media (min-width: 220mm) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings .app_settings_header {
    padding-left: 26px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .highlighter {
  background: yellow;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings .o_datepicker .o_datepicker_button {
  visibility: visible;
}

.o_base_settings_view .o_form_renderer .o_setting_container .d-block {
  display: block !important;
}



/* /web/static/src/webclient/settings_form_view/settings_form_view_mobile.scss */

@media (max-width: 187.98mm) {
  .o_base_settings_view .o_form_renderer {
    -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  }
  .o_base_settings_view .o_form_renderer > .o_control_panel {
    padding-top: 10px;
    padding-right: 13px;
    padding-bottom: 10px;
    padding-left: 13px;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container {
    -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab {
    flex: 0 0 40px;
    flex-direction: row;
    position: relative;
    overflow: hidden;
    overflow-x: auto;
    padding: 0;
    border-bottom: 1px solid #dee2e6;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab {
    display: block;
    width: auto;
    height: 40px;
    padding: 10px 16px;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: inherit;
    transition: 0.2s all ease 0s;
    transform: translate3d(0, 0, 0);
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab .app_name {
    display: block;
    white-space: nowrap;
    text-transform: uppercase;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab:after {
    content: '';
    background: #714B67;
    opacity: 0;
    position: absolute;
    top: auto;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 3px;
    transition: 0.2s all ease 0s;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab.current {
    font-weight: bold;
    box-shadow: none;
    background: none;
  }
  .o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab.current:after {
    opacity: 1;
  }
}



/* /web/static/src/webclient/settings_form_view/widgets/settings_widgets.scss */

.o_setting_container .o_web_settings_user {
  font-size: 95%;
  font-weight: 500;
}

.o_doc_link {
  text-decoration: none;
  font-weight: normal;
}



/* /web/static/src/webclient/switch_company_menu/switch_company_menu.scss */

.o_switch_company_menu_dropdown {
  min-width: 20rem;
}

.o_switch_company_menu_items {
  max-height: 20rem;
  overflow-x: auto;
}

.o_switch_company_menu_items .o_switch_company_item {
  height: 33px;
}

.o_switch_company_menu_items .o_switch_company_item [role=button] {
  min-width: 0;
}

.o_switch_company_menu_items .o_switch_company_item.focus, .o_switch_company_menu_items .o_switch_company_item.focus > * {
  background-color: var(--gray-200);
}

.o_switch_company_menu_items .o_switch_company_item .disabled {
  cursor: default;
}

.o_switch_company_menu_buttons .btn-primary {
  color: #FFF;
}

.o_switch_company_menu_buttons .focus.btn-primary {
  outline: 2px solid var(--o-cc1-text);
}

.o_switch_company_menu_buttons .focus.btn-secondary {
  outline: 2px solid var(--o-cc1-text);
}

.o_switch_company_menu .oe_topbar_name {
  max-width: 15rem;
}



/* /web/static/src/webclient/user_menu/user_menu.scss */

.o_user_menu .dropdown-toggle {
  --NavBar-entry-padding-right: 13px;
}

.o_user_menu .dropdown-toggle .o_user_avatar {
  height: calc(var(--o-navbar-height) - 20px);
}



/* /web/static/src/webclient/webclient.scss */

:root {
  --o-webclient-color-scheme:bright;
  font-size: 13px;
}

html, body {
  position: relative;
  width: 100%;
  height: 100%;
}

tfoot tr, tfoot td, tfoot th {
  border-style: none;
}

.o_web_client {
  direction: ltr;
  position: relative;
  background-color: #FFFFFF;
  color-scheme: bright;
}

.o_icon_button {
  background-color: transparent;
  border: 0;
  padding: 0;
  outline: none;
}

kbd {
  border: 1px solid #e9ecef;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2), inset 0px -1px 1px 1px rgba(233, 236, 239, 0.8), inset 0px 2px 0px 0px rgba(255, 255, 255, 0.8);
}

.bg-primary-light {
  --bg-light: rgba(113, 75, 103, 0.5);
  --color-light: #000;
  background-color: rgba(113, 75, 103, 0.5) !important;
  color: #000;
}

.bg-primary-light .text-muted, .o_colored_level .bg-primary-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-primary-light:hover, a.bg-primary-light:focus,
button.bg-primary-light:hover,
button.bg-primary-light:focus {
  --bg-light: rgba(82, 55, 75, 0.5);
  --color-light: #000;
  background-color: rgba(82, 55, 75, 0.5) !important;
  color: #000;
}

.bg-secondary-light {
  --bg-light: rgba(222, 226, 230, 0.5);
  --color-light: #000;
  background-color: rgba(222, 226, 230, 0.5) !important;
  color: #000;
}

.bg-secondary-light .text-muted, .o_colored_level .bg-secondary-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-secondary-light:hover, a.bg-secondary-light:focus,
button.bg-secondary-light:hover,
button.bg-secondary-light:focus {
  --bg-light: rgba(193, 201, 208, 0.5);
  --color-light: #000;
  background-color: rgba(193, 201, 208, 0.5) !important;
  color: #000;
}

.bg-success-light {
  --bg-light: rgba(40, 167, 69, 0.5);
  --color-light: #000;
  background-color: rgba(40, 167, 69, 0.5) !important;
  color: #000;
}

.bg-success-light .text-muted, .o_colored_level .bg-success-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-success-light:hover, a.bg-success-light:focus,
button.bg-success-light:hover,
button.bg-success-light:focus {
  --bg-light: rgba(30, 126, 52, 0.5);
  --color-light: #000;
  background-color: rgba(30, 126, 52, 0.5) !important;
  color: #000;
}

.bg-info-light {
  --bg-light: rgba(23, 162, 184, 0.5);
  --color-light: #000;
  background-color: rgba(23, 162, 184, 0.5) !important;
  color: #000;
}

.bg-info-light .text-muted, .o_colored_level .bg-info-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-info-light:hover, a.bg-info-light:focus,
button.bg-info-light:hover,
button.bg-info-light:focus {
  --bg-light: rgba(17, 122, 139, 0.5);
  --color-light: #000;
  background-color: rgba(17, 122, 139, 0.5) !important;
  color: #000;
}

.bg-warning-light {
  --bg-light: rgba(233, 157, 0, 0.5);
  --color-light: #000;
  background-color: rgba(233, 157, 0, 0.5) !important;
  color: #000;
}

.bg-warning-light .text-muted, .o_colored_level .bg-warning-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-warning-light:hover, a.bg-warning-light:focus,
button.bg-warning-light:hover,
button.bg-warning-light:focus {
  --bg-light: rgba(182, 123, 0, 0.5);
  --color-light: #000;
  background-color: rgba(182, 123, 0, 0.5) !important;
  color: #000;
}

.bg-danger-light {
  --bg-light: rgba(212, 76, 89, 0.5);
  --color-light: #000;
  background-color: rgba(212, 76, 89, 0.5) !important;
  color: #000;
}

.bg-danger-light .text-muted, .o_colored_level .bg-danger-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-danger-light:hover, a.bg-danger-light:focus,
button.bg-danger-light:hover,
button.bg-danger-light:focus {
  --bg-light: rgba(191, 46, 60, 0.5);
  --color-light: #000;
  background-color: rgba(191, 46, 60, 0.5) !important;
  color: #000;
}

.bg-light-light {
  --bg-light: rgba(255, 255, 255, 0.5);
  --color-light: #000;
  background-color: rgba(255, 255, 255, 0.5) !important;
  color: #000;
}

.bg-light-light .text-muted, .o_colored_level .bg-light-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-light-light:hover, a.bg-light-light:focus,
button.bg-light-light:hover,
button.bg-light-light:focus {
  --bg-light: rgba(230, 230, 230, 0.5);
  --color-light: #000;
  background-color: rgba(230, 230, 230, 0.5) !important;
  color: #000;
}

.bg-dark-light {
  --bg-light: rgba(33, 37, 41, 0.5);
  --color-light: #FFF;
  background-color: rgba(33, 37, 41, 0.5) !important;
  color: #FFF;
}

.bg-dark-light .text-muted, .o_colored_level .bg-dark-light .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-dark-light:hover, a.bg-dark-light:focus,
button.bg-dark-light:hover,
button.bg-dark-light:focus {
  --bg-light: rgba(10, 12, 13, 0.5);
  --color-light: #FFF;
  background-color: rgba(10, 12, 13, 0.5) !important;
  color: #FFF;
}

.badge {
  min-width: 2.7ch;
  line-height: 1.1;
  border: 0;
  font-size: 0.85em;
  user-select: none;
  font-weight: 500;
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  transition: none;
  color: #000;
}

:not(.dropstart) > .dropdown-item.active, :not(.dropstart) > .dropdown-item.selected {
  position: relative;
  font-weight: 500;
}

:not(.dropstart) > .dropdown-item.active:focus, :not(.dropstart) > .dropdown-item.active:hover, :not(.dropstart) > .dropdown-item.selected:focus, :not(.dropstart) > .dropdown-item.selected:hover {
  background-color: rgba(0, 0, 0, 0.08);
}

:not(.dropstart) > .dropdown-item.active:not(.dropdown-item_active_noarrow):before, :not(.dropstart) > .dropdown-item.selected:not(.dropdown-item_active_noarrow):before {
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: auto;
  transform: translate(-1.5em, 90%);
  font: .7em/1em FontAwesome;
  color: #017e84;
  content: "\f00c";
}

:not(.dropstart) > .dropdown-item.active:not(.dropdown-item_active_noarrow).disabled:before, :not(.dropstart) > .dropdown-item.selected:not(.dropdown-item_active_noarrow).disabled:before {
  color: rgba(52, 58, 64, 0.76);
}

/*!rtl:begin:ignore*/
.o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).active::after, .o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).selected::after {
  position: absolute;
  top: 0;
  left: 90%;
  bottom: auto;
  right: auto;
  transform: translate(0, 90%);
  font: .7em/1em FontAwesome;
  color: #017e84;
  display: inline-block;
  content: "\f00c";
  border: 0;
}

.o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).active.disabled:after, .o-dropdown.dropstart > .dropdown-item.dropdown-toggle:not(.dropdown-item_active_noarrow).selected.disabled:after {
  color: rgba(52, 58, 64, 0.76);
}

/*!rtl:end:ignore*/
.dropdown-header {
  font-weight: 500;
  padding-bottom: .1em;
}

.dropdown-header:not(:first-child) {
  margin-top: .3em;
}

.dropdown-divider:first-child {
  display: none;
}

@media print {
  .table-responsive {
    overflow-x: initial;
  }
}

[type="action"],
[type="toggle"] {
  cursor: pointer !important;
}

.o_web_client.o_touch_device .btn, .o_web_client.o_touch_device .btn .btn-sm {
  font-size: 0.875rem;
  padding: 7px 14px;
}

.o_web_client.o_touch_device .btn:has(.fa-fw:only-child, .oi-fw:only-child) {
  padding: 7px 10px;
}

.o_web_client.o_touch_device .btn.fa {
  font-size: 1.3em;
  padding: 2px 10px;
}

[type="text"],
[type="password"],
[type="number"],
[type="email"],
[type="tel"],
textarea,
select {
  width: 100%;
  display: block;
  outline: none;
}

select {
  cursor: pointer;
  min-width: 50px;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background: transparent url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'><polygon fill='%23343a40' points='3.5 4 7 0 0 0'/></svg>") no-repeat right center;
  border-radius: 0;
  color: #343a40;
}

select > option {
  background: #FFF;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #343a40;
}

select:-moz-focusring > option {
  color: #343a40;
}

::-webkit-input-placeholder {
  color: #bec5cc;
}

::-moz-placeholder {
  color: #bec5cc;
}

:-ms-input-placeholder {
  color: #bec5cc;
}

@media (max-width: 187.98mm) {
  h1, .h1 {
    font-size: 1.575rem;
  }
  h2, .h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
    font-size: 1rem;
  }
}

.alert.alert-info, .alert.alert-success, .alert.alert-warning, .alert.alert-danger {
  border-width: 0 0 0 3px;
}

.alert a {
  font-weight: 500;
}

.badge.text-bg-default, .badge.bg-light, .badge.text-bg-light, .badge.bg-default, .badge.text-primary {
  outline: 1px solid #714B67;
  outline-offset: -1px;
}

.btn:focus:hover {
  box-shadow: none;
}

.navbar .navbar-toggle {
  border-color: transparent;
}

.label {
  border-radius: 0;
  font-size: 1em;
}

html, body {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}



/* /web/static/src/webclient/webclient_layout.scss */

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) {
  height: 100%;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client {
  height: 100%;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  overflow: hidden;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager {
  direction: ltr;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  height: 100%;
  overflow: hidden;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action {
  height: 100%;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  overflow: hidden;
}

@media (min-width: 190mm) {
  html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action::-webkit-scrollbar {
    display: none;
  }
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action > .o_control_panel {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action .o_content {
  height: 100%;
}

@media (max-width: 187.98mm) {
  html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action:not(.o_action_delegate_scroll), html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action .o_form_view_container {
    overflow: auto;
  }
  html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action:not(.o_action_delegate_scroll) .o_content, html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client > .o_action_manager > .o_action .o_form_view_container .o_content {
    overflow: initial;
  }
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client .o_main_navbar {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client .o_control_panel {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client .o_content {
  direction: ltr;
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  position: relative;
  overflow: auto;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) .o_web_client .o_content > .o_view_controller {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  direction: ltr;
}

html:has(.o_action_manager .o_calendar_view.o_view_controller.o_action) body.modal-open {
  position: fixed;
}

.o_web_client {
  max-width: 100%;
}

@page {
  margin: 0.5cm;
  size: a4 auto;
}



/* /web/static/src/scss/ace.scss */

.ace_editor .ace_qweb {
  color: orange !important;
}

.ace_editor .ace_code {
  color: fuchsia !important;
}

.ace_editor.ace-monokai .ace_qweb {
  color: lightblue !important;
}

.ace_editor.ace-monokai .ace_code {
  color: #c94bc9 !important;
}



/* /web/static/src/scss/base_document_layout.scss */

.o_document_layout {
  display: -webkit-box; display: -webkit-flex; display: flex;
  height: 100%;
}

.o_document_layout .o_content {
  height: inherit;
}

.o_document_layout .o_content .o_form_renderer {
  height: 100%;
}

.o_document_layout .o_content .o_form_renderer .o_group {
  display: -webkit-box; display: -webkit-flex; display: flex;
  width: auto !important;
}

.o_document_layout .o_content .o_form_renderer .o_group .o_document_layout_company {
  flex: 5;
}

.o_document_layout .o_content .o_form_renderer .o_group .o_document_layout_company img {
  max-height: 100px;
}

.o_document_layout .o_content .o_form_renderer .o_group .o_document_layout_company .o_custom_colors .o-checkbox {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
}

.o_document_layout .o_content .o_form_renderer .o_group .o_document_layout_company select.o_input {
  height: 25px;
}

.o_document_layout .o_content .o_form_renderer .o_group .o_preview .preview_document_layout .o_preview_iframe {
  padding: 0;
}

@media (max-width: 620px) {
  .o_document_layout .o_group {
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  }
}



/* /web/static/src/legacy/scss/dropdown.scss */

.ui-widget.ui-autocomplete {
  top: 0;
  min-width: 0;
  color: var(--body-color);
  z-index: 1056;
}

.ui-widget.ui-autocomplete.ui-widget-content {
  background-color: var(--body-bg);
  border: var(--border-width) solid #dee2e6;
  border-radius: var(--border-radius);
  box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
}

.ui-widget.ui-autocomplete .ui-menu-item > a {
  color: #343a40;
}

.ui-widget.ui-autocomplete .ui-menu-item > a:hover, .ui-widget.ui-autocomplete .ui-menu-item > a:focus, .ui-widget.ui-autocomplete .ui-menu-item > a.focus {
  color: #212529;
}

.ui-widget.ui-autocomplete .ui-menu-item > a.dropdown-item {
  padding: 3px 20px;
}

.ui-widget.ui-autocomplete .ui-menu-item > a.ui-state-active {
  margin: 0;
  border: none;
  font-weight: 400;
  color: #212529;
  background-color: rgba(0, 0, 0, 0.08);
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_no_result {
  text-indent: 10px;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a {
  color: #017e84;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a.ui-state-active {
  color: #01585c;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_no_result {
  font-style: italic;
  cursor: default;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing a.ui-menu-item-wrapper, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing a.ui-state-active, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing a.ui-state-active:hover, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_no_result a.ui-menu-item-wrapper, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_no_result a.ui-state-active, .ui-widget.ui-autocomplete .ui-menu-item.o_m2o_no_result a.ui-state-active:hover {
  background: none;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_start_typing > a.ui-state-active {
  color: #343a40;
}



/* /web/static/src/legacy/scss/fields.scss */

.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a {
  color: #714B67;
}

.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a.ui-state-active {
  color: #714B67;
}

.ui-autocomplete .ui-menu-item.o_calendar_dropdown_option > a {
  color: #017e84;
}

.ui-autocomplete .ui-menu-item.o_calendar_dropdown_option > a.ui-state-active {
  color: #017e84;
}



/* /base/static/src/scss/res_partner.scss */

.o_partner_merge_wizard .o_form_sheet {
  padding: 12px !important;
}

.o_partner_merge_wizard .row {
  --gutter-x: 0;
}



/* /web/static/src/views/form/button_box/button_box.scss */

.o-form-buttonbox {
  margin-bottom: var(--ButtonBox-margin-bottom, 0);
  --PercentPieField-size: 1.5em;
  --PercentPieField-gap: 0.3125rem;
}

.o-form-buttonbox .o_pie_info, .o-form-buttonbox .oe_stat_button .o_stat_info, .o-form-buttonbox .oe_stat_button > span, .o-form-buttonbox .oe_stat_button .o_field_statinfo {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  max-width: 100%;
  text-align: left;
  font-weight: 400;
  line-height: 1;
}

.o-form-buttonbox .o_pie_text, .o-form-buttonbox .oe_stat_button .o_stat_info .o_stat_text, .o-form-buttonbox .oe_stat_button > span .o_stat_text, .o-form-buttonbox .oe_stat_button .o_field_statinfo .o_stat_text {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  order: 1;
  font-size: 0.75rem;
  line-height: 1;
}

.o-form-buttonbox .o_pie_value, .o-form-buttonbox .oe_stat_button .o_stat_info .o_stat_value, .o-form-buttonbox .oe_stat_button > span .o_stat_value, .o-form-buttonbox .oe_stat_button .o_field_statinfo .o_stat_value {
  order: 2;
  font-weight: 500;
  color: var(--o-stat-text-color, #714B67);
  font-size: 0.75rem;
}

.o-form-buttonbox .oe_stat_button:not(:first-child) .o_pie, .o-form-buttonbox .oe_stat_button:not(:first-child) .o_button_icon {
  margin-left: -0.20625rem;
}

.o-form-buttonbox .oe_stat_button {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  align-items: center;
  flex-grow: 1;
  padding-top: 0;
  padding-bottom: 0;
  height: calc(calc(0.3125rem * 2 + 0.875rem * 1.3) + var(--border-width) * 2);
  min-width: 0;
}

@media (min-width: 188mm) {
  .o-form-buttonbox .oe_stat_button {
    min-width: 7.5em;
  }
}

.o-form-buttonbox .oe_stat_button .o_button_icon {
  font-size: 1.5em;
  color: var(--o-stat-button-color, #714B67);
}

.o-form-buttonbox .oe_stat_button .o_button_icon:before {
  margin-right: 0.3125rem;
}

.o-form-buttonbox .oe_stat_button > span {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o-form-buttonbox .oe_stat_button .o_field_statinfo {
  overflow: hidden;
}

.o-form-buttonbox .oe_stat_button .o_stat_info .o_stat_text .o_field_empty, .o-form-buttonbox .oe_stat_button > span .o_stat_text .o_field_empty, .o-form-buttonbox .oe_stat_button .o_field_statinfo .o_stat_text .o_field_empty {
  display: none;
}

.o-form-buttonbox .oe_stat_button:not(:disabled) > .o_stat_info .o_field_widget, .o-form-buttonbox .oe_stat_button:not(:disabled) > span .o_field_widget {
  cursor: pointer;
}

.o-form-buttonbox .oe_stat_button:not(:hover) .o_stat_info > .o_hover {
  display: none !important;
}

.o-form-buttonbox .oe_stat_button:hover .o_stat_info > .o_not_hover {
  display: none !important;
}

.o-form-buttonbox .oe_stat_button.btn-outline-secondary:disabled {
  opacity: 1;
  color: inherit;
}

.o-form-buttonbox .oe_stat_button.btn-outline-secondary:active {
  z-index: 1;
}

.o-form-buttonbox:not(.o-form-buttonbox-small) > * + * {
  margin-left: -1px;
}

@media (min-width: 188mm) {
  .o-form-buttonbox .oe_stat_button,
.o-form-buttonbox .oe_stat_button > button {
    border-radius: 0;
  }
  .o-form-buttonbox > .oe_stat_button:first-child,
.o-form-buttonbox > div:first-child > .oe_stat_button {
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .o-form-buttonbox > button.oe_stat_button:last-child,
.o-form-buttonbox > div:last-child > .oe_stat_button,
.o-form-buttonbox > div.oe_stat_button:last-child > button {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
  }
}

.o-form-buttonbox .oe_stat_button.dropdown {
  min-width: auto;
}

.o-form-buttonbox .oe_stat_button.dropdown > .o_button_more {
  width: 100%;
  height: 100%;
}

.o-form-buttonbox .oe_stat_button.dropdown > .o_button_more:after {
  margin-left: 5px;
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  -moz-transform: scale(0.9999);
  border-bottom: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--o-caret-color, currentColor);
}

.o-form-buttonbox-small {
  --button-box-gap: 1px;
  --button-box-per-row: 2;
  --button-box-border-color: #dee2e6;
  --button-box-spacing: 13px;
  display: grid;
  grid-template-columns: repeat(var(--button-box-per-row), minmax(0, 1fr));
  overflow: hidden;
  gap: var(--button-box-gap);
}

.o-form-buttonbox-small:has(.o-dropdown-item:only-child) {
  --button-box-per-row: 1;
}

.o-form-buttonbox-small:not(:has(.o-dropdown-item:only-child)) {
  width: calc(100vw - var(--button-box-spacing) * 2) !important;
  left: var(--button-box-spacing) !important;
  right: var(--button-box-spacing) !important;
}

.o-form-buttonbox-small > span .o_field_widget, .o-form-buttonbox-small .o_stat_info, .o-form-buttonbox-small .o_stat_value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.o-form-buttonbox-small .oe_stat_button,
.o-form-buttonbox-small .oe_stat_button > button {
  border-color: transparent;
  border-radius: 0;
}

.o-form-buttonbox-small > .o-dropdown-item {
  outline: var(--border-width) solid var(--button-box-border-color);
}

.o_dropdown_more .oe_stat_button {
  height: auto;
  width: 100%;
  border: none;
  padding-top: 6.5px;
  padding-bottom: 6.5px;
}



/* /web_tour/static/src/tour_pointer/tour_pointer.scss */

@keyframes o-tour-pointer-bounce-horizontal {
  from {
    transform: translateX(calc(var(--TourPointer__bounce-offset) * -1));
  }
  to {
    transform: translateX(var(--TourPointer__bounce-offset));
  }
}

@keyframes o-tour-pointer-bounce-vertical {
  from {
    transform: translateY(calc(var(--TourPointer__bounce-offset) * -1));
  }
  to {
    transform: translateY(var(--TourPointer__bounce-offset));
  }
}

@keyframes o-tour-pointer-fade-in {
  from {
    opacity: 0;
  }
}

@keyframes o-tour-pointer-info-expand {
  from {
    width: 0;
    height: 0;
  }
}

.o_tour_pointer {
  --TourPointer__anchor-space: 0;
  --TourPointer__bounce-offset: 3px;
  --TourPointer__offset: 8px;
  --TourPointer__scale: 1.12;
  --TourPointer__color: #714B67;
  --TourPointer__color-accent: #86597b;
  --TourPointer__border-width: 1px;
  --TourPointer__border-color-rgb: 255, 255, 255;
  --TourPointer__border-color: rgba(var(--TourPointer__border-color-rgb), 1);
  --TourPointer__arrow-size: 1rem;
  --TourPointer__animation-duration: 500ms;
  --TourPointer__expand-duration: 200ms;
  --TourPointer__text-color: black;
  --TourPointer__reveal-animation: o-tour-pointer-fade-in 400ms ease;
  --TourPointer__translate-x: 0;
  --TourPointer__translate-y: 0;
  z-index: 1080;
  max-width: 270px;
  border: var(--TourPointer__border-width) solid transparent;
  transform: translate(var(--TourPointer__translate-x), var(--TourPointer__translate-y));
  transition: width var(--TourPointer__expand-duration), height var(--TourPointer__expand-duration);
}

.o_tour_pointer.o_bouncing.o_left, .o_tour_pointer.o_bouncing.o_right {
  animation: o-tour-pointer-bounce-horizontal var(--TourPointer__animation-duration) ease-in infinite alternate, var(--TourPointer__reveal-animation);
}

.o_tour_pointer.o_bouncing.o_top, .o_tour_pointer.o_bouncing.o_bottom {
  animation: o-tour-pointer-bounce-vertical var(--TourPointer__animation-duration) ease-in infinite alternate, var(--TourPointer__reveal-animation);
}

.o_tour_pointer .o_tour_pointer_tip {
  width: var(--TourPointer__width);
  height: var(--TourPointer__height);
  border: var(--TourPointer__border-width) solid white;
  border-radius: 0 50% 50% 50%;
  background-image: radial-gradient(var(--TourPointer__color-accent), var(--TourPointer__color));
  box-shadow: 0 0 40px 2px rgba(var(--TourPointer__border-color-rgb), 0.5);
}

.o_tour_pointer .o_tour_pointer_content {
  background-color: #FFF;
  color: transparent;
  transition: color 0s ease var(--TourPointer__expand-duration);
  line-height: 1.3;
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, "Noto Sans", Arial, "Odoo Unicode Support Noto", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: normal;
}

.o_tour_pointer .o_tour_pointer_content .o_skip_tour {
  display: inline-block;
  margin-top: 4px;
  color: gray;
  cursor: pointer;
}

.o_tour_pointer .o_tour_pointer_content .o_skip_tour:hover {
  color: #4d4d4d;
}

.o_tour_pointer .o_tour_pointer_content p:last-child {
  margin-bottom: 0;
}

.o_tour_pointer.o_left .o_tour_pointer_tip {
  transform: rotate(90deg) translateY(var(--TourPointer__offset)) scaleY(var(--TourPointer__scale)) rotate(45deg);
}

.o_tour_pointer.o_right .o_tour_pointer_tip {
  transform: rotate(270deg) translateY(var(--TourPointer__offset)) scaleY(var(--TourPointer__scale)) rotate(45deg);
}

.o_tour_pointer.o_top .o_tour_pointer_tip {
  transform: rotate(180deg) translateY(var(--TourPointer__offset)) scaleY(var(--TourPointer__scale)) rotate(45deg);
}

.o_tour_pointer.o_bottom .o_tour_pointer_tip {
  transform: rotate(0deg) translateY(var(--TourPointer__offset)) scaleY(var(--TourPointer__scale)) rotate(45deg);
}

.o_tour_pointer.o_open {
  border-color: #ced4da;
  background-color: #dee2e6;
  animation: var(--TourPointer__reveal-animation);
}

.o_tour_pointer.o_open .o_tour_pointer_tip {
  width: var(--TourPointer__arrow-size);
  height: var(--TourPointer__arrow-size);
  border-color: #ced4da;
  border-radius: 0;
  background: #FFF;
  box-shadow: none;
}

.o_tour_pointer.o_open .o_tour_pointer_content {
  color: #000;
}

.o_tour_pointer.o_open.o_left {
  --TourPointer__translate-x: calc(var(--TourPointer__arrow-size) / -2);
}

.o_tour_pointer.o_open.o_left .o_tour_pointer_tip {
  transform: translateX(-50%) rotate(45deg);
  /*rtl:begin:ignore*/
  right: calc(var(--TourPointer__arrow-size) * -1);
  top: calc(var(--TourPointer__arrow-size) / 2);
  /*rtl:end:ignore*/
}

.o_tour_pointer.o_open.o_right {
  --TourPointer__translate-x: calc(var(--TourPointer__arrow-size) / 2);
}

.o_tour_pointer.o_open.o_right .o_tour_pointer_tip {
  transform: translateX(50%) rotate(45deg);
  /*rtl:begin:ignore*/
  left: calc(var(--TourPointer__arrow-size) * -1);
  top: calc(var(--TourPointer__arrow-size) / 2);
  /*rtl:end:ignore*/
}

.o_tour_pointer.o_open.o_top {
  --TourPointer__translate-y: calc(var(--TourPointer__arrow-size) / -2);
}

.o_tour_pointer.o_open.o_top .o_tour_pointer_tip {
  transform: translateY(-50%) rotate(45deg);
  /*rtl:begin:ignore*/
  bottom: calc(var(--TourPointer__arrow-size) * -1);
  left: calc(var(--TourPointer__arrow-size) / 2);
  /*rtl:end:ignore*/
}

.o_tour_pointer.o_open.o_bottom {
  --TourPointer__translate-y: calc(var(--TourPointer__arrow-size) / 2);
}

.o_tour_pointer.o_open.o_bottom .o_tour_pointer_tip {
  transform: translateY(50%) rotate(45deg);
  /*rtl:begin:ignore*/
  top: calc(var(--TourPointer__arrow-size) * -1);
  left: calc(var(--TourPointer__arrow-size) / 2);
  /*rtl:end:ignore*/
}

.o_tour_pointer.o_open.o_expand_left.o_top, .o_tour_pointer.o_open.o_expand_left.o_bottom {
  --TourPointer__translate-x: calc(
                    var(--TourPointer__width) + var(--TourPointer__border-width) - 100%
                );
}

.o_tour_pointer.o_open.o_expand_left.o_top .o_tour_pointer_tip, .o_tour_pointer.o_open.o_expand_left.o_bottom .o_tour_pointer_tip {
  /*rtl:begin:ignore*/
  left: initial;
  right: calc(var(--TourPointer__arrow-size) / 2);
  /*rtl:end:ignore*/
}

@media print {
  .o_tour_pointer {
    display: none !important;
  }
}



/* /html_editor/static/src/components/history_dialog/history_dialog.scss */

.html-history-dialog .history-container {
  --border-color: #ddd;
  margin-left: 240px;
}

.html-history-dialog .history-container .o_notebook_content {
  padding: 10px 12px;
  border: 1px solid var(--border-color);
  border-top: 0;
}

.html-history-dialog .history-container .nav {
  padding-left: 24px;
}

.html-history-dialog .history-container removed {
  display: inline;
  background-color: #f1afaf;
  text-decoration: line-through;
  opacity: 0.5;
}

.html-history-dialog .history-container added {
  display: inline;
  background-color: #c8f1af;
}

.html-history-dialog .history-container p {
  margin-bottom: 0.6rem;
}

.html-history-dialog .revision-list {
  margin: 38px 0 0 8px;
  overflow: auto;
  max-height: 100%;
  width: 220px;
  float: left;
}

.html-history-dialog .revision-list .btn {
  border-radius: 0;
  display: block;
  text-align: left;
  width: 220px;
  margin-bottom: 8px;
  position: relative;
}

.html-history-dialog .revision-list .btn:before {
  content: '\f105';
  font-family: 'FontAwesome';
  position: absolute;
  right: 8px;
  top: 0;
  font-size: 34px;
}



/* /html_editor/static/src/fields/html_field.scss */

textarea.o_codeview {
  min-height: 400px;
}

.note-editable {
  padding: 4px;
}

div.o_field_html .o_show_codeview span.o_field_translate {
  right: 40px;
}

div.o_field_html .o_field_translate .note-editable {
  padding-right: 40px;
}



/* /html_editor/static/src/main/banner.scss */

.o_editor_banner .o-paragraph:last-child {
  margin-bottom: 1rem !important;
}



/* /html_editor/static/src/main/chatgpt/chatgpt_plugin.scss */

@keyframes fade {
  0%, 100% {
    opacity: 0;
  }
  30%, 70% {
    opacity: 1;
  }
}

.o-chatgpt-content {
  position: absolute;
  background: rgba(1, 186, 210, 0.5);
  opacity: 0;
  animation: fade 1.5s ease-in-out;
  z-index: 1;
  outline: 2px dashed #01bad2;
  outline-offset: -2px;
}

.o-prompt-input {
  position: relative;
}

.o-prompt-input > textarea {
  padding-top: 10px;
  padding-bottom: 10px;
  min-height: 40px;
  max-height: 110px;
  resize: none;
}

button.o-message-insert {
  line-height: 1;
}

.o-chatgpt-message > div > *:last-child,
.o-chatgpt-alternative > *:last-child,
.o-chatgpt-translated > *:last-child {
  margin-bottom: 0;
}

.o-message-error {
  color: #d44c59;
  font-weight: bold;
  --bg-opacity: 0.25;
}



/* /html_editor/static/src/main/font/color_selector.scss */

.o_font_color_selector {
  --bg: #FFF;
  --text-rgb: 43, 43, 51;
  --border-rgb: var(--text-rgb);
  width: 222px;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o_color_button {
  width: 25px;
  height: 24px;
  box-shadow: inset 0 0 0 1px rgba(var(--border-rgb), 0.5);
  margin: 1px;
}

.o_font_color_selector .o_colorpicker_section {
  display: -webkit-box; display: -webkit-flex; display: flex;
  margin-bottom: 3px;
}

.o_font_color_selector .o_color_button.selected {
  border: 3px solid #017e84;
}

:root {
  --100: #f8f9fa;
  --200: #e9ecef;
  --300: #dee2e6;
  --400: #ced4da;
  --500: #adb5bd;
  --600: #6c757d;
  --700: #495057;
  --800: #343a40;
  --900: #212529;
  --white-85: rgba(255, 255, 255, 0.85);
  --white-75: rgba(255, 255, 255, 0.75);
  --white-50: rgba(255, 255, 255, 0.5);
  --white-25: rgba(255, 255, 255, 0.25);
  --black-75: rgba(0, 0, 0, 0.75);
  --black-50: rgba(0, 0, 0, 0.5);
  --black-25: rgba(0, 0, 0, 0.25);
  --black-15: rgba(0, 0, 0, 0.15);
}

.bg-o-color-1 {
  --bg-light: #714B67;
  --color-light: #FFF;
  background-color: #714B67 !important;
  color: #FFF;
}

.bg-o-color-1 .text-muted, .o_colored_level .bg-o-color-1 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-1:hover, a.bg-o-color-1:focus,
button.bg-o-color-1:hover,
button.bg-o-color-1:focus {
  --bg-light: #52374b;
  --color-light: #FFF;
  background-color: #52374b !important;
  color: #FFF;
}

.text-o-color-1 {
  --color: RGBA(113, 75, 103, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-1:hover, a.text-o-color-1:focus, a.text-o-color-1:active, a.text-o-color-1.active, button.text-o-color-1:hover, button.text-o-color-1:focus, button.text-o-color-1:active, button.text-o-color-1.active {
  --color: RGBA(79, 53, 72, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-2 {
  --bg-light: #2D3142;
  --color-light: #FFF;
  background-color: #2D3142 !important;
  color: #FFF;
}

.bg-o-color-2 .text-muted, .o_colored_level .bg-o-color-2 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-2:hover, a.bg-o-color-2:focus,
button.bg-o-color-2:hover,
button.bg-o-color-2:focus {
  --bg-light: #181a24;
  --color-light: #FFF;
  background-color: #181a24 !important;
  color: #FFF;
}

.text-o-color-2 {
  --color: RGBA(45, 49, 66, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-2:hover, a.text-o-color-2:focus, a.text-o-color-2:active, a.text-o-color-2.active, button.text-o-color-2:hover, button.text-o-color-2:focus, button.text-o-color-2:active, button.text-o-color-2.active {
  --color: RGBA(32, 34, 46, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-3 {
  --bg-light: #F3F2F2;
  --color-light: #000;
  background-color: #F3F2F2 !important;
  color: #000;
}

.bg-o-color-3 .text-muted, .o_colored_level .bg-o-color-3 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-o-color-3:hover, a.bg-o-color-3:focus,
button.bg-o-color-3:hover,
button.bg-o-color-3:focus {
  --bg-light: #dbd7d7;
  --color-light: #000;
  background-color: #dbd7d7 !important;
  color: #000;
}

.text-o-color-3 {
  --color: RGBA(243, 242, 242, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-3:hover, a.text-o-color-3:focus, a.text-o-color-3:active, a.text-o-color-3.active, button.text-o-color-3:hover, button.text-o-color-3:focus, button.text-o-color-3:active, button.text-o-color-3.active {
  --color: RGBA(170, 169, 169, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-4 {
  --bg-light: #FFFFFF;
  --color-light: #000;
  background-color: #FFFFFF !important;
  color: #000;
}

.bg-o-color-4 .text-muted, .o_colored_level .bg-o-color-4 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-o-color-4:hover, a.bg-o-color-4:focus,
button.bg-o-color-4:hover,
button.bg-o-color-4:focus {
  --bg-light: #e6e6e6;
  --color-light: #000;
  background-color: #e6e6e6 !important;
  color: #000;
}

.text-o-color-4 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-4:hover, a.text-o-color-4:focus, a.text-o-color-4:active, a.text-o-color-4.active, button.text-o-color-4:hover, button.text-o-color-4:focus, button.text-o-color-4:active, button.text-o-color-4.active {
  --color: RGBA(179, 179, 179, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-5 {
  --bg-light: #111827;
  --color-light: #FFF;
  background-color: #111827 !important;
  color: #FFF;
}

.bg-o-color-5 .text-muted, .o_colored_level .bg-o-color-5 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-5:hover, a.bg-o-color-5:focus,
button.bg-o-color-5:hover,
button.bg-o-color-5:focus {
  --bg-light: #020203;
  --color-light: #FFF;
  background-color: #020203 !important;
  color: #FFF;
}

.text-o-color-5 {
  --color: RGBA(17, 24, 39, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-5:hover, a.text-o-color-5:focus, a.text-o-color-5:active, a.text-o-color-5.active, button.text-o-color-5:hover, button.text-o-color-5:focus, button.text-o-color-5:active, button.text-o-color-5.active {
  --color: RGBA(12, 17, 27, var(--text-opacity, 1));
  color: var(--color) !important;
}



/* /html_editor/static/src/main/font/font_plugin.scss */

pre {
  padding: 6.5px 13px;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  background-color: #f8f9fa;
  color: #212529;
}

pre.o-we-hint::after {
  padding: 6.5px 13px;
}

blockquote {
  padding: 6.5px 13px;
  border-left: 5px solid;
  border-color: #dee2e6;
  font-style: italic;
}

blockquote.o-we-hint::after {
  padding: 6.5px 13px;
}



/* /html_editor/static/src/main/font/font_selector.scss */

.o_font_selector_menu {
  --dropdown-min-width: none;
}



/* /html_editor/static/src/main/font/font_size_selector.scss */

.o_font_size_selector_menu {
  --dropdown-min-width: none;
}



/* /html_editor/static/src/main/hint.scss */

.o-we-hint {
  position: relative;
}

.o-we-hint:after {
  content: attr(placeholder);
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  color: inherit;
  opacity: 0.4;
  pointer-events: none;
  text-align: inherit;
  width: 100%;
}



/* /html_editor/static/src/main/link/link.scss */

.odoo-editor-editable a.o_link_in_selection:not(.btn) {
  background-color: #a6e3e2;
  color: black !important;
  border: 1px dashed #008f8c;
  margin: -1px;
}

.odoo-editor-editable .btn {
  user-select: auto;
  cursor: text;
}

.odoo-editor-editable [contenteditable=false] .btn {
  cursor: pointer;
}



/* /html_editor/static/src/main/link/link_popover.scss */

.o_we_preview_favicon .o_image {
  max-width: 100%;
  max-height: 100%;
  background-position: top;
  margin-top: 0.3em;
}



/* /html_editor/static/src/main/list/list.scss */

li p {
  margin-bottom: 0px;
}

ul.o_checklist > li {
  list-style: none;
  position: relative;
  margin-left: 20px;
}

ul.o_checklist > li:not(.oe-nested):before {
  content: '';
  position: absolute;
  left: -20px;
  display: block;
  height: 14px;
  width: 14px;
  top: 1px;
  border: 1px solid;
  cursor: pointer;
}

ul.o_checklist > li.o_checked:after {
  content: "✓";
  transition: opacity .5s;
  position: absolute;
  left: -18px;
  top: -1px;
  opacity: 1;
}



/* /html_editor/static/src/main/local_overlay.scss */

.oe-local-overlay {
  position: absolute;
  isolation: isolate;
  height: 0;
  width: 0;
  z-index: 1;
}



/* /html_editor/static/src/main/media/file.scss */

.o_file_box, [data-embedded="file"] {
  display: inline-block;
  width: fit-content;
  min-width: 250px;
  margin: 3px;
  vertical-align: middle;
}

.o_file_box .alert.alert-info, [data-embedded="file"] .alert.alert-info {
  border-radius: 5px;
  outline: 1px solid #dee2e6;
  outline-offset: -1px;
  padding: 5px;
  margin: 0;
}

.o_file_box .o_image, [data-embedded="file"] .o_image {
  width: 32px;
}



/* /html_editor/static/src/main/media/image_crop.scss */

.o_we_crop_widget {
  background-color: rgba(128, 128, 128, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  /* This value must be higher than dialog z-index in bootstrap */
  z-index: 1056;
  overflow: auto;
}

.o_we_crop_widget .o_we_cropper_wrapper {
  position: absolute;
}

.o_we_crop_widget .o_we_crop_buttons {
  margin-top: 0.5rem;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  bottom: 1rem;
}

.o_we_crop_widget .o_we_crop_buttons input[type=radio] {
  display: none;
}

.o_we_crop_widget .o_we_crop_buttons .btn-group {
  border-radius: 0.25rem;
  margin: 0.1rem;
}

.o_we_crop_widget .o_we_crop_buttons button, .o_we_crop_widget .o_we_crop_buttons label {
  cursor: pointer !important;
  padding: 0.2rem 0.3rem;
}

.o_we_crop_widget .o_we_crop_buttons label {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
}

.o_we_crop_widget .o_we_crop_buttons label.active {
  background-color: #000000;
}

.o_we_crop_widget .o_we_crop_buttons button:not(.btn), .o_we_crop_widget .o_we_crop_buttons label {
  margin: 0;
  border: none;
  border-right: 1px solid #2b2b33;
  background-color: #2b2b33;
  color: #D9D9D9;
}

.o_we_crop_widget .o_we_crop_buttons button:not(.btn):first-child, .o_we_crop_widget .o_we_crop_buttons label:first-child {
  border-top-left-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}

.o_we_crop_widget .o_we_crop_buttons button:not(.btn):last-child, .o_we_crop_widget .o_we_crop_buttons label:last-child {
  border-top-right-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
  border-right: none;
}



/* /html_editor/static/src/main/media/image_transformation.scss */

.transfo-scaler {
  position: absolute;
  background-color: #fff;
  border: 1px solid #ccc;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  margin-top: -4px;
}

.transfo-container {
  z-index: 1056;
}



/* /html_editor/static/src/main/media/media_dialog/upload_progress_toast/upload_progress_toast.scss */

.o_upload_progress_toast {
  font-size: 16px;
}

.o_upload_progress_toast .o_we_progressbar:last-child hr {
  display: none;
}

.editor_notification_manager {
  width: calc(100% - 3rem);
}

@media (min-width: 100mm) {
  .editor_notification_manager {
    width: calc(calc(400px - 3rem) + 3rem);
  }
}

.editor_notification_body {
  width: calc(100% - 3rem);
}

@media (min-width: 100mm) {
  .editor_notification_body {
    width: calc(400px - 3rem);
  }
}



/* /html_editor/static/src/main/movenode.scss */

/* Element widget */
.oe-sidewidget-move {
  position: absolute;
  opacity: 0.6;
  display: -webkit-box; display: -webkit-flex; display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.4);
  color: #6e727a;
  border-radius: 3px;
  padding: 2px 3px;
  cursor: move;
  /* fallback if grab cursor is unsupported */
  cursor: grab;
  right: 5px;
  top: 0px;
}

.oe-sidewidget-move:hover {
  opacity: 1;
}

/* Element widget drag & drop zone */
.oe-dropzone-box {
  position: absolute;
}

.oe-dropzone-box-side {
  position: absolute;
}

.oe-dropzone-box-side.oe-dropzone-box-side-north {
  width: 100%;
  height: 50%;
  top: -1px;
}

.oe-dropzone-box-side.oe-dropzone-box-side-south {
  width: 100%;
  height: 50%;
  bottom: -1px;
}

.oe-dropzone-box-side.oe-dropzone-box-side-east {
  height: 100%;
  width: 3px;
  right: -1px;
}

.oe-dropzone-box-side.oe-dropzone-box-side-west {
  height: 100%;
  width: 3px;
  left: -1px;
}

.debug .oe-dropzone-box {
  background: rgba(255, 0, 0, 0.3);
}

.debug .oe-dropzone-box-side {
  background: #ffa600;
}

.debug .oe-dropzone-hook {
  background: rgba(255, 0, 132, 0.2);
}

.oe-dropzone-hook {
  position: absolute;
}

[data-oe-local-overlay-id=oe-dropzones-container] {
  opacity: 0.3;
}

[data-oe-local-overlay-id=oe-widget-hooks-container] {
  opacity: 0.3;
}

[data-oe-local-overlay-id=oe-dropzone-hint-container] {
  pointer-events: none;
}

.oe-current-drop-hint {
  position: absolute;
  background: rgba(0, 136, 255, 0.508);
}

.oe-editor-dragging {
  pointer-events: none;
}



/* /html_editor/static/src/main/power_buttons.scss */

[data-oe-local-overlay-id=oe-power-buttons-overlay] {
  width: auto;
  opacity: 0.3;
}

[data-oe-local-overlay-id=oe-power-buttons-overlay] .power_button:hover {
  background-color: #dee2e6;
  border-radius: 5px;
}



/* /html_editor/static/src/main/powerbox/powerbox.scss */

.o-we-powerbox {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o-we-powerbox::-webkit-scrollbar {
  background: transparent;
}

.o-we-powerbox::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.o-we-powerbox::-webkit-scrollbar-thumb {
  background: var(--powerbox-scrollbar-thumb-background-color, #D3D1CB);
}

.o-we-powerbox::-webkit-scrollbar-track {
  background: var(--powerbox-scrollbar-thumb-background-color, #EDECE9);
}

.o-we-category {
  font-size: 11px;
  color: #6c757d;
}

.o-we-command.active {
  background: rgba(230, 242, 243, 0.65);
}

.o-we-command-img {
  height: 35px;
  width: 35px;
  background-color: #f8f9fa;
}

.o-we-command-name {
  font-size: 13px;
}

.o-we-command-description {
  font-size: 12px;
  color: rgba(52, 58, 64, 0.76);
}



/* /html_editor/static/src/main/table/table_menu.scss */

.o-we-table-menu {
  border: 1px solid #714b67;
  color: #fff;
  background-color: rgba(113, 75, 103, 0.7);
}

.o-we-table-menu.fa-ellipsis-v {
  width: 17px;
}



/* /html_editor/static/src/main/table/table_picker.scss */

.o-we-tablepicker {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o-we-tablepicker .o-we-row {
  line-height: 0;
}

.o-we-tablepicker .o-we-cell {
  display: inline-block;
  width: 19px;
  height: 19px;
  margin-right: 3px;
  margin-bottom: 3px;
  background-color: #e9ecef;
}

.o-we-tablepicker .o-we-cell.active {
  background-color: #71639e;
}



/* /html_editor/static/src/main/table/table_resize.scss */

.odoo-editor-editable.o_col_resize {
  cursor: col-resize;
}

.odoo-editor-editable.o_col_resize ::selection {
  background-color: transparent;
}

.odoo-editor-editable.o_row_resize {
  cursor: row-resize;
}

.odoo-editor-editable.o_row_resize ::selection {
  background-color: transparent;
}



/* /html_editor/static/src/main/table/table_selection.scss */

.o_selected_table {
  caret-color: transparent;
}

.o_selected_table ::selection {
  background-color: transparent !important;
}

.o_selected_table .o_selected_td {
  box-shadow: 0 0 0 100vmax rgba(117, 167, 249, 0.5) inset;
  /* #bad3fc equivalent when over white, overlaying on the bg color*/
  border-collapse: separate;
}



/* /html_editor/static/src/main/toolbar/toolbar.scss */

.o-toolbar-above-keyboard {
  position: fixed;
  width: 100%;
  z-index: 2000;
  bottom: 0;
}

.o-we-toolbar {
  height: 40px;
  padding: 0 2px;
  border-bottom: 1px solid lightgrey;
  background-color: #fff;
}

.o-we-toolbar .btn-group {
  padding: 0 2px;
  border-radius: 0;
}

.o-we-toolbar .btn-group .btn {
  white-space: nowrap;
  padding-left: 4px;
  padding-right: 4px;
  height: 33px;
}

.o-we-toolbar .btn-group .btn:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.o-we-toolbar .btn-group .btn:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.o-we-toolbar .btn-group .btn.disabled {
  pointer-events: auto;
  cursor: auto;
}

.o-we-toolbar .btn-group .btn.disabled:active {
  border-color: var(--btn-disabled-border-color);
  background-color: var(--btn-disabled-bg);
  color: var(--btn-disabled-color);
}

.o-we-toolbar .o-we-toolbar-vertical-seperator:not(:first-child) {
  margin: unset;
  padding: unset;
  height: 70%;
  border-left: 1px solid lightgrey;
}



/* /html_editor/static/src/others/collaboration/collaboration_selection.scss */

.oe-collaboration-caret-top-square {
  min-height: 5px;
  min-width: 5px;
  color: #fff;
  text-shadow: 0 0 5px #000;
  position: absolute;
  bottom: 100%;
  left: -4px;
  white-space: nowrap;
}

.oe-collaboration-caret-top-square:hover {
  border-radius: 2px;
  padding: 0.3em 0.6em;
}

.oe-collaboration-caret-top-square:hover::before {
  content: attr(data-peer-name);
}



/* /html_editor/static/src/others/collaboration/collaboration_selection_avatar.scss */

.oe-collaboration-caret-avatar {
  position: absolute;
  height: 1.5rem;
  width: 1.5rem;
  border-radius: 50%;
  transition: top 0.5s, left 0.5s, opacity 0.2s;
}

.oe-collaboration-caret-avatar > img {
  position: absolute;
  opacity: 1;
  height: 100%;
  width: 100%;
  border-radius: 50%;
}

.oe-avatars-counters-overlay {
  pointer-events: none;
}

.oe-overlapping-counter {
  position: absolute;
  background-color: green;
  color: white;
  border-radius: 50%;
  font-size: 9px;
  padding: 0 4px;
}



/* /html_editor/static/src/others/embedded_components/core/embedded_component_toolbar/embedded_component_toolbar.scss */

.o_embedded_toolbar button {
  font-family: var(--font-sans-serif) !important;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  .o_embedded_toolbar button .o_embedded_toolbar_button_text {
    display: none;
  }
}



/* /html_editor/static/src/others/embedded_components/core/file/file.scss */

[data-embedded="file"] [data-embedded-editable] {
  background-color: white;
}

[data-embedded="file"] .o_file_name_container:hover i {
  visibility: visible !important;
}

[data-embedded="file"] input[type="text"] {
  width: 190px;
}



/* /html_editor/static/src/others/embedded_components/core/table_of_content/table_of_content.scss */

[data-embedded="tableOfContent"] {
  margin-left: 2px;
  margin-right: 2px;
  margin-top: 16px;
  margin-bottom: 16px;
  outline: 1px solid #dee2e6;
  outline-offset: -1px;
  border-radius: 5px;
  padding: 8px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: calc(5px + Min(30px, 10%) * 0);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_1 {
  padding-left: calc(5px + Min(30px, 10%) * 1);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_1:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_2 {
  padding-left: calc(5px + Min(30px, 10%) * 2);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_2:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_3 {
  padding-left: calc(5px + Min(30px, 10%) * 3);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_3:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_4 {
  padding-left: calc(5px + Min(30px, 10%) * 4);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_4:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_5 {
  padding-left: calc(5px + Min(30px, 10%) * 5);
  font-family: var(--font-sans-serif) !important;
  font-weight: bolder;
  border-radius: 5px;
  min-height: 1.1375rem;
  border: transparent;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_5:hover {
  background-color: rgba(27, 161, 228, 0.2);
  text-decoration: none;
}

[data-embedded="tableOfContent"] > .o_embedded_toc_content a.o_embedded_toc_link_depth_0 {
  padding-left: 5px;
}

[data-embedded="tableOfContent"] .o_embedded_toc_hint {
  padding-left: 5px;
}

.o_field_html .odoo-editor-editable h1, .o_field_html .odoo-editor-editable .h1, .o_field_html .odoo-editor-editable h2, .o_field_html .odoo-editor-editable .h2, .o_field_html .odoo-editor-editable h3, .o_field_html .odoo-editor-editable .h3, .o_field_html .odoo-editor-editable h4, .o_field_html .odoo-editor-editable .h4, .o_field_html .odoo-editor-editable h5, .o_field_html .odoo-editor-editable .h5, .o_field_html .odoo-editor-editable h6, .o_field_html .odoo-editor-editable .h6,
.o_field_html .o_readonly h1,
.o_field_html .o_readonly .h1,
.o_field_html .o_readonly h2,
.o_field_html .o_readonly .h2,
.o_field_html .o_readonly h3,
.o_field_html .o_readonly .h3,
.o_field_html .o_readonly h4,
.o_field_html .o_readonly .h4,
.o_field_html .o_readonly h5,
.o_field_html .o_readonly .h5,
.o_field_html .o_readonly h6,
.o_field_html .o_readonly .h6 {
  transition: background-color 0.5s ease;
}

.o_field_html .odoo-editor-editable h1.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h1, .o_field_html .odoo-editor-editable h2.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h2, .o_field_html .odoo-editor-editable h3.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h3, .o_field_html .odoo-editor-editable h4.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h4, .o_field_html .odoo-editor-editable h5.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h5, .o_field_html .odoo-editor-editable h6.o_embedded_toc_header_highlight, .o_field_html .odoo-editor-editable .o_embedded_toc_header_highlight.h6,
.o_field_html .o_readonly h1.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h1,
.o_field_html .o_readonly h2.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h2,
.o_field_html .o_readonly h3.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h3,
.o_field_html .o_readonly h4.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h4,
.o_field_html .o_readonly h5.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h5,
.o_field_html .o_readonly h6.o_embedded_toc_header_highlight,
.o_field_html .o_readonly .o_embedded_toc_header_highlight.h6 {
  border-radius: 0.25rem;
  background-color: rgba(27, 161, 228, 0.2);
}



/* /html_editor/static/src/others/embedded_components/core/video/video.scss */

[data-embedded="video"] {
  position: relative;
  margin: 0 auto;
  width: 100%;
  max-width: 750px;
}

[data-embedded="video"]:has(iframe) {
  aspect-ratio: 16 / 9;
}

[data-embedded="video"] iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100% !important;
  height: 100%;
  min-height: auto !important;
}



/* /html_editor/static/src/others/embedded_components/plugins/video_plugin/video_selector_dialog/video_selector_dialog.scss */

.o_knowledge_video_selector_dialog .o_video_preview {
  border-top: 1px solid black;
  border-bottom: 1px solid white;
  background-image: linear-gradient(-150deg, #2b2b33, #191922);
  color: white;
}



/* /html_editor/static/src/others/qweb_plugin.scss */

.odoo-editor-editable.odoo-editor-qweb t,
.odoo-editor-editable.odoo-editor-qweb [t-if],
.odoo-editor-editable.odoo-editor-qweb [t-elif],
.odoo-editor-editable.odoo-editor-qweb [t-else],
.odoo-editor-editable.odoo-editor-qweb [t-foreach], .o_readonly t,
.o_readonly [t-if],
.o_readonly [t-elif],
.o_readonly [t-else],
.o_readonly [t-foreach] {
  background-color: rgba(0, 0, 102, 0.1) !important;
}

.odoo-editor-editable.odoo-editor-qweb t,
.odoo-editor-editable.odoo-editor-qweb [t-esc],
.odoo-editor-editable.odoo-editor-qweb [t-out],
.odoo-editor-editable.odoo-editor-qweb [t-raw], .o_readonly t,
.o_readonly [t-esc],
.o_readonly [t-out],
.o_readonly [t-raw] {
  border-radius: 2px;
}

.odoo-editor-editable.odoo-editor-qweb [t-esc],
.odoo-editor-editable.odoo-editor-qweb [t-out],
.odoo-editor-editable.odoo-editor-qweb [t-raw], .o_readonly [t-esc],
.o_readonly [t-out],
.o_readonly [t-raw] {
  background-color: rgba(36, 154, 255, 0.16) !important;
}

.odoo-editor-editable.odoo-editor-qweb [t-esc]:empty::before, .o_readonly [t-esc]:empty::before {
  content: attr(t-esc);
}

.odoo-editor-editable.odoo-editor-qweb [t-raw]:empty::before, .o_readonly [t-raw]:empty::before {
  content: attr(t-raw);
}

.odoo-editor-editable.odoo-editor-qweb [t-out]:empty::before, .o_readonly [t-out]:empty::before {
  content: attr(t-out);
}

.odoo-editor-editable.odoo-editor-qweb t[t-set], .o_readonly t[t-set] {
  display: none;
}

.odoo-editor-editable.odoo-editor-qweb t[data-oe-t-inline], .o_readonly t[data-oe-t-inline] {
  display: inline;
}

.odoo-editor-editable.odoo-editor-qweb t:not([data-oe-t-inline]), .o_readonly t:not([data-oe-t-inline]) {
  display: block;
}

.odoo-editor-editable.odoo-editor-qweb t[data-oe-t-inline]:not([data-oe-t-group-active]), .o_readonly t[data-oe-t-inline]:not([data-oe-t-group-active]) {
  display: unset;
}

.odoo-editor-editable.odoo-editor-qweb [data-oe-t-group]:not([data-oe-t-group-active]), .o_readonly [data-oe-t-group]:not([data-oe-t-group-active]) {
  display: none !important;
}

.odoo-editor-editable.odoo-editor-qweb [data-oe-t-group][data-oe-t-selectable], .o_readonly [data-oe-t-group][data-oe-t-selectable] {
  outline: 1px dashed rgba(0, 0, 102, 0.4) !important;
}

.oe-qweb-select {
  position: absolute;
  z-index: 1056;
  background-color: white;
}



/* /html_editor/static/src/styles.scss */

*[contenteditable="true"] {
  outline: none;
}



/* /mail/static/src/scss/variables/derived_variables.scss */



/* /mail/static/src/scss/composer.scss */

@font-face {
  font-family: 'emojifont';
  src: local("Segoe UI"), local("Apple Color Emoji"), local("Android Emoji"), local("Noto Color Emoji"), local("Twitter Color Emoji"), local("Twitter Color"), local("EmojiOne Color"), local("EmojiOne"), local(EmojiSymbols), local(Symbola);
}

.o_mail_emoji {
  display: inline-block;
  padding: 0;
  font-size: 1.3rem;
  font-family: emojifont;
}

.o_field_widget:has(.o_field_input_buttons > .o_mail_emojis_buttons) {
  position: relative;
}

.o_field_input_buttons:has(.o_mail_emojis_buttons):has([data-field-type="text"]) {
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_modal_fullscreen {
  z-index: 1057;
}

.o_modal_fullscreen .arrow {
  position: absolute;
  top: 50%;
  left: auto;
  bottom: auto;
  right: 13px;
  border-radius: 100%;
  padding: 12px 16px 11px 18px;
  background-color: rgba(0, 0, 0, 0.4);
  color: rgba(255, 255, 255, 0.7);
}

.o_modal_fullscreen .arrow:hover {
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
}

.o_modal_fullscreen .arrow.disabled {
  color: #6c757d;
  background: none;
}

.o_modal_fullscreen .arrow-left {
  left: 13px;
  right: auto;
  padding: 12px 18px 11px 16px;
}

.o_document_viewer_topbar_button {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  align-self: stretch;
}

.o_document_viewer_topbar_button:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.o_mail_composer_form .o_form_renderer {
  padding-bottom: 0px;
}

.o_mail_composer_form .o_form_renderer .oe-bordered-editor[name=body] .o_readonly {
  border: 1px solid #dee2e6;
  padding: 4px;
}



/* /mail/static/src/scss/kanban_view.scss */

.o_kanban_renderer .o_kanban_record.o_kanban_attachment {
  padding: 0;
}

.o_kanban_renderer .o_kanban_record.o_kanban_attachment .o_kanban_image {
  width: 80px;
}

.o_kanban_renderer .o_kanban_record.o_kanban_attachment .o_kanban_image .o_kanban_image_wrapper {
  min-height: 80px;
}

.o_kanban_renderer .o_kanban_record.o_kanban_attachment .o_kanban_image .o_attachment_image {
  width: 80px;
  height: 80px;
}

.o_kanban_renderer .o_kanban_record.o_kanban_attachment .o_kanban_image .o_image {
  width: 56px;
  height: 56px;
}

.o_kanban_renderer .o_kanban_record.o_kanban_attachment .o_kanban_details .o_kanban_details_wrapper {
  min-height: 80px;
  padding: 6.5px 6.5px;
}



/* /mail/static/src/scss/m2x_avatar_user.scss */

.o_field_many2many_avatar_user img:hover, .o_clickable_m2x_avatar img:hover {
  cursor: context-menu;
  outline: 1px solid #017e84;
}



/* /mail/static/src/scss/mail_activity.scss */

/* Common */
.o_mail_activity.o_field_widget {
  display: block;
}

/* list_activity widget */
.o_list_view .o_list_table tbody > tr > td.o_data_cell.o_list_activity_cell .o_mail_activity {
  display: -webkit-box; display: -webkit-flex; display: flex;
  max-width: 275px;
}

.o_list_view .o_list_table tbody > tr > td.o_data_cell.o_list_activity_cell .o_mail_activity .o_activity_btn {
  margin-right: 3px;
}

.o_list_view .o_list_table tbody > tr > td.o_data_cell.o_list_activity_cell .o_mail_activity .o_activity_summary {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

/* Kanban View */
.o_kanban_record .o_kanban_inline_block {
  display: inline-block;
}

.o_kanban_record .o_mail_activity .o_activity_btn span.fa, .o_view_controller .o_mail_activity .o_activity_btn span.fa {
  overflow: visible;
  line-height: 1;
  vertical-align: middle;
}

.o_kanban_record .o_mail_activity div.o_activity, .o_view_controller .o_mail_activity div.o_activity {
  min-width: 290px;
  padding: 0px 0px;
}

.o_kanban_record .o_mail_activity div.o_activity .o_activity_log_container, .o_view_controller .o_mail_activity div.o_activity .o_activity_log_container {
  max-height: 300px;
  overflow-y: auto;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log {
  color: #343a40;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_title_entry, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_title_entry {
  max-width: 275px;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_title_entry .o_activity_summary, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_title_entry .o_activity_summary {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_edit_button, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_edit_button {
  opacity: 0.5;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li:hover .o_edit_button, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li:hover .o_edit_button {
  opacity: 1;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban {
  font-size: 1.5em;
  color: rgba(52, 58, 64, 0.76);
  opacity: 0.5;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:hover, .o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:focus, .o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban.focus, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:hover, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:focus, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban.focus {
  color: #28a745;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:hover, .o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:focus, .o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban.focus, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:hover, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban:focus, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li .o_activity_link_kanban.focus {
  opacity: 1;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li.o_activity_selected, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li.o_activity_selected {
  border-bottom: 0;
}

.o_kanban_record .o_mail_activity div.o_activity ul.o_activity_log li.o_activity_form > div, .o_view_controller .o_mail_activity div.o_activity ul.o_activity_log li.o_activity_form > div {
  padding-top: 0.5em;
  padding-bottom: 0.7em;
}



/* /mail/static/src/scss/mail_invite_wizard.scss */

.o_mail_extra_comments .note-editable {
  min-height: 80px;
}



/* /mail/static/src/core/common/attachment_list.scss */

@media (hover: hover) {
  .o-mail-AttachmentCard-unlink.o-inComposer {
    transform: translateX(100%);
  }
  .o-mail-AttachmentCard-aside:hover .o-mail-AttachmentCard-unlink.o-inComposer {
    transform: translateX(0);
  }
}

.o-mail-AttachmentCard-aside:not(.o-hasMultipleActions) {
  min-width: 50px;
}

.o-mail-AttachmentCard-aside.o-hasMultipleActions {
  min-width: 30px;
}

.o-mail-AttachmentList-in-composer {
  max-height: 300px;
}

.o-mail-AttachmentList-in-composer.o-inChatWindow {
  max-height: 100px;
}

.o-mail-AttachmentImage {
  min-width: 75px;
  min-height: 75px;
  background-color: #e9ecef;
}

.o-mail-AttachmentImage img {
  object-fit: contain;
}

.o-viewable {
  cursor: zoom-in;
}



/* /mail/static/src/core/common/attachment_view.scss */

@media (min-width: 1534px) {
  .o_attachment_preview {
    display: block;
    flex: auto;
    overflow: hidden;
    width: 530px;
  }
  .o_attachment_preview > .o-mail-Attachment {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .o_attachment_preview > .o-mail-Attachment .arrow {
    width: 5%;
    position: absolute;
    top: 50%;
    left: auto;
    bottom: auto;
    right: 0;
    background-color: rgba(0, 0, 0, 0.4);
    color: rgba(255, 255, 255, 0.7);
    transition: width 0.3s;
    padding-top: 30px;
    height: 75px;
  }
  .o_attachment_preview > .o-mail-Attachment .arrow:hover {
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
  }
  .o_attachment_preview > .o-mail-Attachment .arrow.disabled {
    color: #6c757d;
    background: none;
  }
  .o_attachment_preview > .o-mail-Attachment .arrow:hover {
    width: 7%;
  }
  .o_attachment_preview > .o-mail-Attachment .arrow.o_move_previous {
    left: 2px;
    right: 0px;
  }
  .o_attachment_preview > .o-mail-Attachment > iframe {
    width: 100%;
    height: 100%;
  }
  .o_attachment_preview > .o-mail-Attachment > .o-mail-Attachment-imgContainer {
    position: absolute;
    overflow: auto;
    width: 100%;
    height: 100%;
  }
  .o_attachment_preview > .o-mail-Attachment > .o-mail-Attachment-imgContainer > img {
    margin: var(--o-Mail-Attachment-img-margin, auto);
    box-shadow: 0px 0px 5px rgba(41, 41, 41, 0.43);
  }
  .o_attachment_control {
    position: absolute;
    top: 8%;
    background-color: black;
    opacity: 0.3;
    margin-top: -15px;
    transition: all 0.3s;
    z-index: 1000;
  }
  .o_attachment_control:hover {
    opacity: 0.7;
  }
  .o_attachment_control.popout {
    right: 0px;
    border-radius: 30px 0 0 30px;
    padding: 15px 0 15px 15px;
  }
  .o_attachment_control.popout:hover {
    padding-right: 15px;
  }
}

.o-mail-PopoutAttachmentView {
  width: auto;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment {
  position: relative;
  width: 100%;
  height: 100%;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment .arrow {
  width: 5%;
  position: absolute;
  top: 50%;
  left: auto;
  bottom: auto;
  right: 0;
  background-color: rgba(0, 0, 0, 0.4);
  color: rgba(255, 255, 255, 0.7);
  transition: width 0.3s;
  padding-top: 30px;
  height: 75px;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment .arrow:hover {
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment .arrow.disabled {
  color: #6c757d;
  background: none;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment .arrow:hover {
  width: 7%;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment .arrow.o_move_previous {
  left: 2px;
  right: 0px;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment > iframe {
  width: 100%;
  height: 100%;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment > .o-mail-Attachment-imgContainer {
  position: absolute;
  overflow: auto;
  width: 100%;
  height: 100%;
}

.o-mail-PopoutAttachmentView > .o-mail-Attachment > .o-mail-Attachment-imgContainer > img {
  margin: var(--o-Mail-Attachment-img-margin, auto);
  box-shadow: 0px 0px 5px rgba(41, 41, 41, 0.43);
}

.o-mail-PopoutAttachmentView .o_attachment_control {
  display: none;
}



/* /mail/static/src/core/common/autoresize_input.scss */

.o-mail-AutoresizeInput {
  --o-input-border-color: transparent;
  border: var(--border-width) solid var(--o-input-border-color);
  background-color: var(--o-input-background-color, transparent);
}

.o-mail-AutoresizeInput::placeholder {
  opacity: 50%;
}

.o-mail-AutoresizeInput:not([disabled]):hover {
  --o-input-border-color: #dee2e6;
}

.o-mail-AutoresizeInput:not([disabled]):focus {
  --o-input-border-color: #000;
}



/* /mail/static/src/core/common/chat_bubble.scss */

.o-mail-ChatBubble {
  height: auto !important;
  z-index: 1001;
  border: none !important;
  padding: 0 6.5px;
  background-color: transparent !important;
}

.o-mail-ChatBubble:hover .o-mail-ChatBubble-close {
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
}

.o-mail-ChatBubble:hover .o-mail-ChatBubble-counter {
  display: none;
}

.o-mail-ChatBubble:hover, .o-mail-ChatBubble.o-active {
  filter: brightness(1.1);
}

.o-mail-ChatBubble.o-bouncing {
  animation: o-mail-ChatBubble-bouncing 0.25s;
  animation-direction: alternate;
  animation-timing-function: cubic-bezier(0.5, 0.95, 0, 0.5);
  animation-iteration-count: 16;
}

.o-mail-ChatBubble-avatar {
  width: 45px;
  height: 45px;
}

.o-mail-ChatBubble-avatar.o-big {
  width: 50px;
  height: 50px;
}

.o-mail-ChatBubble-close {
  right: 3px;
  top: -3px;
  z-index: 6;
  font-size: 11px;
  display: none;
  padding: 1.625px;
  border: 1px solid #d6dbe0;
}

.o-mail-ChatBubble-close:not(:hover) {
  color: rgba(52, 58, 64, 0.76);
}

.o-mail-ChatBubble-close:hover {
  background-color: #dee2e6 !important;
  border-color: #adb5bd;
}

.o-mail-ChatBubble-country {
  width: 16px;
  left: 3px;
}

.o-mail-ChatBubble-counter {
  z-index: 7;
  top: -3px;
  right: 3px;
  display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
}

.o-mail-ChatBubble-preview {
  max-width: 225px;
  right: 56px;
  z-index: 1000;
  border-color: #d6dbe0 !important;
}

.o-mail-ChatBubble-preview + .popover-arrow::before {
  border-left-color: #d6dbe0 !important;
  right: 1px !important;
}

.o-mail-ChatBubble-preview + .popover-arrow::after {
  border-left-color: #f8f9fa !important;
  right: 2px !important;
}

.o-mail-ChatBubble-status {
  z-index: 6;
  bottom: -2px;
  right: 2px;
  background-color: transparent;
}

.o-mail-ChatBubble-unreadIndicator {
  font-size: .5rem;
  bottom: 40%;
  right: -2px;
}

@keyframes o-mail-ChatBubble-bouncing {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -10px, 0);
  }
}



/* /mail/static/src/core/common/chat_hub.scss */

.o-mail-ChatHub-bubbles {
  width: 56px;
  margin-top: 10px;
  margin-right: 25px;
  margin-bottom: 10px;
  margin-left: 10px;
  z-index: 20;
}

.o-mail-ChatHub-bubbles.o-liftUp {
  transform: translateY(-25px);
}

.o-mail-ChatHub-bubbleBtn {
  padding: 0 !important;
  border: none !important;
  border-radius: 50%;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.o-mail-ChatHub-hiddenAvatar {
  width: 28px;
  height: 28px;
}

.o-mail-ChatHub-hiddenBtnIcon {
  color: #FFFFFF !important;
  background-color: #714B67 !important;
  width: 50px !important;
  height: 50px !important;
}

.o-mail-ChatHub-hiddenBtnCounter {
  padding: 4px 8px;
  z-index: 20;
  top: -4px;
  right: -4px;
}

.o-mail-ChatHub-hiddenClose {
  margin-left: auto;
  background-color: transparent;
  opacity: 25%;
  padding: 1.625px;
  border: 1px solid transparent;
}

.o-mail-ChatHub-hiddenClose:hover {
  border-color: #d6dbe0;
}

.o-mail-ChatHub-hiddenCounter {
  right: 20px;
}

.o-mail-ChatHub-hiddenItem {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  max-width: 225px;
}

.o-mail-ChatHub-hiddenItem:hover:not(:has(.o-mail-ChatHub-hiddenClose:hover)), .o-mail-ChatHub-hiddenItem.o-active {
  background-color: #dee2e6;
}

.o-mail-ChatHub-hiddenItem:hover, .o-mail-ChatHub-hiddenItem.o-active {
  cursor: pointer;
}

.o-mail-ChatHub-hiddenItem:hover .o-mail-ChatHub-hiddenClose, .o-mail-ChatHub-hiddenItem.o-active .o-mail-ChatHub-hiddenClose {
  opacity: 100%;
}

.o-mail-ChatHub-hiddenMenu {
  border-color: #d6dbe0 !important;
}

.o-mail-ChatHub-option:hover, .o-mail-ChatHub-option.o-active {
  background-color: #dee2e6;
  cursor: pointer;
}

.o-mail-ChatHub-optionsBtn {
  font-size: 15px;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #d6dbe0 !important;
}

.o-mail-ChatHub-optionsBtn:hover, .o-mail-ChatHub-optionsBtn.show {
  background-color: #dee2e6 !important;
  opacity: 100% !important;
}



/* /mail/static/src/core/common/chat_window.scss */

.o-mail-ChatWindow {
  width: 380px;
  z-index: 1001;
  outline: none;
}

.o-mail-ChatWindow:not(.o-mobile) {
  --border-opacity: .15;
  aspect-ratio: 9 / 15;
}

.o-mail-ChatWindow-command {
  color: inherit !important;
}

.o-mail-ChatWindow-command.o-quick {
  opacity: 15%;
}

.o-mail-ChatWindow-command:not(.o-actionsMenu) {
  padding: 1.625px;
}

.o-mail-ChatWindow-command:hover, .o-mail-ChatWindow-command.o-active, .o-mail-ChatWindow-command.o-hover {
  color: var(--mail-ChatWindow-commandHoverColor, black) !important;
}

.o-mail-ChatWindow-command:hover.o-quick, .o-mail-ChatWindow-command:hover.o-actionsMenu, .o-mail-ChatWindow-command.o-active.o-quick, .o-mail-ChatWindow-command.o-active.o-actionsMenu, .o-mail-ChatWindow-command.o-hover.o-quick, .o-mail-ChatWindow-command.o-hover.o-actionsMenu {
  backdrop-filter: invert(0.025);
}

.o-mail-ChatWindow-command:hover, .o-mail-ChatWindow-command.o-active, .o-mail-ChatWindow-command.o-hover {
  border-color: transparent !important;
}

.o-mail-ChatWindow-command:not(.o-active):not(.o-hover) .fa-caret-down {
  opacity: 25%;
}

.o-mail-ChatWindow-command.o-small {
  --border-opacity: 0.5
    ;
}

.o-mail-ChatWindow-closePanel {
  z-index: 2;
}

.o-mail-ChatWindow-counter {
  margin-bottom: 1.625px;
}

.o-mail-ChatWindow-country {
  width: 24px;
}

.o-mail-ChatWindow-header .o-mail-ChatWindow-threadAvatar img {
  height: 28px;
  width: 28px;
}

.o-mail-ChatWindow-typing {
  font-size: 0.73125rem;
  z-index: 19;
}



/* /mail/static/src/core/common/composer.scss */

.o-mail-Composer {
  grid-template-areas: "sidebar-header core-header" "sidebar-main core-main" "sidebar-footer core-footer";
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr auto;
}

.o-mail-Composer.o-hasSelfAvatar {
  grid-template-columns: 42px 1fr;
}

.o-mail-Composer .o-mail-Composer-sidebarMain {
  padding-top: 0.4375rem;
  width: 48px;
}

.o-mail-Composer .o-mail-Composer-coreHeader {
  grid-area: core-header;
}

.o-mail-Composer .o-mail-Composer-coreMain {
  grid-area: core-main;
}

.o-mail-Composer .o-mail-Composer-sidebarMain {
  grid-area: sidebar-main;
}

.o-mail-Composer .o-mail-Composer-footer {
  grid-area: core-footer;
}

.o-mail-Composer.o-chatWindow .o-mail-Composer-mainActions {
  margin-top: 1.625px;
}

.o-mail-Composer:not(.o-focused) .o-mail-Composer-input::placeholder {
  opacity: 50%;
}

.o-mail-Composer:not(.o-focused) .o-mail-Composer-actions button:not(:hover):not(.o-active):not(.show) {
  opacity: 25%;
}

.o-mail-Composer-actions button {
  opacity: 35%;
}

@media (hover: hover) {
  .o-mail-Composer-actions button:hover {
    opacity: 100%;
    color: var(--mail-Composer-actionHoverColor, black);
    backdrop-filter: invert(0.025);
  }
  .o-mail-Message.o-editing .o-mail-Composer-actions button:hover {
    background-color: rgba(0, 0, 0, 0.05);
  }
}

.o-mail-Composer-actions button:disabled {
  --btn-active-color: var(--btn-disabled-color);
  --btn-hover-color: var(--btn-disabled-color);
  opacity: 25%;
}

.o-mail-Composer-actions button.o-mail-Composer-send.btn-link:not(:disabled) {
  background-color: rgba(1, 126, 132, 0.75);
  opacity: 100% !important;
}

.o-mail-Composer-actions button.o-mail-Composer-send.btn-link:not(:disabled):focus-visible {
  outline: #003638 solid 1px;
}

.o-mail-Composer-actions button.o-mail-Composer-send.btn-link:not(:disabled) i.fa-paper-plane-o {
  color: #FFF;
  transform: translate(-1px);
  scale: .85;
}

.o-mail-Composer-actions button.rounded-circle {
  aspect-ratio: 1;
}

.o-mail-Composer-bg {
  background-color: var(--mail-Composer-bg, white);
  --border-opacity: .5;
}

.o-mail-Composer-inputStyle {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 9.75px;
  padding-right: 9.75px;
  line-height: 1.42857143 !important;
}

.o-mail-Composer.o-chatWindow .o-mail-Composer-inputStyle {
  padding-top: 7px;
  padding-bottom: 7px;
}

.o-mail-Composer.o-editing .o-mail-Composer-inputStyle {
  padding-left: 6.5px;
  padding-right: 6.5px;
}

.o-mail-Composer-input {
  font-family: "text-emoji", var(--font-sans-serif);
  max-height: Min(100px, 60vh);
  resize: none;
}

@media (min-height: 325px) {
  .o-mail-Composer.o-chatWindow .o-mail-Composer-input {
    max-height: Min(550px, 70vh);
  }
}

@media (min-height: 425px) {
  .o-mail-Composer.o-discussApp .o-mail-Composer-input {
    max-height: 50vh;
  }
}

.o-mail-Composer.o-extended .o-mail-Composer-input {
  max-height: Min(400px, 30vh);
}

.o-mail-Composer-input::placeholder {
  opacity: 75%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.o-mail-Composer-avatar {
  --Avatar-size: 36px;
}

.o-mail-Composer-fake {
  height: 0;
  top: -10000px;
}

.o-mail-Composer-bg.o-iosPwa:not(:focus-within) {
  margin-bottom: 39px !important;
}

.o-mail-Composer-bg:has(textarea:focus) {
  --border-opacity: 0.35;
  border-color: rgba(1, 126, 132, var(--border-opacity)) !important;
}



/* /mail/static/src/core/common/core.scss */

.o-mail-discussSidebarBgColor {
  background-color: #FFF;
}

.o-mail-brighter {
  filter: brightness(1.2);
}

.o-bg-black {
  background-color: rgba(0, 0, 0, var(--bg-opacity, 1));
}

.o-discuss-badge {
  --o-discuss-badge-bg: #28a745;
  color: white !important;
  background-color: var(--o-discuss-badge-bg) !important;
  align-items: center;
  justify-content: center;
  padding: 3px 4px;
}

.o-discuss-badge.o-muted {
  --o-discuss-badge-bg: #ced4da;
}

.o-discuss-mobileContextMenu {
  top: auto !important;
  border-top: 1px solid #dee2e6 !important;
}

.o-discuss-separator {
  opacity: 0.08333333;
}

.o-discuss-badge, .o-discuss-badgeShape {
  display: -webkit-box; display: -webkit-flex; display: flex;
  transform: translate(0, 0) !important;
  font-size: 0.687505rem !important;
  user-select: none;
}

.o-min-height-0 {
  min-height: 0;
}

.o-min-width-0 {
  min-width: 0;
}

.o-opacity-35 {
  opacity: 35%;
}

.o-gap-0_5 {
  gap: 1.625px;
}

.o-py-0_5 {
  padding-top: 1.625px;
  padding-bottom: 1.625px;
}

.o-hover-text-underline:hover {
  text-decoration: underline;
}

.o-text-white {
  color: #FFF;
}

.o-xsmaller {
  font-size: 0.65rem;
}

.o-xxsmaller {
  font-size: 0.5rem;
}

.o-yellow {
  color: #ffc107;
}

a.o_mail_redirect, a.o_channel_redirect, a.o-discuss-mention {
  border-radius: var(--border-radius-sm);
  padding: 0rem 0.1875rem;
  border: 1px solid;
  font-weight: 500;
  display: inline-block;
}

a.o_mail_redirect, a.o_channel_redirect {
  color: #52374b;
  background-color: rgba(113, 75, 103, 0.15);
  border-color: rgba(113, 75, 103, 0.25);
}

a.o_mail_redirect:hover, a.o_channel_redirect:hover {
  color: #432c3d;
  background-color: rgba(113, 75, 103, 0.2);
  border-color: rgba(113, 75, 103, 0.5);
}

a.o_mail_redirect:focus, a.o_channel_redirect:focus {
  box-shadow: 96, 64, 88;
}

a.o_mail_redirect:active, a.o_channel_redirect:active {
  color: #000;
  background-color: rgba(220, 211, 218, 0.32);
  border-color: rgba(175, 154, 170, 0.325);
}

a.o_mail_redirect:disabled, a.o_channel_redirect:disabled {
  color: #000;
  background-color: rgba(113, 75, 103, 0.15);
  border-color: rgba(113, 75, 103, 0.25);
}

a.o-discuss-mention {
  color: #52374b;
  background-color: rgba(113, 75, 103, 0.15);
  border-color: rgba(113, 75, 103, 0.25);
  cursor: default !important;
}

a.o-discuss-mention:hover {
  color: #52374b;
  background-color: rgba(113, 75, 103, 0.15);
  border-color: rgba(113, 75, 103, 0.25);
}

a.o-discuss-mention:focus {
  box-shadow: 96, 64, 88;
}

a.o-discuss-mention:active {
  color: #000;
  background-color: rgba(220, 211, 218, 0.32);
  border-color: rgba(175, 154, 170, 0.325);
}

a.o-discuss-mention:disabled {
  color: #000;
  background-color: rgba(113, 75, 103, 0.15);
  border-color: rgba(113, 75, 103, 0.25);
}

.o-discuss-inCallIconColor {
  color: #017e84;
}

.o-mail-DiscussSystray {
  --border-color: #dee2e6 !important;
}

.o-mail-DiscussSystray-class {
  margin-top: -10px;
  margin-bottom: -10px;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
}

.o-mail-DiscussSystray-class:hover, .o-mail-DiscussSystray-class.show {
  background-color: rgba(0, 0, 0, 0.075);
}

.o-mail-systrayFullscreenDropdownMenu {
  top: 46px !important;
  height: calc(100% - 46px);
}

.o-pointer-events-none {
  pointer-events: none;
}

.o-visible-short-delay {
  animation: o-visible-short-delay-animation 0s ease-in 0.25s forwards;
  display: none;
}

@keyframes o-visible-short-delay-animation {
  to {
    display: -webkit-inline-box; display: -webkit-inline-flex; display: inline-flex;
  }
}

@media (hover: none) {
  .o-opacity-hoverable {
    opacity: 100 !important;
  }
}

.o-mail-Discuss-threadActionPopover {
  width: Min(95vw, 400px);
  max-height: Min(50vh, 530px);
}



/* /mail/static/src/core/common/country_flag.scss */

.o-mail-CountryFlag {
  aspect-ratio: 3/2;
}



/* /mail/static/src/core/common/im_status.scss */

.o-mail-ImStatus {
  width: 1.09375rem;
  height: 1.09375rem;
}

.o-mail-ImStatus.o-md {
  width: 0.875rem;
  height: 0.875rem;
}

.o-mail-ImStatus.o-sm {
  width: 0.8125rem;
  height: 0.8125rem;
}

.o-mail-ImStatus .o-away {
  color: #ffc107;
}



/* /mail/static/src/core/common/link_preview.scss */

.o-mail-LinkPreviewCard {
  max-width: 320px;
}

.o-mail-LinkPreviewCard .row {
  min-height: 80px;
}

.o-mail-LinkPreviewCard-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.o-mail-LinkPreviewCard-imageLinkWrap {
  border-right: 1px solid var(--border-color-translucent);
}

.o-mail-LinkPreviewImage img {
  max-height: 240px;
  max-width: 320px;
}

.o-mail-ChatWindow .o-mail-LinkPreviewImage img {
  max-width: 100%;
}

.o-mail-LinkPreviewVideo {
  max-width: 320px;
}

.o-mail-LinkPreviewVideo .row {
  min-height: 80px;
}

.o-mail-LinkPreviewVideo-hasDescription {
  display: -webkit-box;
  -webkit-box-orient: vertical;
}

.o-mail-LinkPreviewVideo-hasDescription.o-mail-LinkPreviewVideo-description {
  -webkit-line-clamp: 2;
}

.o-mail-LinkPreviewVideo-hasDescription.o-mail-LinkPreviewVideo-title {
  -webkit-line-clamp: 3;
}

.o-mail-LinkPreviewVideo-videoWrap {
  border-right: 1px solid var(--border-color-translucent);
}

.o-mail-LinkPreviewVideo-play {
  background: #000000;
}

.o-mail-LinkPreviewVideo-play i {
  color: #ffffff;
}

@media (hover: hover) {
  .o-mail-LinkPreview-aside {
    display: none;
  }
  .o-mail-LinkPreviewCard:hover .o-mail-LinkPreview-aside, .o-mail-LinkPreviewImage:hover .o-mail-LinkPreview-aside, .o-mail-LinkPreviewVideo:hover .o-mail-LinkPreview-aside {
    display: block;
  }
}



/* /mail/static/src/core/common/message.scss */

.o-mail-Message {
  transition: background-color .2s ease-out, opacity .5s ease-out, box-shadow .5s ease-out, transform .2s ease-out;
}

.o-mail-Message.o-card {
  outline: 1px solid rgba(222, 226, 230, 0.35);
  outline-offset: -1px;
  background-color: white;
  --border-opacity: .5;
}

.o-mail-Message.o-highlighted {
  transform: translateY(-13px);
}

.o-mail-Message.o-actionMenuMobileOpen {
  background-color: rgba(1, 126, 132, 0.1);
  outline: 1px solid rgba(1, 126, 132, 0.15);
  outline-offset: -1px;
}

.o-mail-Message-date {
  opacity: 50%;
}

.o-mail-Message-edited {
  display: none;
}

.o-mail-Message-seenContainer {
  font-size: 0.65rem;
  right: 2px;
  bottom: -2px;
}

.o-mail-Message-sidebar {
  flex-basis: 42px;
  max-width: 42px;
}

.o-mail-Message-sidebar.o-inChatWindow {
  flex-basis: 34px;
  max-width: 34px;
}

.o-mail-Message-avatarContainer {
  width: 36px;
  height: 36px;
}

.o-mail-Message-avatarContainer.o-inChatWindow {
  width: 28px;
  height: 28px;
}

@font-face {
  font-family: "text-emoji";
  src: local("Segoe UI"), local("Apple Color Emoji"), local("Android Emoji"), local("Noto Color Emoji"), local("Twitter Color Emoji"), local("Twitter Color"), local("EmojiOne Color"), local("EmojiOne"), local(EmojiSymbols), local(Symbola);
  unicode-range: U+231A-231B, U+23E9-23EC, U+23F0, U+23F3, U+25FD-25FE, U+2614-2615, U+2648-2653, U+267F, U+2693, U+26A1, U+26AA-26AB, U+26BD-26BE, U+26C4-26C5, U+26CE, U+26D4, U+26EA, U+26F2-26F3, U+26F5, U+26FA, U+26FD, U+2705, U+270A-270B, U+2728, U+274C, U+274E, U+2753-2755, U+2757, U+2795-2797, U+27B0, U+27BF, U+2B1B-2B1C, U+2B50, U+2B55, U+FE0F, U+1F004, U+1F0CF, U+1F18E, U+1F191-1F19A, U+1F1E6-1F1FF, U+1F201, U+1F21A, U+1F22F, U+1F232-1F236, U+1F238-1F23A, U+1F250-1F251, U+1F300-1F320, U+1F32D-1F335, U+1F337-1F393, U+1F3A0-1F3CA, U+1F3CF-1F3D3, U+1F3E0-1F3F0, U+1F3F4, U+1F3F8-1F43E, U+1F440, U+1F442-1F4FC, U+1F4FF-1F53D, U+1F54B-1F567, U+1F57A, U+1F595-1F596, U+1F5A4, U+1F5FB-1F64F, U+1F680-1F6CC, U+1F6D0-1F6D2, U+1F6D5-1F6D7, U+1F6DC-1F6DF, U+1F6EB-1F6EC, U+1F6F4-1F6FC, U+1F7E0-1F7EB, U+1F7F0, U+1F90C-1F93A, U+1F93C-1F945, U+1F947-1FA7C, U+1FA80-1FAC5, U+1FACE-1FADB, U+1FAE0-1FAE8, U+1FAF0-1FAF8;
  size-adjust: 121%;
}

.o-mail-Message-body {
  font-family: "text-emoji", var(--font-sans-serif);
}

.o-mail-Message-body:not(.o-note) {
  padding-left: 9.75px;
  padding-right: 9.75px;
}

.o-mail-Message.o-editing .o-mail-Message-body:not(.o-note) {
  padding-left: 3.25px;
  padding-right: 3.25px;
}

.o-mail-Message-body > p {
  margin-bottom: 0 !important;
}

.o-mail-Message-body table[align="left"][width="100%"] {
  float: none;
}

.o-mail-Message-bubble.o-blue {
  background-color: #e2f3f6 !important;
  border-color: #bbe3ea !important;
}

.o-mail-Message-bubble.o-blue.o-muted {
  background-color: #f1f9fb !important;
}

.o-mail-Message-bubble.o-green {
  background-color: #e4f4e8 !important;
  border-color: #c0e5c9 !important;
}

.o-mail-Message-bubble.o-green.o-muted {
  background-color: #f2faf4 !important;
}

.o-mail-Message-bubble.o-orange {
  background-color: #fae7bf !important;
  border-color: #f6d590 !important;
}

.o-mail-Message-bubble.o-orange.o-muted {
  background-color: #fefbf5 !important;
}

.o-mail-ChatWindow .o-mail-Message.o-selfAuthored {
  flex-direction: row-reverse;
}

.o-mail-ChatWindow .o-mail-Message.o-selfAuthored .o-mail-Message-core, .o-mail-ChatWindow .o-mail-Message.o-selfAuthored .o-mail-Message-textContent {
  flex-direction: row-reverse;
}

.o-mail-ChatWindow .o-mail-Message.o-selfAuthored .o-mail-Message-header {
  -webkit-box-pack: end; justify-content: flex-end;
}

.o-mail-ChatWindow .o-mail-Message.o-selfAuthored .o-mail-Message-author {
  display: none;
}

.o-mail-Message-actions {
  z-index: 18;
}

.o-mail-Message-actions.o-expanded {
  z-index: 19;
}

.o-mail-Message-actions button {
  opacity: 50%;
}

.o-mail-Message-actions button:hover, .o-mail-Message-actions button.focus, .o-mail-Message-actions button.show {
  opacity: 100%;
  color: var(--mail-Message-actionIconHoveredColor, black);
}

.o-mail-Message-moreMenu {
  z-index: 21;
}

.o-mail-Message-openActionMobile:active {
  opacity: 75% !important;
}

.o-mail-Message-pendingProgress {
  animation: o-mail-message-pendingProgress-animation 0s ease-in 0.5s forwards;
  visibility: hidden;
}

@keyframes o-mail-message-pendingProgress-animation {
  to {
    visibility: visible;
  }
}

.o-mail-Message-searchHighlight {
  background: rgba(233, 157, 0, 0.75);
}

.o-mail-Message-starred {
  color: #f3cc00;
}

.o-mail-Message-translated {
  color: #017e84;
}



/* /mail/static/src/core/common/message_action_menu_mobile.scss */

.o-mail-MessageActionMenuMobile button {
  border-color: #dee2e6;
}

.o-mail-MessageActionMenuMobile button:active {
  border: none !important;
}



/* /mail/static/src/core/common/message_card_list.scss */

.o-mail-MessageCardList .card-body {
  background-color: var(--mail-MessageCardList-cardBodyBg, white);
}

.o-mail-MessageCardList .card-body:hover .o-mail-MessageCard-jump {
  opacity: 100 !important;
}

.o-mail-MessageCard-jump {
  color: white;
}

.o_touch_device .o-mail-MessageCard-jump.btn {
  font-size: 0.9rem;
}



/* /mail/static/src/core/common/message_in_reply.scss */

.o-mail-MessageInReply-avatar {
  width: 18px;
  height: 18px;
}

.o-mail-MessageInReply-core {
  border-left: 3px solid transparent !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background-color: rgba(255, 255, 255, 0.5) !important;
}

.o-mail-MessageInReply-core.o-blue {
  border-left-color: #8bd1dc !important;
}

.o-mail-MessageInReply-core.o-green {
  border-left-color: #94d3a2 !important;
}

.o-mail-MessageInReply-core.o-orange {
  border-left-color: #f2c466 !important;
}

.o-mail-MessageInReply-content {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.o-mail-MessageInReply-message p, .o-mail-MessageInReply-message div {
  display: inline;
  margin: 0;
}

.o-mail-MessageInReply-message br {
  display: none;
}



/* /mail/static/src/core/common/message_reaction_list.scss */

.o-mail-MessageReaction {
  line-height: 1.25;
}

.o-mail-MessageReaction:not(.o-selfReacted):hover {
  --border-color: #714B67;
}

.o-mail-MessageReactionList-preview:hover {
  background-color: #f8f9fa !important;
}

.o-mail-MessageReactionList-previewText {
  max-width: 200px;
}



/* /mail/static/src/core/common/message_reaction_menu.scss */

.o-mail-MessageReactionMenu-avatar {
  width: 36px;
  height: 36px;
}

.o-mail-MessageReactionMenu > .modal-body {
  padding: 0;
}

.o-mail-MessageReactionMenu-persona:not(.o-isDeviceSmall):not(:hover) button.fa-trash {
  opacity: 0;
}

.o-mail-MessageReactionMenu-persona:not(.o-isDeviceSmall):hover button.fa-trash {
  opacity: 100;
}

.o-mail-MessageReactionMenu-persona:not(.o-isDeviceSmall):hover button.fa-trash:hover {
  background-color: #f8f9fa;
}



/* /mail/static/src/core/common/message_reactions.scss */

.o-mail-MessageReactions:not(.o-emojiPickerOpen):not(:hover) .o-mail-MessageReactions-add {
  visibility: hidden;
}

.o-mail-MessageReaction.o-selfReacted {
  --border-opacity: 0.75;
  background: #f1edf0;
}



/* /mail/static/src/core/common/message_seen_indicator.scss */

.o-mail-MessageSeenIndicator i {
  line-height: 1.5;
}

.o-mail-MessageSeenIndicator i.o-second {
  top: -3px;
}



/* /mail/static/src/core/common/navigable_list.scss */

.o-mail-NavigableList {
  z-index: 21;
}

.o-mail-NavigableList-active {
  background-color: var(--mail-NavigableList-activeBgColor, #e6f2f3);
}

.o-mail-NavigableList-floatingLoading {
  right: 1px;
}



/* /mail/static/src/core/common/picker.scss */

.o-mail-Picker {
  height: 55vh;
}

.o-mail-Picker .o-EmojiPicker {
  width: 100% !important;
}

.o-mail-Picker .o-EmojiPicker .o-Emoji {
  width: 40px;
  font-size: 1.5rem !important;
}

.o-mail-Picker .o-EmojiPicker-navbar {
  gap: 0.5rem !important;
}



/* /mail/static/src/core/common/picker_content.scss */

.popover .o-mail-PickerContent {
  width: 300px;
  height: 365px;
}

.popover .o-mail-PickerContent .o-EmojiPicker {
  width: 100% !important;
  height: 100% !important;
}



/* /mail/static/src/core/common/thread.scss */

.o-mail-Thread:focus-visible {
  outline: 0;
}

.o-mail-Thread-jumpPresent {
  z-index: 20;
  --border-opacity: .5;
}

.o-mail-Thread-newMessage {
  transition: opacity 0.5s;
}

.o-mail-Thread-newMessage span {
  font-size: 0.6rem;
  clip-path: polygon(0% 50%, 15% 0%, 100% 0%, 100% 100%, 15% 100%);
}

.o_mail_notification {
  display: inline;
}

.o_mail_notification a:hover {
  text-decoration: underline;
}

.o-mail-NotificationMessage p {
  margin-bottom: 0;
}

.o-mail-NotificationMessage:has(.o_hide_author) .o-mail-NotificationMessage-author {
  display: none !important;
}

.o-mail-Thread-banner {
  z-index: 20;
  --border-opacity: 0.25;
}

.o-mail-Thread-bannerHover:hover {
  filter: brightness(98%);
}



/* /mail/static/src/core/public_web/discuss.scss */

.o-mail-Discuss-content .o-mail-Thread {
  flex-grow: 1;
}

.o-mail-Discuss-core {
  background-color: var(--mail-Discuss-coreBgColor, #FFFFFF);
}

.o-mail-Discuss-threadContainerHeader {
  background-color: var(--mail-Discuss-coreBgColor, #FFFFFF);
}

.o-mail-Discuss-selfAvatar {
  height: 28px;
  width: 28px;
}

.o-mail-Discuss-threadName {
  max-width: 75%;
}

.o-mail-Discuss-header {
  background-color: #FFF;
  box-shadow: 0px 1px 6px -3px rgba(50, 50, 50, 0.15);
  --border-opacity: .25;
}

.o-mail-Discuss-headerActions button {
  --btn-disabled-opacity: 0.25;
  opacity: 75%;
}

.o-mail-Discuss-headerActions button:hover, .o-mail-Discuss-headerActions button.o-isActive {
  opacity: 100%;
}

.o-mail-Discuss-headerActions button:not(.o-isActive):hover {
  background-color: #e9ecef;
}

.o-mail-Discuss-headerActions button.o-isActive {
  background-color: #dee2e6;
  outline: 1px solid #adb5bd;
  outline-offset: -1px;
  opacity: 100%;
}

.o-mail-Discuss-headerActions button.o-isActive:hover {
  background-color: #dee2e6;
}

.o-mail-Discuss-headerActionsGroup {
  --border-opacity: 0;
  background-color: #f4f6f7;
}

.o-mail-Discuss-headerCountry {
  width: 24px;
}

.o-mail-Discuss-panelContainer {
  --border-opacity: .5;
}

.o-mail-Discuss-threadAvatar img {
  height: 32px;
  width: 32px;
}

.o-mail-Discuss-threadAvatar a i {
  transform: translate(-50%, -50%);
  opacity: 0;
}

.o-mail-Discuss-threadAvatar a:hover {
  background-color: rgba(0, 0, 0, 0.5);
}

.o-mail-Discuss-threadAvatar a:hover i {
  opacity: 1;
}



/* /mail/static/src/core/public_web/discuss_sidebar.scss */

.o-mail-DiscussSidebar {
  box-shadow: 1px 0px 6px -3px rgba(50, 50, 50, 0.15);
  width: 60px;
  --border-opacity: .5;
}

.o-mail-DiscussSidebar:not(.o-compact) {
  width: 300px;
}

.o-mail-DiscussSidebar-optionsBtn {
  --border-opacity: 0.5;
  padding: 1.625px;
}

.o-mail-DiscussSidebar-optionsBtn:not(.o-compact) {
  right: 9.75px;
}

.o-mail-DiscussSidebar-badge {
  padding: 3px 4px;
}

.o-mail-DiscussSidebar-badge.o-compact {
  right: -2px;
}

.o-mail-DiscussSidebar-item {
  outline: 1px solid transparent !important;
  padding-top: 1.625px;
  padding-bottom: 1.625px;
}

.o-mail-DiscussSidebar.o-compact .o-mail-DiscussSidebar-item {
  opacity: 75%;
}

.o-mail-DiscussSidebar.o-compact .o-mail-DiscussSidebar-item.o-unread, .o-mail-DiscussSidebar.o-compact .o-mail-DiscussSidebar-item.o-active, .o-mail-DiscussSidebar.o-compact .o-mail-DiscussSidebar-item:hover {
  opacity: 100%;
}

.o-mail-DiscussSidebar-item.o-active, .o-mail-DiscussSidebar-item:hover {
  background-color: var(--mail-DiscussSidebar-itemActiveBgColor, #e6f2f3) !important;
  outline-color: var(--mail-DiscussSidebar-itemActiveOutlineColor, rgba(1, 126, 132, 0.2)) !important;
}

.o-mail-DiscussSidebar-item.o-active .o-mail-DiscussSidebarChannel-itemName, .o-mail-DiscussSidebar-item:hover .o-mail-DiscussSidebarChannel-itemName {
  filter: brightness(1.1);
}



/* /mail/static/src/core/public_web/messaging_menu.scss */

.o-mail-MessagingMenu {
  width: 475px;
  min-height: 50px;
  max-height: Min(calc(70vh - 5px), 630px);
  background-color: var(--mail-MessagingMenu-bg, white);
}

.o-mail-MessagingMenu-list {
  background-color: var(--mail-MessagingMenu-bg, white);
}

.o-mail-MessagingMenu-navbar button.o-active {
  background-color: #f1f3f5;
}

.o-mail-MessagingMenu-navbar button:hover {
  background-color: #f1f3f5;
}



/* /mail/static/src/core/public_web/notification_item.scss */

.o-mail-NotificationItem {
  outline: 1px solid transparent;
  outline-offset: -1px;
  background-color: var(--mail-MessagingMenu-bg, white);
}

.o-mail-NotificationItem.o-important {
  background-color: #e7f2f5 !important;
  border-color: #d5e8ee !important;
}

.o-mail-NotificationItem.o-active {
  outline-color: rgba(1, 126, 132, var(--mail-NotificationItem-activeOutlineOpacity, 0.5));
}

.o-mail-NotificationItem:hover, .o-mail-NotificationItem.o-active {
  background-color: #f1f3f5 !important;
}

.o-mail-NotificationItem:hover.o-important, .o-mail-NotificationItem.o-active.o-important {
  background-color: #dceef2 !important;
}

.o-mail-NotificationItem:not(.o-small) {
  padding-left: 9.75px;
}

.o-mail-NotificationItem-avatarContainer {
  height: 40px;
  aspect-ratio: 1;
  margin-top: 1.625px;
  margin-bottom: 1.625px;
}

.o-mail-NotificationItem-avatarContainer.o-small {
  margin: 3.25px;
}

.o-mail-NotificationItem-badge {
  padding: 3px 6px !important;
}

.o-mail-NotificationItem-country {
  width: 16px;
  bottom: -2px;
  left: -4px;
}

.o-mail-NotificationItem-markAsRead {
  background-color: transparent !important;
  font-size: 0.85rem !important;
  color: #28a745 !important;
}

.o-mail-NotificationItem-markAsRead:hover {
  background-color: rgba(0, 0, 0, 0.075) !important;
}

.o-mail-NotificationItem-text {
  font-family: "text-emoji", var(--font-sans-serif);
}

.o-mail-NotificationItem-text:before {
  content: "\200b";
  /* unicode zero width space character */
}

.o-mail-NotificationItem-unreadIndicator {
  color: #148ea1;
  font-size: 0.5rem;
  left: 1px;
  top: 40px;
  transform: translateY(-125%);
}



/* /mail/static/src/core/web/activity.scss */

.o-mail-Activity-sidebar {
  width: 36px;
  height: 36px;
}

.o-mail-Activity-note p {
  margin-bottom: 0;
}

.o-mail-Activity-iconContainer {
  box-shadow: 0 0 0 2px white;
}



/* /mail/static/src/core/web/activity_list_view.scss */

.o-mail-ActivityListPopover {
  width: min(95vw, 350px);
  max-height: min(95vh, 525px);
}



/* /mail/static/src/core/web/activity_list_view_item.scss */

.o-mail-ActivityListPopoverItem-edit {
  opacity: 0.5;
}

.o-mail-ActivityListPopover-item:hover .o-mail-ActivityListPopoverItem-edit {
  opacity: 1;
}



/* /mail/static/src/core/web/activity_menu.scss */

.o-mail-ActivityMenu {
  width: 350px;
  max-height: 400px;
  min-height: 50px;
}

.o-mail-ActivityMenu img {
  height: 3em;
  aspect-ratio: 1;
}

.o-mail-ActivityMenu-empty {
  min-height: inherit;
}



/* /mail/static/src/core/web/base_recipients_list.scss */

.o-mail-BaseRecipientsList-caret:hover {
  background-color: rgba(0, 0, 0, 0.1);
}



/* /mail/static/src/core/web/discuss_patch.scss */

.o-mail-Discuss-mobileLoading {
  font-size: 70px;
}



/* /mail/static/src/core/web/discuss_sidebar_mailboxes.scss */

.o-mail-Mailbox.o-compact {
  padding-top: 8.125px;
  padding-bottom: 8.125px;
}



/* /mail/static/src/core/web/follower_subtype_dialog.scss */

.o-mail-FollowerSubtypeDialog-subtype label:hover {
  background-color: #e9ecef;
}



/* /mail/static/src/core/web/mail_composer_attachment_list.scss */

.o_field_mail_composer_attachment_list {
  --fieldWidget-display: block;
}

.o_field_mail_composer_attachment_list li {
  max-width: 325px;
}



/* /mail/static/src/core/web/messaging_menu_patch.scss */

.o-mail-MessagingMenu-headerFilter {
  border: 1px solid transparent;
}

.o-mail-MessagingMenu-headerFilter.o-active {
  background-color: rgba(1, 126, 132, 0.075);
  border-color: rgba(1, 126, 132, 0.1);
}



/* /mail/static/src/core/web/recipient_list.scss */

.o-mail-RecipientList {
  max-height: 410px;
}



/* /mail/static/src/chatter/web_portal/chatter.scss */

.o-mail-Chatter .o-mail-Message-body [summary~="o_mail_notification"] {
  display: none;
}

.o-chatter-disabled .o-mail-Message-actions {
  display: none;
}

.o-mail-Chatter-top {
  z-index: 19;
  background-color: #FFFFFF;
}

.o-mail-Chatter-top.shadow-sm {
  background-image: linear-gradient(90deg, transparent, white, transparent);
}

.o-mail-Chatter-top, .o-mail-Chatter-content {
  --Chatter-default-padding-x: 13px;
  padding-left: var(--ChatterAsideForm-padding-left, var(--Chatter-default-padding-x));
  padding-right: var(--Chatter-default-padding-x);
}

.o-mail-Followers-button:focus {
  background-color: #e9ecef;
}

.o-mail-Followers-dropdown {
  /**
     * Note: Min() refers to CSS min() and not SCSS min().
     *
     * To by-pass SCSS min() shadowing CSS min(), we rely on SCSS being case-sensitive while CSS isn't.
     */
  max-width: Min(400px, 95vw);
  max-height: Min(500px, 50vh);
}

.o-mail-Follower-avatar {
  width: 28px;
  height: 28px;
}

.o-mail-Follower-details:hover,
.o-mail-Follower-action:hover {
  background-color: var(--chatter_follower-bg--hover, #dee2e6);
}

.btn.o-mail-Chatter-follow:hover {
  color: #000 !important;
}



/* /mail/static/src/chatter/web/form_renderer.scss */

.o-mail-ChatterContainer, .o-mail-Form-chatter {
  --Chatter-asideExtraWidth: 0px;
}

.o-mail-ChatterContainer.o-aside, .o-mail-Form-chatter.o-aside {
  flex-shrink: 0;
  flex-grow: 1;
  padding: 0;
  width: calc(530px + var(--Chatter-asideExtraWidth));
}

@media (max-width: 1920px) {
  .o-mail-ChatterContainer.o-aside, .o-mail-Form-chatter.o-aside {
    --ChatterAsideForm-padding-left: 6.5px;
  }
}

.o-mail-ChatterContainer.o-isInFormSheetBg, .o-mail-Form-chatter.o-isInFormSheetBg {
  margin-left: calc(var(--formView-sheetBg-padding-x) * -1);
  margin-right: calc(var(--formView-sheetBg-padding-x) * -1);
}

.o-mail-ChatterContainer:not(.o-aside):not(.o-full-width) .o-mail-Chatter, .o-mail-Form-chatter:not(.o-aside):not(.o-full-width) .o-mail-Chatter {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 1920px) {
  .o_form_sheet_bg:has(+ .o-mail-Form-chatter.o-aside) {
    --formView-sheetBg-padding-right: 6.5px;
  }
}

.o-mail-ChatterContainer, .o-mail-Form-chatter {
  display: -webkit-box; display: -webkit-flex; display: flex;
  margin: 0 auto;
  padding-bottom: 39px;
  width: 100%;
}



/* /mail/static/src/views/web/fields/avatar/avatar.scss */



/* /mail/static/src/views/web/fields/emojis_char_field/emojis_char_field.scss */

.o_field_char_emojis input.o_field_placeholder {
  padding-right: 50px;
}

.o_field_char_emojis input.o_field_placeholder.o_field_translate {
  padding-right: 90px;
}



/* /mail/static/src/views/web/fields/html_composer_message_field/html_composer_message_field.scss */

.o_field_html_composer_message .note-editable {
  min-height: 180px !important;
}

.o_dialog .modal-content:has(.o_mail_composer_form_view) .modal-header {
  padding-left: 25px;
  padding-right: 25px;
}

.o_dialog .o_mail_composer_form_view .o_form_renderer.o_form_nosheet.o_form_editable {
  padding-left: 25px;
  padding-right: 25px;
  padding-top: var(--modal-padding);
}

.o_dialog .o_mail_composer_form_view .o_field_html_composer_message .note-editable {
  padding-left: 0;
  padding-right: 0;
}



/* /mail/static/src/views/web/fields/many2many_avatar_user_field/many2many_avatar_user_field.scss */

.o_kanban_renderer .o_field_many2many_avatar_user:not(:has(.o_tags_input)), .o_list_renderer .o_field_many2many_avatar_user:not(:has(.o_tags_input)), .o_activity_record .o_field_many2many_avatar_user:not(:has(.o_tags_input)) {
  display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
}

.o_kanban_renderer .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_tag, .o_list_renderer .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_tag, .o_activity_record .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_tag {
  background-color: transparent;
  box-shadow: none;
  color: inherit;
  margin-right: 0px;
}

.o_kanban_renderer .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_m2m_avatar_empty, .o_list_renderer .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_m2m_avatar_empty, .o_activity_record .o_field_many2many_avatar_user .o_field_tags:not(.o_tags_input) .o_m2m_avatar_empty {
  width: 20px;
  height: 20px;
  margin-left: 0px;
  background-color: #dee2e6;
  vertical-align: bottom;
}



/* /mail/static/src/views/web/fields/properties_field/property_value.scss */

.o_property_field_value .o_field_property_many2one_value img[comodel="res.users"]:hover,
.o_property_field_value .o_m2m_avatar[comodel="res.users"]:hover {
  cursor: context-menu;
  outline: 1px solid #017e84;
}



/* /mail/static/src/discuss/core/common/action_panel.scss */

.o-mail-ActionPanel .form-check-input {
  --form-check-bg: #FFF;
}

@media (min-width: 750px) {
  .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
    max-width: 30vw;
  }
}

@media (min-width: 1000px) {
  .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
    max-width: 50vw;
  }
}

@media (min-width: 1200px) {
  .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
    max-width: 55vw;
  }
}

@media (min-width: 1600px) {
  .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
    max-width: 65vw;
  }
}

@media (min-width: 2300px) {
  .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
    max-width: 75vw;
  }
}

.popover .o-mail-ActionPanel:not(.o-mail-ActionPanel-chatter) {
  width: 475px;
  max-width: unset;
}

.o-mail-ActionPanel-header {
  z-index: 20;
}



/* /mail/static/src/discuss/core/common/channel_invitation.scss */

.o-discuss-ChannelInvitation {
  min-height: 0;
}

.o-discuss-ChannelInvitation-selectable.o-odd {
  background-color: #f8f9fa !important;
}

.o-discuss-ChannelInvitation-selectable:hover {
  background-color: #f1f3f5 !important;
}

.o-discuss-ChannelInvitation-selectable.o-selected {
  background-color: #d9eced !important;
}

.o-discuss-ChannelInvitation-selectedList {
  max-height: 100px;
}

.o-discuss-ChannelInvitation-selectedList button {
  background-color: #d9eced;
}

.o-discuss-ChannelInvitation-selectedList button:not(:hover) .oi-close {
  border-color: transparent !important;
}

.o-discuss-ChannelInvitation-selectedList button:hover .oi-close {
  color: #d44c59;
  border-color: #d44c59 !important;
}

.o-discuss-ChannelInvitation-avatar {
  width: 32px;
  aspect-ratio: 1;
}

.o-discuss-ChannelInvitation-invitationBox {
  position: sticky;
  bottom: -6.5px;
}



/* /mail/static/src/discuss/core/common/channel_member_list.scss */

.o-discuss-ChannelMember.o-offline {
  opacity: 33%;
}

.o-discuss-ChannelMember.o-offline.cursor-pointer:hover {
  opacity: 75%;
}

.o-discuss-ChannelMember.cursor-pointer:hover {
  background-color: var(--discuss-ChannelMember-hoverBg, #f1f3f5);
}

.o-discuss-ChannelMember-avatar {
  width: 32px;
  aspect-ratio: 1;
}



/* /mail/static/src/discuss/core/common/discuss_notification_settings.scss */

.o-mail-DiscussNotificationSettings button.o-selected {
  background-color: var(--mail-DiscussNotificationSettings-btnSelectedBg, #e9ecef);
}



/* /mail/static/src/discuss/core/common/notification_settings.scss */

.o-discuss-NotificationSettings .o-mail-NotificationSettings-submenu {
  max-width: 250px !important;
}

.o-discuss-NotificationSettings .o-discuss-NotificationSettings-separator {
  min-width: 20px;
}

.o-discuss-NotificationSettings button:hover {
  background-color: var(--mail-NotificationSettings-btnHoverBg, #e9ecef);
}

.o-discuss-NotificationSettings-defaultValue {
  color: #017e84;
}



/* /mail/static/src/discuss/core/public_web/bus_connection_alert.scss */

.o-bus-ConnectionAlert {
  z-index: 1056;
  animation: o-bus-ConnectionAlert-borderAnimation ease-in-out .5s forwards;
  border: 2px solid #f6d899;
}

.o-bus-ConnectionAlert-failure {
  width: fit-content;
  animation: o-bus-ConnectionAlert-failureAnimation ease-in-out .5s forwards;
  padding: 3.25px;
  padding-bottom: 1.25px;
}

.o-bus-ConnectionAlert-icon {
  animation: o-bus-ConnectionAlert-iconAnimation .5s;
  animation-direction: alternate;
  animation-timing-function: cubic-bezier(0.5, 0.95, 0, 0.5);
  animation-iteration-count: 9;
}

.o-bus-ConnectionAlert-label {
  color: #000;
}

@keyframes o-bus-ConnectionAlert-iconAnimation {
  from {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}

@keyframes o-bus-ConnectionAlert-borderAnimation {
  from {
    border-color: rgba(246, 216, 153, 0);
  }
  to {
    border-color: #f6d899;
  }
}

@keyframes o-bus-ConnectionAlert-failureAnimation {
  from {
    opacity: 0%;
    background-color: rgba(246, 216, 153, 0.5);
  }
  to {
    opacity: 100%;
    background-color: #f6d899;
  }
}



/* /mail/static/src/discuss/core/public_web/discuss_sidebar_categories.scss */

.o-mail-DiscussSidebar .o-mail-DiscussSidebarCategory-icon {
  width: 15px;
  height: 15px;
}

.o-mail-DiscussSidebarChannel-container {
  --border-opacity: var(--mail-DiscussSidebarChannel-borderOpacity, 0.05);
  gap: 1px;
}

.o-mail-DiscussSidebarChannel-container.o-bordered {
  background-color: var(---mail-DiscussSidebarChannel-borderedBgColor, #fbfbfb) !important;
}

.o-mail-DiscussSidebarChannel-country {
  bottom: -2px;
  left: -4px;
  width: 12px;
}

.o-mail-DiscussSidebar-floatingMenu {
  max-width: 250px !important;
  --border-opacity: 0.5;
}

.o-mail-DiscussSidebar-item {
  line-height: 2;
  background-color: inherit !important;
}

.o-mail-DiscussSidebar-item:hover .o-mail-DiscussSidebarChannel-commands {
  display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
}

.o-mail-DiscussSidebar-item:hover .o-mail-DiscussSidebarChannel-commands .btn-group .btn:hover {
  border-color: var(--mail-DiscussSidebarChannel-commandsHover, rgba(1, 126, 132, 0.15));
  background-color: white !important;
}

.o-mail-DiscussSidebar-item:hover .o-mail-DiscussSidebarChannel-commands .btn-group .btn:not(:hover) {
  border-color: transparent;
  background-color: transparent;
}

.o-mail-DiscussSidebarCategory-chevronCompact {
  left: 3.25px;
}

.o-mail-DiscussSidebarCategory-toggler.o-compact {
  font-size: .65rem;
}

.o-mail-DiscussSidebarCategory-toggler:not(.o-compact) {
  line-height: 2.35;
}

.o-mail-DiscussSidebarChannel-badge.o-nonCompact {
  margin-right: 9.75px;
}

.o-mail-DiscussSidebarChannel-itemMain {
  background-color: inherit !important;
}

.o-mail-DiscussSidebarChannel-threadIcon {
  font-size: xx-small;
  width: 14px;
  height: 14px;
}

.o-mail-DiscussSidebarChannel-indicatorCompact {
  top: 3px;
  left: 3px;
}

.o-mail-DiscussSidebarChannel-subChannel.o-nonCompact {
  margin-left: 26px;
}

.o-mail-DiscussSidebar-unreadIndicator {
  font-size: 0.35rem;
  left: 0px;
}

.o-mail-DiscussSidebarSubchannel .o-mail-DiscussSidebar-unreadIndicator:not(.o-compact) {
  left: 8.125px;
}

.o-mail-DiscussSidebarCategories-quickSearchBtn {
  padding-top: 6.5px;
  padding-bottom: 6.5px;
}

.o-mail-DiscussSidebarCategories-quickSearchBtn.o-active {
  background-color: rgba(1, 126, 132, 0.75);
  color: #fff;
}

.o-mail-DiscussSidebarQuickSearchInput {
  outline: 1px solid #dee2e6;
  outline-offset: -1px;
}

.o-mail-DiscussSidebarQuickSearchInput.o-active {
  outline-color: #017e84;
}

.o-mail-DiscussSidebarSubchannel svg {
  color: var(--mail-DiscussSidebarSubchannel-svgColor, #dadfe3);
  left: 20px;
  transform: scaleX(1) /* rtl:scaleX(-1) */;
}



/* /mail/static/src/discuss/core/public_web/sub_channel_list.scss */

.o-mail-SubChannelList-thread {
  --border-opacity: .5;
}

.o-mail-SubChannelList-thread:hover {
  background-color: #f8f9fa !important;
}

.o-mail-SubChannelList-threadLastMessage {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}



/* /mail/static/src/discuss/core/web/channel_selector.scss */

.o-discuss-ChannelSelector input {
  width: unset !important;
}

.o-discuss-ChannelSelector:has(input:focus) {
  border-color: rgba(1, 126, 132, 0.75);
}



/* /mail/static/src/discuss/call/common/call.scss */

.o-discuss-Call {
  height: 50%;
  min-height: 50%;
  background: var(--o-discuss-Call-bgColor, #212529);
}

.o-discuss-Call.o-minimized {
  height: 20%;
  min-height: max(20%, 130px);
}

.o-discuss-Call.o-minimized.o-compact {
  height: 10%;
  min-height: max(10%, 100px);
}

.o-discuss-Call-main {
  background-color: rgba(0, 0, 0, 0.5);
}

.o-discuss-Call-sidebar {
  width: 120px;
  min-width: 120px;
  overflow-y: auto;
  overflow-x: hidden;
}

.o-discuss-Call-sidebar::-webkit-scrollbar {
  width: 0.3vw;
}

.o-discuss-Call-sidebarCard {
  aspect-ratio: 16/9;
}

.o-discuss-Call-mainCardStyle {
  width: var(--width);
  height: var(--height);
  min-width: var(--width);
  min-height: var(--height);
  aspect-ratio: 16/9;
}

.o-discuss-Call-sidebarToggler {
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}

.o-discuss-Call-sidebar::-webkit-scrollbar {
  background: #212529;
}

.o-discuss-Call-sidebar::-webkit-scrollbar-thumb {
  background: #495057;
}

.o-discuss-Call-sidebarToggler {
  color: white;
  border-radius: 10px 0px 0px 10px;
  border-right: 0px;
  background-color: #1a1a1a;
}



/* /mail/static/src/discuss/call/common/call_action_list.scss */

.o-discuss-CallActionList-bar button:not(.btn-danger):not(.btn-success) {
  background-color: var(--o-discuss-CallActionList-bgColor, #343a40);
  color: #FFFFFF;
}

.o-discuss-CallActionList-bar button {
  aspect-ratio: 1;
}



/* /mail/static/src/discuss/call/common/call_invitation.scss */

.o-discuss-CallInvitation {
  background-color: #000;
  color: #fff;
  border-color: #dee2e6 !important;
}

.o-discuss-CallInvitation.o-cameraPreview {
  aspect-ratio: 16 / 9;
  width: Min(720px, 92vw);
}

.o-discuss-CallInvitation button {
  aspect-ratio: 1;
}

.o-discuss-CallInvitation img {
  aspect-ratio: 1;
  width: 75px;
  border: 3px solid gray;
}

.o-discuss-CallInvitation.o-cameraPreview img {
  width: 50px;
}



/* /mail/static/src/discuss/call/common/call_invitations.scss */

.o-discuss-CallInvitations {
  z-index: 1055;
}

.o-discuss-CallInvitation-avatar {
  aspect-ratio: 1;
}



/* /mail/static/src/discuss/call/common/call_menu.scss */

.o-discuss-CallMenu-buttonContent {
  max-width: 150px;
  border: 1px solid rgba(1, 126, 132, 0.7) !important;
  background-color: #f3f7f8 !important;
}

.o-discuss-CallMenu-buttonContent.o-isOdooCommunity {
  height: 26px !important;
  overflow: hidden;
  color: #017e84 !important;
}

.o-discuss-CallMenu-animation {
  animation: flash 2s;
  animation-direction: alternate;
  animation-iteration-count: 2;
}

.o-discuss-CallMenu-animation.o-isOdooCommunity {
  transform: translateY(10px);
}



/* /mail/static/src/discuss/call/common/call_participant_card.scss */

.o-discuss-CallParticipantCard {
  color: white;
  aspect-ratio: 16/9;
}

.o-discuss-CallParticipantCard.o-isTalking {
  box-shadow: inset 0 0 0 3.25px var(--discuss-talkingColor, #34ce57);
}

.o-discuss-CallParticipantCard.o-isTalking.o-inset {
  box-shadow: inset 0 0 0 1.625px var(--discuss-talkingColor, #34ce57);
}

.o-discuss-CallParticipantCard.o-inset {
  height: 20%;
  max-height: 125px !important;
  right: 1vh;
  bottom: 1vh;
  position: absolute !important;
  cursor: move !important;
}

.o-discuss-CallParticipantCard.o-inset.o-small {
  width: 30%;
  left: 0;
  top: 0;
}

.o-mail-ChatWindow .o-discuss-CallParticipantCard.o-inset {
  bottom: 5vh;
}

.o-discuss-CallParticipantCard.o-inset .o-discuss-CallParticipantCard-avatar img {
  max-height: min(70%, 70px);
  max-width: min(70%, 70px);
}

.o-discuss-CallParticipantCard-avatar:not(.o-minimized) {
  background-color: var(--o-discuss-CallParticipantCard-avatarBgColor, #495057);
}

.o-discuss-CallParticipantCard-avatar img {
  max-height: min(100%, 100px);
  max-width: min(100%, 100px);
  aspect-ratio: 1;
  border: none;
}

.o-discuss-CallParticipantCard-avatar img.o-isTalking {
  outline: 4px solid var(--discuss-talkingColor, #34ce57);
  outline-offset: -4px;
}

.o-discuss-CallParticipantCard-avatar img.o-isInvitation:not(:hover) {
  animation: o-discuss-CallParticipantCard-avatarImag_borderPulse 3s linear infinite;
}

.o-discuss-CallParticipantCard-avatar img.o-isInvitation:hover {
  border: solid #d44c59;
}

@keyframes o-discuss-CallParticipantCard-avatarImag_borderPulse {
  0% {
    border: solid white;
  }
  20% {
    border: solid #6c757d;
  }
  35% {
    border: solid #f8f9fa;
  }
  50% {
    border: solid #6c757d;
  }
  70% {
    border: solid #f8f9fa;
  }
  85% {
    border: solid #495057;
  }
}

.o-discuss-CallParticipantCard-iconBlackBg {
  background-color: rgba(0, 0, 0, 0.75);
  opacity: 75%;
}

.o-discuss-CallParticipantCard-overlay {
  margin: Min(5%, 6.5px);
}

.o-discuss-CallParticipantCard-overlayBottomName {
  background-color: rgba(0, 0, 0, 0.75);
}

.o-discuss-CallParticipantCard-overlay-replayButton {
  background-color: #212529;
}

.o-discuss-CallParticipantCard-overlay-replayButton:hover {
  background-color: #495057;
}

.o-discuss-CallParticipantCard-overlay-replayButton:active {
  background-color: #343a40;
}



/* /mail/static/src/discuss/call/common/chat_window_patch.scss */

@media (hover: none) {
  .o-mail-ChatWindow-command .fa-phone, .o-mail-ChatWindow-command .fa-video-camera {
    color: #28a745 !important;
  }
}

@media (hover: hover) {
  .o-mail-ChatWindow-command:hover:has(.fa-phone), .o-mail-ChatWindow-command:hover:has(.fa-video-camera) {
    outline: 1px solid rgba(40, 167, 69, 0.35);
  }
  .o-mail-ChatWindow-command:hover:has(.fa-phone) i, .o-mail-ChatWindow-command:hover:has(.fa-video-camera) i {
    color: #2dbc4e !important;
  }
}



/* /mail/static/src/discuss/call/common/discuss_patch.scss */

@media (hover: none) {
  .o-mail-Discuss-headerActions button .fa-phone, .o-mail-Discuss-headerActions button .fa-video-camera {
    color: #28a745 !important;
  }
}

@media (hover: hover) {
  .o-mail-Discuss-headerActions button:hover:has(.fa-phone), .o-mail-Discuss-headerActions button:hover:has(.fa-video-camera) {
    background-color: #f8f9fa !important;
    outline: 1px solid rgba(40, 167, 69, 0.25);
  }
  .o-mail-Discuss-headerActions button:hover:has(.fa-phone) i, .o-mail-Discuss-headerActions button:hover:has(.fa-video-camera) i {
    color: #2dbc4e !important;
  }
}



/* /mail/static/src/discuss/gif_picker/common/gif_picker.scss */

.popover .o-discuss-GifPicker {
  width: 285px;
  height: 350px;
}

.o-discuss-GifPicker {
  --o-gif-picker-active: #e9ecef;
}

.o-discuss-GifPicker .o-active {
  background-color: var(--o-gif-picker-active) !important;
}

.o-discuss-GifPickerCategory-img {
  object-fit: cover;
}

.o-discuss-GifPicker-noFavoritesIcon {
  color: #ffc107;
  filter: grayscale(0.25);
}

.o-discuss-Gif .o-starred {
  color: #f3cc00 !important;
}

.o-discuss-Gif:hover i {
  opacity: 1 !important;
}

.o-discuss-GifPicker-error {
  font-size: 5rem;
}



/* /mail/static/src/discuss/gif_picker/common/picker_content_patch.scss */

.o-mail-PickerContent .o-discuss-GifPicker {
  width: 100% !important;
  height: 100% !important;
}

.o-mail-PickerContent .o-mail-PickerContent-bigEmoji {
  font-size: 5rem !important;
  filter: grayscale(0.25);
}



/* /mail/static/src/discuss/typing/common/primary_variables.scss */



/* /mail/static/src/discuss/typing/common/typing.scss */

.o-discuss-Typing-dot {
  animation: o_mail_Typing_animation 1.5s linear infinite;
}

.o-discuss-Typing-dot.o-sizeMedium {
  width: 5px;
  height: 5px;
}

.o-discuss-Typing-dot.o-sizeSmall {
  width: 3px;
  height: 3px;
}

.o-discuss-Typing-dot.o-discuss-Typing-dot2 {
  animation-delay: -1.35s;
}

.o-discuss-Typing-dot.o-discuss-Typing-dot3 {
  animation-delay: -1.2s;
}

@keyframes o_mail_Typing_animation {
  0%, 40%, 100% {
    opacity: initial;
  }
  20% {
    opacity: 25%;
  }
}

.o-discuss-Typing:before {
  content: "\200b";
  /* unicode zero width space character */
}



/* /mail/static/src/discuss/voice_message/common/voice_player.scss */

.o-mail-VoicePlayer-wrapper {
  height: 40px;
  width: 80px;
}

.o-mail-VoicePlayer-drawer {
  z-index: 1;
}



/* /mail/static/src/discuss/voice_message/common/voice_recorder.scss */

.o-mail-VoiceRecorder.o-recording {
  background-color: #e9ecef;
}

.o-mail-VoiceRecorder-dot {
  animation: flash 2s ease infinite;
  animation-iteration-count: 2;
}

.o-mail-VoiceRecorder-elapsed {
  width: max-content;
}

.o-mail-VoiceRecorder-elapsed.o-active {
  transition: max-width 2s ease-in-out, width 1s ease-in-out;
  max-width: 500px;
}

.o-mail-VoiceRecorder-elapsed:not(.o-active) {
  transition: max-width 1s ease-in-out;
}



/* /mail/static/src/discuss/call/public_web/discuss_sidebar_call_participants.scss */

.o-mail-DiscussSidebarCallParticipants-avatar.o-isTalking {
  outline: 3px solid var(--discuss-talkingColor, #34ce57);
  outline-offset: -2px;
}

.o-mail-DiscussSidebarCallParticipants-name {
  color: #000;
  opacity: 60%;
}

.o-mail-DiscussSidebarCallParticipants-name.o-isTalking {
  opacity: 100%;
}

.o-mail-DiscussSidebarCallParticipants-status.o-compact span {
  padding: 1.625px;
}

.o-mail-DiscussSidebarCallParticipants-status.o-compact .o-live {
  font-size: 0.5rem;
}

.o-mail-DiscussSidebarCallParticipants-status .o-live {
  font-size: 0.6rem;
  padding: 1.625px;
}



/* /mail/static/src/discuss/call/public_web/discuss_sidebar_categories_patch.scss */

.o-mail-DiscussSidebarChannel-container.o-bordered.o-selfInCall {
  border: 1px solid rgba(1, 126, 132, var(--o-mail-DiscussSidebarChannel-inCallBorderOpacity, 0.15)) !important;
  background-color: #f3f7f8 !important;
}



/* /mail/static/src/discuss/web/avatar_card/avatar_card_popover.scss */

.o_card_avatar img {
  height: 60px;
  aspect-ratio: 1;
}

.o_card_avatar .o_card_avatar_im_status {
  bottom: -4px;
  right: -4px;
  border-radius: 2rem;
  height: 18px;
  width: 18px;
}

.o_avatar_card {
  max-width: 380px;
}

@media screen and (max-width: 480px) {
  .o_avatar_card {
    max-width: 90vw;
  }
}

.o_avatar_card .card-body {
  padding: 13px 13px;
}



/* /mail/static/src/views/fields/statusbar_duration/statusbar_duration_field.scss */



/* /sales_team/static/src/scss/crm_team_views.scss */

.o_crm_team_kanban .o_kanban_renderer {
  --KanbanRecord-width: 400px;
}

.o_crm_team_kanban .o_kanban_renderer .o_dashboard_bottom_block {
  border-top: 1px solid #dee2e6;
  background-color: #e9ecef;
  padding-top: var(--KanbanRecord-padding-v);
  padding-bottom: var(--KanbanRecord-padding-v);
}

.o_crm_team_member_kanban .o_kanban_renderer {
  --KanbanRecord-width: 350px;
}

.o_crm_team_member_kanban .o_kanban_renderer .o_kanban_group:not(.o_column_folded) {
  min-height: 100px;
}

.o_crm_team_member_kanban .o_kanban_renderer .ribbon {
  --Ribbon-wrapper-width: 6rem;
}



/* /onboarding/static/src/scss/onboarding.scss */

.o_onboarding_container {
  transition: height 0.4s;
}

.o_onboarding_container.o-vertical-slide-enter, .o_onboarding_container.o-vertical-slide-leave {
  height: 0 !important;
}

.o_onboarding_container.o-vertical-slide-enter *, .o_onboarding_container.o-vertical-slide-leave * {
  display: none;
}

.o_onboarding_main {
  background: linear-gradient(0deg, #e9ecef 0%, #f8f9fa 100%);
}

.o_onboarding_main .o_onboarding_wrap {
  overflow-x: auto;
}

.o_onboarding_main .o_onboarding_completed_message {
  opacity: 0;
  box-shadow: 0 -7px 20px -5px rgba(0, 0, 0, 0.3);
  animation: o_onboarding_slideInUpDownOut;
  animation-duration: 6s;
}

.o_onboarding_main .o_onboarding_btn_close {
  z-index: 2;
}

.o_onboarding_main .o_onboarding_step {
  -webkit-box-flex: 1; -webkit-flex: 1 1 0; flex: 1 1 0;
}

.o_onboarding_main .o_onboarding_step.o_onboarding_step__todo:nth-child(1) {
  --o-onboarding-animation-delay: 0.15s;
}

.o_onboarding_main .o_onboarding_step.o_onboarding_step__todo:nth-child(2) {
  --o-onboarding-animation-delay: 0.3s;
}

.o_onboarding_main .o_onboarding_step.o_onboarding_step__todo:nth-child(3) {
  --o-onboarding-animation-delay: 0.45s;
}

.o_onboarding_main .o_onboarding_step.o_onboarding_step__todo:nth-child(4) {
  --o-onboarding-animation-delay: 0.6s;
}

.o_onboarding_main .o_onboarding_step.o_onboarding_step__todo:nth-child(5) {
  --o-onboarding-animation-delay: 0.75s;
}

.o_onboarding_main .o_onboarding_step:first-child .o_onboarding_line, .o_onboarding_main .o_onboarding_step:last-child .o_onboarding_line {
  width: 50%;
}

.o_onboarding_main .o_onboarding_step:first-child .o_onboarding_line {
  margin-left: 50%;
}

.o_onboarding_main .o_onboarding_step:last-child .o_onboarding_line {
  margin-right: 50%;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_line {
  background: linear-gradient(to right, #F39D9B 0%, #374874 100%);
  height: 2px;
  width: 100%;
  top: 32px;
  background-attachment: fixed;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_step_content {
  width: 240px;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_step_side img {
  width: 64px;
  height: 64px;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_step_action {
  min-width: 120px;
  border: 1px solid #374874;
  color: #374874;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_step_action__done i {
  background-color: #F39D9B;
  color: #FFF;
}

.o_onboarding_main .o_onboarding_step[data-step-state="not_done"] .o_onboarding_step_content_info {
  animation: o_onboarding_zoomIn 0.75s both;
  animation-delay: var(--o-onboarding-animation-delay, 0);
}

.o_onboarding_main .o_onboarding_step[data-step-state="not_done"] .o_onboarding_step_action {
  animation: o_onboarding_slideInUp 1s both;
  animation-delay: var(--o-onboarding-animation-delay, 0);
}

.o_onboarding_main .o_onboarding_step[data-step-state="just_done"] .o_onboarding_step_content_info {
  animation: o_onboarding_fadeIn 1.5s;
}

.o_onboarding_main .o_onboarding_step[data-step-state="just_done"] .o_onboarding_step_action__done {
  animation: bounceIn 1s;
}

.o_onboarding_main .o_onboarding_step[data-step-state="just_done"] .o_onboarding_confetti {
  animation: o_onboarding_fadeInOut 1.5s ease 0s 1 forwards;
}

@keyframes o_onboarding_slideInUp {
  from {
    transform: translate3d(0, 20%, 0);
    opacity: 0;
  }
}

@keyframes o_onboarding_slideInUpDownOut {
  25%, 85% {
    transform: translate3d(0, -80%, 0);
    opacity: 1;
  }
  0%, 100% {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes o_onboarding_zoomIn {
  from {
    transform: scale3d(0.8, 0.8, 0.8);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

@keyframes o_onboarding_fadeIn {
  10%, 66% {
    opacity: 0;
  }
  0%, 100% {
    opacity: 1;
  }
}

@keyframes o_onboarding_fadeInOut {
  10%, 66% {
    opacity: 1;
  }
  0%, 100% {
    opacity: 0;
  }
}



/* /product/static/src/js/product_document_kanban/product_document_kanban_view.scss */

.o_kanban_previewer:hover {
  cursor: pointer;
}



/* /product/static/src/product_catalog/order_line/order_line.scss */

div.o_product_catalog_quantity input[type="number"] {
  -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
}

div.o_product_catalog_quantity input[type="number"]::-webkit-outer-spin-button, div.o_product_catalog_quantity input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  margin: 0;
}

.o_kanban_view .o_kanban_renderer .o_kanban_record.o_product_added {
  background-color: #e6f2f3;
  border-color: #017e84;
}



/* /product/static/src/scss/product_form.scss */

.oe_title .o_favorite i.fa {
  font-size: inherit;
}



/* /analytic/static/src/components/analytic_distribution/analytic_distribution.scss */

.o_field_analytic_distribution {
  height: auto;
}

.o_field_analytic_distribution .analytic_distribution_placeholder {
  height: 1.5em;
  width: 20px;
}

.o_field_analytic_distribution .o_input_dropdown {
  flex: 1 0 20px;
}

.o_field_analytic_distribution .o_input_dropdown:focus {
  outline: none;
}

.o_field_analytic_distribution .o_input_dropdown:hover .o_dropdown_button {
  display: unset;
}

.o_field_analytic_distribution .o_input_dropdown .o_dropdown_button {
  display: none;
}

.o_field_analytic_distribution .badge {
  margin: 1px 2px 1px 0;
  border: none;
  padding-left: 0.6em;
  padding-right: 0.6em;
  min-width: unset;
}

.o_field_analytic_distribution .badge .o_delete {
  padding-left: 4px;
}

.o_field_analytic_distribution .badge .o_tag_badge_text {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
  max-width: 200px;
}

.o_field_analytic_distribution .analytic_distribution_popup {
  min-width: 400px;
  max-width: 990px;
  max-height: 50vh;
  z-index: 1054;
  white-space: nowrap;
  cursor: default;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_input {
  border-width: 0;
  cursor: pointer;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_analytic_account_name {
  width: 320px !important;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_analytic_percentage {
  width: 45px !important;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_analytic_status_invalid {
  background-color: #dc3545;
  margin-left: 8px;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_analytic_status_ok {
  background-color: #28a745;
  margin-left: 8px;
}

.o_field_analytic_distribution .analytic_distribution_popup tr:hover {
  outline: none !important;
}

.o_field_analytic_distribution .analytic_distribution_popup .numeric_column_width {
  max-width: 105px;
}

.o_field_analytic_distribution .analytic_distribution_popup .w-20px {
  width: 20px;
}



/* /web_editor/static/src/js/editor/odoo-editor/src/base_style.scss */

li.oe-nested {
  display: block;
}

.o_table tr {
  border-color: #dee2e6;
}

.o_table tr td {
  padding: 0.5rem;
}

.o_text_columns {
  max-width: 100% !important;
  padding: 0 !important;
}

@media screen {
  .o_text_columns > .row {
    margin: 0 !important;
  }
  .o_text_columns > .row > .col-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xs-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xs-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-sm-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-sm-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-md-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-md-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-lg-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-lg-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xl-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xl-12:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-1:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-1:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-2:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-2:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-3:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-3:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-4:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-4:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-5:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-5:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-6:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-6:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-7:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-7:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-8:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-8:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-9:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-9:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-10:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-10:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-11:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-11:last-of-type {
    padding-right: 0;
  }
  .o_text_columns > .row > .col-xxl-12:first-of-type {
    padding-left: 0;
  }
  .o_text_columns > .row > .col-xxl-12:last-of-type {
    padding-right: 0;
  }
}

.oe-tabs {
  display: inline-block;
  white-space: pre-wrap;
  max-width: 40px;
  width: 40px;
}

ol {
  list-style-type: decimal;
}

ul {
  list-style-type: disc;
}

ol ol {
  list-style-type: lower-alpha;
}

ul ul {
  list-style-type: circle;
}

ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul {
  list-style-type: square;
}

ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-roman;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: square;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: decimal;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: disc;
}

ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol ol {
  list-style-type: lower-alpha;
}

ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul ul {
  list-style-type: circle;
}



/* /web_editor/static/src/components/media_dialog/media_dialog.scss */

.modal .o_select_media_dialog .o_we_file_selector_control_panel {
  top: -13px;
  background-color: white;
}

.modal .o_select_media_dialog .o_we_existing_attachments {
  min-height: 128px;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_we_attachment_placeholder {
  flex-grow: 128;
  flex-basis: 128px;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_cell.o_we_image {
  transition: opacity 0.5s ease 0.5s;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_remove {
  border-radius: 0 0 0 4px;
}

.modal .o_select_media_dialog .o_we_existing_attachments .o_existing_attachment_remove:hover {
  color: #e6586c;
}

.modal .o_select_media_dialog .o_we_attachment_selected {
  box-shadow: 0 0 0 3px #714B67;
}

.modal .o_select_media_dialog .o_we_attachment_selected:not(.fa) {
  border: 3px solid #714B67;
  box-shadow: none;
}

.modal .o_select_media_dialog .o_we_attachment_selected:not(.fa):before {
  content: "";
  position: absolute;
  top: 5px;
  left: 5px;
  bottom: auto;
  right: auto;
  width: 19px;
  height: 19px;
  background-color: #714B67;
  font-family: 'FontAwesome';
  color: white;
  border-radius: 50%;
  text-align: center;
  z-index: 1;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.modal .o_select_media_dialog .o_we_load_more {
  scroll-margin: 13px;
}

.modal .o_select_media_dialog .o_we_load_more.o_hide_loading > * {
  display: none;
}

.modal .o_select_media_dialog .o_scroll_attachments {
  bottom: 0px;
  width: 36px;
  height: 36px;
  margin-top: -36px;
  z-index: 2;
}

.modal .o_select_media_dialog .font-icons-icons > span {
  width: 50px;
}

.modal .o_select_media_dialog .o_video_dialog_form textarea {
  min-height: 95px;
}

.modal .o_select_media_dialog .o_video_preview {
  border-top: 1px solid black;
  border-bottom: 1px solid white;
  background-image: linear-gradient(-150deg, #2b2b33, #191922);
  color: white;
}

.modal .o_select_media_dialog .o_video_preview .media_iframe_video {
  width: 100%;
}



/* /web_editor/static/src/components/upload_progress_toast/upload_progress_toast.scss */

.o_upload_progress_toast {
  font-size: 16px;
}

.o_upload_progress_toast .o_we_progressbar:last-child hr {
  display: none;
}



/* /web_editor/static/src/scss/web_editor.common.scss */

:root {
  --100: #f8f9fa;
  --200: #e9ecef;
  --300: #dee2e6;
  --400: #ced4da;
  --500: #adb5bd;
  --600: #6c757d;
  --700: #495057;
  --800: #343a40;
  --900: #212529;
  --white-85: rgba(255, 255, 255, 0.85);
  --white-75: rgba(255, 255, 255, 0.75);
  --white-50: rgba(255, 255, 255, 0.5);
  --white-25: rgba(255, 255, 255, 0.25);
  --black-75: rgba(0, 0, 0, 0.75);
  --black-50: rgba(0, 0, 0, 0.5);
  --black-25: rgba(0, 0, 0, 0.25);
  --black-15: rgba(0, 0, 0, 0.15);
  --o-cc1-text: #000;
  --o-cc1-headings: #000;
  --o-cc1-h2: #000;
  --o-cc1-h3: #000;
  --o-cc1-h4: #000;
  --o-cc1-h5: #000;
  --o-cc1-h6: #000;
  --o-cc1-link: #65435c;
  --o-cc1-btn-primary: #714B67;
  --o-cc1-btn-primary-text: #FFF;
  --o-cc1-btn-primary-border: #714B67;
  --o-cc1-btn-secondary: #dee2e6;
  --o-cc1-btn-secondary-text: #000;
  --o-cc1-btn-secondary-border: #dee2e6;
  --o-cc2-text: #000;
  --o-cc2-h2: #111827;
  --o-cc2-h3: #111827;
  --o-cc2-h4: #111827;
  --o-cc2-h5: #111827;
  --o-cc2-h6: #111827;
  --o-cc2-link: #55394e;
  --o-cc2-btn-primary: #714B67;
  --o-cc2-btn-primary-text: #FFF;
  --o-cc2-btn-primary-border: #714B67;
  --o-cc2-btn-secondary: #dee2e6;
  --o-cc2-btn-secondary-text: #000;
  --o-cc2-btn-secondary-border: #dee2e6;
  --o-cc3-text: #FFF;
  --o-cc3-headings: #FFF;
  --o-cc3-h2: #FFF;
  --o-cc3-h3: #FFF;
  --o-cc3-h4: #FFF;
  --o-cc3-h5: #FFF;
  --o-cc3-h6: #FFF;
  --o-cc3-link: #b18aa7;
  --o-cc3-btn-primary: #714B67;
  --o-cc3-btn-primary-text: #FFF;
  --o-cc3-btn-primary-border: #714B67;
  --o-cc3-btn-secondary-text: #000;
  --o-cc3-btn-secondary-border: #F3F2F2;
  --o-cc4-text: #FFF;
  --o-cc4-headings: #FFF;
  --o-cc4-h2: #FFF;
  --o-cc4-h3: #FFF;
  --o-cc4-h4: #FFF;
  --o-cc4-h5: #FFF;
  --o-cc4-h6: #FFF;
  --o-cc4-link: black;
  --o-cc4-btn-primary-text: #FFF;
  --o-cc4-btn-primary-border: #111827;
  --o-cc4-btn-secondary-text: #000;
  --o-cc4-btn-secondary-border: #F3F2F2;
  --o-cc5-text: #FFF;
  --o-cc5-h2: #FFFFFF;
  --o-cc5-h3: #FFFFFF;
  --o-cc5-h4: #FFFFFF;
  --o-cc5-h5: #FFFFFF;
  --o-cc5-h6: #FFFFFF;
  --o-cc5-link: #b18aa7;
  --o-cc5-btn-primary: #714B67;
  --o-cc5-btn-primary-text: #FFF;
  --o-cc5-btn-primary-border: #714B67;
  --o-cc5-btn-secondary-text: #000;
  --o-cc5-btn-secondary-border: #F3F2F2;
  --o-grid-gutter-width: 26px;
  --o-md-container-max-width: 720px;
  --o-we-content-to-translate-color: rgba(255, 255, 90, 0.5);
  --o-we-translated-content-color: rgba(120, 215, 110, 0.5);
  --o-system-fonts: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --display-1-font-size: 5rem;
  --display-2-font-size: 4.5rem;
  --display-3-font-size: 4rem;
  --display-4-font-size: 3.5rem;
  --h1-font-size: 2.1rem;
  --h2-font-size: 1.3125rem;
  --h3-font-size: 1.1375rem;
  --h4-font-size: 1.05rem;
  --h5-font-size: 0.9625rem;
  --h6-font-size: 0.875rem;
  --font-size-base: 0.875rem;
  --small-font-size: 0.8125rem;
  --lead-font-size: 1.09375rem;
}

html, body {
  position: relative;
  width: 100%;
  height: 100%;
}

pre {
  padding: 6.5px 13px;
  border: 1px solid #dee2e6;
  border-radius: 0.25rem;
  background-color: #f8f9fa;
  color: #212529;
}

*[contenteditable=true] {
  outline: none;
}

[contenteditable] {
  overflow-wrap: unset !important;
}

.css_non_editable_mode_hidden {
  display: none !important;
}

.editor_enable .css_editable_mode_hidden {
  display: none !important;
}

/* ----- GENERIC LAYOUTING HELPERS ---- */
/* table */
#wrapwrap table.table.table-bordered, .o_editable table.table.table-bordered {
  table-layout: fixed;
}

#wrapwrap table.table.table-bordered td, .o_editable table.table.table-bordered td {
  min-width: 20px;
}

@media (max-width: 187.98mm) {
  #wrapwrap .table-responsive > table.table, .o_editable .table-responsive > table.table {
    table-layout: auto;
  }
}

ul.o_checklist {
  list-style: none;
}

ul.o_checklist > li {
  list-style: none;
  position: relative;
  margin-left: 20px;
  margin-right: 20px;
}

ul.o_checklist > li:not(.oe-nested)::before {
  content: '';
  position: absolute;
  left: -20px;
  display: block;
  height: 13px;
  width: 13px;
  top: 4px;
  border: 1px solid;
  text-align: center;
  cursor: pointer;
}

ul.o_checklist > li.o_checked {
  text-decoration: line-through;
}

ul.o_checklist > li.o_checked::before {
  content: "✓";
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 1px /*rtl:ignore*/;
  padding-top: 1px;
}

/*rtl:begin:ignore*/
ul.o_checklist[dir="rtl"] li:not(.oe-nested)::before {
  left: auto;
  right: -20px;
  text-align: right;
}

ul.o_checklist[dir="ltr"] li:not(.oe-nested)::before {
  right: auto;
  left: -20px;
  text-align: left;
}

/*rtl:end:ignore*/
ol > li.o_indent, ul > li.o_indent {
  margin-left: 0;
  list-style: none;
}

ol > li.o_indent::before, ul > li.o_indent::before {
  content: none;
}

.o_stars .fa.fa-star {
  color: gold;
}

img.o_we_custom_image {
  display: inline-block;
}

img.shadow {
  box-shadow: 0px 3px 8px rgba(0, 0, 0, 0.2);
}

img.padding-small, .img.padding-small, span.fa.padding-small, iframe.padding-small {
  padding: 4px;
}

img.padding-medium, .img.padding-medium, span.fa.padding-medium, iframe.padding-medium {
  padding: 8px;
}

img.padding-large, .img.padding-large, span.fa.padding-large, iframe.padding-large {
  padding: 16px;
}

img.padding-xl, .img.padding-xl, span.fa.padding-xl, iframe.padding-xl {
  padding: 32px;
}

img.ms-auto, img.mx-auto {
  display: block;
}

.fa-6x {
  font-size: 6em;
}

.fa-7x {
  font-size: 7em;
}

.fa-8x {
  font-size: 8em;
}

.fa-9x {
  font-size: 9em;
}

.fa-10x {
  font-size: 10em;
}

.fa.mx-auto {
  display: block;
  text-align: center;
}

.fa.card-img, .fa.card-img-top, .fa.card-img-bottom {
  width: auto;
}

.o_small {
  font-size: 0.875rem;
}

.display-1-fs {
  font-size: calc(1.625rem + 4.5vw);
}

@media (min-width: 1200px) {
  .display-1-fs {
    font-size: 5rem;
  }
}

.display-2-fs {
  font-size: calc(1.575rem + 3.9vw);
}

@media (min-width: 1200px) {
  .display-2-fs {
    font-size: 4.5rem;
  }
}

.display-3-fs {
  font-size: calc(1.525rem + 3.3vw);
}

@media (min-width: 1200px) {
  .display-3-fs {
    font-size: 4rem;
  }
}

.display-4-fs {
  font-size: calc(1.475rem + 2.7vw);
}

@media (min-width: 1200px) {
  .display-4-fs {
    font-size: 3.5rem;
  }
}

.h1-fs {
  font-size: calc(1.335rem + 1.02vw);
}

@media (min-width: 1200px) {
  .h1-fs {
    font-size: 2.1rem;
  }
}

.h2-fs {
  font-size: calc(1.25625rem + 0.075vw);
}

@media (min-width: 1200px) {
  .h2-fs {
    font-size: 1.3125rem;
  }
}

.h3-fs {
  font-size: 1.1375rem;
}

.h4-fs {
  font-size: 1.05rem;
}

.h5-fs {
  font-size: 0.9625rem;
}

.h6-fs {
  font-size: 0.875rem;
}

.base-fs {
  font-size: 0.875rem;
}

.o_small-fs {
  font-size: 0.8125rem;
}

div.media_iframe_video {
  margin: 0 auto;
  text-align: center;
  position: relative;
  overflow: hidden;
  min-width: 100px;
}

div.media_iframe_video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: auto;
  bottom: auto;
  right: auto;
  margin: 0 auto;
  margin-left: -50%;
}

div.media_iframe_video.padding-small iframe {
  padding: 4px;
}

div.media_iframe_video.padding-medium iframe {
  padding: 8px;
}

div.media_iframe_video.padding-large iframe {
  padding: 16px;
}

div.media_iframe_video.padding-xl iframe {
  padding: 32px;
}

div.media_iframe_video .media_iframe_video_size {
  padding-bottom: 66.5%;
  position: relative;
  width: 100%;
  height: 0;
}

div.media_iframe_video .css_editable_mode_display {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 2;
}

address .fa.fa-mobile-phone {
  margin: 0 3px 0 2px;
}

address .fa.fa-file-text-o {
  margin-right: 1px;
}

span[data-oe-type="monetary"] {
  white-space: nowrap;
}

ul.oe_menu_editor .oe_menu_placeholder {
  outline: 1px dashed #4183C4;
}

ul.oe_menu_editor ul {
  list-style: none;
}

ul.oe_menu_editor li div {
  cursor: url(/web/static/img/openhand.cur), grab;
}

ul.oe_menu_editor li div :active {
  cursor: grabbing;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.mt8 {
  margin-top: 8px !important;
}

.mb8 {
  margin-bottom: 8px !important;
}

.pt8 {
  padding-top: 8px !important;
}

.pb8 {
  padding-bottom: 8px !important;
}

.mt16 {
  margin-top: 16px !important;
}

.mb16 {
  margin-bottom: 16px !important;
}

.pt16 {
  padding-top: 16px !important;
}

.pb16 {
  padding-bottom: 16px !important;
}

.mt24 {
  margin-top: 24px !important;
}

.mb24 {
  margin-bottom: 24px !important;
}

.pt24 {
  padding-top: 24px !important;
}

.pb24 {
  padding-bottom: 24px !important;
}

.mt32 {
  margin-top: 32px !important;
}

.mb32 {
  margin-bottom: 32px !important;
}

.pt32 {
  padding-top: 32px !important;
}

.pb32 {
  padding-bottom: 32px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.mt48 {
  margin-top: 48px !important;
}

.mb48 {
  margin-bottom: 48px !important;
}

.pt48 {
  padding-top: 48px !important;
}

.pb48 {
  padding-bottom: 48px !important;
}

.mt56 {
  margin-top: 56px !important;
}

.mb56 {
  margin-bottom: 56px !important;
}

.pt56 {
  padding-top: 56px !important;
}

.pb56 {
  padding-bottom: 56px !important;
}

.mt64 {
  margin-top: 64px !important;
}

.mb64 {
  margin-bottom: 64px !important;
}

.pt64 {
  padding-top: 64px !important;
}

.pb64 {
  padding-bottom: 64px !important;
}

.mt72 {
  margin-top: 72px !important;
}

.mb72 {
  margin-bottom: 72px !important;
}

.pt72 {
  padding-top: 72px !important;
}

.pb72 {
  padding-bottom: 72px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.mt88 {
  margin-top: 88px !important;
}

.mb88 {
  margin-bottom: 88px !important;
}

.pt88 {
  padding-top: 88px !important;
}

.pb88 {
  padding-bottom: 88px !important;
}

.mt96 {
  margin-top: 96px !important;
}

.mb96 {
  margin-bottom: 96px !important;
}

.pt96 {
  padding-top: 96px !important;
}

.pb96 {
  padding-bottom: 96px !important;
}

.mt104 {
  margin-top: 104px !important;
}

.mb104 {
  margin-bottom: 104px !important;
}

.pt104 {
  padding-top: 104px !important;
}

.pb104 {
  padding-bottom: 104px !important;
}

.mt112 {
  margin-top: 112px !important;
}

.mb112 {
  margin-bottom: 112px !important;
}

.pt112 {
  padding-top: 112px !important;
}

.pb112 {
  padding-bottom: 112px !important;
}

.mt120 {
  margin-top: 120px !important;
}

.mb120 {
  margin-bottom: 120px !important;
}

.pt120 {
  padding-top: 120px !important;
}

.pb120 {
  padding-bottom: 120px !important;
}

.mt128 {
  margin-top: 128px !important;
}

.mb128 {
  margin-bottom: 128px !important;
}

.pt128 {
  padding-top: 128px !important;
}

.pb128 {
  padding-bottom: 128px !important;
}

.mt136 {
  margin-top: 136px !important;
}

.mb136 {
  margin-bottom: 136px !important;
}

.pt136 {
  padding-top: 136px !important;
}

.pb136 {
  padding-bottom: 136px !important;
}

.mt144 {
  margin-top: 144px !important;
}

.mb144 {
  margin-bottom: 144px !important;
}

.pt144 {
  padding-top: 144px !important;
}

.pb144 {
  padding-bottom: 144px !important;
}

.mt152 {
  margin-top: 152px !important;
}

.mb152 {
  margin-bottom: 152px !important;
}

.pt152 {
  padding-top: 152px !important;
}

.pb152 {
  padding-bottom: 152px !important;
}

.mt160 {
  margin-top: 160px !important;
}

.mb160 {
  margin-bottom: 160px !important;
}

.pt160 {
  padding-top: 160px !important;
}

.pb160 {
  padding-bottom: 160px !important;
}

.mt168 {
  margin-top: 168px !important;
}

.mb168 {
  margin-bottom: 168px !important;
}

.pt168 {
  padding-top: 168px !important;
}

.pb168 {
  padding-bottom: 168px !important;
}

.mt176 {
  margin-top: 176px !important;
}

.mb176 {
  margin-bottom: 176px !important;
}

.pt176 {
  padding-top: 176px !important;
}

.pb176 {
  padding-bottom: 176px !important;
}

.mt184 {
  margin-top: 184px !important;
}

.mb184 {
  margin-bottom: 184px !important;
}

.pt184 {
  padding-top: 184px !important;
}

.pb184 {
  padding-bottom: 184px !important;
}

.mt192 {
  margin-top: 192px !important;
}

.mb192 {
  margin-bottom: 192px !important;
}

.pt192 {
  padding-top: 192px !important;
}

.pb192 {
  padding-bottom: 192px !important;
}

.mt200 {
  margin-top: 200px !important;
}

.mb200 {
  margin-bottom: 200px !important;
}

.pt200 {
  padding-top: 200px !important;
}

.pb200 {
  padding-bottom: 200px !important;
}

.mt208 {
  margin-top: 208px !important;
}

.mb208 {
  margin-bottom: 208px !important;
}

.pt208 {
  padding-top: 208px !important;
}

.pb208 {
  padding-bottom: 208px !important;
}

.mt216 {
  margin-top: 216px !important;
}

.mb216 {
  margin-bottom: 216px !important;
}

.pt216 {
  padding-top: 216px !important;
}

.pb216 {
  padding-bottom: 216px !important;
}

.mt224 {
  margin-top: 224px !important;
}

.mb224 {
  margin-bottom: 224px !important;
}

.pt224 {
  padding-top: 224px !important;
}

.pb224 {
  padding-bottom: 224px !important;
}

.mt232 {
  margin-top: 232px !important;
}

.mb232 {
  margin-bottom: 232px !important;
}

.pt232 {
  padding-top: 232px !important;
}

.pb232 {
  padding-bottom: 232px !important;
}

.mt240 {
  margin-top: 240px !important;
}

.mb240 {
  margin-bottom: 240px !important;
}

.pt240 {
  padding-top: 240px !important;
}

.pb240 {
  padding-bottom: 240px !important;
}

.mt248 {
  margin-top: 248px !important;
}

.mb248 {
  margin-bottom: 248px !important;
}

.pt248 {
  padding-top: 248px !important;
}

.pb248 {
  padding-bottom: 248px !important;
}

.mt256 {
  margin-top: 256px !important;
}

.mb256 {
  margin-bottom: 256px !important;
}

.pt256 {
  padding-top: 256px !important;
}

.pb256 {
  padding-bottom: 256px !important;
}

.mt4 {
  margin-top: 4px !important;
}

.mb4 {
  margin-bottom: 4px !important;
}

.pt4 {
  padding-top: 4px !important;
}

.pb4 {
  padding-bottom: 4px !important;
}

.mt92 {
  margin-top: 92px !important;
}

.mb92 {
  margin-bottom: 92px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.ml4 {
  margin-left: 4px !important;
}

.mr4 {
  margin-right: 4px !important;
}

.ml8 {
  margin-left: 8px !important;
}

.mr8 {
  margin-right: 8px !important;
}

.ml16 {
  margin-left: 16px !important;
}

.mr16 {
  margin-right: 16px !important;
}

.ml32 {
  margin-left: 32px !important;
}

.mr32 {
  margin-right: 32px !important;
}

.ml64 {
  margin-left: 64px !important;
}

.mr64 {
  margin-right: 64px !important;
}

a.o_underline {
  text-decoration: underline;
}

a.o_underline:hover {
  text-decoration: underline;
}

.o_nocontent_help {
  pointer-events: auto;
  max-width: 650px;
  margin: auto;
  padding: 15px;
  z-index: 1000;
  text-align: center;
  color: #343a40;
  font-size: 115%;
}

.o_nocontent_help > p:first-of-type {
  margin-top: 0;
  color: #212529;
  font-weight: bold;
  font-size: 125%;
}

.o_nocontent_help a {
  cursor: pointer;
}

.o_we_search_prompt {
  position: relative;
  min-height: 250px;
  width: 100%;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  -webkit-box-pack: start; justify-content: flex-start;
}

.o_we_search_prompt > h2, .o_we_search_prompt > .h2 {
  max-width: 500px;
  text-align: center;
  margin-left: 150px;
}

.o_we_search_prompt::before {
  transform: scale(-1, 1);
  content: "";
  position: absolute;
  top: 0;
  left: 50px;
  bottom: auto;
  right: auto;
  width: 100px;
  height: 150px;
  opacity: .5;
  filter: var(--WebEditor__SearchPromptArrow-filter, invert(0));
  background-image: url("/web_editor/static/src/img/curved_arrow.svg");
  background-size: 100%;
  background-repeat: no-repeat;
}

@media (max-width: 187.98mm) {
  odoo-wysiwyg-container .btn-group {
    position: static;
  }
  .o_technical_modal.o_web_editor_dialog {
    z-index: 2001;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog {
    max-width: inherit !important;
    z-index: 2001;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-dialog, .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .model-content {
    height: 100%;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .nav .nav-item.search {
    width: 100%;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .nav .nav-item.search .btn-group {
    display: -webkit-box; display: -webkit-flex; display: flex;
    justify-content: space-around;
    padding: 5px;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .font-icons-icons {
    text-align: center;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .form-control.o_we_search {
    height: inherit;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .o_we_existing_attachments > .row {
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .o_we_existing_attachments > .row > .o_existing_attachment_cell {
    flex: initial;
    max-width: 100%;
  }
  .o_technical_modal.o_web_editor_dialog > .o_select_media_dialog .modal-body .o_we_existing_attachments > .row > .o_existing_attachment_cell > .o_existing_attachment_remove {
    opacity: inherit;
    top: 10px;
  }
}

blockquote {
  padding: 6.5px 13px;
  border-left: 5px solid;
  border-color: #dee2e6;
  font-style: italic;
}

pre {
  white-space: pre-wrap;
}

pre p {
  margin-bottom: 0px;
}

.bg-o-color-1 {
  --bg-light: #714B67;
  --color-light: #FFF;
  background-color: #714B67 !important;
  color: #FFF;
}

.bg-o-color-1 .text-muted, .o_colored_level .bg-o-color-1 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-1:hover, a.bg-o-color-1:focus,
button.bg-o-color-1:hover,
button.bg-o-color-1:focus {
  --bg-light: #52374b;
  --color-light: #FFF;
  background-color: #52374b !important;
  color: #FFF;
}

.text-o-color-1 {
  --color: RGBA(113, 75, 103, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-1:hover, a.text-o-color-1:focus, a.text-o-color-1:active, a.text-o-color-1.active, button.text-o-color-1:hover, button.text-o-color-1:focus, button.text-o-color-1:active, button.text-o-color-1.active {
  --color: RGBA(79, 53, 72, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-2 {
  --bg-light: #2D3142;
  --color-light: #FFF;
  background-color: #2D3142 !important;
  color: #FFF;
}

.bg-o-color-2 .text-muted, .o_colored_level .bg-o-color-2 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-2:hover, a.bg-o-color-2:focus,
button.bg-o-color-2:hover,
button.bg-o-color-2:focus {
  --bg-light: #181a24;
  --color-light: #FFF;
  background-color: #181a24 !important;
  color: #FFF;
}

.text-o-color-2 {
  --color: RGBA(45, 49, 66, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-2:hover, a.text-o-color-2:focus, a.text-o-color-2:active, a.text-o-color-2.active, button.text-o-color-2:hover, button.text-o-color-2:focus, button.text-o-color-2:active, button.text-o-color-2.active {
  --color: RGBA(32, 34, 46, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-3 {
  --bg-light: #F3F2F2;
  --color-light: #000;
  background-color: #F3F2F2 !important;
  color: #000;
}

.bg-o-color-3 .text-muted, .o_colored_level .bg-o-color-3 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-o-color-3:hover, a.bg-o-color-3:focus,
button.bg-o-color-3:hover,
button.bg-o-color-3:focus {
  --bg-light: #dbd7d7;
  --color-light: #000;
  background-color: #dbd7d7 !important;
  color: #000;
}

.text-o-color-3 {
  --color: RGBA(243, 242, 242, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-3:hover, a.text-o-color-3:focus, a.text-o-color-3:active, a.text-o-color-3.active, button.text-o-color-3:hover, button.text-o-color-3:focus, button.text-o-color-3:active, button.text-o-color-3.active {
  --color: RGBA(170, 169, 169, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-4 {
  --bg-light: #FFFFFF;
  --color-light: #000;
  background-color: #FFFFFF !important;
  color: #000;
}

.bg-o-color-4 .text-muted, .o_colored_level .bg-o-color-4 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

a.bg-o-color-4:hover, a.bg-o-color-4:focus,
button.bg-o-color-4:hover,
button.bg-o-color-4:focus {
  --bg-light: #e6e6e6;
  --color-light: #000;
  background-color: #e6e6e6 !important;
  color: #000;
}

.text-o-color-4 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-4:hover, a.text-o-color-4:focus, a.text-o-color-4:active, a.text-o-color-4.active, button.text-o-color-4:hover, button.text-o-color-4:focus, button.text-o-color-4:active, button.text-o-color-4.active {
  --color: RGBA(179, 179, 179, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-o-color-5 {
  --bg-light: #111827;
  --color-light: #FFF;
  background-color: #111827 !important;
  color: #FFF;
}

.bg-o-color-5 .text-muted, .o_colored_level .bg-o-color-5 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

a.bg-o-color-5:hover, a.bg-o-color-5:focus,
button.bg-o-color-5:hover,
button.bg-o-color-5:focus {
  --bg-light: #020203;
  --color-light: #FFF;
  background-color: #020203 !important;
  color: #FFF;
}

.text-o-color-5 {
  --color: RGBA(17, 24, 39, var(--text-opacity, 1));
  color: var(--color) !important;
}

a.text-o-color-5:hover, a.text-o-color-5:focus, a.text-o-color-5:active, a.text-o-color-5.active, button.text-o-color-5:hover, button.text-o-color-5:focus, button.text-o-color-5:active, button.text-o-color-5.active {
  --color: RGBA(12, 17, 27, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_cc .dropdown-menu .dropdown-item, .o_cc .dropdown-menu .dropdown-item h6, .o_cc .dropdown-menu .dropdown-item .h6, .o_colored_level .o_cc .dropdown-menu .dropdown-item, .o_colored_level .o_cc .dropdown-menu .dropdown-item h6 {
  color: #343a40 !important;
}

.o_cc .dropdown-menu .dropdown-item:hover, .o_cc .dropdown-menu .dropdown-item:focus, .o_cc .dropdown-menu .dropdown-item h6:hover, .o_cc .dropdown-menu .dropdown-item .h6:hover, .o_cc .dropdown-menu .dropdown-item h6:focus, .o_cc .dropdown-menu .dropdown-item .h6:focus, .o_colored_level .o_cc .dropdown-menu .dropdown-item:hover, .o_colored_level .o_cc .dropdown-menu .dropdown-item:focus, .o_colored_level .o_cc .dropdown-menu .dropdown-item h6:hover, .o_colored_level .o_cc .dropdown-menu .dropdown-item h6:focus {
  color: #212529 !important;
}

.o_cc .dropdown-menu .dropdown-item.active, .o_cc .dropdown-menu .dropdown-item:active, .o_cc .dropdown-menu .dropdown-item h6.active, .o_cc .dropdown-menu .dropdown-item .active.h6, .o_cc .dropdown-menu .dropdown-item h6:active, .o_cc .dropdown-menu .dropdown-item .h6:active, .o_colored_level .o_cc .dropdown-menu .dropdown-item.active, .o_colored_level .o_cc .dropdown-menu .dropdown-item:active, .o_colored_level .o_cc .dropdown-menu .dropdown-item h6.active, .o_colored_level .o_cc .dropdown-menu .dropdown-item h6:active {
  color: var(--dropdown-link-active-color, #212529) !important;
}

.o_cc .dropdown-menu .dropdown-item.disabled, .o_cc .dropdown-menu .dropdown-item.disabled h6, .o_cc .dropdown-menu .dropdown-item.disabled .h6, .o_cc .dropdown-menu .dropdown-item:disabled, .o_cc .dropdown-menu .dropdown-item:disabled h6, .o_cc .dropdown-menu .dropdown-item:disabled .h6, .o_colored_level .o_cc .dropdown-menu .dropdown-item.disabled, .o_colored_level .o_cc .dropdown-menu .dropdown-item.disabled h6, .o_colored_level .o_cc .dropdown-menu .dropdown-item:disabled, .o_colored_level .o_cc .dropdown-menu .dropdown-item:disabled h6 {
  color: rgba(52, 58, 64, 0.76) !important;
}

.o_cc .dropdown-menu .dropdown-item .btn-link, .o_colored_level .o_cc .dropdown-menu .dropdown-item .btn-link {
  color: var(--link-color);
}

.o_cc .dropdown-menu .dropdown-item .btn-link:hover, .o_colored_level .o_cc .dropdown-menu .dropdown-item .btn-link:hover {
  color: var(--link-hover-color);
}

.o_cc .dropdown-menu .dropdown-item .btn-link:disabled, .o_colored_level .o_cc .dropdown-menu .dropdown-item .btn-link:disabled {
  color: #6c757d;
}

.o_cc .dropdown-menu .dropdown-item-text .text-muted a, .o_colored_level .o_cc .dropdown-menu .dropdown-item-text .text-muted a {
  color: #017e84;
}

.o_cc .dropdown-menu .dropdown-item-text .text-muted a:hover, .o_colored_level .o_cc .dropdown-menu .dropdown-item-text .text-muted a:hover {
  color: #01585c;
}

.o_cc1 {
  --bg-light: #FFFFFF;
  --color-light: #000;
  background-color: #FFFFFF;
  color: #000;
  --o-cc-bg: #FFFFFF;
}

.o_cc1 .text-muted, .o_colored_level .o_cc1 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_cc1 a:not(.btn), .o_cc1 .btn-link, .o_colored_level .o_cc1 a:not(.btn), .o_colored_level .o_cc1 .btn-link {
  color: #65435c;
}

.o_cc1 a:not(.btn):hover, .o_cc1 .btn-link:hover, .o_colored_level .o_cc1 a:not(.btn):hover, .o_colored_level .o_cc1 .btn-link:hover {
  color: #432c3d;
}

.o_cc1 .btn-fill-primary, .o_colored_level .o_cc1 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #604058;
  --btn-hover-border-color: #5a3c52;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #FFF;
  --btn-active-bg: #5a3c52;
  --btn-active-border-color: #55384d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.o_cc1 .btn-outline-primary, .o_colored_level .o_cc1 .btn-outline-primary {
  --btn-color: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #714B67;
  --btn-hover-border-color: #714B67;
  --btn-focus-shadow-rgb: 113, 75, 103;
  --btn-active-color: #FFF;
  --btn-active-bg: #714B67;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #714B67;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #714B67;
  --gradient: none;
}

.o_cc1 .btn-fill-secondary, .o_colored_level .o_cc1 .btn-fill-secondary {
  --btn-color: #000;
  --btn-bg: #dee2e6;
  --btn-border-color: #dee2e6;
  --btn-hover-color: #000;
  --btn-hover-bg: #e3e6ea;
  --btn-hover-border-color: #e1e5e9;
  --btn-focus-shadow-rgb: 189, 192, 196;
  --btn-active-color: #000;
  --btn-active-bg: #e5e8eb;
  --btn-active-border-color: #e1e5e9;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #dee2e6;
  --btn-disabled-border-color: #dee2e6;
}

.o_cc1 .btn-outline-secondary, .o_colored_level .o_cc1 .btn-outline-secondary {
  --btn-color: #dee2e6;
  --btn-border-color: #dee2e6;
  --btn-hover-color: #000;
  --btn-hover-bg: #dee2e6;
  --btn-hover-border-color: #dee2e6;
  --btn-focus-shadow-rgb: 222, 226, 230;
  --btn-active-color: #000;
  --btn-active-bg: #dee2e6;
  --btn-active-border-color: #dee2e6;
  --btn-active-shadow: 0;
  --btn-disabled-color: #dee2e6;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #dee2e6;
  --gradient: none;
}

.o_cc1 .nav-pills .nav-link.active,
.o_cc1 .nav-pills .show > .nav-link, .o_colored_level .o_cc1 .nav-pills .nav-link.active,
.o_colored_level .o_cc1 .nav-pills .show > .nav-link {
  background-color: #714B67;
  color: #FFF;
}

.o_cc1 a.list-group-item, .o_colored_level .o_cc1 a.list-group-item {
  color: #714B67;
}

.o_cc1 a.list-group-item.active, .o_colored_level .o_cc1 a.list-group-item.active {
  background-color: #714B67;
  color: #FFF;
  border-color: #714B67;
}

.o_cc2 {
  --bg-light: #F3F2F2;
  --color-light: #000;
  background-color: #F3F2F2;
  color: #000;
  --o-cc-bg: #F3F2F2;
}

.o_cc2 .text-muted, .o_colored_level .o_cc2 .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_cc2 h1, .o_cc2 .h1, .o_cc2 h2, .o_cc2 .h2, .o_cc2 h3, .o_cc2 .h3, .o_cc2 h4, .o_cc2 .h4, .o_cc2 h5, .o_cc2 .h5, .o_cc2 h6, .o_cc2 .h6, .o_colored_level .o_cc2 h1, .o_colored_level .o_cc2 h2, .o_colored_level .o_cc2 h3, .o_colored_level .o_cc2 h4, .o_colored_level .o_cc2 h5, .o_colored_level .o_cc2 h6 {
  color: #111827;
}

.o_cc2 a:not(.btn), .o_cc2 .btn-link, .o_colored_level .o_cc2 a:not(.btn), .o_colored_level .o_cc2 .btn-link {
  color: #55394e;
}

.o_cc2 a:not(.btn):hover, .o_cc2 .btn-link:hover, .o_colored_level .o_cc2 a:not(.btn):hover, .o_colored_level .o_cc2 .btn-link:hover {
  color: #432c3d;
}

.o_cc2 .btn-fill-primary, .o_colored_level .o_cc2 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #604058;
  --btn-hover-border-color: #5a3c52;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #FFF;
  --btn-active-bg: #5a3c52;
  --btn-active-border-color: #55384d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.o_cc2 .btn-outline-primary, .o_colored_level .o_cc2 .btn-outline-primary {
  --btn-color: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #714B67;
  --btn-hover-border-color: #714B67;
  --btn-focus-shadow-rgb: 113, 75, 103;
  --btn-active-color: #FFF;
  --btn-active-bg: #714B67;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #714B67;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #714B67;
  --gradient: none;
}

.o_cc2 .btn-fill-secondary, .o_colored_level .o_cc2 .btn-fill-secondary {
  --btn-color: #000;
  --btn-bg: #dee2e6;
  --btn-border-color: #dee2e6;
  --btn-hover-color: #000;
  --btn-hover-bg: #e3e6ea;
  --btn-hover-border-color: #e1e5e9;
  --btn-focus-shadow-rgb: 189, 192, 196;
  --btn-active-color: #000;
  --btn-active-bg: #e5e8eb;
  --btn-active-border-color: #e1e5e9;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #dee2e6;
  --btn-disabled-border-color: #dee2e6;
}

.o_cc2 .btn-outline-secondary, .o_colored_level .o_cc2 .btn-outline-secondary {
  --btn-color: #dee2e6;
  --btn-border-color: #dee2e6;
  --btn-hover-color: #000;
  --btn-hover-bg: #dee2e6;
  --btn-hover-border-color: #dee2e6;
  --btn-focus-shadow-rgb: 222, 226, 230;
  --btn-active-color: #000;
  --btn-active-bg: #dee2e6;
  --btn-active-border-color: #dee2e6;
  --btn-active-shadow: 0;
  --btn-disabled-color: #dee2e6;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #dee2e6;
  --gradient: none;
}

.o_cc2 .nav-pills .nav-link.active,
.o_cc2 .nav-pills .show > .nav-link, .o_colored_level .o_cc2 .nav-pills .nav-link.active,
.o_colored_level .o_cc2 .nav-pills .show > .nav-link {
  background-color: #714B67;
  color: #FFF;
}

.o_cc2 a.list-group-item, .o_colored_level .o_cc2 a.list-group-item {
  color: #714B67;
}

.o_cc2 a.list-group-item.active, .o_colored_level .o_cc2 a.list-group-item.active {
  background-color: #714B67;
  color: #FFF;
  border-color: #714B67;
}

.o_cc3 {
  --bg-light: #2D3142;
  --color-light: #FFF;
  background-color: #2D3142;
  color: #FFF;
  --o-cc-bg: #2D3142;
}

.o_cc3 .text-muted, .o_colored_level .o_cc3 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

.o_cc3 a:not(.btn), .o_cc3 .btn-link, .o_colored_level .o_cc3 a:not(.btn), .o_colored_level .o_cc3 .btn-link {
  color: #b18aa7;
}

.o_cc3 a:not(.btn):hover, .o_cc3 .btn-link:hover, .o_colored_level .o_cc3 a:not(.btn):hover, .o_colored_level .o_cc3 .btn-link:hover {
  color: #905f83;
}

.o_cc3 .btn-fill-primary, .o_colored_level .o_cc3 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #604058;
  --btn-hover-border-color: #5a3c52;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #FFF;
  --btn-active-bg: #5a3c52;
  --btn-active-border-color: #55384d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.o_cc3 .btn-outline-primary, .o_colored_level .o_cc3 .btn-outline-primary {
  --btn-color: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #714B67;
  --btn-hover-border-color: #714B67;
  --btn-focus-shadow-rgb: 113, 75, 103;
  --btn-active-color: #FFF;
  --btn-active-bg: #714B67;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #714B67;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #714B67;
  --gradient: none;
}

.o_cc3 .btn-fill-secondary, .o_colored_level .o_cc3 .btn-fill-secondary {
  --btn-color: #000;
  --btn-bg: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #f5f4f4;
  --btn-hover-border-color: #f4f3f3;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f4f3f3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #F3F2F2;
  --btn-disabled-border-color: #F3F2F2;
}

.o_cc3 .btn-outline-secondary, .o_colored_level .o_cc3 .btn-outline-secondary {
  --btn-color: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #F3F2F2;
  --btn-hover-border-color: #F3F2F2;
  --btn-focus-shadow-rgb: 243, 242, 242;
  --btn-active-color: #000;
  --btn-active-bg: #F3F2F2;
  --btn-active-border-color: #F3F2F2;
  --btn-active-shadow: 0;
  --btn-disabled-color: #F3F2F2;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #F3F2F2;
  --gradient: none;
}

.o_cc3 .nav-pills .nav-link.active,
.o_cc3 .nav-pills .show > .nav-link, .o_colored_level .o_cc3 .nav-pills .nav-link.active,
.o_colored_level .o_cc3 .nav-pills .show > .nav-link {
  background-color: #714B67;
  color: #FFF;
}

.o_cc3 a.list-group-item, .o_colored_level .o_cc3 a.list-group-item {
  color: #714B67;
}

.o_cc3 a.list-group-item.active, .o_colored_level .o_cc3 a.list-group-item.active {
  background-color: #714B67;
  color: #FFF;
  border-color: #714B67;
}

.o_cc4 {
  --bg-light: #714B67;
  --color-light: #FFF;
  background-color: #714B67;
  color: #FFF;
  --o-cc-bg: #714B67;
}

.o_cc4 .text-muted, .o_colored_level .o_cc4 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

.o_cc4 a:not(.btn), .o_cc4 .btn-link, .o_colored_level .o_cc4 a:not(.btn), .o_colored_level .o_cc4 .btn-link {
  color: black;
}

.o_cc4 a:not(.btn):hover, .o_cc4 .btn-link:hover, .o_colored_level .o_cc4 a:not(.btn):hover, .o_colored_level .o_cc4 .btn-link:hover {
  color: black;
}

.o_cc4 .btn-fill-primary, .o_colored_level .o_cc4 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #111827;
  --btn-border-color: #111827;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #0e1421;
  --btn-hover-border-color: #0e131f;
  --btn-focus-shadow-rgb: 53, 59, 71;
  --btn-active-color: #FFF;
  --btn-active-bg: #0e131f;
  --btn-active-border-color: #0d121d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #111827;
  --btn-disabled-border-color: #111827;
}

.o_cc4 .btn-outline-primary, .o_colored_level .o_cc4 .btn-outline-primary {
  --btn-color: #111827;
  --btn-border-color: #111827;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #111827;
  --btn-hover-border-color: #111827;
  --btn-focus-shadow-rgb: 17, 24, 39;
  --btn-active-color: #FFF;
  --btn-active-bg: #111827;
  --btn-active-border-color: #111827;
  --btn-active-shadow: 0;
  --btn-disabled-color: #111827;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #111827;
  --gradient: none;
}

.o_cc4 .btn-fill-secondary, .o_colored_level .o_cc4 .btn-fill-secondary {
  --btn-color: #000;
  --btn-bg: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #f5f4f4;
  --btn-hover-border-color: #f4f3f3;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f4f3f3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #F3F2F2;
  --btn-disabled-border-color: #F3F2F2;
}

.o_cc4 .btn-outline-secondary, .o_colored_level .o_cc4 .btn-outline-secondary {
  --btn-color: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #F3F2F2;
  --btn-hover-border-color: #F3F2F2;
  --btn-focus-shadow-rgb: 243, 242, 242;
  --btn-active-color: #000;
  --btn-active-bg: #F3F2F2;
  --btn-active-border-color: #F3F2F2;
  --btn-active-shadow: 0;
  --btn-disabled-color: #F3F2F2;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #F3F2F2;
  --gradient: none;
}

.o_cc4 .nav-pills .nav-link.active,
.o_cc4 .nav-pills .show > .nav-link, .o_colored_level .o_cc4 .nav-pills .nav-link.active,
.o_colored_level .o_cc4 .nav-pills .show > .nav-link {
  background-color: #111827;
  color: #FFF;
}

.o_cc4 a.list-group-item, .o_colored_level .o_cc4 a.list-group-item {
  color: #111827;
}

.o_cc4 a.list-group-item.active, .o_colored_level .o_cc4 a.list-group-item.active {
  background-color: #111827;
  color: #FFF;
  border-color: #111827;
}

.o_cc5 {
  --bg-light: #111827;
  --color-light: #FFF;
  background-color: #111827;
  color: #FFF;
  --o-cc-bg: #111827;
}

.o_cc5 .text-muted, .o_colored_level .o_cc5 .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

.o_cc5 h1, .o_cc5 .h1, .o_cc5 h2, .o_cc5 .h2, .o_cc5 h3, .o_cc5 .h3, .o_cc5 h4, .o_cc5 .h4, .o_cc5 h5, .o_cc5 .h5, .o_cc5 h6, .o_cc5 .h6, .o_colored_level .o_cc5 h1, .o_colored_level .o_cc5 h2, .o_colored_level .o_cc5 h3, .o_colored_level .o_cc5 h4, .o_colored_level .o_cc5 h5, .o_colored_level .o_cc5 h6 {
  color: #FFFFFF;
}

.o_cc5 a:not(.btn), .o_cc5 .btn-link, .o_colored_level .o_cc5 a:not(.btn), .o_colored_level .o_cc5 .btn-link {
  color: #b18aa7;
}

.o_cc5 a:not(.btn):hover, .o_cc5 .btn-link:hover, .o_colored_level .o_cc5 a:not(.btn):hover, .o_colored_level .o_cc5 .btn-link:hover {
  color: #905f83;
}

.o_cc5 .btn-fill-primary, .o_colored_level .o_cc5 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #604058;
  --btn-hover-border-color: #5a3c52;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #FFF;
  --btn-active-bg: #5a3c52;
  --btn-active-border-color: #55384d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}

.o_cc5 .btn-outline-primary, .o_colored_level .o_cc5 .btn-outline-primary {
  --btn-color: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #714B67;
  --btn-hover-border-color: #714B67;
  --btn-focus-shadow-rgb: 113, 75, 103;
  --btn-active-color: #FFF;
  --btn-active-bg: #714B67;
  --btn-active-border-color: #714B67;
  --btn-active-shadow: 0;
  --btn-disabled-color: #714B67;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #714B67;
  --gradient: none;
}

.o_cc5 .btn-fill-secondary, .o_colored_level .o_cc5 .btn-fill-secondary {
  --btn-color: #000;
  --btn-bg: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #f5f4f4;
  --btn-hover-border-color: #f4f3f3;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f4f3f3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #F3F2F2;
  --btn-disabled-border-color: #F3F2F2;
}

.o_cc5 .btn-outline-secondary, .o_colored_level .o_cc5 .btn-outline-secondary {
  --btn-color: #F3F2F2;
  --btn-border-color: #F3F2F2;
  --btn-hover-color: #000;
  --btn-hover-bg: #F3F2F2;
  --btn-hover-border-color: #F3F2F2;
  --btn-focus-shadow-rgb: 243, 242, 242;
  --btn-active-color: #000;
  --btn-active-bg: #F3F2F2;
  --btn-active-border-color: #F3F2F2;
  --btn-active-shadow: 0;
  --btn-disabled-color: #F3F2F2;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #F3F2F2;
  --gradient: none;
}

.o_cc5 .nav-pills .nav-link.active,
.o_cc5 .nav-pills .show > .nav-link, .o_colored_level .o_cc5 .nav-pills .nav-link.active,
.o_colored_level .o_cc5 .nav-pills .show > .nav-link {
  background-color: #714B67;
  color: #FFF;
}

.o_cc5 a.list-group-item, .o_colored_level .o_cc5 a.list-group-item {
  color: #714B67;
}

.o_cc5 a.list-group-item.active, .o_colored_level .o_cc5 a.list-group-item.active {
  background-color: #714B67;
  color: #FFF;
  border-color: #714B67;
}

.btn-custom:hover, .btn-fill-custom:hover {
  filter: invert(0.2);
}

.btn-outline-custom:not(:hover) {
  background-color: transparent !important;
  background-image: none !important;
}

section, .oe_img_bg, [data-oe-shape-data], section > *, .oe_img_bg > *, [data-oe-shape-data] > * {
  position: relative;
}

.o_we_shape, .o_we_bg_filter {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute !important;
  display: block;
  overflow: hidden;
  background-repeat: no-repeat;
  pointer-events: none;
}

.o_full_screen_height, .cover_full, .o_half_screen_height, .cover_mid {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  justify-content: space-around;
  min-height: 100vh !important;
}

.o_half_screen_height, .cover_mid {
  min-height: 55vh !important;
}

@media (min-width: 190mm) {
  .o_container_small {
    max-width: 720px;
  }
}

.oe_img_bg {
  background-size: cover;
  background-repeat: no-repeat;
}

.oe_img_bg.o_bg_img_opt_repeat {
  background-size: auto;
  background-repeat: repeat;
}

.oe_img_bg.o_bg_img_center {
  background-position: center;
}

.text-gradient {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient .o_animated_text, .text-gradient .o_animated_text *, .text-gradient.o_animated_text *,
.text-gradient .o_text_highlight, .text-gradient .o_text_highlight *, .text-gradient.o_text_highlight * {
  background-image: inherit;
  -webkit-background-clip: inherit;
  -webkit-text-fill-color: inherit;
}

.text-gradient .fa {
  display: inherit;
}

/* QWEB */
.odoo-editor-editable.odoo-editor-qweb t,
.odoo-editor-editable.odoo-editor-qweb [t-if],
.odoo-editor-editable.odoo-editor-qweb [t-elif],
.odoo-editor-editable.odoo-editor-qweb [t-else],
.odoo-editor-editable.odoo-editor-qweb [t-foreach], .o_readonly t,
.o_readonly [t-if],
.o_readonly [t-elif],
.o_readonly [t-else],
.o_readonly [t-foreach] {
  background-color: rgba(0, 0, 102, 0.1) !important;
}

.odoo-editor-editable.odoo-editor-qweb t,
.odoo-editor-editable.odoo-editor-qweb [t-esc],
.odoo-editor-editable.odoo-editor-qweb [t-out],
.odoo-editor-editable.odoo-editor-qweb [t-raw], .o_readonly t,
.o_readonly [t-esc],
.o_readonly [t-out],
.o_readonly [t-raw] {
  border-radius: 2px;
}

.odoo-editor-editable.odoo-editor-qweb [t-esc],
.odoo-editor-editable.odoo-editor-qweb [t-out],
.odoo-editor-editable.odoo-editor-qweb [t-raw], .o_readonly [t-esc],
.o_readonly [t-out],
.o_readonly [t-raw] {
  background-color: rgba(36, 154, 255, 0.16) !important;
}

.odoo-editor-editable.odoo-editor-qweb [t-esc]:empty::before, .o_readonly [t-esc]:empty::before {
  content: attr(t-esc);
}

.odoo-editor-editable.odoo-editor-qweb [t-raw]:empty::before, .o_readonly [t-raw]:empty::before {
  content: attr(t-raw);
}

.odoo-editor-editable.odoo-editor-qweb [t-out]:empty::before, .o_readonly [t-out]:empty::before {
  content: attr(t-out);
}

.odoo-editor-editable.odoo-editor-qweb t[t-set], .o_readonly t[t-set] {
  display: none;
}

.odoo-editor-editable.odoo-editor-qweb t[data-oe-t-inline], .o_readonly t[data-oe-t-inline] {
  display: inline;
}

.odoo-editor-editable.odoo-editor-qweb t:not([data-oe-t-inline]), .o_readonly t:not([data-oe-t-inline]) {
  display: block;
}

.odoo-editor-editable.odoo-editor-qweb t[data-oe-t-inline]:not([data-oe-t-group-active]), .o_readonly t[data-oe-t-inline]:not([data-oe-t-group-active]) {
  display: unset;
}

.odoo-editor-editable.odoo-editor-qweb [data-oe-t-group]:not([data-oe-t-group-active]), .o_readonly [data-oe-t-group]:not([data-oe-t-group-active]) {
  display: none !important;
}

.odoo-editor-editable.odoo-editor-qweb [data-oe-t-group][data-oe-t-selectable], .o_readonly [data-oe-t-group][data-oe-t-selectable] {
  outline: 1px dashed rgba(0, 0, 102, 0.4) !important;
}

.oe-qweb-select {
  position: absolute;
  z-index: 1056;
  background-color: white;
}

.o_we_shape.o_we_animated {
  will-change: transform;
}

.o_we_shape.o_web_editor_Airy_01 {
  background-image: url("/web_editor/shape/web_editor/Airy/01.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_02 {
  background-image: url("/web_editor/shape/web_editor/Airy/02.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_03 {
  background-image: url("/web_editor/shape/web_editor/Airy/03.svg?c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_03_001 {
  background-image: url("/web_editor/shape/web_editor/Airy/03_001.svg?c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_04 {
  background-image: url("/web_editor/shape/web_editor/Airy/04.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_04_001 {
  background-image: url("/web_editor/shape/web_editor/Airy/04_001.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_05 {
  background-image: url("/web_editor/shape/web_editor/Airy/05.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_05_001 {
  background-image: url("/web_editor/shape/web_editor/Airy/05_001.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_06 {
  background-image: url("/web_editor/shape/web_editor/Airy/06.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_07 {
  background-image: url("/web_editor/shape/web_editor/Airy/07.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_08 {
  background-image: url("/web_editor/shape/web_editor/Airy/08.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_09 {
  background-image: url("/web_editor/shape/web_editor/Airy/09.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_10 {
  background-image: url("/web_editor/shape/web_editor/Airy/10.svg?c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_11 {
  background-image: url("/web_editor/shape/web_editor/Airy/11.svg?c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_12 {
  background-image: url("/web_editor/shape/web_editor/Airy/12.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_12_001 {
  background-image: url("/web_editor/shape/web_editor/Airy/12_001.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_13 {
  background-image: url("/web_editor/shape/web_editor/Airy/13.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_13_001 {
  background-image: url("/web_editor/shape/web_editor/Airy/13_001.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Airy_14 {
  background-image: url("/web_editor/shape/web_editor/Airy/14.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_01 {
  background-image: url("/web_editor/shape/web_editor/Blobs/01.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_01_001 {
  background-image: url("/web_editor/shape/web_editor/Blobs/01_001.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_02 {
  background-image: url("/web_editor/shape/web_editor/Blobs/02.svg?c1=%23714B67&c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_03 {
  background-image: url("/web_editor/shape/web_editor/Blobs/03.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_04 {
  background-image: url("/web_editor/shape/web_editor/Blobs/04.svg?c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_05 {
  background-image: url("/web_editor/shape/web_editor/Blobs/05.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_06 {
  background-image: url("/web_editor/shape/web_editor/Blobs/06.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_07 {
  background-image: url("/web_editor/shape/web_editor/Blobs/07.svg?c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_08 {
  background-image: url("/web_editor/shape/web_editor/Blobs/08.svg?c1=%23714B67");
  background-position: right;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_09 {
  background-image: url("/web_editor/shape/web_editor/Blobs/09.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_10 {
  background-image: url("/web_editor/shape/web_editor/Blobs/10.svg?c1=%23714B67&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_10_001 {
  background-image: url("/web_editor/shape/web_editor/Blobs/10_001.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_11 {
  background-image: url("/web_editor/shape/web_editor/Blobs/11.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blobs_12 {
  background-image: url("/web_editor/shape/web_editor/Blobs/12.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_01 {
  background-image: url("/web_editor/shape/web_editor/Blocks/01.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_01_001 {
  background-image: url("/web_editor/shape/web_editor/Blocks/01_001.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_02 {
  background-image: url("/web_editor/shape/web_editor/Blocks/02.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_02_001 {
  background-image: url("/web_editor/shape/web_editor/Blocks/02_001.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_03 {
  background-image: url("/web_editor/shape/web_editor/Blocks/03.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Blocks_04 {
  background-image: url("/web_editor/shape/web_editor/Blocks/04.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_01 {
  background-image: url("/web_editor/shape/web_editor/Bold/01.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_02 {
  background-image: url("/web_editor/shape/web_editor/Bold/02.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_03 {
  background-image: url("/web_editor/shape/web_editor/Bold/03.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_04 {
  background-image: url("/web_editor/shape/web_editor/Bold/04.svg?c2=%232D3142&c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_05 {
  background-image: url("/web_editor/shape/web_editor/Bold/05.svg?c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_05_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/05_001.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_06 {
  background-image: url("/web_editor/shape/web_editor/Bold/06.svg?c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_06_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/06_001.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_07 {
  background-image: url("/web_editor/shape/web_editor/Bold/07.svg?c1=%23714B67&c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_07_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/07_001.svg?c1=%23714B67&c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_08 {
  background-image: url("/web_editor/shape/web_editor/Bold/08.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_09 {
  background-image: url("/web_editor/shape/web_editor/Bold/09.svg?c2=%232D3142&c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_10 {
  background-image: url("/web_editor/shape/web_editor/Bold/10.svg?c1=%23714B67&c3=%23F3F2F2&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_10_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/10_001.svg?c1=%23714B67&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_11 {
  background-image: url("/web_editor/shape/web_editor/Bold/11.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_11_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/11_001.svg?c1=%23714B67&c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_12 {
  background-image: url("/web_editor/shape/web_editor/Bold/12.svg?c1=%23714B67&c2=%232D3142&c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Bold_12_001 {
  background-image: url("/web_editor/shape/web_editor/Bold/12_001.svg?c1=%23714B67&c2=%232D3142&c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_01 {
  background-image: url("/web_editor/shape/web_editor/Floats/01.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c4=%23FFFFFF&c5=%23111827");
  background-position: center right;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_02 {
  background-image: url("/web_editor/shape/web_editor/Floats/02.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_03 {
  background-image: url("/web_editor/shape/web_editor/Floats/03.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_04 {
  background-image: url("/web_editor/shape/web_editor/Floats/04.svg?c1=%23714B67&c2=%232D3142&c4=%23FFFFFF&c5=%23111827");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_05 {
  background-image: url("/web_editor/shape/web_editor/Floats/05.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_06 {
  background-image: url("/web_editor/shape/web_editor/Floats/06.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_07 {
  background-image: url("/web_editor/shape/web_editor/Floats/07.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: right bottom;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_08 {
  background-image: url("/web_editor/shape/web_editor/Floats/08.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: top left;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_09 {
  background-image: url("/web_editor/shape/web_editor/Floats/09.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2");
  background-position: center right;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_10 {
  background-image: url("/web_editor/shape/web_editor/Floats/10.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_11 {
  background-image: url("/web_editor/shape/web_editor/Floats/11.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_12 {
  background-image: url("/web_editor/shape/web_editor/Floats/12.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat repeat;
}

.o_we_shape.o_web_editor_Floats_13 {
  background-image: url("/web_editor/shape/web_editor/Floats/13.svg?c1=%23714B67&c2=%232D3142&c5=%23111827");
  background-position: center;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Floats_14 {
  background-image: url("/web_editor/shape/web_editor/Floats/14.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat repeat;
}

.o_we_shape.o_web_editor_Origins_01 {
  background-image: url("/web_editor/shape/web_editor/Origins/01.svg?c2=%232D3142&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_02 {
  background-image: url("/web_editor/shape/web_editor/Origins/02.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_02_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/02_001.svg?c4=%23FFFFFF&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_03 {
  background-image: url("/web_editor/shape/web_editor/Origins/03.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_04 {
  background-image: url("/web_editor/shape/web_editor/Origins/04.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_04_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/04_001.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_05 {
  background-image: url("/web_editor/shape/web_editor/Origins/05.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_06 {
  background-image: url("/web_editor/shape/web_editor/Origins/06.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_06_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/06_001.svg?c3=%23F3F2F2&c4=%23FFFFFF");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_07 {
  background-image: url("/web_editor/shape/web_editor/Origins/07.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_07_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/07_001.svg?c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_07_002 {
  background-image: url("/web_editor/shape/web_editor/Origins/07_002.svg?c3=%23F3F2F2&c4=%23FFFFFF&c5=%23111827");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_08 {
  background-image: url("/web_editor/shape/web_editor/Origins/08.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_09 {
  background-image: url("/web_editor/shape/web_editor/Origins/09.svg?c1=%23714B67&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_09_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/09_001.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_10 {
  background-image: url("/web_editor/shape/web_editor/Origins/10.svg?c2=%232D3142&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_11 {
  background-image: url("/web_editor/shape/web_editor/Origins/11.svg?c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_11_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/11_001.svg?c3=%23F3F2F2&c4=%23FFFFFF");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_12 {
  background-image: url("/web_editor/shape/web_editor/Origins/12.svg?c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_13 {
  background-image: url("/web_editor/shape/web_editor/Origins/13.svg?c3=%23F3F2F2&c5=%23111827");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_14 {
  background-image: url("/web_editor/shape/web_editor/Origins/14.svg?c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_14_001 {
  background-image: url("/web_editor/shape/web_editor/Origins/14_001.svg?c3=%23F3F2F2&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_15 {
  background-image: url("/web_editor/shape/web_editor/Origins/15.svg?c4=%23FFFFFF");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_16 {
  background-image: url("/web_editor/shape/web_editor/Origins/16.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_17 {
  background-image: url("/web_editor/shape/web_editor/Origins/17.svg?c3=%23F3F2F2");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_18 {
  background-image: url("/web_editor/shape/web_editor/Origins/18.svg?c1=%23714B67");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Origins_19 {
  background-image: url("/web_editor/shape/web_editor/Origins/19.svg?c5=%23111827");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_01 {
  background-image: url("/web_editor/shape/web_editor/Rainy/01.svg?c1=%23714B67&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_01_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/01_001.svg?c1=%23714B67&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_02 {
  background-image: url("/web_editor/shape/web_editor/Rainy/02.svg?c1=%23714B67&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_02_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/02_001.svg?c1=%23714B67&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_03 {
  background-image: url("/web_editor/shape/web_editor/Rainy/03.svg?c2=%232D3142&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat repeat;
}

.o_we_shape.o_web_editor_Rainy_03_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/03_001.svg?c2=%232D3142&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat repeat;
}

.o_we_shape.o_web_editor_Rainy_04 {
  background-image: url("/web_editor/shape/web_editor/Rainy/04.svg?c1=%23714B67&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_05 {
  background-image: url("/web_editor/shape/web_editor/Rainy/05.svg?c1=%23714B67&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_05_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/05_001.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_06 {
  background-image: url("/web_editor/shape/web_editor/Rainy/06.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_07 {
  background-image: url("/web_editor/shape/web_editor/Rainy/07.svg?c1=%23714B67&c2=%232D3142&c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_08 {
  background-image: url("/web_editor/shape/web_editor/Rainy/08.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_08_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/08_001.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_09 {
  background-image: url("/web_editor/shape/web_editor/Rainy/09.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_09_001 {
  background-image: url("/web_editor/shape/web_editor/Rainy/09_001.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Rainy_10 {
  background-image: url("/web_editor/shape/web_editor/Rainy/10.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_01 {
  background-image: url("/web_editor/shape/web_editor/Wavy/01.svg?c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_01_001 {
  background-image: url("/web_editor/shape/web_editor/Wavy/01_001.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_02 {
  background-image: url("/web_editor/shape/web_editor/Wavy/02.svg?c4=%23FFFFFF");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_02_001 {
  background-image: url("/web_editor/shape/web_editor/Wavy/02_001.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_03 {
  background-image: url("/web_editor/shape/web_editor/Wavy/03.svg?c1=%23714B67&c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_04 {
  background-image: url("/web_editor/shape/web_editor/Wavy/04.svg?c1=%23714B67&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_05 {
  background-image: url("/web_editor/shape/web_editor/Wavy/05.svg?c1=%23714B67&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_06 {
  background-image: url("/web_editor/shape/web_editor/Wavy/06.svg?c1=%23714B67&c3=%23F3F2F2&c4=%23FFFFFF&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_06_001 {
  background-image: url("/web_editor/shape/web_editor/Wavy/06_001.svg?c1=%23714B67&c3=%23F3F2F2&c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_07 {
  background-image: url("/web_editor/shape/web_editor/Wavy/07.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_08 {
  background-image: url("/web_editor/shape/web_editor/Wavy/08.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_09 {
  background-image: url("/web_editor/shape/web_editor/Wavy/09.svg?c1=%23714B67&c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_10 {
  background-image: url("/web_editor/shape/web_editor/Wavy/10.svg?c1=%23714B67&c2=%232D3142");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_11 {
  background-image: url("/web_editor/shape/web_editor/Wavy/11.svg?c1=%23714B67&c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_12 {
  background-image: url("/web_editor/shape/web_editor/Wavy/12.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_12_001 {
  background-image: url("/web_editor/shape/web_editor/Wavy/12_001.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_13 {
  background-image: url("/web_editor/shape/web_editor/Wavy/13.svg?c4=%23FFFFFF");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_13_001 {
  background-image: url("/web_editor/shape/web_editor/Wavy/13_001.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_14 {
  background-image: url("/web_editor/shape/web_editor/Wavy/14.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_15 {
  background-image: url("/web_editor/shape/web_editor/Wavy/15.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_16 {
  background-image: url("/web_editor/shape/web_editor/Wavy/16.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_17 {
  background-image: url("/web_editor/shape/web_editor/Wavy/17.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_18 {
  background-image: url("/web_editor/shape/web_editor/Wavy/18.svg?c5=%23111827");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_19 {
  background-image: url("/web_editor/shape/web_editor/Wavy/19.svg?c5=%23111827");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_20 {
  background-image: url("/web_editor/shape/web_editor/Wavy/20.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_21 {
  background-image: url("/web_editor/shape/web_editor/Wavy/21.svg?c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_22 {
  background-image: url("/web_editor/shape/web_editor/Wavy/22.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_23 {
  background-image: url("/web_editor/shape/web_editor/Wavy/23.svg?c3=%23F3F2F2");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_24 {
  background-image: url("/web_editor/shape/web_editor/Wavy/24.svg?c1=%23714B67&c2=%232D3142");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_25 {
  background-image: url("/web_editor/shape/web_editor/Wavy/25.svg?c1=%23714B67&c2=%232D3142");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_26 {
  background-image: url("/web_editor/shape/web_editor/Wavy/26.svg?c1=%23714B67&c2=%232D3142");
  background-position: bottom right;
  background-size: auto 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_27 {
  background-image: url("/web_editor/shape/web_editor/Wavy/27.svg?c1=%23714B67&c2=%232D3142");
  background-position: center;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Wavy_28 {
  background-image: url("/web_editor/shape/web_editor/Wavy/28.svg?c1=%23714B67&c3=%23F3F2F2");
  background-position: center;
  background-size: 100% 100%;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_01 {
  background-image: url("/web_editor/shape/web_editor/Zigs/01.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_01_001 {
  background-image: url("/web_editor/shape/web_editor/Zigs/01_001.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_02 {
  background-image: url("/web_editor/shape/web_editor/Zigs/02.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_02_001 {
  background-image: url("/web_editor/shape/web_editor/Zigs/02_001.svg?c2=%232D3142");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_03 {
  background-image: url("/web_editor/shape/web_editor/Zigs/03.svg?c1=%23714B67");
  background-position: top;
  background-size: 100% auto;
  background-repeat: no-repeat repeat;
}

.o_we_shape.o_web_editor_Zigs_04 {
  background-image: url("/web_editor/shape/web_editor/Zigs/04.svg?c1=%23714B67");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_05 {
  background-image: url("/web_editor/shape/web_editor/Zigs/05.svg?c3=%23F3F2F2");
  background-position: bottom;
  background-size: 100% auto;
  background-repeat: no-repeat no-repeat;
}

.o_we_shape.o_web_editor_Zigs_06 {
  background-image: url("/web_editor/shape/web_editor/Zigs/06.svg?c4=%23FFFFFF&c5=%23111827");
  background-position: bottom;
  background-size: 30px 100%;
  background-repeat: repeat no-repeat;
}

.ui-autocomplete {
  max-height: 45vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.ui-autocomplete .ui-menu-item {
  padding: 0;
}

.ui-autocomplete .ui-menu-item > .ui-state-active {
  border: none;
  font-weight: normal;
  margin: 0;
}

.ui-autocomplete .fw-bold {
  font-weight: 700 !important;
}

.o_editor_banner p, .o_editor_banner h1, .o_editor_banner .h1, .o_editor_banner h2, .o_editor_banner .h2, .o_editor_banner h3, .o_editor_banner .h3, .o_editor_banner ul, .o_editor_banner ol {
  margin-bottom: 1rem;
}

.o_editor_banner ol ol, .o_editor_banner ul ul, .o_editor_banner ol ul, .o_editor_banner ul ol {
  margin-bottom: 0;
}

.o_editor_banner ul.o_checklist > li:not(.oe-nested)::before {
  top: 0px !important;
}

code.o_inline_code {
  padding: .2em .4em;
  border-radius: 0.25rem;
  background-color: var(--WebEditor__inlineCode-bg, #e9ecef);
  font-size: 85%;
  color: #212529;
}



/* /web_editor/static/src/scss/web_editor.backend.scss */

:root {
  --white: #FFF;
  --black: #000;
}

.o_field_html_legacy {
  border: solid red;
}

.o_field_html {
  position: relative;
  word-wrap: break-word;
}

.o_field_html #codeview-btn-group {
  position: absolute;
  top: 0;
  right: 0;
}

.o_field_html iframe {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  min-height: 300px;
  min-height: -webkit-calc(100vh - 170px);
  min-height: calc(100vh - 170px);
}

.o_field_html iframe ul > li > p {
  margin: 0px;
}

.o_field_html iframe.o_readonly {
  border: none;
}

.o_field_html .rounded {
  border-radius: .25rem !important;
}

.o_field_html table.table.table-bordered {
  table-layout: fixed;
}

.o_field_html a:not(.btn) {
  color: #008f8c;
}

.o_form_view:not(.o_field_highlight) .o_field_html .note-editable {
  border: var(--border-width) solid transparent;
  border-width: 0 0 var(--border-width) 0;
  border-radius: 0;
}

.o_form_view:not(.o_field_highlight) .o_field_html .note-editable:hover, .o_form_view:not(.o_field_highlight) .o_field_html .note-editable:focus {
  border-color: var(--o-input-border-color);
}

.o_field_html:not(.o_readonly_modifier) .o_editor_banner_icon {
  cursor: pointer;
}

.editor_has_snippets.o_field_widgetTextHtml_fullscreen .o_field_mass_mailing_html .o_mass_mailing_iframe_ancestor_fullscreen iframe {
  width: calc(100% - 288px);
}

.editor_has_snippets.o_field_widgetTextHtml_fullscreen .o_field_mass_mailing_html #oe_snippets {
  position: fixed;
  z-index: 1051 !important;
}

.editor_has_snippets .oe_snippet.o_draggable_dragging {
  z-index: 1056 !important;
}

.o_field_widgetTextHtml_fullscreen .o_field_mass_mailing_html .o_mass_mailing_iframe_ancestor_fullscreen iframe {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  bottom: 0 !important;
  min-height: 100% !important;
  z-index: 1051 !important;
  border: 0;
}

.o_field_widgetTextHtml_fullscreen .tooltip-field-info {
  display: none;
}

.o_field_widgetTextHtml_fullscreen .o_mass_mailing_iframe_ancestor_fullscreen {
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  overflow: hidden !important;
  transform: none !important;
  z-index: 998;
}



/* /portal/static/src/views/fields/portal_wizard_user_one2many.scss */

.o_portal_wizard_user_one2many td {
  width: 1%;
}



/* /resource/static/src/scss/section_backend.scss */

table.o_section_list_view tr.o_data_row.o_is_line_section {
  font-weight: bold;
  background-color: #DDDDDD;
  border-top: 1px solid #BBB;
  border-bottom: 1px solid #BBB;
}



/* /account/static/src/css/account_bank_and_cash.css */
.openerp .oe_force_bold {
  font-weight: bold !important;
}
.openerp label.oe_open_balance{
    margin-right: -18px;
}
.openerp label.oe_subtotal_footer_separator{
    float:right;
    width: 184px !important;
}
.openerp label.oe_mini_subtotal_footer_separator{
    margin-right: -14px;
}
.openerp .oe_account_total, .openerp .oe_pos_total {
    margin-left: -2px;
}
.openerp label.oe_real_closing_balance{
    min-width: 184px !important;
}
.openerp label.oe_difference, .openerp label.oe_pos_difference {
    margin-right: -10px;
    padding-left: 10px !important;
    min-width: 195px !important;
}
.openerp .oe_opening_total{
  margin-right: 4px;
}

.o_payment_label{
  padding-right: 20px;
}

/* /account/static/src/css/account.css */
.openerp div.oe_account_help {
    background : #D6EBFF;
    width: 100%;
    padding: 10px;
    border: 3px solid #C1D4E6;
}

.openerp p.oe_account_font_help{
    text-align: left;
    font-weight: bold;
    margin: 0px;
    font-size: 14px;
}

.openerp p.oe_account_font_content{
    margin-left: 30px;
    font-size: 14px;
}

.openerp p.oe_account_font_title{
    margin-top: 7px;
    font-size: 15px;
    font-style: italic;
    color: grey;
}

.oe_invoice_outstanding_credits_debits {
    clear: both;
    float: right;
    min-width: 260px;
    /* The max-width ensures that the widget is not too wide in larger screens,
     but does not affect the width once the screen size decreases */
    max-width: 400px;
    margin-left: auto;
}

.oe_account_terms {
    flex: auto !important;
}

@media (max-width: 991.98px) {
    /* The purpose is to put the narration below the totals in the tab 'Invoice Lines'
    instead of above for the mobile view */
    .o_form_view .oe_invoice_lines_tab {
        display: flex;
        flex-direction: column-reverse;
    }

    .o_form_view .oe_invoice_lines_tab .oe_invoice_outstanding_credits_debits {
        min-width: initial;
        width: 50%;
    }
}

@media (max-width: 767.98px) {
    .o_form_view .oe_invoice_lines_tab .oe_invoice_outstanding_credits_debits {
        min-width: initial;
        width: 100%;
    }
}

.o_field_account_resequence_widget {
    width: 100%;
}


/* /account/static/src/css/account_payment.scss */

.o_popover_header {
  padding: 5px 0 5px 8px;
  border-bottom: 1px solid #ccc;
}

.o_memo_content {
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}



/* /account/static/src/scss/account_journal_dashboard.scss */

.o_account_kanban .o_kanban_renderer {
  --KanbanRecord-padding-v: 6.5px;
  --KanbanRecord-padding-h: 13px;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record:not(.o_kanban_ghost) {
  min-height: 150px;
}

@media (min-width: 100mm) {
  .o_account_kanban .o_kanban_renderer .o_kanban_record button.oe_kanban_action {
    margin-bottom: 5px;
  }
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_dashboard_star {
  font-size: 12px;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_dashboard_star.fa-star-o {
  color: rgba(52, 58, 64, 0.76);
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_dashboard_star.fa-star-o:hover {
  color: gold;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_dashboard_star.fa-star {
  color: gold;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_dashboard_graph {
  margin-bottom: -6.5px;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .o_field_widget.o_field_kanban_vat_activity {
  display: block;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record .container-fluid, .o_account_kanban .o_kanban_renderer .o_kanban_record .container-sm, .o_account_kanban .o_kanban_renderer .o_kanban_record .container-md, .o_account_kanban .o_kanban_renderer .o_kanban_record .container-lg, .o_account_kanban .o_kanban_renderer .o_kanban_record .container-xl, .o_account_kanban .o_kanban_renderer .o_kanban_record .container-xxl {
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
}

@media (max-width: 189.98mm) {
  .o_account_kanban .o_kanban_renderer.o_kanban_ungrouped {
    --KanbanRecord-width: 100vw;
  }
}

@media (min-width: 190mm) {
  .o_account_kanban .o_kanban_renderer.o_kanban_ungrouped {
    --KanbanRecord-width: 47vw;
  }
}

@media (min-width: 1534px) {
  .o_account_kanban .o_kanban_renderer.o_kanban_ungrouped:has(> .o_kanban_record:nth-child(12)) {
    --KanbanRecord-width: 31vw;
  }
}

.o_account_kanban .o_kanban_renderer .o_kanban_group:not(.o_column_folded) {
  --KanbanGroup-width: 500px;
}

.o_dashboard_graph {
  position: relative;
  margin: 16px -16px;
}

.o_dashboard_graph canvas {
  height: 150px;
}

.o_sample_data .o_dashboard_graph.o_graph_linechart > svg g.nv-linesWrap g.nv-group.nv-series-0 {
  fill: gray !important;
  opacity: 0.1;
}



/* /account/static/src/scss/account_searchpanel.scss */

.o_search_panel.account_root {
  padding: 6px !important;
  scrollbar-width: thin;
  min-width: 55px;
}

.o_search_panel.account_root > button:first-child {
  display: none;
}

.o_search_panel.account_root .o_search_panel_section_header {
  display: none;
}

.o_search_panel.account_root .list-group-item span.o_search_panel_label_title {
  display: contents;
}

.o_search_panel.account_root .o_search_panel_category_value {
  padding-right: 0 !important;
}

.o_search_panel.account_root .o_search_panel_category_value header {
  margin-left: 0;
}

.o_search_panel.account_root .o_search_panel_category_value .o_toggle_fold:empty {
  width: 0;
}

.o_search_panel.account_root .o_search_panel_category_value .o_search_panel_category_value {
  padding-left: 1.2rem !important;
}

.o_search_panel.account_root .o_search_panel_category_value .o_search_panel_category_value .o_toggle_fold {
  width: 0.3rem;
}

.o_search_panel.account_root::-webkit-scrollbar {
  width: 4px;
}

.o_search_panel.account_root::-webkit-scrollbar-thumb {
  background: lightgray;
}



/* /account/static/src/scss/account_payment_term.scss */

.o_example_note {
  padding-left: 6.5px;
  padding-right: 6.5px;
}

.o_example_note div.o_draggable {
  display: none;
}

.o_example_note div#note_0 {
  padding-left: 0px;
}

.o_example_note div#note_0:not(:focus) {
  border-color: #B9B9B9;
}

.o_example_note .note_editable {
  margin-right: 2px;
}

.o_example_note p {
  margin-bottom: 0;
}

.o_example_date {
  width: 20% !important;
}



/* /account/static/src/scss/account_reconcile_model.scss */

.o_show_selection_caret {
  background: transparent url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='7' height='4' viewBox='0 0 7 4'><polygon fill='%23343a40' points='3.5 4 7 0 0 0'/></svg>") no-repeat right center;
}



/* /account/static/src/scss/account_multi_ledger.scss */

.o_view_nocontent .o_view_nocontent_multi_ledger {
  width: 300px;
  height: 230px;
  background: transparent url(/account/static/src/img/multi_ledger.svg) no-repeat center;
  background-size: 300px 230px;
  margin: 0.65rem auto;
}



/* /account/static/src/components/account_file_uploader/account_file_uploader.scss */

.o_widget_account_file_uploader button.oe_kanban_action a {
  color: var(--btn-color);
}



/* /account/static/src/components/bill_guide/bill_guide.scss */

.o_view_nocontent .o_nocontent_help:has(> .bill_guide_container) {
  min-width: 65vw;
}

@media (min-width: 100mm) {
  .bill_guide_container {
    min-width: 400px;
  }
}

.bill_guide_container .bill_guide_left, .bill_guide_container .bill_guide_right {
  width: 45%;
}

.bill_guide_container .separator_wrapper {
  width: 10%;
}

.account_drag_drop_btn {
  border-style: dashed !important;
  border-color: #714B67;
  background-color: #F2EDF0;
}



/* /account/static/src/components/document_state/document_state_field.scss */

.account_document_state_popover {
  width: 500px;
}

.account_document_state_popover_clone:hover {
  color: #017e84 !important;
  cursor: pointer;
}



/* /account/static/src/components/product_label_section_and_note_field/product_label_section_and_note_field.scss */

.o_field_product_label_section_and_note_cell {
  height: auto !important;
}

.o_field_product_label_section_and_note_cell textarea {
  resize: none;
}



/* /account/static/src/components/section_and_note_fields_backend/section_and_note_backend.scss */

table.o_section_and_note_list_view tr.o_data_row.o_is_line_note,
table.o_section_and_note_list_view tr.o_data_row.o_is_line_note textarea[name="name"],
div.oe_kanban_card.o_is_line_note {
  font-style: italic;
}

table.o_section_and_note_list_view tr.o_data_row.o_is_line_section,
div.oe_kanban_card.o_is_line_section {
  font-weight: bold;
  background-color: #DDDDDD;
}

table.o_section_and_note_list_view tr.o_data_row.o_is_line_section {
  border-top: 1px solid #BBB;
  border-bottom: 1px solid #BBB;
}

table.o_section_and_note_list_view tr.o_data_row.o_is_line_note td, table.o_section_and_note_list_view tr.o_data_row.o_is_line_section td {
  border: none !important;
}

.o_field_section_and_note_text > span {
  white-space: pre-wrap !important;
}



/* /account/static/src/components/tax_autocomplete/tax_autocomplete.scss */

.tax_autocomplete_grid {
  display: grid;
  grid-template-columns: minmax(auto, 1fr) minmax(auto, 1fr);
  gap: 1em;
}



/* /account/static/src/components/tax_totals/tax_totals.css */
.o_tax_group { width: 0% }

.o_tax_group_edit {
    white-space: nowrap;
}

.o_tax_group_edit:hover {
    color: #00A09D;
    cursor: pointer;
}

.o_tax_group_editable .o_tax_group_amount_value input {
    width: 65%;
    float: right;
    text-align: right;
}

.o_tax_group_editable .o_tax_group_amount_value::before {
    content: ' ';
}

.o_tax_total_label{
    margin-bottom: 0 !important;
}


/* /account/static/src/components/upload_drop_zone/upload_drop_zone.scss */

.o_drop_area {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  position: absolute;
  background-color: grey;
  z-index: 3;
  left: -1px;
  top: -1px;
}

.o_drop_area i {
  justify-content: center;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  height: 100%;
}

.o_drop_area .upload_badge {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
}



/* /account/static/src/views/account_dashboard_kanban/account_dashboard_kanban.scss */

.o_account_dashboard_kanban_view .o_drop_area {
  background-color: white;
  border: 1px dashed #dee2e6;
}

.o_account_dashboard_kanban_view .o_drop_area.drag_to_card {
  border-color: #714B67;
  background-color: #F2EDF0;
}

.file_upload_kanban_action_a {
  padding: 0;
}

.file_upload_kanban_action_a > a {
  margin: auto auto auto -5px;
  padding: 3px 5px;
  color: #343a40;
  display: block;
}

.file_upload_kanban_action_a > a:hover {
  background-color: rgba(0, 0, 0, 0.08);
  color: #212529;
}

.file_upload_kanban_action_a:last-child {
  margin-bottom: 5px;
}



/* /payment/static/src/scss/payment_provider.scss */

.o_form_view .o_payment_provider_desc {
  margin-top: 10px;
}

.o_form_view .o_payment_provider_desc ul {
  list-style-type: none;
  padding: 0;
}

.o_form_view .o_payment_provider_desc ul i.fa {
  margin-right: 5px;
}

.o_form_view .o_payment_provider_desc ul i.fa.fa-check {
  color: green;
}

.o_form_view .o_warning_text {
  color: #f0ad4e;
}



/* /utm/static/src/scss/utm_views.scss */

.o_utm_kanban .o_kanban_renderer {
  --KanbanRecord-width: 367px;
  --KanbanGroup-padding-h: 6.5px;
  --KanbanGroup-padding-bottom: 26px;
}

.o_utm_kanban .o_kanban_renderer #o_utm_actions > a {
  padding: var(--KanbanRecord-gap-inner-v) var(--KanbanRecord-padding-h);
  white-space: nowrap;
}



/* /sale/static/src/scss/sale_onboarding.scss */

.o_onboarding_order_confirmation span.o_onboarding_order_confirmation_help img {
  display: none;
  position: absolute;
  bottom: 0;
}

.o_onboarding_order_confirmation span.o_onboarding_order_confirmation_help:hover img {
  display: block;
}



/* /sale/static/src/js/sale_action_helper/sale_action_helper.scss */

.o_sale_action_preview i {
  color: white;
}

.o_sale_action_preview > div {
  background-color: rgba(0, 0, 0, 0.15);
  transition: .5s;
}

.o_sale_action_preview:hover > div {
  background-color: rgba(0, 0, 0, 0.3);
  transition: .5s;
}



/* /sale/static/src/js/combo_configurator_dialog/combo_configurator_dialog.scss */

.combo-item-grid {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}

@media (max-width: 187.98mm) {
  .sale-combo-configurator-dialog .css_quantity .form-control {
    max-width: inherit;
  }
}



/* /sale/static/src/js/product/product.scss */

.table.o_sale_product_configurator_table tr:first-child > td {
  padding-top: 0 !important;
}

.table.o_sale_product_configurator_table > :not(caption) > *:last-child > * {
  border-bottom: 0;
}

.o_sale_product_configurator_img {
  width: 40px;
  max-height: 240px;
}

@media (min-width: 188mm) {
  .o_sale_product_configurator_img {
    width: 120px;
  }
}

.o_sale_product_configurator_qty {
  width: 64px;
}

@media (min-width: 188mm) {
  .o_sale_product_configurator_qty {
    width: 160px;
  }
}

.o_sale_product_configurator_price {
  width: 100px;
}

@media (min-width: 188mm) {
  .o_sale_product_configurator_price {
    width: 160px;
  }
}



/* /sale/static/src/js/product_card/product_card.scss */

.product-card .card-header img {
  aspect-ratio: 1;
  object-fit: contain;
}

.product-card:hover {
  border: 1px solid #714B67;
}

.product-card.selected {
  border: 2px solid #714B67;
}



/* /sale/static/src/js/product_template_attribute_line/product_template_attribute_line.scss */

@media (min-width: 190mm) {
  .o_sale_product_configurator_table div[name="ptal"] > div {
    align-items: center;
  }
}

.o_sale_product_configurator_table div[name="ptal"] > div:has(.form-check) {
  align-items: flex-start;
}

.o_sale_product_configurator_ptav_color {
  border: 5px solid #dee2e6;
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.o_sale_product_configurator_ptav_color .form-check-input:not(:disabled), .o_sale_product_configurator_ptav_color .form-check-input:not(:disabled) + label {
  cursor: pointer;
}

.o_sale_product_configurator_ptav_color:hover, .o_sale_product_configurator_ptav_color:hover .form-check-input:not(:disabled) {
  border-color: #017e84;
}

.o_sale_product_configurator_ptav_color:before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: -3px;
  bottom: -3px;
  right: -3px;
  border: 4px solid white;
  border-radius: 50%;
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.3);
}

.o_sale_product_configurator_ptav_color input {
  margin: 8px;
  height: 13px;
  width: 13px;
  opacity: 0;
}

.o_sale_product_configurator_ptav_color.active {
  border: 5px solid #714B67;
}

.o_sale_product_configurator_ptav_color.custom_value {
  background-image: linear-gradient(to bottom right, #FF0000, #FFF200, #1E9600);
}

.o_sale_product_configurator_ptav_color.transparent {
  background-image: url(/web/static/img/transparent.png);
}

.o_sale_product_configurator_ptav_color.css_not_available {
  opacity: 1;
}

.o_sale_product_configurator_ptav_color.css_not_available:after {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  bottom: -5px;
  right: -5px;
  border: 2px solid #d44c59;
  border-radius: 50%;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='39' height='39'><line y2='0' x2='39' y1='39' x1='0' style='stroke:%23d44c59;stroke-width:2'/><line y2='1' x2='40' y1='40' x1='1' style='stroke:rgb(255,255,255);stroke-width:1'/></svg>");
  background-position: center;
  background-repeat: no-repeat;
}

.o_sale_product_configurator_ptav_pills.active label {
  background-color: #e6f2f3;
  border-color: #017e84;
  color: #212529;
}

.css_not_available {
  opacity: 0.6;
}

option.css_not_available {
  opacity: 1;
  color: #ccc;
}



/* /sale/static/src/js/quantity_buttons/quantity_buttons.scss */

input[name="sale_quantity"] {
  max-width: 4rem;
}

input[name="sale_quantity"]::-webkit-outer-spin-button, input[name="sale_quantity"]::-webkit-inner-spin-button {
  -webkit--webkit-appearance: none; -moz-appearance: none; appearance: none;
  margin: 0;
}

input[name="sale_quantity"][type=number] {
  -moz--webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield;
}



/* /sale/static/src/js/sale_product_field.scss */

.o_field_sol_o2m ~ .row.o_group {
  clear: both;
  justify-content: space-between;
}



/* /google_recaptcha/static/src/scss/recaptcha_backend.scss */

.o_settings_container .o_setting_box [name="module_google_recaptcha"] {
  pointer-events: none;
  display: none;
}

.o_settings_container .o_setting_box label[for^="module_google_recaptcha"] {
  pointer-events: none;
}



/* /website/static/src/components/resource_editor/resource_editor.scss */

.o_resource_editor {
  background: #2F3129;
  color: white;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
  opacity: 0.97;
}

.o_resource_editor .o_resource_editor_title {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  padding: 6.5px;
}

.o_resource_editor .o_resource_editor_title > .o_resource_editor_type_switcher > button::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: middle;
  -moz-transform: scale(0.9999);
  border-bottom: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid var(--o-caret-color, currentColor);
  margin-left: 4px;
}

.o_resource_editor .o_resource_editor_title > * {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  margin: 0 6.5px;
}

.o_resource_editor .o_resource_editor_title > *.o_resource_editor_filter {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  font-size: 11px;
}

.o_resource_editor .o_resource_editor_title > *.o_resource_editor_resource_list {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  min-width: 60px;
}

.o_resource_editor #resource-editor-id {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  padding: 6.5px 13px;
  background-color: #4a4d40;
}

.o_resource_editor #resource-editor-id .o_resource_editor_resource_info {
  color: #ebecee;
}

.o_resource_editor #resource-editor {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
}

.o_resource_editor #resource-editor .ace_gutter .ace_gutter-cell.o_error {
  position: relative;
}

.o_resource_editor #resource-editor .ace_gutter .ace_gutter-cell.o_error::before {
  position: absolute;
  top: -100vh;
  left: auto;
  bottom: -100vh;
  right: 0;
  content: "";
  z-index: 1000;
  display: -webkit-box; display: -webkit-flex; display: flex;
  background-color: #e6586c;
  color: white;
  font-size: 1.2em;
  align-items: center;
  justify-content: center;
  cursor: help;
  width: 2px;
}

.o_resource_editor #resource-editor .ace_gutter .ace_gutter-cell.o_error::after {
  position: absolute;
  top: -100%;
  left: 0;
  bottom: -100%;
  right: 0;
  content: "";
  z-index: 1000;
  display: -webkit-box; display: -webkit-flex; display: flex;
  background-color: #e6586c;
  color: white;
  font-size: 1.2em;
  align-items: center;
  justify-content: center;
  cursor: help;
  font-family: FontAwesome;
  content: "\f071";
}



/* /website/static/src/components/edit_head_body_dialog/edit_head_body_dialog.scss */

.o_website_code_editor_field {
  height: 300px;
}



/* /website/static/src/components/dialog/add_page_dialog.scss */

.o_website_page_templates_dialog {
  max-height: 980px !important;
}

.o_website_page_templates_dialog .modal-body {
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding: 0;
}

.o_website_page_templates_dialog .modal-body .nav {
  width: 200px;
}

.o_website_page_templates_dialog .o_website_page_templates_pane.active {
  z-index: 1;
}

.o_website_page_templates_dialog .o_page_template {
  width: 275px;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.16);
}

@media (max-width: 219.98mm) {
  .o_website_page_templates_dialog .o_page_template {
    width: 220px;
  }
}

@media (max-width: 189.98mm) {
  .o_website_page_templates_dialog .o_page_template {
    width: 408px;
  }
}

.o_website_page_templates_dialog .o_page_template .o_page_template_preview {
  height: 300px;
  min-height: 100px;
  padding: 0;
  overflow: hidden;
}

.o_website_page_templates_dialog .o_page_template .o_page_template_preview iframe {
  width: 1024px;
  transform: scale(0.26855469);
  transform-origin: 0 0;
}

@media (max-width: 219.98mm) {
  .o_website_page_templates_dialog .o_page_template .o_page_template_preview iframe {
    transform: scale(0.21484375);
  }
}

@media (max-width: 189.98mm) {
  .o_website_page_templates_dialog .o_page_template .o_page_template_preview iframe {
    transform: scale(0.3984375);
  }
}

.o_website_page_templates_dialog .o_page_template .o_page_template_preview, .o_website_page_templates_dialog .o_page_template .o_page_template_preview iframe {
  opacity: 0;
  transition: height 300ms ease-in, opacity 300ms ease 300ms;
}

.o_website_page_templates_dialog .o_page_template .placeholder {
  transition: opacity 1s ease;
}

.o_website_page_templates_dialog .o_page_template .o_button_area {
  opacity: 0;
  outline: 2px solid #01bad2;
  outline-offset: -1px;
}

.o_website_page_templates_dialog .o_page_template:empty {
  opacity: 0;
}

.o_website_page_templates_dialog .o_page_template.o_loading {
  cursor: wait;
}

.o_website_page_templates_dialog .o_page_template.o_ready .placeholder {
  animation: none;
  opacity: 0;
}

.o_website_page_templates_dialog .o_page_template.o_ready .o_page_template_preview, .o_website_page_templates_dialog .o_page_template.o_ready iframe {
  opacity: 1;
}

.o_website_page_templates_dialog .o_page_template.o_ready:hover {
  box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.2);
}

.o_website_page_templates_dialog .o_page_template.o_ready:hover .o_button_area {
  opacity: 1;
}



/* /website/static/src/components/dialog/dialog.scss */

.o_website_dialog label {
  font-weight: 500;
}



/* /website/static/src/components/dialog/page_properties.scss */

.o_page_dependencies .popover-body {
  overflow-y: auto;
  max-height: 14.2rem;
}



/* /website/static/src/components/dialog/seo.scss */

.oe_seo_configuration {
  --seo__preview-title-color: #1a0dab;
}

.oe_seo_configuration #language-box {
  padding-right: 25px;
  background-color: white;
}

.oe_seo_configuration select {
  background-position: bottom 50% right 1em;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img {
  position: relative;
  transition: border-color 200ms;
  display: inline-block;
  border: 2px solid #ced4da;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img > img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  cursor: pointer;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img:hover {
  border-color: #714B67;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img.o_active_image {
  border-color: #714B67;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img.o_active_image:before {
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: 0;
  content: '';
  border: 16px solid rgba(113, 75, 103, 0.8);
  border-left-color: transparent;
  border-bottom-color: transparent;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img.o_active_image:after {
  position: absolute;
  top: 2px;
  left: auto;
  bottom: auto;
  right: 3px;
  display: inline-block;
  content: "\f00c";
  font-family: FontAwesome;
  color: white;
  font-size: 12px;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img .o-custom-label {
  position: absolute;
  top: auto;
  left: auto;
  bottom: 0px;
  right: auto;
  cursor: pointer;
  background: rgba(52, 58, 64, 0.6);
  font-size: 12px;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img_upload {
  cursor: pointer;
  transition: 200ms;
  display: inline-block;
  padding: 23px 27px;
  border: 3px dashed #949da5;
  vertical-align: top;
  color: #bcc1c6;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img_upload:hover {
  border-color: #714B67;
  color: #714B67;
}

.oe_seo_configuration .o_seo_og_image .o_meta_active_img {
  height: 240px;
  object-fit: cover;
}

.oe_seo_configuration div.oe_seo_preview_g {
  list-style: none;
  font-family: arial, sans-serif;
}

.oe_seo_configuration div.oe_seo_preview_g .r {
  cursor: pointer;
  color: var(--seo__preview-title-color);
  font-size: 18px;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-text-overflow: ellipsis;
  white-space: nowrap;
}

.oe_seo_configuration div.oe_seo_preview_g .s {
  font-size: 13px;
  line-height: 18px;
  color: #545454;
}

.oe_seo_configuration div.oe_seo_preview_g .s .kv {
  font-size: 14px;
  line-height: 18px;
}

.oe_seo_configuration td.o_seo_keyword_suggestion span.o_seo_suggestion.badge {
  cursor: pointer;
}



/* /website/static/src/components/editor/editor.scss */

.editor_has_snippets .o_notification_manager, .editor_has_dummy_snippets .o_notification_manager {
  position: absolute;
  top: 6.5px;
  left: auto;
  bottom: auto;
  right: calc(288px + 0.5rem);
}

.ui-autocomplete.o_website_ui_autocomplete {
  max-width: 400px;
  font-size: 12px;
  border: none;
  background-color: #141217;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.5);
}

.ui-autocomplete.o_website_ui_autocomplete > li {
  border-bottom: 1px solid #262626;
  border-radius: 4px;
  background-color: #595964;
}

.ui-autocomplete.o_website_ui_autocomplete > li > .dropdown-item,
.ui-autocomplete.o_website_ui_autocomplete > li > .dropdown-item:focus,
.ui-autocomplete.o_website_ui_autocomplete > li > .dropdown-item.ui-state-active {
  color: #D9D9D9;
}

.ui-autocomplete.o_website_ui_autocomplete > li.ui-menu-item > div {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 20px;
}

.ui-autocomplete.o_website_ui_autocomplete > li.ui-menu-item > div.ui-state-active {
  border: 1px solid transparent;
  background-color: #2b2b33;
}

.ui-autocomplete.o_website_ui_autocomplete > li.ui-autocomplete-category {
  background-color: #3e3e46;
}

.ui-autocomplete.o_website_ui_autocomplete > li.ui-autocomplete-category a:hover > {
  color: #D9D9D9;
}

.o_we_slider_tint input[type="range"] {
  background: linear-gradient(to right, #F00 0%, #FF0 16.66%, #0F0 33.33%, #0FF 50%, #00F 66.66%, #F0F 83.33%, #F00 100%);
  height: 10px !important;
  padding: 0 !important;
  cursor: pointer;
}

.o_we_slider_tint input[type="range"]::-webkit-slider-runnable-track {
  background-color: transparent !important;
  margin: 0 -5px 0 -5px;
}

.o_we_slider_tint input[type="range"]::-moz-range-track {
  background-color: transparent !important;
  margin: 0 -5px 0 -5px;
}

.o_we_slider_tint input[type="range"]::-moz-range-progress {
  background-color: transparent !important;
  margin: 0 -5px 0 -5px;
}

.o_we_slider_tint input[type="range"]::-webkit-slider-thumb {
  appearance: none !important;
  height: 20px !important;
  border: 1px solid #191922 !important;
  box-shadow: inset 0 0 0 1px white !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-top: -5% !important;
}

.o_we_slider_tint input[type="range"]::-moz-range-thumb {
  appearance: none !important;
  height: 20px !important;
  border: 1px solid #191922 !important;
  box-shadow: inset 0 0 0 1px white !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-top: -5% !important;
}

.o_we_gray_preview {
  cursor: pointer;
}

.o_we_gray_preview span {
  flex: 1;
  margin: 0 !important;
  height: 20px;
  min-width: 0 !important;
}

.o_we_gray_preview div {
  width: 100%;
}

.o_w_wysiwyg #oe_snippets, .o_loading_dummy #oe_snippets {
  transform: none;
  transition: none;
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc1 {
  background-color: var(--we-cp-o-cc1-bg);
  background-image: var(--we-cp-o-cc1-bg-gradient), url("/web/static/img/transparent.png");
  color: var(--we-cp-o-cc1-text);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc1 h1, .o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc1 h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .h1 {
  color: var(--we-cp-o-cc1-headings);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .btn-primary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .btn-primary {
  background-color: var(--we-cp-o-cc1-btn-primary);
  color: var(--we-cp-o-cc1-btn-primary-text);
  border-color: var(--we-cp-o-cc1-btn-primary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .btn-secondary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc1 .btn-secondary {
  background-color: var(--we-cp-o-cc1-btn-secondary);
  color: var(--we-cp-o-cc1-btn-secondary-text);
  border-color: var(--we-cp-o-cc1-btn-secondary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc2, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc2 {
  background-color: var(--we-cp-o-cc2-bg);
  background-image: var(--we-cp-o-cc2-bg-gradient), url("/web/static/img/transparent.png");
  color: var(--we-cp-o-cc2-text);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc2 h1, .o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc2 h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .h1 {
  color: var(--we-cp-o-cc2-headings);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .btn-primary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .btn-primary {
  background-color: var(--we-cp-o-cc2-btn-primary);
  color: var(--we-cp-o-cc2-btn-primary-text);
  border-color: var(--we-cp-o-cc2-btn-primary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .btn-secondary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc2 .btn-secondary {
  background-color: var(--we-cp-o-cc2-btn-secondary);
  color: var(--we-cp-o-cc2-btn-secondary-text);
  border-color: var(--we-cp-o-cc2-btn-secondary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc3, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc3 {
  background-color: var(--we-cp-o-cc3-bg);
  background-image: var(--we-cp-o-cc3-bg-gradient), url("/web/static/img/transparent.png");
  color: var(--we-cp-o-cc3-text);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc3 h1, .o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc3 h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .h1 {
  color: var(--we-cp-o-cc3-headings);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .btn-primary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .btn-primary {
  background-color: var(--we-cp-o-cc3-btn-primary);
  color: var(--we-cp-o-cc3-btn-primary-text);
  border-color: var(--we-cp-o-cc3-btn-primary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .btn-secondary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc3 .btn-secondary {
  background-color: var(--we-cp-o-cc3-btn-secondary);
  color: var(--we-cp-o-cc3-btn-secondary-text);
  border-color: var(--we-cp-o-cc3-btn-secondary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc4, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc4 {
  background-color: var(--we-cp-o-cc4-bg);
  background-image: var(--we-cp-o-cc4-bg-gradient), url("/web/static/img/transparent.png");
  color: var(--we-cp-o-cc4-text);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc4 h1, .o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc4 h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .h1 {
  color: var(--we-cp-o-cc4-headings);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .btn-primary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .btn-primary {
  background-color: var(--we-cp-o-cc4-btn-primary);
  color: var(--we-cp-o-cc4-btn-primary-text);
  border-color: var(--we-cp-o-cc4-btn-primary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .btn-secondary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc4 .btn-secondary {
  background-color: var(--we-cp-o-cc4-btn-secondary);
  color: var(--we-cp-o-cc4-btn-secondary-text);
  border-color: var(--we-cp-o-cc4-btn-secondary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc5, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc5 {
  background-color: var(--we-cp-o-cc5-bg);
  background-image: var(--we-cp-o-cc5-bg-gradient), url("/web/static/img/transparent.png");
  color: var(--we-cp-o-cc5-text);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc5 h1, .o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc5 h1, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .h1 {
  color: var(--we-cp-o-cc5-headings);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .btn-primary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .btn-primary {
  background-color: var(--we-cp-o-cc5-btn-primary);
  color: var(--we-cp-o-cc5-btn-primary-text);
  border-color: var(--we-cp-o-cc5-btn-primary-border);
}

.o_w_wysiwyg #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .btn-secondary, .o_loading_dummy #oe_snippets .o_we_cc_preview_wrapper.o_cc5 .btn-secondary {
  background-color: var(--we-cp-o-cc5-btn-secondary);
  color: var(--we-cp-o-cc5-btn-secondary-text);
  border-color: var(--we-cp-o-cc5-btn-secondary-border);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc1 .btn-primary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc1 .btn-primary {
  background-color: transparent;
  color: var(--we-cp-o-cc1-btn-primary);
  border-color: var(--we-cp-o-cc1-btn-primary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc1 .btn-primary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc1 .btn-primary:hover {
  background-color: var(--we-cp-o-cc1-btn-primary);
  color: var(--we-cp-o-cc1-btn-primary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc2 .btn-primary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc2 .btn-primary {
  background-color: transparent;
  color: var(--we-cp-o-cc2-btn-primary);
  border-color: var(--we-cp-o-cc2-btn-primary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc2 .btn-primary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc2 .btn-primary:hover {
  background-color: var(--we-cp-o-cc2-btn-primary);
  color: var(--we-cp-o-cc2-btn-primary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc3 .btn-primary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc3 .btn-primary {
  background-color: transparent;
  color: var(--we-cp-o-cc3-btn-primary);
  border-color: var(--we-cp-o-cc3-btn-primary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc3 .btn-primary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc3 .btn-primary:hover {
  background-color: var(--we-cp-o-cc3-btn-primary);
  color: var(--we-cp-o-cc3-btn-primary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc4 .btn-primary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc4 .btn-primary {
  background-color: transparent;
  color: var(--we-cp-o-cc4-btn-primary);
  border-color: var(--we-cp-o-cc4-btn-primary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc4 .btn-primary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc4 .btn-primary:hover {
  background-color: var(--we-cp-o-cc4-btn-primary);
  color: var(--we-cp-o-cc4-btn-primary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc5 .btn-primary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc5 .btn-primary {
  background-color: transparent;
  color: var(--we-cp-o-cc5-btn-primary);
  border-color: var(--we-cp-o-cc5-btn-primary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc5 .btn-primary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_primary .o_we_cc_preview_wrapper.o_cc5 .btn-primary:hover {
  background-color: var(--we-cp-o-cc5-btn-primary);
  color: var(--we-cp-o-cc5-btn-primary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc1 .btn-secondary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc1 .btn-secondary {
  background-color: transparent;
  color: var(--we-cp-o-cc1-btn-secondary);
  border-color: var(--we-cp-o-cc1-btn-secondary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc1 .btn-secondary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc1 .btn-secondary:hover {
  background-color: var(--we-cp-o-cc1-btn-secondary);
  color: var(--we-cp-o-cc1-btn-secondary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc2 .btn-secondary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc2 .btn-secondary {
  background-color: transparent;
  color: var(--we-cp-o-cc2-btn-secondary);
  border-color: var(--we-cp-o-cc2-btn-secondary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc2 .btn-secondary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc2 .btn-secondary:hover {
  background-color: var(--we-cp-o-cc2-btn-secondary);
  color: var(--we-cp-o-cc2-btn-secondary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc3 .btn-secondary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc3 .btn-secondary {
  background-color: transparent;
  color: var(--we-cp-o-cc3-btn-secondary);
  border-color: var(--we-cp-o-cc3-btn-secondary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc3 .btn-secondary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc3 .btn-secondary:hover {
  background-color: var(--we-cp-o-cc3-btn-secondary);
  color: var(--we-cp-o-cc3-btn-secondary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc4 .btn-secondary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc4 .btn-secondary {
  background-color: transparent;
  color: var(--we-cp-o-cc4-btn-secondary);
  border-color: var(--we-cp-o-cc4-btn-secondary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc4 .btn-secondary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc4 .btn-secondary:hover {
  background-color: var(--we-cp-o-cc4-btn-secondary);
  color: var(--we-cp-o-cc4-btn-secondary-text);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc5 .btn-secondary, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc5 .btn-secondary {
  background-color: transparent;
  color: var(--we-cp-o-cc5-btn-secondary);
  border-color: var(--we-cp-o-cc5-btn-secondary);
}

.o_w_wysiwyg #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc5 .btn-secondary:hover, .o_loading_dummy #oe_snippets.o_we_has_btn_outline_secondary .o_we_cc_preview_wrapper.o_cc5 .btn-secondary:hover {
  background-color: var(--we-cp-o-cc5-btn-secondary);
  color: var(--we-cp-o-cc5-btn-secondary-text);
}

.o_loading_dummy {
  position: absolute;
  z-index: 1050;
}

.o_website_fullscreen #oe_snippets {
  transform: translateX(100%);
}

.o_w_wysiwyg_transition #oe_snippets {
  transition: transform ease 400ms;
}

.ui-widget.ui-autocomplete.o_website_ui_autocomplete .ui-menu-item > a:hover {
  color: #D9D9D9;
}

.ui-widget.ui-autocomplete.o_website_ui_autocomplete .ui-menu-item.ui-autocomplete-category > a:hover {
  cursor: default;
}



/* /website/static/src/components/navbar/navbar.scss */

.o_menu_systray.o_website_systray {
  --NavBar-entry-padding-left: 0.63em;
  --NavBar-entry-padding-right: 0.63em;
  --NavBar-separator-margin-v: 10px;
  --border-color: #52374b;
}

.o_menu_systray.o_website_systray .o_user_menu {
  margin: -10px 0;
  border-right: 1px solid var(--border-color);
  padding: 10px 0;
}

.o_menu_systray.o_website_systray .o_nav_entry, .o_menu_systray.o_website_systray .o_menu_systray_item > a, .o_menu_systray.o_website_systray .o_menu_systray_item > button {
  height: auto;
  margin-top: -10px;
  margin-bottom: -10px;
  padding-top: 10px;
  padding-bottom: 10px;
}

.o_menu_systray.o_website_systray .o_website_systray_separator {
  margin: var(--NavBar-separator-margin-v) 0;
}



/* /website/static/src/components/switch/switch.scss */

.o_switch {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  font-weight: normal;
  cursor: pointer;
}

.o_switch.o_switch_disabled {
  opacity: 50%;
  pointer-events: none;
}

.o_switch > input {
  display: none;
}

.o_switch > input + span {
  border-radius: 1.2em;
  width: 2.04em;
  padding-left: 3px;
  padding-right: 3px;
  background-color: rgba(52, 58, 64, 0.4);
  font-size: 1.308em;
  line-height: 1.2em;
  color: rgba(52, 58, 64, 0.4);
  transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

.o_switch > input + span:after {
  content: "\f057";
  font-family: 'FontAwesome';
  color: white;
  transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}

.o_switch > input:checked + span {
  background: #714B67;
}

.o_switch > input:checked + span:after {
  content: "\f058";
  margin-left: 0.84em;
}

.o_switch.o_switch_danger_success > input:not(:checked) + span {
  background: #e6586c;
}

.o_switch.o_switch_danger_success > input:checked + span {
  background: #40ad67;
}



/* /website/static/src/components/translator/translator.scss */

.oe_translate_examples li {
  margin: 10px;
  padding: 4px;
}

.oe_translate_examples li[data-oe-translation-state] {
  background: rgba(120, 215, 110, 0.5);
}

.oe_translate_examples li[data-oe-translation-state="to_translate"] {
  background: rgba(255, 255, 90, 0.5);
}



/* /website/static/src/systray_items/edit_website.scss */

.o-website-btn-custo-primary {
  --btn-color: #FFF;
  --btn-bg: #17a2b8;
  --btn-border-color: #17a2b8;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #148a9c;
  --btn-hover-border-color: #128293;
  --btn-focus-shadow-rgb: 58, 176, 195;
  --btn-active-color: #FFF;
  --btn-active-bg: #128293;
  --btn-active-border-color: #117a8a;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #17a2b8;
  --btn-disabled-border-color: #17a2b8;
}



/* /website/static/src/systray_items/mobile_preview.scss */

.o_mobile_preview_active span.fa {
  color: #40ad67;
}



/* /website/static/src/systray_items/new_content.scss */

@keyframes fadeInDownSmall {
  0% {
    opacity: 0;
    transform: translate(0, -5px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}

.o-website-btn-custo-secondary {
  --btn-color: #343a40;
  --btn-bg: #f2f2f2;
  --btn-border-color: #f2f2f2;
  --btn-hover-color: #000;
  --btn-hover-bg: #e6e6e6;
  --btn-hover-border-color: #f4f4f4;
  --btn-focus-shadow-rgb: 214, 215, 216;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f4f4f4;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #f2f2f2;
  --btn-disabled-border-color: #f2f2f2;
}

#o_new_content_menu_choices {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: fixed;
  display: -webkit-box; display: -webkit-flex; display: flex;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, "Noto Sans", Arial, "Odoo Unicode Support Noto", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  z-index: 1029;
}

#o_new_content_menu_choices::before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: -1;
  pointer-events: none;
}

#o_new_content_menu_choices .container, #o_new_content_menu_choices .o_container_small {
  max-width: 720px;
  margin: auto;
}

#o_new_content_menu_choices .o_new_content_element {
  opacity: 0;
  animation: fadeInDownSmall 1s forwards;
}

#o_new_content_menu_choices .o_new_content_element .o_uninstalled_module {
  filter: brightness(70%) contrast(60%);
}

#o_new_content_menu_choices .o_new_content_element .module_icon {
  display: block;
  margin: auto;
}

#o_new_content_menu_choices .o_new_content_element a {
  display: block;
  font-size: 34px;
  text-align: center;
  text-decoration: none;
}

#o_new_content_menu_choices .o_new_content_element a i {
  width: 110px;
  height: 110px;
  border: 3px solid #434352;
  border-radius: 100%;
  line-height: 104px;
  background-color: #2C2C36;
  color: white;
  transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}

#o_new_content_menu_choices .o_new_content_element a p {
  color: white;
  margin-top: 0.7em;
  font-size: 0.5em;
}

#o_new_content_menu_choices .o_new_content_element a:hover, #o_new_content_menu_choices .o_new_content_element a:focus {
  text-decoration: none;
  outline: none;
}

#o_new_content_menu_choices .o_new_content_element a:hover i, #o_new_content_menu_choices .o_new_content_element a:focus i {
  border-color: #1cc1a9;
  box-shadow: 0 0 10px rgba(28, 193, 169, 0.46);
}



/* /website_enterprise/static/src/components/navbar/navbar.scss */

.o_menu_systray.o_website_systray {
  --NavBar-entry-margin-left: 0.315em;
  --NavBar-entry-margin-right: 0.315em;
  --NavBar-separator-margin-v: 0;
  --border-color: #dee2e6;
}



/* /website_enterprise/static/src/systray_items/edit_website.scss */

.o-website-btn-custo-primary {
  --btn-color: #FFF;
  --btn-bg: #714B67;
  --btn-border-color: #714B67;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #604058;
  --btn-hover-border-color: #5a3c52;
  --btn-focus-shadow-rgb: 134, 102, 126;
  --btn-active-color: #FFF;
  --btn-active-bg: #5a3c52;
  --btn-active-border-color: #55384d;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #714B67;
  --btn-disabled-border-color: #714B67;
}



/* /website/static/src/scss/color_palettes.scss */

:root {
  --o-we-toolbar-height: 46px;
  --o-palette-default-light-1-o-color-1: #7ED1ED;
  --o-palette-default-light-1-o-color-2: #FDE5C1;
  --o-palette-default-light-1-o-color-3: #FFFBF6;
  --o-palette-default-light-1-o-color-4: #FFFFFF;
  --o-palette-default-light-1-o-color-5: #384347;
  --o-palette-default-light-1-menu-bg: #FFFFFF;
  --o-palette-default-light-1-footer-bg: #384347;
  --o-palette-default-light-2-o-color-1: #80BBFF;
  --o-palette-default-light-2-o-color-2: #FFE2EF;
  --o-palette-default-light-2-o-color-3: #FAFAFA;
  --o-palette-default-light-2-o-color-4: #FFFFFF;
  --o-palette-default-light-2-o-color-5: #191A1E;
  --o-palette-default-light-2-menu-bg: #FFFFFF;
  --o-palette-default-light-2-footer-bg: #191A1E;
  --o-palette-default-light-4-o-color-1: #CDB4DB;
  --o-palette-default-light-4-o-color-2: #FFDAE8;
  --o-palette-default-light-4-o-color-3: #F9F8F8;
  --o-palette-default-light-4-o-color-4: #FFFFFF;
  --o-palette-default-light-4-o-color-5: #765378;
  --o-palette-default-light-4-menu-bg: #FFFFFF;
  --o-palette-default-light-4-footer-bg: #765378;
  --o-palette-default-light-3-o-color-1: #D2C4FB;
  --o-palette-default-light-3-o-color-2: #AFF8C8;
  --o-palette-default-light-3-o-color-3: #F8FBFF;
  --o-palette-default-light-3-o-color-4: #FFFFFF;
  --o-palette-default-light-3-o-color-5: #0F2830;
  --o-palette-default-light-3-menu-bg: #FFFFFF;
  --o-palette-default-light-3-footer-bg: #0F2830;
  --o-palette-default-light-5-o-color-1: #B8B8FF;
  --o-palette-default-light-5-o-color-2: #FFF4DD;
  --o-palette-default-light-5-o-color-3: #F9F8F8;
  --o-palette-default-light-5-o-color-4: #FFFFFF;
  --o-palette-default-light-5-o-color-5: #202642;
  --o-palette-default-light-5-menu-bg: #FFFFFF;
  --o-palette-default-light-5-footer-bg: #202642;
  --o-palette-default-24-o-color-1: #ffdfde;
  --o-palette-default-24-o-color-2: #6a7ba2;
  --o-palette-default-24-o-color-3: #f5f0f0;
  --o-palette-default-24-o-color-4: #FFFFFF;
  --o-palette-default-24-o-color-5: #2e1514;
  --o-palette-default-24-menu-bg: #FFFFFF;
  --o-palette-default-24-footer-bg: #2e1514;
  --o-palette-default-light-7-o-color-1: #F6A4A2;
  --o-palette-default-light-7-o-color-2: #FED9B7;
  --o-palette-default-light-7-o-color-3: #F7FDFD;
  --o-palette-default-light-7-o-color-4: #FFFFFF;
  --o-palette-default-light-7-o-color-5: #15616D;
  --o-palette-default-light-7-menu-bg: #FFFFFF;
  --o-palette-default-light-7-footer-bg: #15616D;
  --o-palette-default-light-6-o-color-1: #CE7282;
  --o-palette-default-light-6-o-color-2: #D5E1F3;
  --o-palette-default-light-6-o-color-3: #F5F5F5;
  --o-palette-default-light-6-o-color-4: #FFFFFF;
  --o-palette-default-light-6-o-color-5: #373947;
  --o-palette-default-light-6-menu-bg: #FFFFFF;
  --o-palette-default-light-6-footer-bg: #373947;
  --o-palette-default-light-11-o-color-1: #D2996C;
  --o-palette-default-light-11-o-color-2: #CEC8C3;
  --o-palette-default-light-11-o-color-3: #F7F3F3;
  --o-palette-default-light-11-o-color-4: #FFFFFF;
  --o-palette-default-light-11-o-color-5: #191009;
  --o-palette-default-light-11-menu-bg: #FFFFFF;
  --o-palette-default-light-11-footer-bg: #191009;
  --o-palette-default-light-14-o-color-1: #F7CB74;
  --o-palette-default-light-14-o-color-2: #629A7C;
  --o-palette-default-light-14-o-color-3: #F0F6F2;
  --o-palette-default-light-14-o-color-4: #FFFFFF;
  --o-palette-default-light-14-o-color-5: #285642;
  --o-palette-default-light-14-menu-bg: #FFFFFF;
  --o-palette-default-light-14-footer-bg: #285642;
  --o-palette-default-light-8-o-color-1: #8CB89F;
  --o-palette-default-light-8-o-color-2: #ECE4DF;
  --o-palette-default-light-8-o-color-3: #FBF8F2;
  --o-palette-default-light-8-o-color-4: #FFFFFF;
  --o-palette-default-light-8-o-color-5: #43594F;
  --o-palette-default-light-8-menu-bg: #FFFFFF;
  --o-palette-default-light-8-footer-bg: #43594F;
  --o-palette-default-6-o-color-1: #3DD5F3;
  --o-palette-default-6-o-color-2: #b73b23;
  --o-palette-default-6-o-color-3: #f0f4f5;
  --o-palette-default-6-o-color-4: #FFFFFF;
  --o-palette-default-6-o-color-5: #142a2e;
  --o-palette-default-6-menu-bg: #FFFFFF;
  --o-palette-default-6-footer-bg: #142a2e;
  --o-palette-default-7-o-color-1: #6EA8FE;
  --o-palette-default-7-o-color-2: #474973;
  --o-palette-default-7-o-color-3: #f0f2f5;
  --o-palette-default-7-o-color-4: #FFFFFF;
  --o-palette-default-7-o-color-5: #141e2e;
  --o-palette-default-7-menu-bg: #FFFFFF;
  --o-palette-default-7-footer-bg: #141e2e;
  --o-palette-default-8-o-color-1: #0AA2C0;
  --o-palette-default-8-o-color-2: #dbb4ac;
  --o-palette-default-8-o-color-3: #f0f4f5;
  --o-palette-default-8-o-color-4: #FFFFFF;
  --o-palette-default-8-o-color-5: #142a2e;
  --o-palette-default-8-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-8-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-8-o-cc4-text: 'o-color-3';
  --o-palette-default-8-o-cc4-link: 'o-color-4';
  --o-palette-default-8-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-8-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-8-o-cc5-text: 'o-color-3';
  --o-palette-default-8-o-cc5-link: 'o-color-4';
  --o-palette-default-8-menu-bg: #FFFFFF;
  --o-palette-default-8-footer-bg: #142a2e;
  --o-palette-default-9-o-color-1: #0A58CA;
  --o-palette-default-9-o-color-2: #e0ccaf;
  --o-palette-default-9-o-color-3: #f0f2f5;
  --o-palette-default-9-o-color-4: #FFFFFF;
  --o-palette-default-9-o-color-5: #141f2e;
  --o-palette-default-9-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-9-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-9-o-cc4-text: 'o-color-3';
  --o-palette-default-9-o-cc4-link: 'o-color-4';
  --o-palette-default-9-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-9-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-9-o-cc5-text: 'o-color-3';
  --o-palette-default-9-o-cc5-link: 'o-color-4';
  --o-palette-default-9-menu-bg: #FFFFFF;
  --o-palette-default-9-footer-bg: #141f2e;
  --o-palette-default-23-o-color-1: #195190;
  --o-palette-default-23-o-color-2: #a2a2a1;
  --o-palette-default-23-o-color-3: #f0f2f5;
  --o-palette-default-23-o-color-4: #FFFFFF;
  --o-palette-default-23-o-color-5: #14202e;
  --o-palette-default-23-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-23-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-23-o-cc4-text: 'o-color-3';
  --o-palette-default-23-o-cc4-link: 'o-color-4';
  --o-palette-default-23-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-23-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-23-o-cc5-text: 'o-color-3';
  --o-palette-default-23-o-cc5-link: 'o-color-4';
  --o-palette-default-23-menu-bg: #FFFFFF;
  --o-palette-default-23-footer-bg: #14202e;
  --o-palette-default-25-o-color-1: #5f4b8b;
  --o-palette-default-25-o-color-2: #e69a8d;
  --o-palette-default-25-o-color-3: #f2f0f5;
  --o-palette-default-25-o-color-4: #FFFFFF;
  --o-palette-default-25-o-color-5: #1d172b;
  --o-palette-default-25-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-25-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-25-o-cc4-text: 'o-color-3';
  --o-palette-default-25-o-cc4-link: 'o-color-4';
  --o-palette-default-25-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-25-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-25-o-cc5-text: 'o-color-3';
  --o-palette-default-25-o-cc5-link: 'o-color-4';
  --o-palette-default-25-menu-bg: #FFFFFF;
  --o-palette-default-25-footer-bg: #1d172b;
  --o-palette-default-12-o-color-1: #A370F7;
  --o-palette-default-12-o-color-2: #504746;
  --o-palette-default-12-o-color-3: #f2f0f5;
  --o-palette-default-12-o-color-4: #FFFFFF;
  --o-palette-default-12-o-color-5: #1e142e;
  --o-palette-default-12-menu-bg: #FFFFFF;
  --o-palette-default-12-footer-bg: #1e142e;
  --o-palette-default-10-o-color-1: #6610F2;
  --o-palette-default-10-o-color-2: #C97064;
  --o-palette-default-10-o-color-3: #f2f0f5;
  --o-palette-default-10-o-color-4: #FFFFFF;
  --o-palette-default-10-o-color-5: #1e142e;
  --o-palette-default-10-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-10-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-10-o-cc4-text: 'o-color-3';
  --o-palette-default-10-o-cc4-link: 'o-color-4';
  --o-palette-default-10-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-10-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-10-o-cc5-text: 'o-color-3';
  --o-palette-default-10-o-cc5-link: 'o-color-4';
  --o-palette-default-10-menu-bg: #FFFFFF;
  --o-palette-default-10-footer-bg: #1e142e;
  --o-palette-default-11-o-color-1: #6F42C1;
  --o-palette-default-11-o-color-2: #114B5F;
  --o-palette-default-11-o-color-3: #f2f0f5;
  --o-palette-default-11-o-color-4: #FFFFFF;
  --o-palette-default-11-o-color-5: #1d142e;
  --o-palette-default-11-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-11-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-11-o-cc4-text: 'o-color-3';
  --o-palette-default-11-o-cc4-link: 'o-color-4';
  --o-palette-default-11-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-11-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-11-o-cc5-text: 'o-color-3';
  --o-palette-default-11-o-cc5-link: 'o-color-4';
  --o-palette-default-11-menu-bg: #FFFFFF;
  --o-palette-default-11-footer-bg: #1d142e;
  --o-palette-default-13-o-color-1: #e36ff7;
  --o-palette-default-13-o-color-2: #233D4D;
  --o-palette-default-13-o-color-3: #f4f0f5;
  --o-palette-default-13-o-color-4: #FFFFFF;
  --o-palette-default-13-o-color-5: #2a142e;
  --o-palette-default-13-menu-bg: #FFFFFF;
  --o-palette-default-13-footer-bg: #2a142e;
  --o-palette-default-14-o-color-1: #E56B6B;
  --o-palette-default-14-o-color-2: #4C5B5C;
  --o-palette-default-14-o-color-3: #f5f0f0;
  --o-palette-default-14-o-color-4: #FFFFFF;
  --o-palette-default-14-o-color-5: #2e1414;
  --o-palette-default-14-menu-bg: #FFFFFF;
  --o-palette-default-14-footer-bg: #2e1414;
  --o-palette-default-22-o-color-1: #a4193d;
  --o-palette-default-22-o-color-2: #ffdfb9;
  --o-palette-default-22-o-color-3: #f5f0f1;
  --o-palette-default-22-o-color-4: #FFFFFF;
  --o-palette-default-22-o-color-5: #2e141b;
  --o-palette-default-22-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-22-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-22-o-cc4-text: 'o-color-3';
  --o-palette-default-22-o-cc4-link: 'o-color-4';
  --o-palette-default-22-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-22-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-22-o-cc5-text: 'o-color-3';
  --o-palette-default-22-o-cc5-link: 'o-color-4';
  --o-palette-default-22-menu-bg: #FFFFFF;
  --o-palette-default-22-footer-bg: #2e141b;
  --o-palette-default-26-o-color-1: #ed6f63;
  --o-palette-default-26-o-color-2: #2d2926;
  --o-palette-default-26-o-color-3: #f5f0f0;
  --o-palette-default-26-o-color-4: #FFFFFF;
  --o-palette-default-26-o-color-5: #2e1614;
  --o-palette-default-26-menu-bg: #FFFFFF;
  --o-palette-default-26-footer-bg: #2e1614;
  --o-palette-default-15-o-color-1: #8B1E3F;
  --o-palette-default-15-o-color-2: #23395B;
  --o-palette-default-15-o-color-3: #f5f0f2;
  --o-palette-default-15-o-color-4: #FFFFFF;
  --o-palette-default-15-o-color-5: #2e141c;
  --o-palette-default-15-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-15-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-15-o-cc4-text: 'o-color-3';
  --o-palette-default-15-o-cc4-link: 'o-color-4';
  --o-palette-default-15-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-15-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-15-o-cc5-text: 'o-color-3';
  --o-palette-default-15-o-cc5-link: 'o-color-4';
  --o-palette-default-15-menu-bg: #FFFFFF;
  --o-palette-default-15-footer-bg: #2e141c;
  --o-palette-default-16-o-color-1: #DE6528;
  --o-palette-default-16-o-color-2: #c9e2ef;
  --o-palette-default-16-o-color-3: #f5f2f0;
  --o-palette-default-16-o-color-4: #FFFFFF;
  --o-palette-default-16-o-color-5: #2e1d14;
  --o-palette-default-16-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-16-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-16-o-cc4-text: 'o-color-3';
  --o-palette-default-16-o-cc4-link: 'o-color-4';
  --o-palette-default-16-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-16-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-16-o-cc5-text: 'o-color-3';
  --o-palette-default-16-o-cc5-link: 'o-color-4';
  --o-palette-default-16-menu-bg: #FFFFFF;
  --o-palette-default-16-footer-bg: #2e1d14;
  --o-palette-default-17-o-color-1: #E17726;
  --o-palette-default-17-o-color-2: #51344D;
  --o-palette-default-17-o-color-3: #f5f2f0;
  --o-palette-default-17-o-color-4: #FFFFFF;
  --o-palette-default-17-o-color-5: #2e1f14;
  --o-palette-default-17-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-17-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-17-o-cc4-text: 'o-color-3';
  --o-palette-default-17-o-cc4-link: 'o-color-4';
  --o-palette-default-17-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-17-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-17-o-cc5-text: 'o-color-3';
  --o-palette-default-17-o-cc5-link: 'o-color-4';
  --o-palette-default-17-menu-bg: #FFFFFF;
  --o-palette-default-17-footer-bg: #2e1f14;
  --o-palette-default-18-o-color-1: #DFA400;
  --o-palette-default-18-o-color-2: #203878;
  --o-palette-default-18-o-color-3: #f5f4f0;
  --o-palette-default-18-o-color-4: #FFFFFF;
  --o-palette-default-18-o-color-5: #2e2714;
  --o-palette-default-18-menu-bg: #FFFFFF;
  --o-palette-default-18-footer-bg: #2e2714;
  --o-palette-default-light-10-o-color-1: #F6804E;
  --o-palette-default-light-10-o-color-2: #DBD3CA;
  --o-palette-default-light-10-o-color-3: #FAF4EA;
  --o-palette-default-light-10-o-color-4: #FFFFFF;
  --o-palette-default-light-10-o-color-5: #413837;
  --o-palette-default-light-10-menu-bg: #FFFFFF;
  --o-palette-default-light-10-footer-bg: #413837;
  --o-palette-default-19-o-color-1: #FAB803;
  --o-palette-default-19-o-color-2: #1A1423;
  --o-palette-default-19-o-color-3: #f5f4f0;
  --o-palette-default-19-o-color-4: #FFFFFF;
  --o-palette-default-19-o-color-5: #2e2714;
  --o-palette-default-19-menu: 3;
  --o-palette-default-19-footer: 3;
  --o-palette-default-19-copyright-custom: 'black-15';
  --o-palette-default-19-menu-bg: #1A1423;
  --o-palette-default-19-footer-bg: #1A1423;
  --o-palette-default-20-o-color-1: #B99253;
  --o-palette-default-20-o-color-2: #495867;
  --o-palette-default-20-o-color-3: #f5f3f0;
  --o-palette-default-20-o-color-4: #FFFFFF;
  --o-palette-default-20-o-color-5: #2e2414;
  --o-palette-default-20-menu-bg: #FFFFFF;
  --o-palette-default-20-footer-bg: #2e2414;
  --o-palette-default-5-o-color-1: #79DFC1;
  --o-palette-default-5-o-color-2: #b04a68;
  --o-palette-default-5-o-color-3: #f0f5f4;
  --o-palette-default-5-o-color-4: #FFFFFF;
  --o-palette-default-5-o-color-5: #142e26;
  --o-palette-default-5-footer: 1;
  --o-palette-default-5-menu-bg: #FFFFFF;
  --o-palette-default-5-footer-bg: #FFFFFF;
  --o-palette-default-4-o-color-1: #20C997;
  --o-palette-default-4-o-color-2: #426A5A;
  --o-palette-default-4-o-color-3: #f0f5f4;
  --o-palette-default-4-o-color-4: #FFFFFF;
  --o-palette-default-4-o-color-5: #142e26;
  --o-palette-default-4-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-4-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-4-o-cc4-text: 'o-color-3';
  --o-palette-default-4-o-cc4-link: 'o-color-4';
  --o-palette-default-4-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-4-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-4-o-cc5-text: 'o-color-3';
  --o-palette-default-4-o-cc5-link: 'o-color-4';
  --o-palette-default-4-menu: 2;
  --o-palette-default-4-footer: 2;
  --o-palette-default-4-menu-bg: #f0f5f4;
  --o-palette-default-4-footer-bg: #f0f5f4;
  --o-palette-default-3-o-color-1: #6CB14F;
  --o-palette-default-3-o-color-2: #114B5F;
  --o-palette-default-3-o-color-3: #f1f5f0;
  --o-palette-default-3-o-color-4: #FFFFFF;
  --o-palette-default-3-o-color-5: #1c2e14;
  --o-palette-default-3-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-3-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-3-o-cc4-text: 'o-color-3';
  --o-palette-default-3-o-cc4-link: 'o-color-4';
  --o-palette-default-3-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-3-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-3-o-cc5-text: 'o-color-3';
  --o-palette-default-3-o-cc5-link: 'o-color-4';
  --o-palette-default-3-menu: 3;
  --o-palette-default-3-footer: 3;
  --o-palette-default-3-copyright-custom: 'black-15';
  --o-palette-default-3-menu-bg: #114B5F;
  --o-palette-default-3-footer-bg: #114B5F;
  --o-palette-default-light-9-o-color-1: #008080;
  --o-palette-default-light-9-o-color-2: #EFCCBF;
  --o-palette-default-light-9-o-color-3: #FBFBFB;
  --o-palette-default-light-9-o-color-4: #FFFFFF;
  --o-palette-default-light-9-o-color-5: #004444;
  --o-palette-default-light-9-menu-bg: #FFFFFF;
  --o-palette-default-light-9-footer-bg: #004444;
  --o-palette-default-2-o-color-1: #0F5132;
  --o-palette-default-2-o-color-2: #a38f99;
  --o-palette-default-2-o-color-3: #f0f5f3;
  --o-palette-default-2-o-color-4: #FFFFFF;
  --o-palette-default-2-o-color-5: #142e22;
  --o-palette-default-2-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-2-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-2-o-cc4-text: 'o-color-3';
  --o-palette-default-2-o-cc4-link: 'o-color-4';
  --o-palette-default-2-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-2-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-2-o-cc5-text: 'o-color-3';
  --o-palette-default-2-o-cc5-link: 'o-color-4';
  --o-palette-default-2-menu: 4;
  --o-palette-default-2-footer: 4;
  --o-palette-default-2-copyright-custom: 'black-15';
  --o-palette-default-2-menu-bg: #0F5132;
  --o-palette-default-2-footer-bg: #0F5132;
  --o-palette-default-light-13-o-color-1: #848585;
  --o-palette-default-light-13-o-color-2: #D3D3D4;
  --o-palette-default-light-13-o-color-3: #FAFAFA;
  --o-palette-default-light-13-o-color-4: #FFFFFF;
  --o-palette-default-light-13-o-color-5: #171C1C;
  --o-palette-default-light-13-menu-bg: #FFFFFF;
  --o-palette-default-light-13-footer-bg: #171C1C;
  --o-palette-default-27-o-color-1: #949398;
  --o-palette-default-27-o-color-2: #f4df4e;
  --o-palette-default-27-o-color-3: #f2f2f3;
  --o-palette-default-27-o-color-4: #FFFFFF;
  --o-palette-default-27-o-color-5: #212022;
  --o-palette-default-27-menu-bg: #FFFFFF;
  --o-palette-default-27-footer-bg: #212022;
  --o-palette-default-light-12-o-color-1: #89847A;
  --o-palette-default-light-12-o-color-2: #DAD3C2;
  --o-palette-default-light-12-o-color-3: #FBFAF7;
  --o-palette-default-light-12-o-color-4: #FFFFFF;
  --o-palette-default-light-12-o-color-5: #1C1A17;
  --o-palette-default-light-12-menu-bg: #FFFFFF;
  --o-palette-default-light-12-footer-bg: #1C1A17;
  --o-palette-default-1-o-color-1: #38383B;
  --o-palette-default-1-o-color-2: #a1a1a1;
  --o-palette-default-1-o-color-3: #f2f2f3;
  --o-palette-default-1-o-color-4: #FFFFFF;
  --o-palette-default-1-o-color-5: #202022;
  --o-palette-default-1-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-1-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-1-o-cc4-text: 'o-color-3';
  --o-palette-default-1-o-cc4-link: 'o-color-4';
  --o-palette-default-1-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-1-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-1-o-cc5-text: 'o-color-3';
  --o-palette-default-1-o-cc5-link: 'o-color-4';
  --o-palette-default-1-menu: 4;
  --o-palette-default-1-footer: 4;
  --o-palette-default-1-copyright-custom: 'black-15';
  --o-palette-default-1-menu-bg: #38383B;
  --o-palette-default-1-footer-bg: #38383B;
  --o-palette-default-28-o-color-1: #00203f;
  --o-palette-default-28-o-color-2: #adefd1;
  --o-palette-default-28-o-color-3: #f0f3f5;
  --o-palette-default-28-o-color-4: #FFFFFF;
  --o-palette-default-28-o-color-5: #14212e;
  --o-palette-default-28-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-28-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-28-o-cc4-text: 'o-color-3';
  --o-palette-default-28-o-cc4-link: 'o-color-4';
  --o-palette-default-28-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-28-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-28-o-cc5-text: 'o-color-3';
  --o-palette-default-28-o-cc5-link: 'o-color-4';
  --o-palette-default-28-menu-bg: #FFFFFF;
  --o-palette-default-28-footer-bg: #14212e;
  --o-palette-default-21-o-color-1: #0F1013;
  --o-palette-default-21-o-color-2: #c0392b;
  --o-palette-default-21-o-color-3: #f1f2f4;
  --o-palette-default-21-o-color-4: #FFFFFF;
  --o-palette-default-21-o-color-5: #1d1f25;
  --o-palette-default-21-o-cc4-btn-primary: 'o-color-4';
  --o-palette-default-21-o-cc4-btn-secondary: 'o-color-2';
  --o-palette-default-21-o-cc4-text: 'o-color-3';
  --o-palette-default-21-o-cc4-link: 'o-color-4';
  --o-palette-default-21-o-cc5-btn-primary: 'o-color-4';
  --o-palette-default-21-o-cc5-btn-secondary: 'o-color-2';
  --o-palette-default-21-o-cc5-text: 'o-color-3';
  --o-palette-default-21-o-cc5-link: 'o-color-4';
  --o-palette-default-21-menu-bg: #FFFFFF;
  --o-palette-default-21-footer-bg: #1d1f25;
  --o-palette-base-1-o-color-1: #714B67;
  --o-palette-base-1-o-color-2: #2D3142;
  --o-palette-base-1-o-color-3: #F3F2F2;
  --o-palette-base-1-o-color-4: #FFFFFF;
  --o-palette-base-1-o-color-5: #111827;
  --o-palette-base-1-copyright-custom: 'black-15';
  --o-palette-base-1-menu-bg: #FFFFFF;
  --o-palette-base-1-footer-bg: #111827;
  --o-palette-base-2-o-color-1: #337ab7;
  --o-palette-base-2-o-color-2: #e9ecef;
  --o-palette-base-2-o-color-3: #F8F9FA;
  --o-palette-base-2-o-color-4: #FFFFFF;
  --o-palette-base-2-o-color-5: #343a40;
  --o-palette-base-2-menu: 2;
  --o-palette-base-2-footer: 2;
  --o-palette-base-2-copyright: 5;
  --o-palette-base-2-menu-bg: #F8F9FA;
  --o-palette-base-2-footer-bg: #F8F9FA;
  --o-default-menu-bg: 'o-color-4';
  --o-default-footer-bg: 'o-color-5';
  --palette-names: "default-light-1", "default-light-2", "default-light-4", "default-light-3", "default-light-5", "default-24", "default-light-7", "default-light-6", "default-light-11", "default-light-14", "default-light-8", "default-6", "default-7", "default-8", "default-9", "default-23", "default-25", "default-12", "default-10", "default-11", "default-13", "default-14", "default-22", "default-26", "default-15", "default-16", "default-17", "default-18", "default-light-10", "default-19", "default-20", "default-5", "default-4", "default-3", "default-light-9", "default-2", "default-light-13", "default-27", "default-light-12", "default-1", "default-28", "default-21", "base-1", "base-2";
  --base-white: #FFFFFF;
  --base-100: #F8F9FA;
  --base-200: #E9ECEF;
  --base-300: #DEE2E6;
  --base-400: #CED4DA;
  --base-500: #ADB5BD;
  --base-600: #6C757D;
  --base-700: #495057;
  --base-800: #343A40;
  --base-900: #212529;
  --base-black: #000000;
}



/* /website/static/src/scss/view_hierarchy.scss */

.o_tree_nav {
  top: unset;
  z-index: 999;
}

.o_tree_nav .o_search .o_not_found {
  box-shadow: 0 0 0 0.2rem red;
}

.o_tree_container .o_text_orange {
  color: #fd7e14;
}

.o_tree_container .o_text_pink {
  color: #e83e8c;
}

.o_tree_container .o_has_child .js_fold {
  cursor: pointer;
}

.o_tree_container .o_search_found {
  background-color: #e9ecef;
}

.o_tree_container .o_tree_entry a {
  display: none;
}

.o_tree_container .o_tree_entry:hover a {
  display: block;
}

.o_tree_container ul {
  line-height: 2em;
  list-style: none;
  margin-left: 1em;
  padding: 0;
  position: relative;
}

.o_tree_container ul:before {
  border-left: 1px dashed;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
}

.o_tree_container ul li {
  padding: 0 1em;
  position: relative;
}

.o_tree_container ul li:before {
  border-top: 1px dashed;
  content: '';
  display: block;
  height: 0;
  left: 0;
  margin-top: -1px;
  position: absolute;
  top: 1em;
  width: 10px;
}

.o_tree_container ul li:last-child:before {
  background: #FFFFFF;
  bottom: 0;
  height: auto;
  top: 1em;
}



/* /website/static/src/scss/website.backend.scss */

.o_dashboards {
  background-color: white;
  height: 100%;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: column nowrap; flex-flow: column nowrap;
}

.o_dashboards .o_content {
  overflow: scroll;
}

.o_dashboards .o_website_dashboard {
  background-color: white;
}

.o_dashboards.has_plausible {
  background-color: #f9fafb;
}

.o_dashboards.has_plausible .o_website_dashboard {
  background-color: #f9fafb;
}

.o_dashboards.has_plausible .o_website_dashboard iframe {
  height: 2950px;
  top: 2px;
}

@media (min-width: 188mm) and (max-width: 189.98mm) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 2855px;
  }
}

@media (min-width: 190mm) and (max-width: 219.98mm) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 2040px;
  }
}

@media (min-width: 220mm) and (max-width: 249.98mm) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 1875px;
  }
}

@media (min-width: 250mm) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 1875px;
  }
}

.o_dashboards .o_dashboard_common .o_box {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  -webkit-box-pack: start; justify-content: flex-start;
}

@media (max-width: 187.98mm) {
  .o_dashboards .o_dashboard_common .o_box > .o_inner_box {
    flex: 1 1 200px;
    display: block !important;
  }
}

@media (min-width: 188mm) {
  .o_dashboards .o_dashboard_common .o_box > .o_inner_box {
    flex: 0 0 16.6%;
  }
}

.o_dashboards .o_dashboard_visits .o_demo_background {
  margin-top: 16px;
  height: 300px;
  background-size: 100% !important;
  background: var(--Dashboard__demoBackground, url("/website/static/src/img/website_dashboard_visit_demo.png")) no-repeat;
  position: relative;
}

.o_dashboards .o_dashboard_visits .o_demo_background .o_buttons {
  position: relative;
}

.o_dashboards .o_dashboard_visits .o_demo_background .o_layer {
  background-color: rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.oe_stat_button.o_stat_button_info {
  pointer-events: none;
}

.o_field_website_redirect_button {
  display: contents;
}

@media (min-width: 188mm) {
  .o_website_preview.o_is_mobile .o_iframe_container, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile {
    height: 735px !important;
    width: 362px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

@media (min-width: 188mm) and (max-height: calc(800px + 46px)) {
  .o_website_preview.o_is_mobile .o_iframe_container, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile {
    height: 602px !important;
    width: 310px;
  }
  .o_website_preview.o_is_mobile .o_iframe_container div.o_mobile_preview_layout, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile div.o_mobile_preview_layout, .o_website_preview.o_is_mobile .o_iframe_container img.img_mobile, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile img.img_mobile {
    height: 659px;
    width: 342px;
    top: -30px;
    left: -17px;
  }
}

@media (min-width: 188mm) {
  .o_website_preview.o_is_mobile .o_iframe_container .o_mobile_preview_layout, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile .o_mobile_preview_layout, .o_website_preview.o_is_mobile .o_iframe_container .img_mobile, .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile .img_mobile {
    position: absolute;
    pointer-events: none;
    top: -36px;
    left: -20px;
  }
}

.o_view_form_theme_preview_controller div.o_form_nosheet {
  padding: 0px;
  height: 100%;
  width: 100%;
}

.o_view_form_theme_preview_controller .o_field_iframe {
  width: 100%;
  height: 100%;
}

@media (min-width: 188mm) {
  .o_view_form_theme_preview_controller .o_field_iframe div.is_mobile {
    position: relative;
  }
}

.o_preview_frame::after {
  content: "";
  position: absolute;
  inset: 0 0 0 0;
  background-color: white;
}



/* /website/static/src/scss/website_visitor_views.scss */

.o_wvisitor_kanban .o_kanban_renderer.o_kanban_ungrouped {
  padding: 0px;
}

.o_wvisitor_kanban .o_kanban_renderer.o_kanban_ungrouped .o_kanban_record {
  width: 100%;
  margin: 0px;
}

.o_wvisitor_kanban .o_kanban_renderer.o_kanban_ungrouped .o_kanban_record .o_kanban_grouped {
  display: none !important;
}

.o_wvisitor_kanban .o_kanban_renderer.o_kanban_grouped .o_kanban_detail_ungrouped {
  display: none !important;
}

.o_country_flag {
  width: 24px;
  height: 16px;
}

.w_visitor_kanban_actions_ungrouped .btn {
  margin: inherit;
}

.w_visitor_kanban_actions_ungrouped .btn:not(:last-child) {
  margin-right: 0.25rem;
}



/* /website/static/src/client_actions/configurator/configurator.scss */

.o_configurator_container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: white;
}

.o_configurator_container .o_configurator_screen {
  --ConfiguratorPreview-height: MIN(70vh, 560px);
  --ConfiguratorSmallPreview-height: MIN(60vh, 500px);
}

@keyframes configuratorFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes theme_screenshot_scroll {
  to {
    transform: translate3d(0, calc((100% - var(--ConfiguratorPreview-height)) * -1), 0);
  }
}

@keyframes theme_screenshot_scroll_small {
  to {
    transform: translate3d(0, calc((100% - var(--ConfiguratorSmallPreview-height)) * -1), 0);
  }
}

.o_configurator_container .o_configurator_screen .h6, .o_configurator_container .o_configurator_screen .h5, .o_configurator_container .o_configurator_screen .h4, .o_configurator_container .o_configurator_screen .h3, .o_configurator_container .o_configurator_screen .h2, .o_configurator_container .o_configurator_screen .h1, .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
  font-weight: 300;
}

.o_configurator_container .o_configurator_screen .h6 b, .o_configurator_container .o_configurator_screen .h5 b, .o_configurator_container .o_configurator_screen .h4 b, .o_configurator_container .o_configurator_screen .h3 b, .o_configurator_container .o_configurator_screen .h2 b, .o_configurator_container .o_configurator_screen .h1 b, .o_configurator_container .o_configurator_screen .o_configurator_typing_text b {
  font-weight: 500;
}

.o_configurator_container .o_configurator_screen .o_configurator_typing_text {
  font-size: 28px;
}

@media (min-width: 188mm) {
  .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
    font-size: 32px;
  }
}

@media (min-width: 190mm) {
  .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
    font-size: 36px;
  }
}

@media (min-width: 220mm) {
  .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
    font-size: 40px;
  }
}

.o_configurator_container .o_configurator_screen .o_configurator_hide {
  opacity: 0;
}

.o_configurator_container .o_configurator_screen .o_configurator_show {
  animation: configuratorFadeIn 1s;
}

.o_configurator_container .o_configurator_screen .o_configurator_show_fast {
  animation: configuratorFadeIn .35s;
}

.o_configurator_container .o_configurator_screen .o_configurator_screen_content {
  overflow-y: auto;
}

.o_configurator_container .o_configurator_screen .o_configurator_logo_wrapper img {
  object-fit: contain;
}

.o_configurator_container .o_configurator_screen .o_configurator_odoo_logo {
  background-image: var(--configurator-logo, url("/web/static/img/odoo_logo.svg"));
  background-repeat: no-repeat;
  background-size: contain;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown, .o_configurator_container .o_configurator_screen.o_description_screen .industry_selection, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete {
  font-weight: 500;
  cursor: pointer;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_type_dd.o_step_todo {
  min-width: 13ch;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_purpose_dd.o_step_todo {
  min-width: 12ch;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper {
  position: relative;
  display: inline-block;
  height: 1.3em;
  min-width: 17ch;
  cursor: pointer;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper input, .o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper::after {
  height: 1.3em;
  font-weight: 500;
  font-style: italic;
  text-indent: 5px;
  padding: 0;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper input {
  position: absolute;
  width: 100%;
  border: none;
  border-bottom: 3px solid #714B67;
  color: #714B67;
  background-color: inherit;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper input:focus {
  color: inherit;
  outline: none;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper input::placeholder {
  font-size: 40%;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_wrapper::after {
  content: attr(data-value) "|";
  display: inline-block;
  overflow: hidden;
  opacity: 0;
}

.o_configurator_container .o_configurator_screen.o_description_screen .o_configurator_industry_dropdown {
  background: var(--body-bg);
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown {
  box-shadow: inset 0 -3px 0 #714B67;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_todo .fa-angle-down {
  transform: translateY(-0.26em);
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed {
  transition: all 300ms ease;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed .fa-angle-down {
  position: absolute;
  top: auto;
  left: auto;
  bottom: auto;
  right: 0;
  opacity: 0;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed:hover, .o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed.show {
  padding-right: 1.3rem !important;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed:hover .fa-angle-down, .o_configurator_container .o_configurator_screen.o_description_screen .dropdown.o_step_completed.show .fa-angle-down {
  transition: all 300ms ease 100ms;
  opacity: 1;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown-menu, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
  font-size: inherit;
  overflow-y: auto;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown-menu:not(.o_configurator_industry_dropdown), .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete:not(.o_configurator_industry_dropdown) {
  min-width: 100%;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown-item, .o_configurator_container .o_configurator_screen.o_description_screen .fa-angle-down, .o_configurator_container .o_configurator_screen.o_description_screen .ui-menu-item a, .o_configurator_container .o_configurator_screen.o_description_screen .ui-menu-item a.ui-state-active {
  font-size: .5em;
  font-weight: inherit;
}

.o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete {
  max-height: 300px;
  max-height: 35vh;
}

.o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item {
  list-style: none;
}

.o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a {
  padding: 6px 20px;
  font-family: var(--font-sans-serif);
  text-decoration: none;
  line-height: 1.2;
}

.o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a.o_no_result, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a.o_no_result:hover {
  background-color: transparent !important;
  color: #6c757d !important;
  cursor: default;
  padding: 12px 20px;
  font-style: italic;
  font-size: .5em;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown-item:hover, .o_configurator_container .o_configurator_screen.o_description_screen .dropdown-item:active, .o_configurator_container .o_configurator_screen.o_description_screen .dropdown-item.ui-state-active, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a:hover, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a:active, .o_configurator_container .o_configurator_screen.o_description_screen .custom-ui-autocomplete .ui-menu-item a.ui-state-active {
  background-color: rgba(0, 0, 0, 0.08);
  color: #343a40;
}

@media (max-width: 189.98mm) {
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_detect_logo {
    width: 100% !important;
  }
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_content_container {
    height: 100% !important;
    flex-direction: column !important;
  }
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_palettes_separator {
    width: 100% !important;
  }
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_palettes_container {
    width: 100% !important;
  }
}

@media (max-width: 187.98mm) {
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_palette_card_container {
    width: 50% !important;
  }
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card {
  cursor: pointer;
  box-shadow: 0 0 0 1px #e9ecef;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card .color_sample {
  padding-top: 20%;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card:hover, .o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_card.selected {
  box-shadow: 0 0 0 1px #FFF, 0 0 0 3px #714B67;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_wrapper {
  transition: opacity .1s ease;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_wrapper:hover {
  transition: opacity .3s ease;
  opacity: .1;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_wrapper img {
  height: 120px;
  max-width: 90%;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_upload {
  cursor: pointer;
  color: #ced4da;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_upload:hover, .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_upload:focus, .o_configurator_container .o_configurator_screen.o_palette_selection_screen .o_configurator_logo_upload.focus {
  color: #343a40;
}

.o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_selection_or {
  position: absolute;
  top: 50%;
  left: auto;
  bottom: auto;
  right: auto;
  transform: translateY(-50%);
}

@media (min-width: 190mm) {
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_selection_or {
    right: 0;
  }
}

@media (max-width: 189.98mm) {
  .o_configurator_container .o_configurator_screen.o_feature_selection_screen .o_feature_card_container {
    width: 50% !important;
  }
}

@media (max-width: 187.98mm) {
  .o_configurator_container .o_configurator_screen.o_feature_selection_screen .o_feature_card_container {
    width: 100% !important;
  }
}

.o_configurator_container .o_configurator_screen.o_feature_selection_screen .card {
  cursor: pointer;
}

.o_configurator_container .o_configurator_screen.o_feature_selection_screen .card.card_installed {
  cursor: default;
  opacity: 0.75;
}

.o_configurator_container .o_configurator_screen.o_feature_selection_screen .o_configurator_feature_status {
  position: absolute;
  top: 6.5px;
  left: auto;
  bottom: auto;
  right: 6.5px;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .button_area, .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_svg_container {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview_tip {
  position: absolute;
  top: 0;
  left: 0;
  bottom: auto;
  right: 0;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview, .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_svg_container svg, .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview_tip {
  transform: translate3d(0, 0, 0);
  will-change: transform;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview, .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview_tip {
  transition: all .3s ease 0s;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_svg_container svg {
  width: 100%;
  height: auto;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .button_area {
  cursor: pointer;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview {
  height: var(--ConfiguratorPreview-height);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

@media (max-width: 189.98mm) {
  .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview {
    --ConfiguratorPreview-height: 300px;
    --ConfiguratorSmallPreview-height: var(--ConfiguratorPreview-height);
  }
}

@media (min-width: 190mm) {
  .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover {
    transform: translate3d(0, -10px, 0);
  }
  .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview.small {
    height: var(--ConfiguratorSmallPreview-height);
  }
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover {
  border-color: #714B67 !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover .theme_preview_tip {
  transform: translate3d(0, -120%, 0);
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover .theme_svg_container svg {
  animation: theme_screenshot_scroll 4s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0.1s infinite alternate;
}

.o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview:hover.small .theme_svg_container svg {
  animation-name: theme_screenshot_scroll_small;
  animation-duration: 5s;
}



/* /website/static/src/client_actions/website_preview/website_preview.scss */

.o_website_preview {
  position: relative;
  isolation: isolate;
  height: 100%;
  transition: margin-right ease 400ms;
}

.o_website_preview.editor_enable.editor_has_snippets {
  margin-right: 288px !important;
}

.o_website_preview.o_is_blocked {
  pointer-events: none;
}

.o_website_preview .o_iframe_container {
  position: relative;
  height: 100%;
  width: 100%;
}

.o_website_preview .o_iframe_container iframe {
  position: absolute;
  border: none;
  width: 100%;
  height: 100%;
}

.o_website_preview.o_is_mobile .o_we_website_top_actions button[data-action="mobile"] span.fa {
  color: #40ad67;
}

@media (min-width: 188mm) and (max-height: calc(800px + 46px)) {
  .o_website_preview.o_is_mobile .o_iframe_container div.o_mobile_preview_layout > img {
    width: 100%;
    height: 100%;
  }
}

.o_we_website_top_actions button[data-action="mobile"] span.fa, .o_mobile_preview span.fa {
  font-size: 20px;
}

.o_website_fullscreen .o_website_preview.editor_enable.editor_has_snippets {
  margin-right: 0 !important;
}

.o_website_fullscreen header .o_main_navbar, .o_website_navbar_transition_hide header .o_main_navbar {
  height: 0px;
  transform: translateY(-46px);
  border-bottom: 0px;
  padding: 0;
}

.o_website_fullscreen .o_block_preview, .o_website_navbar_transition_hide .o_block_preview {
  z-index: 1051 !important;
}

header .o_main_navbar {
  transition: transform 400ms ease, height 400ms ease, border-bottom 400ms ease;
}

.o_website_navbar_hide header .o_main_navbar {
  display: none !important;
}

.o_block_preview {
  z-index: 999 !important;
}

.o_resource_editor_wrapper {
  position: absolute;
  top: 46px;
  left: auto;
  bottom: 0;
  right: 0;
  z-index: 1055;
}

.o_website_fullscreen .o_resource_editor_wrapper {
  top: 0;
}



/* /website/static/src/components/fields/fields.scss */

.o_image_radio_option {
  cursor: pointer;
  margin: 1rem 0;
}

.o_image_radio_option.active {
  border: 4px solid #714B67;
  box-shadow: 3px 3px 5px gray;
}



/* /website/static/src/components/fullscreen_indication/fullscreen_indication.scss */

.o_fullscreen_indication {
  display: -webkit-box; display: -webkit-flex; display: flex;
  position: absolute;
  width: 100%;
  align-items: center;
  justify-content: center;
  top: 0;
  margin-top: 46px !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 400ms ease;
}

.o_fullscreen_indication p {
  padding: 15px 30px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
}

.o_fullscreen_indication p span {
  border: 1px solid white;
  border-color: white;
  border-radius: 5px;
  padding: 7px 5px;
  margin: 5px;
}

.o_fullscreen_indication.o_visible {
  opacity: 1;
}



/* /website/static/src/components/website_loader/website_loader.scss */

.o_website_loader_container {
  background-color: white;
  pointer-events: all;
  z-index: 1054;
}

.o_website_loader_container .o_website_loader_odoo_logo {
  background-image: var(--configurator-logo, url("/web/static/img/odoo_logo.svg"));
  background-repeat: no-repeat;
  background-size: contain;
  filter: var(--website-loader-logo-filter);
}

.o_website_loader_container .o_website_loader_container_content {
  color: var(--website-loader-color);
  background-color: #f8f9fa;
  width: 100%;
}

@media (min-width: 190mm) {
  .o_website_loader_container .o_website_loader_container_content {
    max-width: 30rem;
  }
}

.o_website_loader_container .o_website_loader_tip {
  color: var(--website-loader-color);
}

.o_website_loader_container .o_website_loader_tip .o_tour_pointer {
  --TourPointer__height: 1em;
  --TourPointer__width: 1em;
  --TourPointer__color: #BB86FC;
  --TourPointer__color-accent: #cfa9fd;
}

.o_website_loader_container .o_website_loader_text_highlight {
  color: #BB86FC;
}

.o_website_loader_container .o_website_loader_progress {
  --progress-height: 0.5rem;
  --progress-bar-bg: black;
}

.o_website_loader_container .o_website_loader_check {
  animation: loaderCheck 1s ease-out;
}

@keyframes loaderCheck {
  from {
    transform: translateX(-25%);
    opacity: 0;
  }
}

.o_website_loader_container .o_website_loader_done {
  animation: loaderDone 1s ease-out;
}

@keyframes loaderDone {
  from {
    transform: translateX(0.5em);
    opacity: 0;
  }
}

.o_website_loader_container #o_website_loader_animations_steps {
  width: 55%;
  background: #111827;
  color: white;
  perspective: 1000px;
}

.o_website_loader_container #o_website_loader_animations_steps:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  box-shadow: 0 0 200px rgba(17, 24, 39, 0.9) inset;
  z-index: 1;
}

.o_website_loader_container #o_website_loader_step_colors, .o_website_loader_container #o_website_loader_step_images, .o_website_loader_container #o_website_loader_step_text, .o_website_loader_container #o_website_loader_step_generic {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  transition: opacity 1s ease-in-out;
  transform-style: preserve-3d;
}

.o_website_loader_container #o_website_loader_step_images, .o_website_loader_container #o_website_loader_step_text, .o_website_loader_container #o_website_loader_step_generic {
  display: none;
  opacity: 0;
  transition-delay: .5s;
}

.o_website_loader_container.o_website_loader_container_images #o_website_loader_step_colors span {
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.o_website_loader_container.o_website_loader_container_images #o_website_loader_step_images {
  display: -webkit-box; display: -webkit-flex; display: flex;
  opacity: 1;
}

.o_website_loader_container.o_website_loader_container_images #o_website_loader_step_images .o_website_loader_filmstrip {
  animation-play-state: running;
}

.o_website_loader_container.o_website_loader_container_text #o_website_loader_step_colors {
  display: none;
}

.o_website_loader_container.o_website_loader_container_text #o_website_loader_step_images {
  display: -webkit-box; display: -webkit-flex; display: flex;
  opacity: 1;
}

.o_website_loader_container.o_website_loader_container_text #o_website_loader_step_images .o_website_loader_filmstrip {
  transition: opacity 1s ease-in-out;
  animation-play-state: running;
  opacity: 0;
}

.o_website_loader_container.o_website_loader_container_text #o_website_loader_step_text {
  display: block;
  opacity: 1;
}

.o_website_loader_container.o_website_loader_container_generic #o_website_loader_step_colors, .o_website_loader_container.o_website_loader_container_generic #o_website_loader_step_images {
  display: none;
}

.o_website_loader_container.o_website_loader_container_generic #o_website_loader_step_text {
  display: block;
  opacity: 0;
}

.o_website_loader_container.o_website_loader_container_generic #o_website_loader_step_generic {
  display: block;
  transition: opacity 1s ease-in-out;
  transition-delay: 1s;
  opacity: 1;
}

.o_website_loader_container #o_website_loader_step_colors {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: repeat(8, 1fr);
  grid-gap: .3vw;
  transform: scale(1.5) rotate3d(1.6, 1, -1.1, 37deg) translateX(10%);
  animation: 7s ease-in-out alternate colorsPlaneMotion;
}

@keyframes colorsPlaneMotion {
  from {
    transform: scale(1.6) rotate3d(1.6, 1, -1.1, 37deg) translateX(10%) translateY(-3%);
  }
  to {
    transform: scale(1.5) rotate3d(1.4, 1, -1.1, 29deg) translateX(10%) translateY(0);
  }
}

@keyframes elevateColoredCells {
  0%, 100% {
    transform: translateZ(0px);
    background-color: #1F2937;
  }
  30% {
    transform: translateZ(25px);
    background-color: var(--background-color);
  }
}

.o_website_loader_container #o_website_loader_step_colors span {
  border-radius: .4rem;
  background-color: #1F2937;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(28) {
  animation: elevateColoredCells 5.2s ease-in-out infinite;
  animation-delay: 0s;
  --background-color: #7d773c;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(43) {
  animation: elevateColoredCells 5.4s ease-in-out infinite;
  animation-delay: 0.5s;
  --background-color: #607944;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(31) {
  animation: elevateColoredCells 5.6s ease-in-out infinite;
  animation-delay: 1s;
  --background-color: #775c35;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(37) {
  animation: elevateColoredCells 5.8s ease-in-out infinite;
  animation-delay: 1.5s;
  --background-color: #3d6273;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(14) {
  animation: elevateColoredCells 6s ease-in-out infinite;
  animation-delay: 2s;
  --background-color: #5f414c;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(41) {
  animation: elevateColoredCells 6.2s ease-in-out infinite;
  animation-delay: 2.5s;
  --background-color: #805f54;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(34) {
  animation: elevateColoredCells 6.4s ease-in-out infinite;
  animation-delay: 3s;
  --background-color: #76527a;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(23) {
  animation: elevateColoredCells 6.6s ease-in-out infinite;
  animation-delay: 3.5s;
  --background-color: #56476e;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(19) {
  animation: elevateColoredCells 6.8s ease-in-out infinite;
  animation-delay: 4s;
  --background-color: #4b676b;
}

.o_website_loader_container #o_website_loader_step_colors span:nth-child(12) {
  animation: elevateColoredCells 7s ease-in-out infinite;
  animation-delay: 4.5s;
  --background-color: #95985f;
}

.o_website_loader_container #o_website_loader_step_images {
  display: -webkit-box; display: -webkit-flex; display: flex;
  animation: 7s ease-in-out alternate imagesPlaneMotion forwards;
}

.o_website_loader_container .o_website_loader_filmstrip {
  min-height: 45vh;
  animation-play-state: paused;
}

@keyframes filmstripScroll {
  to {
    transform: translateX(-100%);
  }
}

.o_website_loader_container .o_website_loader_filmstrip .o_website_loader_filmstrip_inner {
  width: 200%;
  animation: filmstripScroll 30s linear infinite;
  animation-play-state: inherit;
}

.o_website_loader_container .o_website_loader_filmstrip img {
  height: auto;
  padding: 4px;
  border-radius: .6rem;
  object-fit: cover;
}

.o_website_loader_container .o_website_loader_filmstrip.o_website_loader_filmstrip_middle {
  flex-grow: 1;
  z-index: 1;
}

.o_website_loader_container .o_website_loader_filmstrip.o_website_loader_filmstrip_middle .o_website_loader_filmstrip_inner {
  animation-name: filmstripScroll;
  animation-duration: 20s;
  animation-direction: reverse;
}

.o_website_loader_container .o_website_loader_filmstrip:last-child .o_website_loader_filmstrip_inner {
  animation-duration: 40s;
}

.o_website_loader_container #o_website_loader_step_text .o_website_loader_text_content {
  font-size: 180vh;
  transform: translate(-25%, -25%);
  line-height: 1;
  position: absolute;
  opacity: 0;
  animation: loaderTextFading 6s infinite;
  mix-blend-mode: plus-lighter;
  color: rgba(255, 255, 255, 0.5);
}

@keyframes loaderTextFading {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}

.o_website_loader_container #o_website_loader_step_text .o_website_loader_text_content:nth-child(2) {
  animation-delay: 2s;
  color: rgba(128, 255, 255, 0.5);
}

.o_website_loader_container #o_website_loader_step_text .o_website_loader_text_content:nth-child(3) {
  animation-delay: 4s;
  color: rgba(255, 128, 255, 0.5);
  transform: translate(-10%, -25%) scale(0.9);
}

@keyframes rotateLoader {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.o_website_loader_container .o_website_loader_loader .o_website_loader_circle, .o_website_loader_container .o_website_loader_loader .o_website_loader_circle_mask {
  position: absolute;
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  margin-left: -60px;
  margin-top: -60px;
}

.o_website_loader_container .o_website_loader_loader .o_website_loader_circle, .o_website_loader_container .o_website_loader_loader .o_website_loader_circle_line {
  height: 120px;
  width: 120px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px #FFF;
}

.o_website_loader_container .o_website_loader_loader .o_website_loader_circle {
  height: 120px;
  opacity: .2;
}

.o_website_loader_container .o_website_loader_loader .o_website_loader_circle_mask {
  height: 120px;
  width: 60px;
  transform-origin: 60px 60px;
  -webkit-mask-image: -webkit-linear-gradient(top, black, rgba(0, 0, 0, 0));
  animation: rotateLoader 1.2s infinite linear;
}



/* /website/static/src/components/views/theme_preview_kanban.scss */

.o_theme_preview_kanban_view .o_kanban_renderer {
  --KanbanRecord-width: 100%;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
  display: grid !important;
  grid-template-columns: 1fr;
  grid-row-gap: 13px;
  grid-column-gap: 13px;
  justify-items: center;
  padding: 13px;
}

@media (min-width: 100mm) {
  .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 188mm) {
  .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 250mm) {
  .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
    grid-template-columns: repeat(4, 1fr);
  }
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record:has(.o_theme_installed) {
  order: -1;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top {
  box-shadow: 0 0 0 3px #714B67;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top:not(.fa) {
  border: 3px solid #714B67;
  box-shadow: none;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview.o_theme_installed .o_theme_preview_top:not(.fa):before {
  content: "";
  position: absolute;
  top: 7px;
  left: auto;
  bottom: auto;
  right: 7px;
  width: 19px;
  height: 19px;
  background-color: #714B67;
  font-family: 'FontAwesome';
  color: white;
  border-radius: 50%;
  text-align: center;
  z-index: 1;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top .o_theme_cover, .o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top .o_theme_logo, .o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top .o_theme_screenshot {
  width: 100%;
  padding-bottom: 127%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 40% 32%;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top .o_theme_cover {
  background-size: contain;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top .o_theme_screenshot {
  background-size: cover;
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top:hover {
  transform: scale(1.01);
  transform-origin: center;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.o_theme_preview_kanban_view .o_kanban_renderer .o_kanban_record .o_theme_preview_top:hover .o_theme_screenshot {
  animation: o_theme_screenshot_scroll 4s linear infinite alternate;
}

@keyframes o_theme_screenshot_scroll {
  25% {
    background-position: center top;
  }
  75%, 100% {
    background-position: center bottom;
  }
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group {
  background-color: #fcfcfc;
  padding: 0 20px;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group .o_kanban_header {
  height: 30px;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group .o_kanban_header .o_column_title {
  padding: 0;
  color: #343a40;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group .o_kanban_header:hover .o_kanban_config, .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group .o_kanban_header.show .o_kanban_config {
  display: none;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group .o_theme_preview_top {
  border-color: lightgray;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group:nth-child(even) {
  background-color: #f2f2f2;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group:nth-child(even) .o_theme_cover, .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_group:nth-child(even) .o_theme_logo {
  background-color: white;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_record {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_record .o_theme_preview_top .o_theme_cover, .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_record .o_theme_preview_top .o_theme_logo {
  padding-bottom: 50%;
  background-size: 32% 62%;
}

.o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_grouped .o_kanban_record .o_theme_preview_top .o_theme_cover {
  background-size: cover;
}



/* /website/static/src/components/autocomplete_with_pages/url_autocomplete.scss */

.o-autocomplete .ui-autocomplete-category > .dropdown-item:hover {
  background-color: initial;
  cursor: default;
}



/* /website/static/src/scss/website_controller_page_kanban.scss */

.o_kanban_view.o-website-controller-page-kanban .o_kanban_record {
  min-height: 90px;
}

.o_kanban_view.o-website-controller-page-kanban .o_kanban_grouped .o_kanban_record {
  justify-content: space-around !important;
}

.o_kanban_view.o-website-controller-page-kanban .o_kanban_ungrouped .o_kanban_record {
  width: 100%;
  flex-flow: row;
}

.o_kanban_view.o-website-controller-page-kanban .o_kanban_ungrouped .o_kanban_record [data-section='data'] {
  width: 30%;
}



/* /barcodes/static/src/components/barcode_scanner.scss */

.o_barcode_mobile_container {
  position: relative;
  display: inline-block;
  font-family: 'Lato', sans-serif;
  font-size: 1.08333333rem;
  font-weight: 400;
  line-height: 1.5;
  color: #fff;
}

.o_barcode_mobile_container img, .o_barcode_mobile_container .o_mobile_barcode {
  width: 115px;
  height: 60px;
}

.o_barcode_mobile_container .o_mobile_barcode {
  width: 100%;
  bottom: 0;
  position: absolute;
  opacity: 0.75;
  padding-top: 5px;
}

.o_barcode_mobile_container .o_mobile_barcode .o_barcode_mobile_camera {
  margin: 5px;
  font-size: 1em;
}

.o_barcode_mobile_container .o_mobile_barcode div {
  font-size: 12px;
}

.o_barcode_mobile_container .o_barcode_laser {
  position: absolute;
  top: 50%;
  left: -15px;
  bottom: auto;
  right: -15px;
  height: 5px;
  background: rgba(255, 0, 0, 0.6);
  box-shadow: 0 1px 10px 1px rgba(255, 0, 0, 0.8);
  animation: o_barcode_scanner_intro 1s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.4s;
}

@keyframes o_barcode_scanner_intro {
  25% {
    top: 75%;
  }
  50% {
    top: 0;
  }
  75% {
    top: 100%;
  }
  100% {
    top: 50%;
  }
}

@media screen and (max-width: 576px) {
  .o_event_barcode_bg.o_home_menu_background {
    background: white;
    height: 100%;
  }
}



/* /stock/static/src/picking_type_dashboard_graph/picking_type_dashboard_graph_field.scss */

.o_field_picking_type_dashboard_graph .o_dashboard_graph {
  margin-bottom: 0;
  margin-left: -16px;
  margin-right: -16px;
}



/* /stock/static/src/scss/forecast_widget.scss */

.o_forecast_widget_cell {
  text-align: right;
  padding-right: 24px !important;
}

.o_forecast_widget_cell button {
  position: absolute;
}



/* /stock/static/src/scss/report_stock_reception.scss */

.o_report_reception {
  overflow-y: auto;
}

.o_report_reception .o_priority.o_priority_star {
  font-size: 1.35em;
}

.o_report_reception .o_priority.o_priority_star.fa-star {
  color: gold;
}

.o_report_reception .btn.btn-primary {
  height: 31px;
  background-color: #714B67;
  border-color: #714B67;
}

.o_report_reception .btn.btn-primary:hover:not([disabled]) {
  background-color: #52374b;
}

.o_report_reception .badge {
  line-height: .75;
}

.o_report_reception .bg-primary-light {
  --bg-light: rgba(113, 75, 103, 0.5);
  --color-light: #000;
  background-color: rgba(113, 75, 103, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-primary-light .text-muted, .o_colored_level .o_report_reception .bg-primary-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-primary-light:hover, .o_report_reception a.bg-primary-light:focus,
.o_report_reception button.bg-primary-light:hover,
.o_report_reception button.bg-primary-light:focus {
  --bg-light: rgba(82, 55, 75, 0.5);
  --color-light: #000;
  background-color: rgba(82, 55, 75, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-secondary-light {
  --bg-light: rgba(222, 226, 230, 0.5);
  --color-light: #000;
  background-color: rgba(222, 226, 230, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-secondary-light .text-muted, .o_colored_level .o_report_reception .bg-secondary-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-secondary-light:hover, .o_report_reception a.bg-secondary-light:focus,
.o_report_reception button.bg-secondary-light:hover,
.o_report_reception button.bg-secondary-light:focus {
  --bg-light: rgba(193, 201, 208, 0.5);
  --color-light: #000;
  background-color: rgba(193, 201, 208, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-success-light {
  --bg-light: rgba(40, 167, 69, 0.5);
  --color-light: #000;
  background-color: rgba(40, 167, 69, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-success-light .text-muted, .o_colored_level .o_report_reception .bg-success-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-success-light:hover, .o_report_reception a.bg-success-light:focus,
.o_report_reception button.bg-success-light:hover,
.o_report_reception button.bg-success-light:focus {
  --bg-light: rgba(30, 126, 52, 0.5);
  --color-light: #000;
  background-color: rgba(30, 126, 52, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-info-light {
  --bg-light: rgba(23, 162, 184, 0.5);
  --color-light: #000;
  background-color: rgba(23, 162, 184, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-info-light .text-muted, .o_colored_level .o_report_reception .bg-info-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-info-light:hover, .o_report_reception a.bg-info-light:focus,
.o_report_reception button.bg-info-light:hover,
.o_report_reception button.bg-info-light:focus {
  --bg-light: rgba(17, 122, 139, 0.5);
  --color-light: #000;
  background-color: rgba(17, 122, 139, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-warning-light {
  --bg-light: rgba(233, 157, 0, 0.5);
  --color-light: #000;
  background-color: rgba(233, 157, 0, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-warning-light .text-muted, .o_colored_level .o_report_reception .bg-warning-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-warning-light:hover, .o_report_reception a.bg-warning-light:focus,
.o_report_reception button.bg-warning-light:hover,
.o_report_reception button.bg-warning-light:focus {
  --bg-light: rgba(182, 123, 0, 0.5);
  --color-light: #000;
  background-color: rgba(182, 123, 0, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-danger-light {
  --bg-light: rgba(212, 76, 89, 0.5);
  --color-light: #000;
  background-color: rgba(212, 76, 89, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-danger-light .text-muted, .o_colored_level .o_report_reception .bg-danger-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-danger-light:hover, .o_report_reception a.bg-danger-light:focus,
.o_report_reception button.bg-danger-light:hover,
.o_report_reception button.bg-danger-light:focus {
  --bg-light: rgba(191, 46, 60, 0.5);
  --color-light: #000;
  background-color: rgba(191, 46, 60, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-light-light {
  --bg-light: rgba(255, 255, 255, 0.5);
  --color-light: #000;
  background-color: rgba(255, 255, 255, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-light-light .text-muted, .o_colored_level .o_report_reception .bg-light-light .text-muted {
  color: rgba(0, 0, 0, 0.7) !important;
}

.o_report_reception a.bg-light-light:hover, .o_report_reception a.bg-light-light:focus,
.o_report_reception button.bg-light-light:hover,
.o_report_reception button.bg-light-light:focus {
  --bg-light: rgba(230, 230, 230, 0.5);
  --color-light: #000;
  background-color: rgba(230, 230, 230, 0.5) !important;
  color: #000;
}

.o_report_reception .bg-dark-light {
  --bg-light: rgba(33, 37, 41, 0.5);
  --color-light: #FFF;
  background-color: rgba(33, 37, 41, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-dark-light .text-muted, .o_colored_level .o_report_reception .bg-dark-light .text-muted {
  color: rgba(255, 255, 255, 0.7) !important;
}

.o_report_reception a.bg-dark-light:hover, .o_report_reception a.bg-dark-light:focus,
.o_report_reception button.bg-dark-light:hover,
.o_report_reception button.bg-dark-light:focus {
  --bg-light: rgba(10, 12, 13, 0.5);
  --color-light: #FFF;
  background-color: rgba(10, 12, 13, 0.5) !important;
  color: #FFF;
}

.o_label_page {
  margin-left: -3mm;
  margin-right: -3mm;
  overflow: hidden;
  page-break-before: always;
  padding: 1mm 0mm 0mm;
}

.o_label_page.o_label_dymo {
  font-size: 80%;
  width: 57mm;
  height: 32mm;
}

.o_label_page.o_label_dymo span, .o_label_page.o_label_dymo div {
  line-height: 1;
  white-space: nowrap;
}

.o_label_page span[itemprop="name"] {
  font-weight: bold;
}



/* /stock/static/src/scss/report_stock_rule.scss */

.o_report_stock_rule .table > :not(:first-child) {
  border-top: 2px solid currentColor;
}

.o_report_stock_rule .table {
  --table-border-color: #dee2e6;
}

.o_report_stock_rule .o_report_stock_rule_rule {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
}

.o_report_stock_rule .o_report_stock_rule_legend {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  max-width: 1000px;
}

.o_report_stock_rule .o_report_stock_rule_legend_line {
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
  width: 29%;
  margin-right: 20px;
  margin-left: 20px;
  margin-top: 15px;
  min-width: 200px;
}

.o_report_stock_rule .o_report_stock_rule_legend_line > .o_report_stock_rule_legend_label {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  width: 30%;
  min-width: 100px;
}

.o_report_stock_rule .o_report_stock_rule_legend_line > .o_report_stock_rule_legend_symbol {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  width: 70%;
}

.o_report_stock_rule .o_report_stock_rule_putaway > p {
  text-align: center;
  color: black;
  font-weight: normal;
  font-size: 12px;
}

.o_report_stock_rule .o_report_stock_rule_line {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  height: 20px;
}

.o_report_stock_rule .o_report_stock_rule_line > line {
  stroke: black;
  stroke-width: 1;
}

.o_report_stock_rule .o_report_stock_rule_arrow {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  height: 20px;
  width: 20px;
}

.o_report_stock_rule .o_report_stock_rule_arrow > svg > line {
  stroke: black;
  stroke-width: 1;
}

.o_report_stock_rule .o_report_stock_rule_arrow > svg > polygon {
  fill: black;
  fill-opacity: 0.5;
  stroke: black;
  stroke-width: 1;
}

.o_report_stock_rule .o_report_stock_rule_vertical_bar {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  height: 20px;
  width: 2px;
}

.o_report_stock_rule .o_report_stock_rule_vertical_bar > svg > line {
  stroke: black;
  stroke-width: 2;
}

.o_report_stock_rule .o_report_stock_rule_rule_name {
  text-align: center;
}

.o_report_stock_rule .o_report_stock_rule_symbol_cell {
  border: none !important;
}

.o_report_stock_rule .o_report_stock_rule_symbol_cell > div {
  max-width: 200px;
  height: 20px;
}

.o_report_stock_rule .o_report_stock_rule_rule_main {
  height: 100%;
  padding-top: 2px;
}

.o_report_stock_rule .o_report_stock_rule_location_header {
  text-align: center;
}

.o_report_stock_rule .o_report_stock_rule_location_header > a {
  display: block;
}

.o_report_stock_rule .o_report_stock_rule_location_header > a:hover {
  text-decoration: none;
  cursor: pointer;
  background-color: #efefef;
}

.o_report_stock_rule .o_report_stock_rule_location_header > a > div {
  color: black;
}

.o_report_stock_rule .o_report_stock_rule_rule_cell {
  padding: 0 !important;
}

.o_report_stock_rule .o_report_stock_rule_rule_cell > a {
  display: block;
}

.o_report_stock_rule .o_report_stock_rule_rule_cell > a:hover {
  text-decoration: none;
  cursor: pointer;
  background-color: #efefef;
}

.o_report_stock_rule .o_report_stock_rule_rtl {
  transform: scaleX(-1);
}



/* /stock/static/src/scss/report_stockpicking_operations.scss */

.o_report_stockpicking_operations table thead, .o_report_stockpicking_operations table tbody, .o_report_stockpicking_operations table td, .o_report_stockpicking_operations table th, .o_report_stockpicking_operations table tr {
  border: 0;
}



/* /stock/static/src/scss/stock_empty_screen.scss */

.o_view_nocontent_barcode_scanner:before {
  width: 250px;
  height: 250px;
  background: transparent url(/stock/static/img/barcode_scanner.png) no-repeat center;
  background-size: 250px 250px;
}

.o_view_nocontent_replenishment:before {
  width: 100%;
  height: 300px;
  max-width: 500px;
  margin-top: -100px;
  background: transparent url(/stock/static/img/replenishment.svg) no-repeat center;
}

.o_nocontent_help .o_view_nocontent_smiling_face.o_view_nocontent_stock:before {
  width: 200px;
  height: 200px;
  background: transparent url(/stock/static/img/empty_list.png) no-repeat center;
  background-size: 200px 200px;
  resize: both;
}



/* /stock/static/src/scss/stock_forecasted.scss */

.o_stock_forecasted_page .o_priority {
  display: inline-block;
  padding: 0;
  border: 0;
}

.o_stock_forecasted_page .o_priority.o_priority_star {
  background-color: transparent;
  font-size: 1.35em;
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star-o {
  color: #a8a8a8;
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star-o:hover {
  color: gold;
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star-o:hover:before {
  content: "\f005";
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star {
  color: gold;
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star:hover {
  color: #a8a8a8;
}

.o_stock_forecasted_page .o_priority.o_priority_star.fa-star:hover:before {
  content: "\f006";
}

.o_stock_forecasted_page .table td {
  vertical-align: middle;
}



/* /stock/static/src/scss/stock_overview.scss */

.o_stock_kanban .o_kanban_renderer {
  --KanbanRecord-width: 480px;
  --KanbanGroup-width: 400px;
  padding: 4px;
}

.o_stock_kanban .o_kanban_renderer .o_kanban_record {
  margin-left: 4px;
  margin-right: 4px;
}

.stock-overview-links {
  height: 5.5rem;
}



/* /stock/static/src/scss/stock_traceability_report.scss */

.o_stock_reports_body_print {
  background-color: white;
  color: black;
}

.o_stock_reports_body_print .o_stock_reports_level0 {
  border-width: 1px;
  border-left-style: hidden;
  border-right-style: hidden;
  font-weight: bold;
  border-top-style: solid;
  border-bottom-style: groove;
}

.o_main_content .o_stock_reports_page {
  position: absolute;
}

.o_stock_reports_page {
  background-color: white;
}

.o_stock_reports_page.o_stock_reports_no_print {
  margin: 13px auto;
  padding-top: 19.5px;
  padding-right: 13px;
  padding-bottom: 19.5px;
  padding-left: 13px;
}

.o_stock_reports_page.o_stock_reports_no_print .o_stock_reports_level0 {
  border-width: 1px;
  border-left-style: hidden;
  border-right-style: hidden;
  font-weight: normal;
  border-top-style: solid;
  border-bottom-style: groove;
}

.o_stock_reports_page.o_stock_reports_no_print .o_stock_reports_table {
  white-space: nowrap;
  margin-top: 30px;
}

.o_stock_reports_page.o_stock_reports_no_print .o_stock_reports_table thead {
  display: table-row-group;
}

.o_stock_reports_page.o_stock_reports_no_print .o_report_line_header {
  text-align: left;
  padding-left: 10px;
}

.o_stock_reports_page.o_stock_reports_no_print .o_report_header {
  border-top-style: solid;
  border-top-style: groove;
  border-bottom-style: groove;
  border-width: 2px;
}

.o_stock_reports_page .o_stock_reports_unfolded {
  display: inline-block;
}

.o_stock_reports_page .o_stock_reports_nofoldable {
  margin-left: 17px;
}

.o_stock_reports_page a.o_stock_report_lot_action {
  cursor: pointer;
}

.o_stock_reports_page .o_stock_reports_unfolded td + td {
  visibility: hidden;
}

.o_stock_reports_page div.o_stock_reports_web_action,
.o_stock_reports_page span.o_stock_reports_web_action, .o_stock_reports_page i.fa,
.o_stock_reports_page span.o_stock_reports_unfoldable, .o_stock_reports_page span.o_stock_reports_foldable, .o_stock_reports_page a.o_stock_reports_web_action {
  cursor: pointer;
}

.o_stock_reports_page .o_stock_reports_caret_icon {
  margin-left: -3px;
}

.o_stock_reports_page th {
  border-bottom: thin groove;
}

.o_stock_reports_page .o_stock_reports_level1 {
  border-width: 2px;
  border-left-style: hidden;
  border-right-style: hidden;
  font-weight: inherit;
  border-top-style: hidden;
  border-bottom-style: solid;
}

.o_stock_reports_page .o_stock_reports_level2 {
  border-width: 1px;
  border-left-style: hidden;
  border-right-style: hidden;
  font-weight: inherit;
  border-top-style: solid;
  border-bottom-style: solid;
}

.o_stock_reports_page .o_stock_reports_level2 > td > span:last-child {
  margin-left: 25px;
}

.o_stock_reports_page .o_stock_reports_default_style {
  border-width: 0px;
  border-left-style: hidden;
  border-right-style: hidden;
  font-weight: inherit;
  border-top-style: solid;
  border-bottom-style: solid;
}

.o_stock_reports_page .o_stock_reports_default_style > td > span:last-child {
  margin-left: 50px;
}



/* /iap_mail/static/src/scss/iap_mail.scss */

.o_partner_autocomplete_enrich_info i {
  /* To prevent the icons from being cropped when there is not enough available space */
  min-width: fit-content;
}



/* /base_automation/static/src/base_automation.scss */

.o_base_automation_actions_field .o_kanban_ungrouped,
.o_base_automation_kanban_view .o_kanban_ungrouped {
  padding: 0;
}

.o_base_automation_actions_field .o_kanban_ungrouped .o_kanban_record,
.o_base_automation_kanban_view .o_kanban_ungrouped .o_kanban_record {
  width: 100%;
  margin: 0;
}

.o_base_automation_actions_field .o_kanban_ungrouped .o_kanban_record.o_kanban_ghost,
.o_base_automation_kanban_view .o_kanban_ungrouped .o_kanban_record.o_kanban_ghost {
  display: none;
}

.o_base_automation_actions_field .o_kanban_ghost {
  display: none;
}

.o_base_automation_kanban_view .o_kanban_grouped .row {
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.o_base_automation_kanban_view .o_kanban_grouped .row > * {
  width: 100% !important;
}

.o_base_automation_kanban_view .o_kanban_grouped .row > * > * {
  margin: 0 0.5rem !important;
}

.o_base_automation_kanban_view .o_kanban_ungrouped .o_kanban_record .oe_kanban_global_click {
  border-top: 0;
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
}

.o_base_automation_kanban_view .o_kanban_ungrouped .o_kanban_record .oe_kanban_global_click .o_widget_web_ribbon {
  align-self: flex-start;
}

.o_base_automation_error pre {
  max-height: 25vh !important;
}



/* /web_enterprise/static/src/webclient/home_menu/expiration_panel.scss */

.database_expiration_panel .oe_instance_register_form {
  max-height: 0;
  transition: max-height 0.4s;
}

.database_expiration_panel .oe_instance_register_form.o-vertical-slide-enter-active {
  max-height: 10rem;
}



/* /web_enterprise/static/src/webclient/home_menu/home_menu.scss */

.o_home_menu_background:not(.o_home_menu_background_custom):not(.o_in_studio) .o_main_navbar {
  background: transparent;
  border-bottom-color: transparent;
}

.o_home_menu_background:not(.o_home_menu_background_custom):not(.o_in_studio) .o_main_navbar .o_dropdown_active,
.o_home_menu_background:not(.o_home_menu_background_custom):not(.o_in_studio) .o_main_navbar > ul > li.show > a {
  outline: none;
}

.o_home_menu_background.o_home_menu_background_custom .o_home_menu {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.o_home_menu_background .o_menu_systray {
  --o-navbar-badge-bg: #dc3545;
}

.o_home_menu {
  font-size: 0.875rem;
}

@media (min-width: 188mm) {
  .o_home_menu .container, .o_home_menu .o_container_small {
    max-width: 850px !important;
  }
}

.o_home_menu .o_app .o_app_icon {
  width: 70px;
  aspect-ratio: 1;
  padding: 10px;
  background-color: var(--AppSwitcherIcon-background, white);
  object-fit: cover;
  transform-origin: center bottom;
  transition: box-shadow ease-in 0.1s, transform ease-in 0.1s;
  box-shadow: var(--AppSwitcherIcon-inset-shadow, inset 0 0 0 1px rgba(0, 0, 0, 0.2)), 0 1px 1px rgba(0, 0, 0, 0.02), 0 2px 2px rgba(0, 0, 0, 0.02), 0 4px 4px rgba(0, 0, 0, 0.02), 0 8px 8px rgba(0, 0, 0, 0.02), 0 16px 16px rgba(0, 0, 0, 0.02);
}

.o_home_menu .o_app .o_app_icon .fa {
  font-size: 35px;
}

.o_home_menu .o_app:hover .o_app_icon {
  box-shadow: var(--AppSwitcherIcon-inset-shadow, inset 0 0 0 1px rgba(0, 0, 0, 0.2)), 0 2px 2px rgba(0, 0, 0, 0.03), 0 4px 4px rgba(0, 0, 0, 0.03), 0 8px 8px rgba(0, 0, 0, 0.03), 0 12px 12px rgba(0, 0, 0, 0.03), 0 24px 24px rgba(0, 0, 0, 0.03);
  transform: translateY(-2px);
}

.o_home_menu .o_app:active .o_app_icon {
  transform: translateY(-2px) scale(0.98);
  transition: none;
}

.o_home_menu .o_app .o_caption {
  color: var(--homeMenuCaption-color, #495057);
  text-shadow: none;
}

.o_home_menu .o_app.o_focused {
  background: #e6f2f3;
  outline: 1px solid #017e84;
  border-radius: 0.25rem;
}

.o_home_menu .o_dragged_app {
  transition: transform 0.5s;
  transform: rotate(6deg);
}

.o_home_menu .o_dragged_app .o_app_icon {
  box-shadow: 0 8px 15px -10px black;
  transform: translateY(-1px);
}

@media (max-width: 187.98mm) {
  .o_home_menu.o_ios_app .o_apps {
    -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
    font-size: 1.25rem;
    margin-top: 3.25px;
    padding: 0 6.5px;
  }
  .o_home_menu.o_ios_app .o_apps > *, .o_home_menu.o_ios_app .o_apps .o_app {
    width: 100%;
  }
  .o_home_menu.o_ios_app .o_app {
    flex-direction: row !important;
    justify-content: initial !important;
    background-color: rgba(255, 255, 255, 0.1);
    padding: 13px 19.5px !important;
  }
  .o_home_menu.o_ios_app .o_app_icon {
    width: 52.5px;
    height: 52.5px;
    margin-right: 19.5px;
  }
  .o_home_menu.o_ios_app .o_caption {
    text-align: start !important;
  }
  .o_home_menu:not(.o_ios_app) .o_caption {
    font-size: 0.8125rem;
    font-weight: 500;
  }
}

.o_home_menu_background_custom .o_home_menu .o_app .o_caption {
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75), 0 2px 5px rgba(0, 0, 0, 0.05), 0 0 5px rgba(0, 0, 0, 0.05);
}



/* /web_enterprise/static/src/webclient/home_menu/home_menu_background.scss */

.o_home_menu_background, .o_web_client.o_home_menu_background {
  background-size: cover;
  background-attachment: fixed;
  background-color: var(--homeMenu-bg-color, #e9ecef);
  background-image: var(--homeMenu-bg-image, url("/web_enterprise/static/img/background-light.svg"));
}



/* /web_enterprise/static/src/webclient/navbar/navbar.scss */

.o_main_navbar {
  --NavBar-entry-color--active: #212529;
  --NavBar-entry-borderColor-active: #017e84;
  --NavBar-entry-backgroundColor--active: #e6f2f3;
  --NavBar-entry-backgroundColor--hover: #e9ecef;
  --NavBar-entry-backgroundColor--focus: #e9ecef;
  --Dropdown_menu-margin-y: 3.25px;
}

.o_main_navbar .o_menu_toggle {
  color: var(--NavBar-menuToggle-color, #714B67);
}

body.o_is_superuser .o_menu_systray {
  border-image-outset: 5px;
}



/* /web_enterprise/static/src/views/kanban/kanban_view.scss */

.o_kanban_view .o_column_quick_create .o_kanban_quick_create input, .o_kanban_view .o_column_quick_create .o_kanban_quick_create input:focus, .o_kanban_view .o_column_quick_create .o_kanban_quick_create input:hover {
  background: transparent;
  border-bottom: 1px solid #6c757d;
}

.o_kanban_view .o_column_quick_create .o_kanban_quick_create .input-group-append, .o_kanban_view .o_column_quick_create .o_kanban_quick_create .input-group-prepend {
  border-left: 10px solid #e9ecef;
}



/* /web_enterprise/static/src/views/list/list_controller.scss */

.o_list_renderer {
  --ListRenderer-thead-border-end-color: transparent;
}



/* /web_enterprise/static/src/core/notebook/notebook.scss */

.o_notebook {
  --notebook-link-border-color: #dee2e6;
  --notebook-link-border-color-hover: #dee2e6;
  --notebook-link-border-color-active-accent: #714B67;
}

.modal .o_notebook {
  --notebook-padding-x: 13px;
  --notebook-margin-x: -13px;
}



/* /web_studio/static/src/approval/approval.scss */

.o-approval-popover .o-approval-popover--header {
  background-color: #e9ecef;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid #dee2e6;
}

.o-approval-popover .o_web_studio_approval_info {
  margin: 0.5rem;
}

.o-approval-popover .o_web_studio_approval_info .o_web_studio_approval_avatar {
  max-height: 22px;
  max-width: 22px;
}

.o-approval-dialog .o_web_studio_approval_info {
  margin-top: 1rem;
}

/* approval component (avatars inside buttons) */
.o_web_studio_approval {
  margin-left: 8px;
  display: inline;
}

.o_web_studio_approval .o_web_studio_approval_avatar {
  margin-left: 2px;
  width: 16px;
  height: 16px;
  vertical-align: text-bottom;
}

.o_web_studio_approval .o_web_studio_approval_avatar.border {
  border-width: 2px !important;
}

.o_web_studio_approval .o_web_studio_approval_more {
  width: 16px;
  height: 16px;
  font-size: 9px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  margin-left: 2px;
  line-height: 16px;
}

.o-studio-approval-rule-kanban .o_kanban_record {
  min-height: 105px;
}



/* /web_studio/static/src/client_action/report_editor/qweb_table_plugin.scss */

.odoo-editor-editable q-table {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  --q-table-col-count: 1;
  --q-row-gap: 5px;
  --q-cell-col-size: 1;
}

.odoo-editor-editable q-table t:not(q-td > t):not(q-th > t):not([t-set]) {
  display: contents;
}

.odoo-editor-editable q-table q-thead {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  font-weight: bold;
}

.odoo-editor-editable q-table q-tbody {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
}

.odoo-editor-editable q-table q-tfoot {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
}

.odoo-editor-editable q-table q-th, .odoo-editor-editable q-table q-td {
  flex-shrink: 0;
  --q-cell-max-col-size: min(var(--q-cell-col-size), var(--q-table-col-count));
  --q-cell-width: calc(100% * var(--q-cell-max-col-size) / var(--q-table-col-count));
  width: calc(var(--q-cell-width) - var(--q-row-gap));
  outline: 1px dashed rgba(0, 0, 102, 0.4);
}

.odoo-editor-editable q-table q-tr {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  gap: var(--q-row-gap);
}



/* /resource_mail/static/src/views/fields/many2many_avatar_resource/many2many_avatar_resource_field.scss */

.o_field_many2many_avatar_resource .o_avatar.o_avatar_many2x_autocomplete > i.o_material_resource {
  height: var(--Avatar-size, 1.7145em);
  width: var(--Avatar-size, 1.7145em);
}

.o_m2o_avatar .o_material_resource {
  height: var(--Avatar-size, 1.7145em);
  width: var(--Avatar-size, 1.7145em);
}

.o_kanban_view .o_material_resource {
  margin-right: 0px !important;
}



/* /resource_mail/static/src/views/fields/many2one_avatar_resource/many2one_avatar_resource_field.scss */

.o_field_many2one_avatar_resource .o_avatar.o_avatar_many2x_autocomplete > i.o_material_resource {
  height: var(--Avatar-size, 1.7145em);
  width: var(--Avatar-size, 1.7145em);
}



/* /hr/static/src/components/background_image/background_image.scss */

div.o_field_widget.o_field_background_image {
  display: inline-block;
}

@media (max-width: 187.98mm) {
  div.o_field_widget.o_field_background_image {
    height: calc(100% + var(--KanbanRecord-padding-v)* 2);
    margin-top: calc(var(--KanbanRecord-padding-v)* -1);
    margin-bottom: calc(var(--KanbanRecord-padding-v)* -1);
    margin-left: calc(var(--KanbanRecord-padding-h)* -1);
  }
}

div.o_field_widget.o_field_background_image > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
}



/* /hr/static/src/components/department_chart/department_chart.scss */

.o_widget_hr_department_chart {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_widget_hr_department_chart .o_hr_department_chart .o_hr_department_chart_self .department_name {
  font-weight: bold;
}

@media (min-width: 100mm) {
  .o_widget_hr_department_chart .o_hr_department_chart {
    width: 50%;
  }
}

@media (max-width: 187.98mm) {
  .o_widget_hr_department_chart .o_hr_department_chart {
    flex-grow: 1;
  }
}



/* /hr/static/src/scss/hr.scss */

.o_hr_department_kanban .o_kanban_renderer {
  --KanbanRecord-width: 450px;
  --KanbanRecord-width-small: 350px;
}

.o_hr_employee_profile_form_view .o_form_renderer .o_form_sheet_bg {
  max-width: unset;
}

.o_icon_employee_absent {
  color: #e99d00;
}

.o_hr_employee_form_view .o_form_renderer .o_form_sheet_bg {
  max-width: unset;
}

.o_hr_employee_form_view .o_form_renderer .o_employee_chat_btn {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 5px;
}

@media (max-width: 187.98mm) {
  .o_hr_employee_form_view .o_form_renderer .o_employee_chat_btn {
    margin-left: 0 !important;
  }
}

.o_hr_employee_form_view .o_form_renderer .o_employee_avatar {
  position: relative;
  width: fit-content;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  align-items: flex-start;
}

.o_hr_employee_form_view .o_form_renderer .o_employee_avatar .o_employee_availability {
  position: absolute;
  top: -5px;
  right: -5px;
  padding-bottom: 1px;
  border-radius: 50%;
  background-color: white;
  height: 1rem;
  width: 1rem;
}

.o_hr_employee_form_view .o_form_renderer .o_employee_avatar .o_employee_availability * {
  margin-bottom: -1px;
  height: 1rem;
  width: 1rem;
}

.o_hr_employee_form_view .o_form_renderer .oe_title {
  flex: 1;
}

.o_hr_employee_kanban .o_kanban_renderer .o_employee_availability {
  margin: unset !important;
}

.o_hr_employee_kanban .o_kanban_renderer .o_kanban_record_bottom {
  margin: 0 var(--KanbanRecord-padding-h);
}

.o_hr_employee_kanban .o_kanban_renderer .o_kanban_record_bottom .fa.fa-comments {
  margin-bottom: 5px;
}

.hr_tags {
  margin-right: 20%;
}

.o_hr_narrow_field {
  width: 8rem !important;
  max-width: 8rem !important;
}

.o_hr_narrow_field * {
  max-width: 100%;
}

.o_hr_narrow_field-1 {
  width: 1rem !important;
  max-width: 1rem !important;
}

.o_hr_narrow_field-2 {
  width: 2rem !important;
  max-width: 2rem !important;
}

.o_hr_narrow_field-3 {
  width: 3rem !important;
  max-width: 3rem !important;
}

.o_hr_narrow_field-4 {
  width: 4rem !important;
  max-width: 4rem !important;
}

.o_hr_narrow_field-5 {
  width: 5rem !important;
  max-width: 5rem !important;
}

.o_hr_narrow_field-6 {
  width: 6rem !important;
  max-width: 6rem !important;
}

.o_hr_narrow_field-7 {
  width: 7rem !important;
  max-width: 7rem !important;
}

.o_hr_narrow_field-8 {
  width: 8rem !important;
  max-width: 8rem !important;
}

.o_hr_narrow_field-9 {
  width: 9rem !important;
  max-width: 9rem !important;
}

.o_hr_narrow_field-10 {
  width: 10rem !important;
  max-width: 10rem !important;
}

.o_hr_narrow_field-11 {
  width: 11rem !important;
  max-width: 11rem !important;
}

.o_hr_narrow_field-12 {
  width: 12rem !important;
  max-width: 12rem !important;
}

.o_hr_narrow_field-13 {
  width: 13rem !important;
  max-width: 13rem !important;
}

.o_hr_narrow_field-14 {
  width: 14rem !important;
  max-width: 14rem !important;
}

.o_hr_narrow_field-15 {
  width: 15rem !important;
  max-width: 15rem !important;
}



/* /hr/static/src/scss/res_config_settings.scss */

input#hr_presence_control_email_amount {
  max-width: 5rem;
}



/* /sale_order_extension/static/src/css/custom_styles.css */
.custom-truck-icon::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url('/sale_order_extension/static/src/img/revenue.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
}


/* /stock_barcode/static/src/components/count_screen_rfid.scss */

.o_barcode_count_rfid {
  z-index: 1000;
}



/* /stock_barcode/static/src/components/grouped_line.scss */

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_selected.o_line_not_completed:not(.o_faulty) .o_barcode_line_summary {
  background: #e6f2f3;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line:not(.o_selected).o_line_not_completed:not(.o_faulty) .o_barcode_line_summary {
  background: white;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_line_completed:not(.o_faulty) .o_barcode_line_summary {
  background: #eaf6ec;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty .o_barcode_line_summary {
  background: #fbedee;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line_summary {
  position: sticky;
  top: 0;
  z-index: 1;
  flex-basis: 100%;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line_summary.o_unfolded {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: inherit;
}

.o_barcode_client_action .o_barcode_lines .o_sublines .o_barcode_line {
  border-left-width: 12px;
}

.o_barcode_client_action .o_barcode_lines .o_sublines .o_barcode_line:last-child {
  margin-bottom: 0;
  border-bottom: 0;
}



/* /stock_barcode/static/src/components/line.scss */

.o_barcode_client_action .o_barcode_lines .o_barcode_line {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
  border-width: 0 0 1px;
  --list-group-bg: var(--bg, white);
  --list-group-color: #000;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_barcode_line_package .o_barcode_line_details > * {
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_barcode_line_package .o_barcode_line_details > .o_barcode_package_name {
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
  overflow: hidden;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_barcode_line_package .o_barcode_line_details > .o_barcode_package_name > span {
  max-width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_selected {
  --bg: #e6f2f3;
  --border: #017e84;
  box-shadow: inset 0 0 0 3px var(--border);
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty {
  --bg: #fbedee;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty.o_selected {
  --border: #d44c59;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_line_completed {
  --bg: #eaf6ec;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_line_completed.o_selected {
  --border: #28a745;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_barcode_scanner_qty .qty-done.o_flash, .o_barcode_client_action .o_barcode_lines .o_barcode_line .o_barcode_scanner_qty .inventory_quantity.o_flash {
  animation-name: highlighting-flash-primary;
  animation-duration: 0.5s;
}

@keyframes o-barcode-btn-click {
  from {
    background-color: #017e84;
    color: #FFF;
  }
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: none;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button[disabled] {
  background-color: gray;
  border-color: gray;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button.o_edit {
  font-size: 1.09375rem;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button.o_picture img {
  max-width: 42px;
  max-height: 42px;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button.btn-light {
  --btn-border-color: #ced4da;
  --btn-hover-bg: #FFF;
  --btn-hover-border-color: #017e84;
  --btn-active-bg:  #FFF;
  --btn-active-border-color: #017e84;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button.btn-danger {
  --btn-border-color: #1b0608;
  --btn-hover-border-color: #1b0608;
  --btn-active-border-color: #1b0608;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button:active {
  animation-duration: 1s;
  animation-name: o-barcode-btn-click;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_next_expected {
  color: #00A09D;
  opacity: 1 !important;
}



/* /stock_barcode/static/src/components/main.scss */

@keyframes white-flash {
  from {
    filter: brightness(2);
  }
  to {
    filter: none;
  }
}

.o_barcode_client_action {
  display: -webkit-box; display: -webkit-flex; display: flex;
  background-color: white;
  overflow: auto;
}

.o_barcode_client_action.o_white_flash {
  animation: white-flash 200ms;
}

.o_barcode_client_action .o_strong {
  font-weight: bold;
}

.o_barcode_client_action .o_barcode_header {
  flex: 0 0 46px;
}

.o_barcode_client_action .o_barcode_header .o_barcode_partner {
  font-size: 0.8em;
}

.o_barcode_client_action .o_barcode_message {
  box-shadow: inset 0 0 20px #212529;
}

.o_barcode_client_action .o_barcode_message .o_barcode_pic {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
  flex: 1 1 60%;
  max-width: 200px;
}

.o_barcode_client_action .o_barcode_message .o_barcode_pic .fa-exclamation-triangle {
  opacity: 0.8;
}

.o_barcode_client_action .o_barcode_lines_header {
  font-size: 16px;
  color: white;
}

@media (max-width: 187.98mm) {
  .o_barcode_client_action .o_barcode_lines_header {
    font-size: 14px;
  }
}

.o_barcode_client_action .o_barcode_lines_header:empty {
  display: none;
}

.o_barcode_client_action .o_barcode_lines {
  overflow: auto;
  word-break: break-word;
}

.o_barcode_client_action .o_barcode_lines::-webkit-scrollbar {
  display: none;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_location_group:last-child {
  box-shadow: 0 3px 6px #b0b0b0;
  margin-bottom: 60vh;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_location_group .o_barcode_location_line {
  position: sticky;
  top: 0;
  z-index: 2;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_location_group .o_barcode_location_line .o_location_name {
  display: inline-block;
  direction: rtl;
  overflow: hidden;
  text-overflow: ellipsis;
  text-wrap: nowrap;
}

.o_barcode_client_action .o_barcode_settings > button {
  -webkit-box-flex: 1; -webkit-flex: 1 0 auto; flex: 1 0 auto;
  border-bottom: 1px solid #dee2e6;
}

.o_barcode_client_action .o_barcode_settings > button:last-child {
  border-bottom: 0;
}

.o_barcode_client_action .o_barcode_control {
  width: 100%;
  box-shadow: 0 -3px 10px #dee2e6;
}

.o_barcode_client_action .o_barcode_control > .btn {
  flex: 1 1 0px;
}

@media (min-height: 800px) {
  .o_barcode_client_action .o_barcode_control > .btn {
    height: 60px;
  }
}

.o_barcode_client_action .o_barcode_control > .btn.btn-secondary {
  color: #343a40;
}

.o_barcode_client_action .o_barcode_control > .btn[disabled] {
  opacity: 1;
  background-color: #e9ecef;
  color: #6c757d;
}

.o_barcode_client_action .o_barcode_line_form {
  margin-bottom: 36px;
  font-size: 1.2em;
}

@media (max-width: 187.98mm) {
  .o_barcode_client_action .o_barcode_line_form {
    margin-left: 0;
  }
}

.o_barcode_client_action .o_barcode_line_form .o_barcode_control {
  background-color: var(--bg, white);
}

.o_barcode_client_action .o_barcode_line_form .row .no-radius-left .o_field_widget input {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.o_barcode_client_action .o_barcode_line_form .row .no-radius-right .o_field_widget input {
  border-right: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.o_barcode_client_action .o_barcode_line_form .row a.o_field_widget {
  display: inline-block;
  padding-top: 8px;
}

.o_barcode_client_action .o_barcode_line_form .row > div .o_field_float {
  width: 100%;
}

.o_barcode_client_action .o_barcode_line_form .row > div .o_input {
  min-height: 42px;
  display: block;
  width: 100%;
  padding: 0.3125rem 0.625rem;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.3;
  color: var(--body-color);
  background-color: transparent;
  border: var(--border-width) solid #dee2e6;
  border-radius: var(--border-radius);
}

.o_barcode_client_action .o_barcode_line_form .row > div [name="qty_done"], .o_barcode_client_action .o_barcode_line_form .row > div [name="inventory_quantity"], .o_barcode_client_action .o_barcode_line_form .row > div [name="product_uom_id"] {
  margin-bottom: 0;
}

.o_barcode_client_action .o_barcode_line_form .row > div [name="qty_done"] .o_input, .o_barcode_client_action .o_barcode_line_form .row > div [name="inventory_quantity"] .o_input, .o_barcode_client_action .o_barcode_line_form .row > div [name="product_uom_id"] .o_input {
  font-size: 2rem;
}

.o_barcode_client_action .o_barcode_line_form .row > div :not(td)[name="product_uom_id"] {
  height: 100%;
  margin-bottom: 0;
  font-size: 2rem;
}

.o_barcode_client_action .o_barcode_line_form .row > div [name="product_uom_id"] .o-autocomplete, .o_barcode_client_action .o_barcode_line_form .row > div .o_field_many2one_selection, .o_barcode_client_action .o_barcode_line_form .row > div .o_field_many2one_selection input {
  height: 100%;
}

.o_barcode_client_action .o_barcode_line_form .row > div .o_dropdown_button {
  display: none;
}

.o_barcode_client_action .o_barcode_line_form .row > div .o_external_button:before {
  --oi-font-size: 1.5em;
  content: '\e812';
}

.o_barcode_client_action .o_stock_barcode_camera_video {
  max-height: 35vh;
  max-width: 100%;
}



/* /stock_barcode/static/src/main_menu/main_menu.scss */

.o_stock_barcode_main_menu {
  max-width: 100mm;
  overflow: auto;
}

.o_stock_barcode_main_menu .o_barcode_demo_message {
  font-size: 0.9em;
}

.o_stock_barcode_main_menu .o_barcode_tap_to_scan {
  position: relative;
}

.o_stock_barcode_main_menu .o_barcode_tap_to_scan img {
  width: 100%;
}

.o_stock_barcode_main_menu .o_barcode_tap_to_scan .o_stock_barcode_laser {
  opacity: 0;
  width: 120%;
  height: 4px;
  position: absolute;
  top: 0;
  left: -10%;
  background: red;
  animation: o_barcode_scanner_intro 1.4s cubic-bezier(0.6, -0.28, 0.735, 0.045) 0.4s;
  animation-fill-mode: forwards;
}

@keyframes o_barcode_scanner_intro {
  0% {
    opacity: 0;
    top: 0;
  }
  25% {
    opacity: 0.5;
    top: 60%;
  }
  50% {
    top: 10%;
  }
  75% {
    top: 80%;
  }
  100% {
    opacity: 0.5;
    top: 50%;
  }
}



/* /stock_barcode/static/src/scss/form_view.scss */

@media (max-width: 99.98mm) {
  .o_barcode_client_action .o_form_view .o_form_nosheet {
    padding-top: 8px;
  }
}



/* /stock_barcode/static/src/scss/stock_barcode.scss */

.o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .o_stock_mobile_barcode .fa {
  --s: 7px;
  /* the size on the corner */
  --t: 1px;
  /* the thickness of the border */
  --g: 5px;
  /* the gap between the border and image */
  padding: calc(var(--g) + var(--t));
  outline: var(--t) solid currentColor;
  outline-offset: calc(-1*var(--t));
  mask: conic-gradient(at var(--s) var(--s), #0000 75%, #000 0) 0 0/calc(100% - var(--s)) calc(100% - var(--s)), linear-gradient(#000 0 0) content-box;
}

@media (max-width: 187.98mm) {
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) {
    --body-font-size: 1rem;
    --font-size-base: 1rem;
    --small-font-size: 0.88rem;
    --btn-font-size: 1rem;
    --btn-padding-x: 0.75rem;
    --btn-padding-y: 0.375rem;
    --btn-line-height: 20px;
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) small, .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .small {
    font-size: var(--small-font-size);
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .btn {
    font-size: var(--btn-font-size);
    padding: var(--btn-padding-y) var(--btn-padding-x);
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .btn.btn-lg, .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .btn-group-lg > .btn {
    --btn-font-size: 1.09375rem;
    --btn-padding-x: 1rem;
    --btn-padding-y: 0.5rem;
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header {
    padding: 9.75px !important;
    height: auto !important;
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header > button[aria-label="Close"] {
    padding-left: var(--btn-padding-x) !important;
    padding-right: var(--btn-padding-x) !important;
    margin-inline-end: 13px;
    --btn-color: #495057;
    --btn-bg: #e9ecef;
    --btn-border-color: #e9ecef;
    --btn-hover-color: #343a40;
    --btn-hover-bg: #dee2e6;
    --btn-hover-border-color: #dee2e6;
    --btn-focus-shadow-rgb: 209, 213, 216;
    --btn-active-color: #212529;
    --btn-active-bg: #e6f2f3;
    --btn-active-border-color: #017e84;
    --btn-active-shadow: 0;
    --btn-disabled-color: #000;
    --btn-disabled-bg: #e9ecef;
    --btn-disabled-border-color: #e9ecef;
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header > button[aria-label="Close"] .oi, .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header > button[aria-label="Close"].oi {
    width: auto;
  }
  .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header > button[aria-label="Close"] .oi::before, .o_web_client:has(.o_barcode_client_action, .o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view, .o_stock_barcode_main_menu) .modal-header > button[aria-label="Close"].oi::before {
    content: '\e83a';
  }
}

.o_web_client:has(.o_barcode_client_action, .o_stock_barcode_main_menu) .btn {
  min-width: 42px;
  min-height: 42px;
}

@media (max-width: 187.98mm) {
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) {
    min-height: auto;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o-kanban-button-new, .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_control_panel_navigation > .btn-secondary {
    min-width: 42px;
    min-height: 42px;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb .o_back_button {
    padding-left: var(--btn-padding-x) !important;
    padding-right: var(--btn-padding-x) !important;
    margin-inline-end: 13px;
    --btn-color: #495057;
    --btn-bg: #e9ecef;
    --btn-border-color: #e9ecef;
    --btn-hover-color: #343a40;
    --btn-hover-bg: #dee2e6;
    --btn-hover-border-color: #dee2e6;
    --btn-focus-shadow-rgb: 209, 213, 216;
    --btn-active-color: #212529;
    --btn-active-bg: #e6f2f3;
    --btn-active-border-color: #017e84;
    --btn-active-shadow: 0;
    --btn-disabled-color: #000;
    --btn-disabled-bg: #e9ecef;
    --btn-disabled-border-color: #e9ecef;
    min-width: 42px;
    min-height: 42px;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb .o_back_button .oi, .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb .o_back_button.oi {
    width: auto;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb .o_back_button .oi::before, .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb .o_back_button.oi::before {
    content: '\e83a';
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_embedded_actions {
    display: none !important;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_control_panel {
    padding: 9.75px !important;
    position: relative !important;
    top: 0 !important;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_control_panel_breadcrumbs {
    display: contents !important;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_control_panel_breadcrumbs_actions {
    display: none !important;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_breadcrumb {
    justify-content: start !important;
    order: 0;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_cp_pager {
    display: none !important;
  }
  .o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_control_panel_main_buttons {
    order: 1;
  }
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_1 {
  background-color: rgba(238, 45, 45, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_1 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_1 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_2 {
  background-color: rgba(220, 133, 52, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_2 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_2 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_3 {
  background-color: rgba(232, 187, 29, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_3 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_3 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_4 {
  background-color: rgba(87, 148, 221, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_4 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_4 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_5 {
  background-color: rgba(159, 98, 143, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_5 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_5 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_6 {
  background-color: rgba(219, 136, 101, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_6 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_6 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_7 {
  background-color: rgba(65, 169, 162, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_7 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_7 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_8 {
  background-color: rgba(48, 75, 224, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_8 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_8 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_9 {
  background-color: rgba(238, 47, 138, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_9 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_9 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_10 {
  background-color: rgba(97, 195, 110, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_10 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_10 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_11 {
  background-color: rgba(152, 114, 230, 0.5);
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_11 .o_kanban_record_title {
  color: #000;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type.o_kanban_color_11 .badge {
  background: #000;
  color: #FFF;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view, .o_stock_barcode_operations_kanban_view) .o_barcode_picking_type:after {
  border-color: transparent !important;
}

.o_web_client:has(.o_stock_barcode_list_kanban_view) .o_kanban_view {
  --ControlPanel-border-bottom: 1px solid #dee2e6;
}

@media (max-width: 187.98mm) {
  .o_web_client:has(.o_stock_barcode_list_kanban_view) .o_breadcrumb {
    width: 100%;
  }
}

@keyframes highlighting-flash-primary {
  0% {
    background-color: theme-color("primary");
  }
  20% {
    background-color: transparent;
  }
  21% {
    background-color: theme-color("primary");
  }
  100% {
    background-color: transparent;
  }
}

@keyframes highlighting-flash-white {
  0% {
    background-color: white;
  }
  20% {
    background-color: transparent;
  }
  21% {
    background-color: white;
  }
  100% {
    background-color: transparent;
  }
}



/* /stock_barcode/static/src/widgets/set_reserved_qty_button.scss */

.o_web_client.o_touch_device .o_button_qty_done, .o_button_qty_done {
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 1em;
}



/* /hr_skills/static/src/fields/skills_one2many/skills_one2many.scss */

.o_field_skills_one2many .o_progress, .o_field_resume_one2many .o_progress {
  background: #dee2e6;
  border: 0;
  height: 5px;
}

.o_field_skills_one2many .o_progressbar_value, .o_field_resume_one2many .o_progressbar_value {
  font-size: 0.8125rem;
  font-weight: bold;
}

table.o_skill_table .o_progressbar, .o_hr_skills_dialog_form .o_progressbar {
  display: -webkit-box; display: -webkit-flex; display: flex;
  align-items: center;
}

table.o_skill_table .o_progressbar .o_progressbar_value input, .o_hr_skills_dialog_form .o_progressbar .o_progressbar_value input {
  width: auto;
}



/* /hr_skills/static/src/fields/resume_one2many/resume_one2many.scss */

.o_field_resume_one2many .o_data_row {
  border-bottom: none;
}

.o_field_resume_one2many .o_data_row td {
  padding: 0.5rem;
}

.o_field_resume_one2many .o_data_row td.o_resume_timeline_cell div {
  width: 0.6rem;
  height: 0.6rem;
}

.o_field_resume_one2many .o_data_row td.o_resume_timeline_cell:before {
  position: absolute;
  top: 0;
  left: 1.05rem;
  bottom: auto;
  right: auto;
  width: 1px;
  height: 100%;
  background-color: #dee2e6;
  content: "";
}

@media (min-width: 992px) {
  .o_field_resume_one2many .o_data_row td.o_resume_timeline_cell:before {
    left: 1.45625rem;
  }
}

@media (min-width: 1534px) {
  .o_field_resume_one2many .o_data_row td.o_resume_timeline_cell:before {
    left: 1.05rem;
  }
}

.o_field_resume_one2many .o_resume_line_title, .o_field_resume_one2many .o_resume_line_desc {
  white-space: normal;
}

.o_field_resume_one2many .o_resume_line_title, .o_field_resume_one2many .o_resume_line_dates {
  line-height: 1;
}

.o_field_resume_one2many .o_resume_group_header + .o_data_row .o_resume_timeline_cell:before {
  top: 0.5rem;
}

.o_field_resume_one2many .o_data_row.o_data_row_last .o_resume_line_desc {
  margin-bottom: 6.5px;
}

.o_field_resume_one2many .o_data_row.o_data_row_last .o_resume_timeline_cell:before {
  height: 0.5rem;
}



/* /hr_skills/static/src/scss/hr_employee.scss */

.o_hr_skills_group {
  padding: 0 calc(var(--gutter-x) * 1) !important;
}

.o_hr_skills_group:first-child {
  padding-left: calc(var(--gutter-x) * .5) !important;
}

.o_hr_skills_group:last-child {
  padding-right: calc(var(--gutter-x) * .5) !important;
}

.o_hr_skills_group .o_list_renderer {
  overflow-x: hidden !important;
}

.o_hr_skill_type_form th[data-name="level_progress"] div span {
  text-align: left !important;
}

.o_list_renderer .o_list_table .o_data_row:not(.o_selected_row) .o_data_cell.o_boolean_toggle_load_cell > .o_field_widget:not(.o_readonly_modifier) .form-check {
  pointer-events: auto;
}

.o_skill_level_tree .o_list_renderer .o_list_table thead .o_list_number_th {
  text-align: start !important;
}

.o_skill_level_tree .o_progressbar_value .o_input {
  width: 0 !important;
}

.o_skill_level_tree .flex-row-reverse {
  flex-direction: inherit !important;
}



/* /hr_skills/static/src/scss/report_employee_cv.scss */

div.o_employee_cv {
  font-family: 'Roboto', sans-serif;
  color: #16171a;
  font-size: 14px;
  padding: 0;
  margin: 0;
  position: relative;
}

div.o_employee_cv h1, div.o_employee_cv .h1, div.o_employee_cv h2, div.o_employee_cv .h2, div.o_employee_cv h3, div.o_employee_cv .h3, div.o_employee_cv h4, div.o_employee_cv .h4, div.o_employee_cv h5, div.o_employee_cv .h5, div.o_employee_cv h6, div.o_employee_cv .h6 {
  font-weight: bolder;
}

div.o_employee_cv a {
  text-decoration: none;
}

div.o_employee_cv p {
  line-height: 1.5;
}

div.o_employee_cv:not(:last-child) .o_new_page {
  page-break-after: always;
}

div.o_employee_cv .o_sidebar {
  color: #fff;
  margin-top: -150px;
  margin-left: 500px;
  width: inherit;
  display: inline-block;
  max-width: 50%;
  min-width: 50%;
  box-sizing: border-box;
  vertical-align: top;
}

div.o_employee_cv .o_sidebar a {
  color: #fff;
}

div.o_employee_cv .o_sidebar .o_profile {
  padding: 30px;
  padding-top: 15px;
  background: rgba(0, 0, 0, 0.2);
  text-align: center;
  color: #fff;
}

div.o_employee_cv .o_sidebar .o_profile_name {
  font-size: 32px;
  font-weight: bolder;
  margin-bottom: 10px;
}

div.o_employee_cv .o_sidebar .o_profile_job {
  color: rgba(255, 255, 255, 0.9);
  font-size: 20px;
  font-weight: bold;
  margin-top: 0;
}

div.o_employee_cv .o_sidebar .o_profile_image {
  margin-bottom: 15px;
  width: 100px;
  float: right;
}

div.o_employee_cv .o_sidebar .o_social {
  list-style-type: none;
}

div.o_employee_cv .o_sidebar .o_social li {
  margin-bottom: 15px;
}

div.o_employee_cv .o_sidebar .o_social li:last-child {
  margin-bottom: 0;
}

div.o_employee_cv .o_sidebar .o_sidebar_section {
  padding: 15px;
}

div.o_employee_cv .o_sidebar .o_sidebar_title {
  text-transform: uppercase;
  font-size: 16px;
  font-weight: bold;
  margin-top: 0;
  margin-bottom: 15px;
}

div.o_employee_cv .o_sidebar .o_sidebar_education .o_sidebar_education_degree {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 0;
}

div.o_employee_cv .o_sidebar .o_sidebar_education .o_sidebar_education_line {
  margin-bottom: 15px;
  overflow-wrap: break-word;
}

div.o_employee_cv .o_sidebar .o_sidebar_education .o_sidebar_education_line:last-child {
  margin-bottom: 0;
}

div.o_employee_cv .o_sidebar .o_sidebar_education .o_sidebar_education_description {
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  margin-bottom: 0px;
  margin-top: 0;
  font-size: 14px;
}

div.o_employee_cv .o_sidebar .o_sidebar_education .o_sidebar_education_description_year {
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  margin-bottom: 0px;
}

div.o_employee_cv .o_sidebar .o_sidebar_language .o_sidebar_language_level {
  color: rgba(255, 255, 255, 0.6);
}

div.o_employee_cv .o_sidebar .o_sidebar_list {
  margin-bottom: 0;
}

div.o_employee_cv .o_sidebar .o_sidebar_list li {
  margin-bottom: 10px;
}

div.o_employee_cv .o_sidebar .o_sidebar_list li:last-child {
  margin-bottom: 0;
}

div.o_employee_cv .o_company {
  width: inherit;
  display: inline-block;
  max-width: 49%;
  min-width: 49%;
  box-sizing: border-box;
  vertical-align: top;
  padding-left: 30px;
}

div.o_employee_cv .o_main_panel {
  background: #fff;
  max-width: 100%;
  min-width: 100%;
  display: inline-block;
  padding: 5px 30px 0 30px;
  box-sizing: border-box;
  vertical-align: top;
}

div.o_employee_cv .o_main_panel .o_main_panel_title {
  text-transform: uppercase;
  font-size: 20px;
  font-weight: bold;
  position: relative;
  margin-top: 0;
  margin-bottom: 20px;
}

div.o_employee_cv .o_main_panel .o_main_panel_title .o_main_panel_icon {
  width: 30px;
  height: 30px;
  margin-right: 8px;
  display: inline-block;
  color: #fff;
  border-radius: 50%;
  background-clip: padding-box;
  text-align: center;
  font-size: 16px;
  position: relative;
  top: -2px;
  padding-top: 2px;
}

div.o_employee_cv .o_main_panel .o_main_panel_title .o_main_panel_icon fa {
  font-size: 14px;
  margin-top: 6px;
}

div.o_employee_cv .o_main_panel .o_main_panel_resume_title {
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  width: 100%;
}

div.o_employee_cv .o_main_panel .o_main_panel_resume_title .o_main_panel_resume_title_job {
  display: inline-block;
}

div.o_employee_cv .o_main_panel .o_main_panel_resume_title .o_main_panel_resume_title_dates {
  float: right;
  white-space: nowrap;
}

div.o_employee_cv .o_main_panel .o_main_panel_resume_job {
  color: #16171a;
  font-size: 16px;
  margin-top: 0;
  margin-bottom: 0;
  font-weight: bold;
}

div.o_employee_cv .o_main_panel .o_main_panel_resume_year {
  right: 0;
  top: 0;
  color: #3b4757;
  position: static;
  display: block;
  margin-top: 5px;
}

div.o_employee_cv .o_main_panel_skills .o_main_panel_skill_line:not(:last-of-type) {
  margin-bottom: 15px;
}

div.o_employee_cv .o_main_panel_skills .o_main_panel_skill_name {
  font-size: 14px;
  margin-top: 0;
  margin-bottom: 12px;
}

div.o_employee_cv .o_main_panel_skills .o_main_panel_skill_progress_bar {
  height: 12px;
  background: #f5f5f5;
  border-radius: 2px;
  background-clip: padding-box;
}



/* /mail_enterprise/static/src/core/common/core.scss */

.o-discuss-badge {
  --o-discuss-badge-bg: #dc3545;
}



/* /account_accountant/static/src/components/bank_reconciliation/kanban.scss */

.o_bank_rec_main_div {
  display: -webkit-box; display: -webkit-flex; display: flex;
  background-color: white;
  width: 100%;
  height: 100%;
}

.o_bank_rec_main_div .o_form_view.o_xxl_form_view.o_view_controller .o_form_view_container {
  width: 100%;
}

.o_bank_rec_main_div .o_kanban_renderer {
  border-top: 0;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div {
  width: 30%;
  height: 100%;
  position: relative;
  overflow: auto;
  padding: 0;
  margin: 0;
  --KanbanRecord-padding-h: 9.75px;
  --KanbanRecord-padding-v: 6.5px;
  --KanbanRecord-margin-h: 3.25px;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_reward .o_reward_rainbow_man {
  top: -25% !important;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .journal-balance {
  margin: 0px var(--KanbanRecord-margin-h) -1px;
  padding: 6.5px calc(var(--KanbanRecord-padding-h));
  min-height: 44px;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .kanban-statement {
  margin: 0px var(--KanbanRecord-margin-h) -1px;
  padding: 6.5px calc(var(--KanbanRecord-padding-h));
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .kanban-statement .kanban-statement-subline {
  border: none;
  font-size: 16px;
  padding: 16px 0 0 0;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line {
  margin: 0px var(--KanbanRecord-margin-h) -1px !important;
  align-items: center;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line:hover .statement_separator .btn-sm, .o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line:hover .statement_separator .btn-group-sm > .btn {
  opacity: 100;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line.o_bank_rec_selected_st_line {
  background-color: var(--table-bg);
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line .statement_separator {
  position: absolute;
  height: 4px;
  margin: 0;
  padding: 2px 0 0 0;
  border: 0;
  z-index: 2;
  background-color: transparent;
}

.o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line .statement_separator .btn-sm, .o_bank_rec_main_div .o_bank_rec_kanban_div .o_bank_rec_st_line .statement_separator .btn-group-sm > .btn {
  position: relative;
  padding-top: 0;
  padding-bottom: 0;
  top: -21px;
  opacity: 0;
}

.o_bank_rec_main_div .o_bank_rec_right_div {
  flex: 1 1 70%;
  width: 70%;
  border-left: 1px solid #dee2e6;
  height: 100%;
  position: relative;
  overflow: auto;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet table tr td:first-child, .o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet table th:first-child {
  padding-left: 10px;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_list_table {
  --ListRenderer-thead-padding-y: 0.25rem;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_list_table th {
  border-left: none !important;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
  margin-top: -19.5px;
  white-space: nowrap;
  border-bottom: 1px solid #dee2e6;
  height: fit-content;
  min-height: 44px;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_left {
  flex-grow: 0;
  display: -webkit-box !important; display: -webkit-flex !important; display: flex !important;
  -webkit-flex-flow: row nowrap; flex-flow: row nowrap;
  border-right: 1px solid #dee2e6;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_left .btn {
  margin-right: 6px;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_right {
  width: 100%;
  overflow: auto;
  overflow-y: hidden;
  justify-content: right;
  flex-grow: 1;
  margin: 0px !important;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_right .available_reco_model_ids {
  margin-bottom: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_right .available_reco_model_ids .o_bank_rec_reco_models_widget_div {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
  height: 100%;
  width: 100%;
  flex: 1 0;
  -webkit-box-pack: end; justify-content: flex-end;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_right .available_reco_model_ids .o_bank_rec_reco_models_widget_div .recon_model_button {
  -webkit-box-flex: 0; -webkit-flex: 0 1 auto; flex: 0 1 auto;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_bank_rec_stats_buttons .o_bank_rec_stats_buttons_aside_right .available_reco_model_ids .bank_rec_reco_model_dropdown {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-shrink: 0;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .bank_rec_widget_form_discuss_anchor, .o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .bank_rec_widget_form_transaction_details_anchor {
  padding: 0 20px;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_form_nosheet .o_form_label {
  text-wrap: nowrap;
}

.o_bank_rec_main_div .o_bank_rec_right_div .o_content .o_notebook {
  --notebook-margin-x: 0 !important;
}

@media (max-width: 187.98mm) {
  .o_bank_rec_widget_kanban_view {
    --ControlPanel-border-bottom: initial;
  }
  .o_bank_rec_main_div .o_bank_rec_kanban_div {
    --KanbanRecord-margin-h: -1px;
  }
  .o_bank_rec_main_div .o_bank_rec_kanban_div, .o_bank_rec_main_div .o_bank_rec_right_div {
    flex: 1 0 95vw;
  }
}

.o_bank_rec_widget_kanban_view .o_control_panel {
  margin-bottom: 1px;
}

.o_bank_rec_liquidity_line {
  font-weight: bold;
}

.o_bank_rec_auto_balance_line {
  color: #3b4757;
}

.o_bank_rec_lines_widget_table th {
  border-top: none;
}

.o_bank_rec_model_button {
  margin: 3px;
}

.o_bank_rec_selected_line > td {
  background-color: var(--table-bg) !important;
}

.o_bank_rec_expanded_line {
  border-bottom: transparent;
}

.o_bank_rec_expanded_line td {
  padding-bottom: 0;
}

.o_bank_rec_second_line td {
  padding-top: 0;
  padding-bottom: 1rem;
}

.o_bank_rec_second_line .o_form_uri {
  cursor: pointer;
}

.o_bank_rec_quick_create .o_form_renderer.o_form_nosheet.o_form_editable.d-block {
  padding: 0;
}

.o_bank_rec_quick_create.o_form_view {
  height: auto;
}

.o_bank_rec_quick_create.o_kanban_record > div:not(.o_dropdown_kanban) {
  height: auto;
}

.o_bank_rec_quick_create .o_inner_group {
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_bank_rec_quick_create .o_inner_group .o_cell:first-child input, .o_bank_rec_quick_create .o_inner_group .o_cell:first-child span {
  font-weight: bold;
}

.o_bank_rec_quick_create .o_inner_group .o_cell:nth-child(2) input {
  font-style: italic;
}

.o_bank_rec_quick_create .o_wrap_field > :first-child {
  flex: 0 0 27%;
}

.o_bank_rec_quick_create .o_inner_group > .o_wrap_field:first-child > :first-child {
  flex: 0 0 17%;
}

@media (min-width: 768px) {
  .o_bank_rec_quick_create.o_form_view {
    height: auto;
    min-height: auto;
  }
}



/* /account_accountant/static/src/components/move_line_list/move_line_list.scss */

.o_move_line_list_view.o_view_controller > .o_content {
  overflow: hidden;
  display: -webkit-box; display: -webkit-flex; display: flex;
}

.o_move_line_list_view .o_attachment_preview {
  height: 100%;
  width: 40%;
  border-left: 1px solid #dee2e6;
}

.o_move_line_list_view .o_attachment_preview .o_attachment_control.toggle {
  border-radius: 0 30px 30px 0;
  padding: 15px 15px 15px 5px;
}

.o_move_line_list_view .o_attachment_preview .o_attachment_control.toggle::after {
  color: white;
  content: '>>';
}

.o_move_line_list_view .o_attachment_preview.hidden {
  width: 0;
}

.o_move_line_list_view .o_attachment_preview.hidden .o_attachment_control.toggle {
  right: 0;
  border-radius: 30px 0 0 30px;
  padding: 15px 0 15px 15px;
}

.o_move_line_list_view .o_attachment_preview.hidden .o_attachment_control.toggle::after {
  content: '<';
}

.o_move_line_list_view .o_attachment_preview.hidden .o_attachment_control.toggle:hover {
  padding-right: 5px;
}

.o_move_line_list_view .o_attachment_preview.hidden .o_attachment_control.toggle:hover ::after {
  content: '<<';
}

.o_move_line_list_view .o_popout_icon {
  position: absolute;
  top: 8%;
  background-color: black;
  opacity: 0.3;
  margin-top: -15px;
  transition: all 0.3s;
  z-index: 1000;
  right: 0;
  border-radius: 30px 0 0 30px;
  padding: 15px 0 15px 15px;
}

.o_move_line_list_view .o_popout_icon:hover {
  padding-right: 15px;
}

.o_move_line_list_view .o_search_panel {
  display: none;
}



/* /base_import/static/src/import_action/import_action.scss */

.o_import_action {
  grid-template-rows: auto 1fr;
}



/* /base_import/static/src/import_data_content/import_data_content.scss */

.o_import_data_content .o_import_file_column_cell {
  max-width: 20rem;
}

.o_import_data_content .o_import_preview {
  width: fit-content;
}

.o_import_data_content > table thead th:nth-child(1) {
  min-width: 20rem;
}

.o_import_data_content > table thead th:nth-child(2) {
  min-width: 20rem;
}

.o_import_data_content > table thead th:nth-child(3) {
  min-width: 20rem;
}

.o_import_data_content td {
  vertical-align: top;
}

.o_import_field_icon {
  filter: invert(0.5);
  background-image: url("/base_import/static/src/import_data_content/img/studio_icons.png");
  background-repeat: no-repeat;
  width: 25px;
  height: 20px;
}

.o_import_field_icon.o_import_field_choice {
  z-index: -1;
}

.o_select_active:has(.o_import_field_icon) {
  position: relative;
  z-index: -1;
}

.o_select_active .o_import_field_icon {
  filter: brightness(6);
}

.o_import_field_icon_binary {
  background-position: 0 0;
}

.o_import_field_icon_boolean {
  background-position: 0 -20px;
}

.o_import_field_icon_char {
  background-position: 0 -40px;
}

.o_import_field_icon_date {
  background-position: 0 -80px;
}

.o_import_field_icon_datetime {
  background-position: 0 -100px;
}

.o_import_field_icon_float {
  background-position: 0 -120px;
}

.o_import_field_icon_html {
  background-position: 0 -140px;
}

.o_import_field_icon_integer {
  background-position: 0 -180px;
}

.o_import_field_icon_many2many {
  background-position: 0 -200px;
}

.o_import_field_icon_many2one {
  background-position: 0 -220px;
}

.o_import_field_icon_one2many {
  background-position: 0 -260px;
}

.o_import_field_icon_selection {
  background-position: 0 -280px;
}

.o_import_field_icon_text {
  background-position: 0 -340px;
}



/* /base_import/static/src/import_data_progress/import_data_progress.scss */

.o_import_data_progress .progress {
  width: 300px;
  height: 25px;
}



/* /base_import/static/src/import_data_sidepanel/import_data_sidepanel.scss */

.o_import_data_sidepanel {
  min-width: 15rem;
  max-width: 350px;
  overflow-y: auto;
}

.o_import_data_sidepanel .o_import_grid {
  display: grid;
  grid-template-columns: repeat(3, auto);
}

.o_import_data_sidepanel .o_import_grid .o_grid_span_2 {
  grid-column: span 2;
}

.o_import_data_sidepanel .o_import_file input {
  display: inline-block;
  width: 6ch;
}

.o_import_data_sidepanel .o_import_file input:not(:valid) {
  background-color: #f6dbde;
}



/* /account_edi_ubl_cii/static/src/scss/account_edi_ubl_cii.scss */

.o_field_peppol_eas_selection > select {
  color: #212529;
  font-weight: 500;
}

.o_field_peppol_eas_selection {
  min-width: 200px;
}



/* /account_invoice_extract/static/src/css/box_layer.css */

  .o_invoice_extract_box_layer {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    opacity: 0.8;
    z-index: 999;
  }

  .o_invoice_extract_box_layer > .o_invoice_extract_box {
    color: transparent;
    position: absolute;
    white-space: pre;
    cursor: pointer;
    border-radius: 2px;
    border: 2px solid rgba(100,100,255,0.3);
    -webkit-transform-origin: center center;
    -moz-transform-origin: center center;
    -o-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
  }

  .o_invoice_extract_box_layer > .o_invoice_extract_box[data-field-name=VAT_Number] {
    border: 2px solid rgba(100,100,255,0.6);
  }

  .o_invoice_extract_box_layer > .o_invoice_extract_box.ocr_chosen:not(.selected) {
    border: 2px solid rgba(100,100,255,0.6);
    background-color: rgba(255,100,0,0.6);
  }

  .o_invoice_extract_box_layer > .o_invoice_extract_box.selected {
    border: 2px solid rgba(100,100,255,0.6);
    background-color: rgba(100,255,100,0.7);
  }

  .o_invoice_extract_box_layer > .o_invoice_extract_box:hover {
    border: 2px solid rgba(0,0,255,0.8) !important;
  }

  .o_invoice_extract_box_layer .highlight {
    margin: -1px;
    padding: 1px;

    background-color: rgb(180, 0, 170);
    border-radius: 4px;
  }

  .o_invoice_extract_box_layer .highlight.begin {
    border-radius: 4px 0px 0px 4px;
  }

  .o_invoice_extract_box_layer .highlight.end {
    border-radius: 0px 4px 4px 0px;
  }

  .o_invoice_extract_box_layer .highlight.middle {
    border-radius: 0px;
  }

  .o_invoice_extract_box_layer .highlight.selected {
    background-color: rgb(0, 100, 0);
  }

  .o_invoice_extract_box_layer ::selection { background: rgb(0,0,255); }
  .o_invoice_extract_box_layer ::-moz-selection { background: rgb(0,0,255); }


/* /account_online_synchronization/static/src/components/account_duplicate_transaction/account_duplicate_transactions_x2many.scss */

.account_duplicate_transactions_lines_list_x2many_group_line {
  border-top-width: thick;
}



/* /account_online_synchronization/static/src/components/bank_configure/bank_configure.scss */

.bank_configure_container .d-grid {
  overflow: hidden;
  column-gap: 0.25rem;
}

.bank_configure_container .dashboard_bank {
  aspect-ratio: 1 / 1;
  margin-bottom: 0.25rem;
  overflow: hidden;
}

.bank_configure_container .dashboard_bank .align-self-center {
  background-color: #f8f9fa;
  border: 1px solid #f8f9fa;
}



/* /auth_totp/static/src/scss/res_users_view_form.scss */

.o_auth_2fa_btn {
  font-size: 1.5em;
}



/* /google_gmail/static/src/scss/google_gmail.scss */

span.o_field_char[name="google_gmail_authorization_code"] {
  max-width: 150px !important;
  overflow: hidden;
}



/* /hr_org_chart/static/src/fields/hr_org_chart.scss */

@media (min-width: 190mm) {
  #o_employee_right {
    border-left: 1px solid #e6e6e6;
  }
}

#o_employee_right .o_org_chart_entry .o_media_object {
  width: 36.8px;
  height: 36.8px;
  background-size: cover;
  background-position: center center;
}

#o_employee_right .o_org_chart_entry.o_org_chart_entry_self .o_media_object {
  width: 46px;
  height: 46px;
}

#o_employee_right .o_org_chart_entry:not(.o_org_chart_entry_self):hover .o_media_object {
  box-shadow: 0 0 0 2px #17a2b8;
}

#o_employee_right .o_org_chart_entry_self_container.o_org_chart_has_managers {
  margin-left: 9.2px;
}

#o_employee_right .o_org_chart_group_down.o_org_chart_has_managers {
  padding-left: 27.6px;
}

#o_employee_right .o_org_chart_group_up .o_treeEntry {
  --treeEntry-padding-h: 0px;
  --treeEntry--before-top: 50%;
  --treeEntry--after-display: none;
  --treeEntry--beforeAfter-left: 18.4px;
}

#o_employee_right .o_org_chart_entry_self_container .o_treeEntry {
  --treeEntry-padding-h: 18.4px;
  --treeEntry-padding-v: 11.5px;
}

#o_employee_right .o_org_chart_group_down .o_treeEntry {
  --treeEntry-padding-h: 46px;
  --treeEntry-padding-v: 18.4px;
}

.o_rtl .o_org_chart_popup.popover .arrow {
  left: 100%;
  transform: matrix(-1, 0, 0, 1, 0, 0);
}



/* /mail_bot/static/src/scss/odoobot_style.scss */

.o_odoobot_command {
  background-color: #e9ecef;
  border-radius: 4px;
  padding: 2px;
  padding-left: 10px;
  padding-right: 10px;
  font-weight: bold;
}



/* /partner_autocomplete/static/src/scss/partner_autocomplete.scss */

.ui-widget.ui-autocomplete .ui-menu-item.partner_autocomplete_dropdown_char > a > img {
  float: left;
  width: 32px;
  height: 32px;
}

.ui-widget.ui-autocomplete .ui-menu-item.partner_autocomplete_dropdown_char > a > .o_partner_autocomplete_info {
  margin-left: 50px;
}

.ui-widget.ui-autocomplete .ui-menu-item.partner_autocomplete_dropdown_char > a > .o_partner_autocomplete_info > * {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.ui-widget.ui-autocomplete .ui-menu-item.partner_autocomplete_dropdown_many2one > a > img {
  float: right;
  width: 20px;
  height: 20px;
  right: 20px;
}

.o_form_view .o_form_editable .oe_title .o_field_field_partner_autocomplete {
  width: 100%;
}



/* /sale_pdf_quote_builder/static/src/js/custom_content_kanban_like_widget/custom_field_card/custom_field_card.scss */

textarea.customFieldCardTextArea {
  resize: none;
}



/* /spreadsheet/static/src/actions/spreadsheet_component.scss */

.o_spreadsheet_container {
  -webkit-box-flex: 1; -webkit-flex: 1 1 auto; flex: 1 1 auto;
  overflow: auto;
  height: 100%;
}



/* /spreadsheet/static/src/chart/odoo_menu/figure_component.scss */

.o-figure-menu .o-figure-menu-item {
  padding-left: 7px;
}

.o-figure-menu .o-chart-external-link {
  font-size: 15px;
}



/* /spreadsheet/static/src/components/share_button/share_button.scss */

.spreadsheet_share_dropdown {
  width: 320px;
  height: 100px;
}



/* /spreadsheet/static/src/global_filters/components/filter_value/filter_value.scss */

.o-filter-value .o_datepicker_input {
  color: #343a40;
}

.o-filter-value .date_filter_values {
  display: -webkit-box; display: -webkit-flex; display: flex;
  gap: 6.5px;
  align-items: baseline;
}



/* /spreadsheet/static/src/o_spreadsheet/o_spreadsheet_extended.scss */

.o-spreadsheet {
  height: 100%;
}

.o-spreadsheet .fa {
  font-family: FontAwesome;
}

.o-spreadsheet .o-selection input {
  display: initial;
}

.o-spreadsheet .o-scorecard, .o-spreadsheet .o-gauge-chart {
  border-radius: 8px;
}

.o-spreadsheet .o-sp-badge {
  background-color: #374151C2;
  color: #fff;
}

.o-sidePanel .o_input {
  color: #111827;
  border-color: #D8DADD;
}

.o-sidePanel .o_input::placeholder {
  opacity: 0.5;
}

.o-sidePanel .o_required_modifier .o-input {
  border-color: #111827;
}

.o-sidePanel .o_tree_editor_condition {
  -webkit-flex-wrap: wrap; flex-wrap: wrap;
}



/* /spreadsheet/static/src/print_assets/print_spreadsheet.scss */

/**To load on the fly*/
@media print {
  html,
body,
html .o_web_client {
    height: auto;
  }
  .o-spreadsheet {
    height: auto !important;
  }
  .o-spreadsheet .o-scrollbar {
    display: none;
  }
}



/* /spreadsheet/static/src/scss/spreadsheet_dashboard.scss */

.o-sample-dashboard .o-figure {
  opacity: 0.4;
}



/* /spreadsheet_dashboard/static/src/bundle/dashboard_action/dashboard_action.scss */

.o_spreadsheet_dashboard_search_panel {
  width: fit-content;
  max-width: 200px;
  align-items: center;
}

.o_spreadsheet_dashboard_search_panel ul {
  padding-inline-start: 0px;
}

.o_spreadsheet_dashboard_search_panel li {
  padding: 4px 8px 4px 12px;
  list-style-type: none;
  white-space: nowrap;
}

.o_spreadsheet_dashboard_search_panel li:hover:not(.active) {
  background-color: #f8f9fa;
}

.o_spreadsheet_dashboard_search_panel li .o_dashboard_name {
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 8px;
}

.o_spreadsheet_dashboard_search_panel li .o_edit_dashboard {
  padding: 0;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s ease-in-out;
}

.o_spreadsheet_dashboard_search_panel .o_search_panel_category_value:hover .o_edit_dashboard,
.o_spreadsheet_dashboard_search_panel .o_search_panel_category_value:focus-within .o_edit_dashboard {
  visibility: visible;
  opacity: 1;
}

.o_spreadsheet_dashboard_action {
  background-color: white;
}

.o_spreadsheet_dashboard_action .o_renderer {
  height: 100%;
}

.o_spreadsheet_dashboard_action .o_renderer .o-spreadsheet {
  height: 100%;
}

.o_spreadsheet_dashboard_action .o_renderer .o-spreadsheet .o-grid {
  background-color: white;
}

.o_spreadsheet_dashboard_action .o_renderer .o-spreadsheet canvas {
  border-top: 0px;
}

.o_spreadsheet_dashboard_action .o_side_panel_filter_icon {
  padding: 0;
}

.o_spreadsheet_dashboard_action .dashboard-loading-status {
  margin: auto;
}

.o_spreadsheet_dashboard_action .o_cp_top_left {
  flex: 1;
  min-width: 0;
}

.o_spreadsheet_dashboard_action .o_cp_top_right {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-pack: end; justify-content: flex-end;
  align-items: flex-start;
  flex: 4;
  min-width: 0;
}

.o_spreadsheet_dashboard_action .o_control_panel_actions {
  gap: 6.5px;
}

.o_spreadsheet_dashboard_action .o_control_panel_actions .o-filter-value {
  min-height: 25px;
  min-width: 100px;
  flex-basis: 100px;
  flex-grow: 1;
}

.o_spreadsheet_dashboard_action .o_control_panel_actions .o-filter-value .o_multi_record_selector {
  width: 100%;
}

.o_spreadsheet_dashboard_action .o_control_panel_actions .o-filter-value .o_multi_record_selector .o_input {
  flex: 1 0 1rem;
}

.o_spreadsheet_dashboard_action .o_control_panel_actions .o-filter-value-double-size {
  flex-basis: 200px;
}



/* /spreadsheet_dashboard/static/src/print_assets/print_dashboard_action.scss */

@media print {
  .o_spreadsheet_dashboard_action {
    height: auto;
  }
  .o_spreadsheet_dashboard_action .o_spreadsheet_dashboard_search_panel, .o_spreadsheet_dashboard_action .o_control_panel {
    display: none !important;
  }
}



/* /spreadsheet_edition/static/src/assets/components/spreadsheet_selector_dialog/spreadsheet_selector_dialog.scss */

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-bottom: 20px;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container .o-sp-dialog-meta-name {
  display: -webkit-box; display: -webkit-flex; display: flex;
  width: 45%;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container .o-sp-dialog-meta-name .o-sp-dialog-meta-name-label {
  flex-shrink: 0;
  padding-right: 5px;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container .o-sp-dialog-meta-threshold {
  display: -webkit-box; display: -webkit-flex; display: flex;
  width: 45%;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container .o-sp-dialog-meta-threshold .o-sp-dialog-meta-threshold-input {
  padding-left: 5px;
  padding-right: 5px;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-meta-container .o-sp-dialog-meta-threshold .o-sp-dialog-meta-threshold-text {
  flex-shrink: 0;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-cp {
  padding-top: 10px;
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-cp .o-sp-searchview {
  width: 50%;
  border-bottom: 1px solid #dee2e6;
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-cp .o-sp-searchview .o-sp-searchview-input {
  border: none;
}

.o-spreadsheet-templates-dialog .o-sp-dialog-cp .o-sp-searchview .o-sp-searchview-icon {
  padding-top: 8px;
}



/* /spreadsheet_edition/static/src/assets/components/spreadsheet_selector_grid/spreadsheet_selector_grid.scss */

.o-spreadsheets-grid-container {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-flex-flow: row wrap; flex-flow: row wrap;
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 60vh;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid {
  -webkit-box-flex: 1; -webkit-flex: 1 1 0; flex: 1 1 0;
  min-width: 150px;
  margin: 15px;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid.o-spreadsheet-grid-ghost-item {
  margin: 0px 15px;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-item-name {
  margin-top: 0.25rem;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  user-select: none;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image {
  max-height: 150px;
  overflow: hidden;
  border: 1px solid #ced4da;
  width: 100%;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image:focus {
  outline: none;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image.o-spreadsheet-grid-selected {
  border-color: #714B67;
  box-shadow: 0 0 0 2px #714B67;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image:hover {
  cursor: pointer;
  border-color: #714B67;
  box-shadow: 0 0 0 2px #714B67;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image img,
.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image .o-spreadsheet-grid-no-preview {
  width: 100%;
  aspect-ratio: 1/1;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid.o-blank-spreadsheet-grid img {
  padding: 1.5rem;
}



/* /spreadsheet_edition/static/src/bundle/actions/control_panel/spreadsheet_name.scss */

.o_sp_name {
  --o-input-border-color: transparent;
  display: inline-block;
  max-width: 95%;
}

.o_sp_name input {
  max-width: 100%;
  text-overflow: clip;
  overflow: hidden;
  padding: 0px 5px 0px 2px;
  color: #8f8f8f;
  font-size: 16px;
}

.o_sp_name input:hover, .o_sp_name input:focus {
  color: #212529;
  --o-input-border-color: #017e84;
}

.o_sp_name input.o-sp-untitled {
  font-style: italic;
}

.o_sp_name input.o-sp-untitled:focus {
  font-style: normal;
}

.o_sp_name input:disabled {
  background-color: inherit;
}



/* /spreadsheet_edition/static/src/bundle/actions/spreadsheet_action.scss */

.o_spreadsheet_action {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-flow: column;
  height: 100%;
}

.o_spreadsheet_user img {
  height: 2rem;
  width: 2rem;
}

.o_spreadsheet_status {
  display: inline-block;
  font-size: small;
  padding-right: .4rem;
}



/* /spreadsheet_edition/static/src/bundle/actions/version_history/side_panel/version_history_side_panel.scss */

.o-version-history .o_spreadsheet_user {
  font-size: 13px;
}

.o-version-history .o_spreadsheet_user img {
  height: 1rem;
  width: 1rem;
}

.o-version-history-wrapper {
  width: 350px;
  height: 100%;
  overflow: clip;
  box-sizing: border-box !important;
  background-color: white;
  border-color: #EBEBEB !important;
}

.o-version-history-item {
  padding: 10px 12px 10px 12px;
}

.o-version-history-item:not(.active):not(:hover) .o-version-history-menu {
  visibility: hidden;
}

.o-version-history-item:hover:not(.active) {
  background-color: #EBEBEB !important;
}

.o-version-history-item .os-input {
  background-color: inherit;
  font-size: 14px;
}

.o-version-history-item.active {
  background-color: #E6F2F3;
  border: 1px solid #017E84 !important;
}

.o-version-history-item.active .os-input {
  font-weight: 590;
}

.o-version-history-load-more-container {
  margin-top: 8px;
  margin-bottom: 8px;
}

.o-version-history {
  outline: unset;
}



/* /spreadsheet_edition/static/src/bundle/comments/components/cell_thread_style.dark.scss */

/** Shame css to counteract dark mode */
.o-spreadsheet .o-cell-thread, .o-spreadsheet .o-thread-start-composer {
  background-color: white;
}

.o-spreadsheet .o-thread-popover .border, .o-spreadsheet .o-thread-popover .border-top {
  border-color: #d8dadd !important;
}

.o-spreadsheet .o-thread-popover .bg-view {
  color: #333;
  background-color: white !important;
}

.o-spreadsheet .o-thread-popover .o-mail-Composer-send {
  color: white !important;
}

.o-spreadsheet .o-thread-popover .btn {
  color: #374151;
}

.o-spreadsheet .o-thread-popover .text-primary {
  color: #374151 !important;
}

.o-spreadsheet .o-thread-popover .o-mail-Message-actions button:hover, .o-spreadsheet .o-thread-popover .o-mail-Message-actions .focus {
  background-color: #e7e9ed !important;
}



/* /spreadsheet_edition/static/src/bundle/comments/components/cell_thread_style.scss */

.o-cell-thread {
  display: -webkit-box; display: -webkit-flex; display: flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; flex-direction: column;
  border-radius: 2px;
}

.o-cell-thread .o-mail-Thread {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}

.o-cell-thread .o-cell-thread-body {
  overflow-y: auto;
}

.o-cell-thread .o-mail-Composer {
  padding: 3px 10px 0 10px;
}

.o-thread-start-composer {
  padding: 5px 10px 0 10px;
}

.o-spreadsheet .o-selfAuthored .o-mail-Message-core {
  flex-direction: row-reverse;
}

.o-spreadsheet .o-selfAuthored .o-mail-Message-header {
  -webkit-box-pack: end; justify-content: flex-end;
}

.o-thread-popover {
  overflow-y: auto;
  /** counteract the generic content-box set on "o-spreadsheet *"  */
}

.o-thread-popover * {
  box-sizing: border-box !important;
}

.o-thread-popover .o-thread-highlight, .o-thread-popover .o-cell-thread, .o-thread-popover .o-thread-start-composer {
  min-width: 270px;
  width: 100%;
}

.o-thread-popover .o-thread-highlight, .o-thread-popover .o-thread-highlight .o-cell-thread {
  background-color: #E8EDFF;
}



/* /spreadsheet_edition/static/src/bundle/comments/side_panel/comment_threads_side_panel.scss */

.o-threads-side-panel .o-thread-item {
  padding: 4px 8px;
}

.o-threads-side-panel .o-thread-item.selected {
  padding: 3px 7px;
  background-color: #E6F2F3;
  border: 2px solid #017E84 !important;
}



/* /spreadsheet_edition/static/src/bundle/components/spreadsheet_navbar/spreadsheet_navbar.scss */

.o-sp-breadcrumb {
  font-size: 1.2em;
}



/* /spreadsheet_edition/static/src/bundle/global_filters/global_filter_side_panel.scss */

.o-spreadsheet-topbar {
  background: white;
}

.o-spreadsheet-topbar .o_topbar_filter_icon, .o-spreadsheet-topbar .o_topbar_share_icon {
  cursor: pointer;
  background: white;
}

.o-spreadsheet-topbar .o_topbar_filter_icon:hover, .o-spreadsheet-topbar .o_topbar_share_icon:hover {
  background-color: #ebebeb;
}

.o_spreadsheet_global_filters_side_panel .fw-medium,
.o_spreadsheet_filter_editor_side_panel .fw-medium {
  font-weight: 500;
}

.o_spreadsheet_global_filters_side_panel input[type="text"],
.o_spreadsheet_filter_editor_side_panel input[type="text"] {
  outline: none;
  width: 100%;
}

.o_spreadsheet_global_filters_side_panel .o_missing_field,
.o_spreadsheet_filter_editor_side_panel .o_missing_field {
  --o-input-border-color: #e99d00;
}

.o_spreadsheet_global_filters_side_panel .o_spreadsheet_field_matching,
.o_spreadsheet_filter_editor_side_panel .o_spreadsheet_field_matching {
  margin: 10px 0px;
  padding-left: 5px;
  border-left: solid #ccc 2px;
}

.o_spreadsheet_global_filters_side_panel .o_field_widget,
.o_spreadsheet_global_filters_side_panel .o_multi_record_selector,
.o_spreadsheet_filter_editor_side_panel .o_field_widget,
.o_spreadsheet_filter_editor_side_panel .o_multi_record_selector {
  width: 100%;
}

.o_spreadsheet_global_filters_side_panel .o_field_widget .o_input,
.o_spreadsheet_global_filters_side_panel .o_multi_record_selector .o_input,
.o_spreadsheet_filter_editor_side_panel .o_field_widget .o_input,
.o_spreadsheet_filter_editor_side_panel .o_multi_record_selector .o_input {
  flex: 1 0 1rem;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .o_spreadsheet_model_technical_name,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .o_spreadsheet_model_technical_name {
  font-size: 0.9rem;
  white-space: pre;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .pivot_filter,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .pivot_filter {
  flex-grow: 1;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  flex-grow: 1;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input input,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input input {
  padding-right: 0;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input .o_side_panel_filter_icon,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input .o_side_panel_filter_icon {
  width: 15px;
  margin-left: 0.5rem;
  padding: 0;
  cursor: pointer;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input .o_side_panel_filter_icon:hover,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .pivot_filter .pivot_filter_input .o_side_panel_filter_icon:hover {
  color: #666666 !important;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section:not(:hover):not(.o-filter-dragging) .o-filter-drag-handle,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section:not(:hover):not(.o-filter-dragging) .o-filter-drag-handle {
  display: none !important;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .o-filter-drag-handle,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .o-filter-drag-handle {
  left: -12px;
  cursor: move;
}

.o_spreadsheet_global_filters_side_panel .pivot_filter_section .o-filter-drag-handle .o-icon,
.o_spreadsheet_filter_editor_side_panel .pivot_filter_section .o-filter-drag-handle .o-icon {
  width: 6px;
  height: 30px;
}

.o_spreadsheet_global_filters_side_panel .o-sidePanelButtons,
.o_spreadsheet_filter_editor_side_panel .o-sidePanelButtons {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
}

.o_spreadsheet_global_filters_side_panel .o-sidePanelButtons .o-button,
.o_spreadsheet_filter_editor_side_panel .o-sidePanelButtons .o-button {
  flex-grow: 1;
}

.o_spreadsheet_global_filters_side_panel .date_filter_values,
.o_spreadsheet_filter_editor_side_panel .date_filter_values {
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-direction: row;
  width: 100%;
}

.o_spreadsheet_global_filters_side_panel .date_filter_values .o_datepicker,
.o_spreadsheet_filter_editor_side_panel .date_filter_values .o_datepicker {
  width: 100%;
}

.o_spreadsheet_global_filters_side_panel .date_filter_values .o_datepicker:not(:first-child),
.o_spreadsheet_filter_editor_side_panel .date_filter_values .o_datepicker:not(:first-child) {
  margin-left: 10px;
}

.o_spreadsheet_global_filters_side_panel .date_filter_values .o_datepicker .o_datepicker_button,
.o_spreadsheet_filter_editor_side_panel .date_filter_values .o_datepicker .o_datepicker_button {
  right: 0px;
}



/* /spreadsheet_edition/static/src/bundle/ir_menu_selector/ir_menu_selector.scss */

.o-ir-menu-selector input {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}



/* /spreadsheet_edition/static/src/print_assets/print_edition_spreadsheet.scss */

@media print {
  .o_spreadsheet_action {
    height: auto;
  }
  .o_spreadsheet_action .o_control_panel {
    display: none !important;
  }
  .o_notification_manager {
    display: none !important;
  }
}



/* /spreadsheet_edition/static/src/scss/side_panel.scss */

.o_spreadsheet_pivot_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_pivot_side_panel .o-section .o_field_many2one,
.o_spreadsheet_filter_editor_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_filter_editor_side_panel .o-section .o_field_many2one,
.o_spreadsheet_global_filters_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_global_filters_side_panel .o-section .o_field_many2one,
.o-listing-details-side-panel .o-section .o_model_field_selector,
.o-listing-details-side-panel .o-section .o_field_many2one,
.o-listing-all-side-panel .o-section .o_model_field_selector,
.o-listing-all-side-panel .o-section .o_field_many2one,
.o-threads-side-panel .o-section .o_model_field_selector,
.o-threads-side-panel .o-section .o_field_many2one {
  width: 100%;
}

.o_spreadsheet_pivot_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_pivot_side_panel .o-section .o_model_field_selector *,
.o_spreadsheet_pivot_side_panel .o-section .o_model_field_selector *:before,
.o_spreadsheet_pivot_side_panel .o-section .o_model_field_selector *:after,
.o_spreadsheet_pivot_side_panel .o-section .o_field_many2one,
.o_spreadsheet_pivot_side_panel .o-section .o_field_many2one *,
.o_spreadsheet_pivot_side_panel .o-section .o_field_many2one *:before,
.o_spreadsheet_pivot_side_panel .o-section .o_field_many2one *:after,
.o_spreadsheet_filter_editor_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_filter_editor_side_panel .o-section .o_model_field_selector *,
.o_spreadsheet_filter_editor_side_panel .o-section .o_model_field_selector *:before,
.o_spreadsheet_filter_editor_side_panel .o-section .o_model_field_selector *:after,
.o_spreadsheet_filter_editor_side_panel .o-section .o_field_many2one,
.o_spreadsheet_filter_editor_side_panel .o-section .o_field_many2one *,
.o_spreadsheet_filter_editor_side_panel .o-section .o_field_many2one *:before,
.o_spreadsheet_filter_editor_side_panel .o-section .o_field_many2one *:after,
.o_spreadsheet_global_filters_side_panel .o-section .o_model_field_selector,
.o_spreadsheet_global_filters_side_panel .o-section .o_model_field_selector *,
.o_spreadsheet_global_filters_side_panel .o-section .o_model_field_selector *:before,
.o_spreadsheet_global_filters_side_panel .o-section .o_model_field_selector *:after,
.o_spreadsheet_global_filters_side_panel .o-section .o_field_many2one,
.o_spreadsheet_global_filters_side_panel .o-section .o_field_many2one *,
.o_spreadsheet_global_filters_side_panel .o-section .o_field_many2one *:before,
.o_spreadsheet_global_filters_side_panel .o-section .o_field_many2one *:after,
.o-listing-details-side-panel .o-section .o_model_field_selector,
.o-listing-details-side-panel .o-section .o_model_field_selector *,
.o-listing-details-side-panel .o-section .o_model_field_selector *:before,
.o-listing-details-side-panel .o-section .o_model_field_selector *:after,
.o-listing-details-side-panel .o-section .o_field_many2one,
.o-listing-details-side-panel .o-section .o_field_many2one *,
.o-listing-details-side-panel .o-section .o_field_many2one *:before,
.o-listing-details-side-panel .o-section .o_field_many2one *:after,
.o-listing-all-side-panel .o-section .o_model_field_selector,
.o-listing-all-side-panel .o-section .o_model_field_selector *,
.o-listing-all-side-panel .o-section .o_model_field_selector *:before,
.o-listing-all-side-panel .o-section .o_model_field_selector *:after,
.o-listing-all-side-panel .o-section .o_field_many2one,
.o-listing-all-side-panel .o-section .o_field_many2one *,
.o-listing-all-side-panel .o-section .o_field_many2one *:before,
.o-listing-all-side-panel .o-section .o_field_many2one *:after,
.o-threads-side-panel .o-section .o_model_field_selector,
.o-threads-side-panel .o-section .o_model_field_selector *,
.o-threads-side-panel .o-section .o_model_field_selector *:before,
.o-threads-side-panel .o-section .o_model_field_selector *:after,
.o-threads-side-panel .o-section .o_field_many2one,
.o-threads-side-panel .o-section .o_field_many2one *,
.o-threads-side-panel .o-section .o_field_many2one *:before,
.o-threads-side-panel .o-section .o_field_many2one *:after {
  box-sizing: border-box;
}

.o_spreadsheet_pivot_side_panel .o_sp_en_display_name,
.o_spreadsheet_filter_editor_side_panel .o_sp_en_display_name,
.o_spreadsheet_global_filters_side_panel .o_sp_en_display_name,
.o-listing-details-side-panel .o_sp_en_display_name,
.o-listing-all-side-panel .o_sp_en_display_name,
.o-threads-side-panel .o_sp_en_display_name {
  margin-bottom: 3px;
}

.o-section .o_draggable_item {
  box-sizing: border-box;
  cursor: grab;
  margin-bottom: 0.6rem;
}



/* /spreadsheet_dashboard_edition/static/src/bundle/action/dashboard_edit_action.scss */

.o_dashboard_edit_action {
  position: relative;
  display: -webkit-box; display: -webkit-flex; display: flex;
  flex-flow: column;
  height: 100%;
}

.o_dashboard_edit_action ol.breadcrumb {
  margin-top: 2px;
}



/* /spreadsheet_dashboard_edition/static/src/print_assets/print_edition_dashboard.scss */

@media print {
  .o_dashboard_edit_action {
    height: auto;
  }
  .o_dashboard_edit_action .o_control_panel {
    display: none !important;
  }
}
/*# sourceMappingURL=/web/assets/a8cfa5c/web.assets_web_print.css.map */