

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


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



/* /web_enterprise/static/src/scss/bs_functions_overridden.dark.scss */



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



/* /web/static/src/scss/functions.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.dark.scss */



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



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



/* /web_enterprise/static/src/views/gantt/web_gantt.variables.dark.scss */



/* /web_enterprise/static/src/webclient/burger_menu/burger_menu.variables.dark.scss */



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



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



/* /web_gantt/static/src/gantt_view.variables.dark.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, #E4E4E4);
}

.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, #E4E4E4);
}

.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.dark.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.dark.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.dark.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: #000;
  --gray: #7E8392;
  --gray-dark: #D1D1D1;
  --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: #6b3e66;
  --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: #6b3e66;
  --gray-100: #1B1D26;
  --gray-200: #262A36;
  --gray-300: #3C3E4B;
  --gray-400: #5A5E6B;
  --gray-500: #6B707F;
  --gray-600: #7E8392;
  --gray-700: #B1B3BC;
  --gray-800: #D1D1D1;
  --gray-900: #E4E4E4;
  --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: #6b3e66;
  --secondary: #3C3E4B;
  --success: #1dc959;
  --info: #6AB5FB;
  --warning: #e99d00;
  --danger: #b83232;
  --light: #3C3E4B;
  --dark: #B1B3BC;
  --primary-rgb: 107, 62, 102;
  --secondary-rgb: 60, 62, 75;
  --success-rgb: 29, 201, 89;
  --info-rgb: 106, 181, 251;
  --warning-rgb: 233, 157, 0;
  --danger-rgb: 184, 50, 50;
  --light-rgb: 60, 62, 75;
  --dark-rgb: 177, 179, 188;
  --primary-text-emphasis: #c4b2c2;
  --secondary-text-emphasis: #b1b2b7;
  --success-text-emphasis: #a5e9bd;
  --info-text-emphasis: aliceblue;
  --warning-text-emphasis: #f6d899;
  --danger-text-emphasis: #e3adad;
  --light-text-emphasis: #B1B3BC;
  --dark-text-emphasis: #B1B3BC;
  --primary-bg-subtle: #150c14;
  --secondary-bg-subtle: #0c0c0f;
  --success-bg-subtle: #062812;
  --info-bg-subtle: #253f58;
  --warning-bg-subtle: #2f1f00;
  --danger-bg-subtle: #250a0a;
  --light-bg-subtle: #0e0f13;
  --dark-bg-subtle: #5A5E6B;
  --primary-border-subtle: #2b1929;
  --secondary-border-subtle: #18191e;
  --success-border-subtle: #0c5024;
  --info-border-subtle: #6ab5fb;
  --warning-border-subtle: #5d3f00;
  --danger-border-subtle: #4a1414;
  --light-border-subtle: #262A36;
  --dark-border-subtle: #6B707F;
  --white-rgb: 0, 0, 0;
  --black-rgb: 255, 255, 255;
  --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(0, 0, 0, 0.15), rgba(0, 0, 0, 0));
  --body-font-family: var(--font-sans-serif);
  --body-font-size: 0.875rem;
  --body-font-weight: 400;
  --body-line-height: 1.5;
  --body-color: #D1D1D1;
  --body-color-rgb: 209, 209, 209;
  --body-bg: #1B1D26;
  --body-bg-rgb: 27, 29, 38;
  --emphasis-color: #FFF;
  --emphasis-color-rgb: 255, 255, 255;
  --secondary-color: rgba(209, 209, 209, 0.75);
  --secondary-color-rgb: 209, 209, 209;
  --secondary-bg: #262A36;
  --secondary-bg-rgb: 38, 42, 54;
  --tertiary-color: rgba(209, 209, 209, 0.5);
  --tertiary-color-rgb: 209, 209, 209;
  --tertiary-bg: #1B1D26;
  --tertiary-bg-rgb: 27, 29, 38;
  --heading-color: #E4E4E4;
  --link-color: #02c7b5;
  --link-color-rgb: 2, 199, 181;
  --link-decoration: none;
  --link-hover-color: #4ed8cb;
  --link-hover-color-rgb: 78, 216, 203;
  --link-hover-decoration: none;
  --code-color: #c58bc8;
  --highlight-color: #40382f;
  --highlight-bg: #ffdebc;
  --border-width: 1px;
  --border-style: solid;
  --border-color: #3C3E4B;
  --border-color-translucent: rgba(255, 255, 255, 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.3);
  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.15);
  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.3);
  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  --focus-ring-width: 0.25rem;
  --focus-ring-opacity: 0.25;
  --focus-ring-color: rgba(107, 62, 102, 0.25);
  --form-valid-color: #1dc959;
  --form-valid-border-color: #1dc959;
  --form-invalid-color: #b83232;
  --form-invalid-border-color: #b83232;
}

*,
*::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(255, 255, 255, 0);
}

hr {
  margin: 16px 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: 8px;
  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: #262A36;
  background-color: #E4E4E4;
  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: 16px;
  font-size: 1.09375rem;
}

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

.blockquote-footer {
  margin-top: -16px;
  margin-bottom: 16px;
  font-size: 0.8125rem;
  color: #7E8392;
}

.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: 8px;
  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: 32px;
  --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: 576px) {
  .container-sm, .container, .o_container_small {
    max-width: 540px;
  }
}

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

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

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

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

:root {
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;
}

.row {
  --gutter-x: 32px;
  --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, 32px);
}

.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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1400px) {
  .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: 4px;
}

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

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

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

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

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

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

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

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

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

@media (min-width: 576px) {
  .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: 4px;
  }
  .g-sm-1,
.gy-sm-1 {
    --gutter-y: 4px;
  }
  .g-sm-2,
.gx-sm-2 {
    --gutter-x: 8px;
  }
  .g-sm-2,
.gy-sm-2 {
    --gutter-y: 8px;
  }
  .g-sm-3,
.gx-sm-3 {
    --gutter-x: 16px;
  }
  .g-sm-3,
.gy-sm-3 {
    --gutter-y: 16px;
  }
  .g-sm-4,
.gx-sm-4 {
    --gutter-x: 24px;
  }
  .g-sm-4,
.gy-sm-4 {
    --gutter-y: 24px;
  }
  .g-sm-5,
.gx-sm-5 {
    --gutter-x: 48px;
  }
  .g-sm-5,
.gy-sm-5 {
    --gutter-y: 48px;
  }
}

@media (min-width: 768px) {
  .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: 4px;
  }
  .g-md-1,
.gy-md-1 {
    --gutter-y: 4px;
  }
  .g-md-2,
.gx-md-2 {
    --gutter-x: 8px;
  }
  .g-md-2,
.gy-md-2 {
    --gutter-y: 8px;
  }
  .g-md-3,
.gx-md-3 {
    --gutter-x: 16px;
  }
  .g-md-3,
.gy-md-3 {
    --gutter-y: 16px;
  }
  .g-md-4,
.gx-md-4 {
    --gutter-x: 24px;
  }
  .g-md-4,
.gy-md-4 {
    --gutter-y: 24px;
  }
  .g-md-5,
.gx-md-5 {
    --gutter-x: 48px;
  }
  .g-md-5,
.gy-md-5 {
    --gutter-y: 48px;
  }
}

@media (min-width: 992px) {
  .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: 4px;
  }
  .g-lg-1,
.gy-lg-1 {
    --gutter-y: 4px;
  }
  .g-lg-2,
.gx-lg-2 {
    --gutter-x: 8px;
  }
  .g-lg-2,
.gy-lg-2 {
    --gutter-y: 8px;
  }
  .g-lg-3,
.gx-lg-3 {
    --gutter-x: 16px;
  }
  .g-lg-3,
.gy-lg-3 {
    --gutter-y: 16px;
  }
  .g-lg-4,
.gx-lg-4 {
    --gutter-x: 24px;
  }
  .g-lg-4,
.gy-lg-4 {
    --gutter-y: 24px;
  }
  .g-lg-5,
.gx-lg-5 {
    --gutter-x: 48px;
  }
  .g-lg-5,
.gy-lg-5 {
    --gutter-y: 48px;
  }
}

@media (min-width: 1200px) {
  .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: 4px;
  }
  .g-xl-1,
.gy-xl-1 {
    --gutter-y: 4px;
  }
  .g-xl-2,
.gx-xl-2 {
    --gutter-x: 8px;
  }
  .g-xl-2,
.gy-xl-2 {
    --gutter-y: 8px;
  }
  .g-xl-3,
.gx-xl-3 {
    --gutter-x: 16px;
  }
  .g-xl-3,
.gy-xl-3 {
    --gutter-y: 16px;
  }
  .g-xl-4,
.gx-xl-4 {
    --gutter-x: 24px;
  }
  .g-xl-4,
.gy-xl-4 {
    --gutter-y: 24px;
  }
  .g-xl-5,
.gx-xl-5 {
    --gutter-x: 48px;
  }
  .g-xl-5,
.gy-xl-5 {
    --gutter-y: 48px;
  }
}

@media (min-width: 1400px) {
  .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: 4px;
  }
  .g-xxl-1,
.gy-xxl-1 {
    --gutter-y: 4px;
  }
  .g-xxl-2,
.gx-xxl-2 {
    --gutter-x: 8px;
  }
  .g-xxl-2,
.gy-xxl-2 {
    --gutter-y: 8px;
  }
  .g-xxl-3,
.gx-xxl-3 {
    --gutter-x: 16px;
  }
  .g-xxl-3,
.gy-xxl-3 {
    --gutter-y: 16px;
  }
  .g-xxl-4,
.gx-xxl-4 {
    --gutter-x: 24px;
  }
  .g-xxl-4,
.gy-xxl-4 {
    --gutter-y: 24px;
  }
  .g-xxl-5,
.gx-xxl-5 {
    --gutter-x: 48px;
  }
  .g-xxl-5,
.gy-xxl-5 {
    --gutter-y: 48px;
  }
}

.table {
  --table-color-type: initial;
  --table-bg-type: initial;
  --table-color-state: initial;
  --table-bg-state: initial;
  --table-color: var(--emphasis-color);
  --table-bg: #262A36;
  --table-border-color: #3C3E4B;
  --table-accent-bg: transparent;
  --table-striped-color: inherit;
  --table-striped-bg: rgba(var(--emphasis-color-rgb), 0.02);
  --table-active-color: #E4E4E4;
  --table-active-bg: rgba(var(--emphasis-color-rgb), 0.1);
  --table-hover-color: var(--emphasis-color);
  --table-hover-bg: rgba(var(--emphasis-color-rgb), 0.1);
  width: 100%;
  margin-bottom: 16px;
  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 #3C3E4B;
}

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

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

.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: #FFF;
  --table-bg: #20131f;
  --table-border-color: #4d424c;
  --table-striped-bg: #241823;
  --table-striped-color: #FFF;
  --table-active-bg: #362b35;
  --table-active-color: #FFF;
  --table-hover-bg: #362b35;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-secondary {
  --table-color: #FFF;
  --table-bg: #121317;
  --table-border-color: #414245;
  --table-striped-bg: #17181c;
  --table-striped-color: #FFF;
  --table-active-bg: #2a2b2e;
  --table-active-color: #FFF;
  --table-hover-bg: #2a2b2e;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-success {
  --table-color: #FFF;
  --table-bg: #093c1b;
  --table-border-color: #3a6349;
  --table-striped-bg: #0e4020;
  --table-striped-color: #FFF;
  --table-active-bg: #225032;
  --table-active-color: #FFF;
  --table-hover-bg: #225032;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-info {
  --table-color: #FFF;
  --table-bg: #20364b;
  --table-border-color: #4d5e6f;
  --table-striped-bg: #243a4f;
  --table-striped-color: #FFF;
  --table-active-bg: #364a5d;
  --table-active-color: #FFF;
  --table-hover-bg: #364a5d;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-warning {
  --table-color: #FFF;
  --table-bg: #462f00;
  --table-border-color: #6b5933;
  --table-striped-bg: #4a3305;
  --table-striped-color: #FFF;
  --table-active-bg: #59441a;
  --table-active-color: #FFF;
  --table-hover-bg: #59441a;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-danger {
  --table-color: #FFF;
  --table-bg: #370f0f;
  --table-border-color: #5f3f3f;
  --table-striped-bg: #3b1414;
  --table-striped-color: #FFF;
  --table-active-bg: #4b2727;
  --table-active-color: #FFF;
  --table-hover-bg: #4b2727;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-light {
  --table-color: #FFF;
  --table-bg: #3C3E4B;
  --table-border-color: #63656f;
  --table-striped-bg: #40424f;
  --table-striped-color: #FFF;
  --table-active-bg: #50515d;
  --table-active-color: #FFF;
  --table-hover-bg: #50515d;
  --table-hover-color: #FFF;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-dark {
  --table-color: #000;
  --table-bg: #B1B3BC;
  --table-border-color: #8e8f96;
  --table-striped-bg: #adafb8;
  --table-striped-color: #000;
  --table-active-bg: #9fa1a9;
  --table-active-color: #000;
  --table-hover-bg: #9fa1a9;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

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

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

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

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

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

@media (max-width: 1399.98px) {
  .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.5;
}

.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.5;
  color: var(--body-color);
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-color: transparent;
  background-clip: padding-box;
  border: var(--border-width) solid #3C3E4B;
  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: inherit;
  border-color: #147976;
  outline: 0;
  box-shadow: 0, 0;
}

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

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

.form-control::placeholder {
  color: #757a89;
  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.5;
  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.5em + 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.5em + 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.5em + 0.625rem + calc(var(--border-width) * 2));
}

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

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

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 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.5em + 0.375rem + calc(var(--border-width) * 2));
}

.form-control-color.form-control-lg {
  height: calc(1.5em + 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='%23D1D1D1' 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.5;
  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 #3C3E4B;
  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: #147976;
  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.3125rem;
  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.25em;
  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: #147976;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(107, 62, 102, 0.25);
}

.form-check-input:checked {
  background-color: #02c7b5;
  border-color: #02c7b5;
}

.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='%23000' 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='%23000'/%3e%3c/svg%3e");
}

.form-check-input[type="checkbox"]:indeterminate {
  background-color: #3C3E4B;
  border-color: #3C3E4B;
  --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%28255, 255, 255, 0.5%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='%23FFF'/%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='%23262A36'/%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 #6b3e66;
}

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

.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: #6b3e66;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(255, 255, 255, 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: #8b5185;
}

.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #3C3E4B;
  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: #6b3e66;
  border: 0;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.25rem rgba(255, 255, 255, 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: #8b5185;
}

.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: #3C3E4B;
  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: #7E8392;
}

.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.5;
  color: var(--body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--tertiary-bg);
  border: var(--border-width) solid #3C3E4B;
  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: 4px 8px;
  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.5em + 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='%231dc959' 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.375em + 0.15625rem) center;
  background-size: calc(0.75em + 0.3125rem) calc(0.75em + 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.5em + 0.625rem);
  background-position: top calc(0.375em + 0.15625rem) right calc(0.375em + 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='%231dc959' 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.75em + 0.3125rem) calc(0.75em + 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.5em + 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: 4px 8px;
  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.5em + 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='%23b83232'%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='%23b83232' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.15625rem) center;
  background-size: calc(0.75em + 0.3125rem) calc(0.75em + 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.5em + 0.625rem);
  background-position: top calc(0.375em + 0.15625rem) right calc(0.375em + 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='%23b83232'%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='%23b83232' 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.75em + 0.3125rem) calc(0.75em + 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.5em + 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.5;
  --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: #7E8392;
  --btn-disabled-border-color: transparent;
  --btn-box-shadow: 0 0 0 #000;
  --btn-focus-shadow-rgb: 2, 169, 154;
  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: #3C3E4B;
  --dropdown-border-color: #5A5E6B;
  --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: #5A5E6B;
  --dropdown-divider-margin-y: 8px;
  --dropdown-box-shadow: 0 0.3rem 1rem rgba(0, 0, 0, 0.1);
  --dropdown-link-color: #D1D1D1;
  --dropdown-link-hover-color: #E4E4E4;
  --dropdown-link-hover-bg: rgba(255, 255, 255, 0.08);
  --dropdown-link-active-color: #E4E4E4;
  --dropdown-link-active-bg: transparent;
  --dropdown-link-disabled-color: rgba(209, 209, 209, 0.76);
  --dropdown-item-padding-x: 20px;
  --dropdown-item-padding-y: 3px;
  --dropdown-header-color: #B1B3BC;
  --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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1400px) {
  .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: #3C3E4B;
  --dropdown-bg: #D1D1D1;
  --dropdown-border-color: #5A5E6B;
  --dropdown-box-shadow: ;
  --dropdown-link-color: #3C3E4B;
  --dropdown-link-hover-color: #000;
  --dropdown-divider-bg: #5A5E6B;
  --dropdown-link-hover-bg: rgba(0, 0, 0, 0.15);
  --dropdown-link-active-color: #E4E4E4;
  --dropdown-link-active-bg: transparent;
  --dropdown-link-disabled-color: #6B707F;
  --dropdown-header-color: #6B707F;
}

.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: #D1D1D1;
  --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(107, 62, 102, 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: #E4E4E4;
  --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: #000;
  --nav-pills-link-active-bg: #6b3e66;
}

.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: 8px;
  --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.3359375rem;
  --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%28209, 209, 209, 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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1400px) {
  .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(0, 0, 0, 0.55);
  --navbar-hover-color: rgba(0, 0, 0, 0.75);
  --navbar-disabled-color: rgba(0, 0, 0, 0.25);
  --navbar-active-color: #000;
  --navbar-brand-color: #000;
  --navbar-brand-hover-color: #000;
  --navbar-toggler-border-color: rgba(0, 0, 0, 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%280, 0, 0, 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: 16px;
  --card-spacer-x: 16px;
  --card-title-spacer-y: 8px;
  --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: 16px;
  --card-cap-padding-x: 16px;
  --card-cap-bg: #262A36;
  --card-cap-color: ;
  --card-height: ;
  --card-color: ;
  --card-bg: #262A36;
  --card-img-overlay-padding: 16px;
  --card-group-margin: 16px;
  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: 576px) {
  .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='%23D1D1D1' 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='%23c4b2c2' 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: #262A36;
  --breadcrumb-border-radius: ;
  --breadcrumb-divider-color: rgba(209, 209, 209, 0.76);
  --breadcrumb-item-padding-x: 0.5rem;
  --breadcrumb-item-active-color: #D1D1D1;
  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(107, 62, 102, 0.25);
  --pagination-active-color: unset;
  --pagination-active-bg: #3C3E4B;
  --pagination-active-border-color: #3C3E4B;
  --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: 16px;
  --alert-padding-y: 16px;
  --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: 48px;
}

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

.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: #000;
  --progress-bar-bg: #6b3e66;
  --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(0, 0, 0, 0.15) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 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: #262A36;
  --list-group-border-color: var(--border-color);
  --list-group-border-width: var(--border-width);
  --list-group-border-radius: 0;
  --list-group-item-padding-x: 16px;
  --list-group-item-padding-y: 8px;
  --list-group-action-color: var(--secondary-color);
  --list-group-action-hover-color: #E4E4E4;
  --list-group-action-hover-bg: rgba(255, 255, 255, 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: #262A36;
  --list-group-active-color: #02c7b5;
  --list-group-active-bg: #3C3E4B;
  --list-group-active-border-color: #02c7b5;
  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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1400px) {
  .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: #FFF;
  --btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFF'%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(107, 62, 102, 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: 32px;
  --toast-max-width: 320px;
  --toast-font-size: 0.875rem;
  --toast-color: ;
  --toast-bg: rgba(0, 0, 0, 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(0, 0, 0, 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: 16px;
  --modal-margin: 0.5rem;
  --modal-color: ;
  --modal-bg: #262A36;
  --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: 16px;
  --modal-header-padding-y: 16px;
  --modal-header-padding: 16px 16px;
  --modal-header-border-color: var(--border-color);
  --modal-header-border-width: var(--border-width);
  --modal-title-line-height: 1.5;
  --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: 576px) {
  .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: 992px) {
  .modal-lg,
.modal-xl {
    --modal-width: 980px;
  }
}

@media (min-width: 1200px) {
  .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: 575.98px) {
  .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: 767.98px) {
  .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: 991.98px) {
  .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: 1199.98px) {
  .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: 1399.98px) {
  .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: 8px;
  --tooltip-padding-y: 4px;
  --tooltip-margin: ;
  --tooltip-font-size: 0.8125rem;
  --tooltip-color: #D1D1D1;
  --tooltip-bg: #3C3E4B;
  --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.5;
  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: #3C3E4B;
  --popover-border-width: var(--border-width);
  --popover-border-color: #5A5E6B;
  --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: 16px;
  --popover-header-padding-y: 0.5rem;
  --popover-header-font-size: 0.875rem;
  --popover-header-color: #E4E4E4;
  --popover-header-bg: var(--secondary-bg);
  --popover-body-padding-x: 16px;
  --popover-body-padding-y: 16px;
  --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.5;
  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: #000;
  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: #000;
  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='%23000'%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='%23000'%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='%23000'%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='%23000'%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: #000;
  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: #000;
  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: #FFF;
}

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

.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: 16px;
  --offcanvas-padding-y: 16px;
  --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.5;
}

@media (max-width: 575.98px) {
  .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: 575.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-sm {
    transition: none;
  }
}

@media (max-width: 575.98px) {
  .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: 576px) {
  .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: 767.98px) {
  .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: 767.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-md {
    transition: none;
  }
}

@media (max-width: 767.98px) {
  .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: 768px) {
  .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: 991.98px) {
  .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: 991.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-lg {
    transition: none;
  }
}

@media (max-width: 991.98px) {
  .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: 992px) {
  .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: 1199.98px) {
  .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: 1199.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xl {
    transition: none;
  }
}

@media (max-width: 1199.98px) {
  .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: 1200px) {
  .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: 1399.98px) {
  .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: 1399.98px) and (prefers-reduced-motion: reduce) {
  .offcanvas-xxl {
    transition: none;
  }
}

@media (max-width: 1399.98px) {
  .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: 1400px) {
  .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, #FFF 55%, rgba(0, 0, 0, 0.8) 75%, #FFF 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: #FFF !important;
  background-color: RGBA(var(--secondary-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #000 !important;
  background-color: RGBA(var(--success-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000 !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: #FFF !important;
  background-color: RGBA(var(--light-rgb), var(--bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #000 !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(91, 53, 87, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(91, 53, 87, 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(51, 53, 64, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(51, 53, 64, 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(63, 209, 114, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(63, 209, 114, 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(128, 192, 252, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(128, 192, 252, 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(236, 172, 38, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(236, 172, 38, 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(156, 43, 43, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(156, 43, 43, 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(51, 53, 64, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(51, 53, 64, 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(189, 190, 198, var(--link-opacity, 1)) !important;
  text-decoration-color: RGBA(189, 190, 198, 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: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 1200px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}

@media (min-width: 1400px) {
  .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: 4px !important;
}

.m-2 {
  margin: 8px !important;
}

.m-3 {
  margin: 16px !important;
}

.m-4 {
  margin: 24px !important;
}

.m-5 {
  margin: 48px !important;
}

.m-auto {
  margin: auto !important;
}

.mx-0 {
  margin-right: 0 !important;
  margin-left: 0 !important;
}

.mx-1 {
  margin-right: 4px !important;
  margin-left: 4px !important;
}

.mx-2 {
  margin-right: 8px !important;
  margin-left: 8px !important;
}

.mx-3 {
  margin-right: 16px !important;
  margin-left: 16px !important;
}

.mx-4 {
  margin-right: 24px !important;
  margin-left: 24px !important;
}

.mx-5 {
  margin-right: 48px !important;
  margin-left: 48px !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: 4px !important;
  margin-bottom: 4px !important;
}

.my-2 {
  margin-top: 8px !important;
  margin-bottom: 8px !important;
}

.my-3 {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}

.my-4 {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.my-5 {
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mt-1 {
  margin-top: 4px !important;
}

.mt-2 {
  margin-top: 8px !important;
}

.mt-3 {
  margin-top: 16px !important;
}

.mt-4 {
  margin-top: 24px !important;
}

.mt-5 {
  margin-top: 48px !important;
}

.mt-auto {
  margin-top: auto !important;
}

.me-0 {
  margin-right: 0 !important;
}

.me-1 {
  margin-right: 4px !important;
}

.me-2 {
  margin-right: 8px !important;
}

.me-3 {
  margin-right: 16px !important;
}

.me-4 {
  margin-right: 24px !important;
}

.me-5 {
  margin-right: 48px !important;
}

.me-auto {
  margin-right: auto !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 4px !important;
}

.mb-2 {
  margin-bottom: 8px !important;
}

.mb-3 {
  margin-bottom: 16px !important;
}

.mb-4 {
  margin-bottom: 24px !important;
}

.mb-5 {
  margin-bottom: 48px !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ms-0 {
  margin-left: 0 !important;
}

.ms-1 {
  margin-left: 4px !important;
}

.ms-2 {
  margin-left: 8px !important;
}

.ms-3 {
  margin-left: 16px !important;
}

.ms-4 {
  margin-left: 24px !important;
}

.ms-5 {
  margin-left: 48px !important;
}

.ms-auto {
  margin-left: auto !important;
}

.m-n1 {
  margin: -4px !important;
}

.m-n2 {
  margin: -8px !important;
}

.m-n3 {
  margin: -16px !important;
}

.m-n4 {
  margin: -24px !important;
}

.m-n5 {
  margin: -48px !important;
}

.mx-n1 {
  margin-right: -4px !important;
  margin-left: -4px !important;
}

.mx-n2 {
  margin-right: -8px !important;
  margin-left: -8px !important;
}

.mx-n3 {
  margin-right: -16px !important;
  margin-left: -16px !important;
}

.mx-n4 {
  margin-right: -24px !important;
  margin-left: -24px !important;
}

.mx-n5 {
  margin-right: -48px !important;
  margin-left: -48px !important;
}

.my-n1 {
  margin-top: -4px !important;
  margin-bottom: -4px !important;
}

.my-n2 {
  margin-top: -8px !important;
  margin-bottom: -8px !important;
}

.my-n3 {
  margin-top: -16px !important;
  margin-bottom: -16px !important;
}

.my-n4 {
  margin-top: -24px !important;
  margin-bottom: -24px !important;
}

.my-n5 {
  margin-top: -48px !important;
  margin-bottom: -48px !important;
}

.mt-n1 {
  margin-top: -4px !important;
}

.mt-n2 {
  margin-top: -8px !important;
}

.mt-n3 {
  margin-top: -16px !important;
}

.mt-n4 {
  margin-top: -24px !important;
}

.mt-n5 {
  margin-top: -48px !important;
}

.me-n1 {
  margin-right: -4px !important;
}

.me-n2 {
  margin-right: -8px !important;
}

.me-n3 {
  margin-right: -16px !important;
}

.me-n4 {
  margin-right: -24px !important;
}

.me-n5 {
  margin-right: -48px !important;
}

.mb-n1 {
  margin-bottom: -4px !important;
}

.mb-n2 {
  margin-bottom: -8px !important;
}

.mb-n3 {
  margin-bottom: -16px !important;
}

.mb-n4 {
  margin-bottom: -24px !important;
}

.mb-n5 {
  margin-bottom: -48px !important;
}

.ms-n1 {
  margin-left: -4px !important;
}

.ms-n2 {
  margin-left: -8px !important;
}

.ms-n3 {
  margin-left: -16px !important;
}

.ms-n4 {
  margin-left: -24px !important;
}

.ms-n5 {
  margin-left: -48px !important;
}

.p-0 {
  padding: 0 !important;
}

.p-1 {
  padding: 4px !important;
}

.p-2 {
  padding: 8px !important;
}

.p-3 {
  padding: 16px !important;
}

.p-4 {
  padding: 24px !important;
}

.p-5 {
  padding: 48px !important;
}

.px-0 {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.px-1 {
  padding-right: 4px !important;
  padding-left: 4px !important;
}

.px-2 {
  padding-right: 8px !important;
  padding-left: 8px !important;
}

.px-3 {
  padding-right: 16px !important;
  padding-left: 16px !important;
}

.px-4 {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

.px-5 {
  padding-right: 48px !important;
  padding-left: 48px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-1 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

.py-2 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.py-3 {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.py-4 {
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.py-5 {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pt-1 {
  padding-top: 4px !important;
}

.pt-2 {
  padding-top: 8px !important;
}

.pt-3 {
  padding-top: 16px !important;
}

.pt-4 {
  padding-top: 24px !important;
}

.pt-5 {
  padding-top: 48px !important;
}

.pe-0 {
  padding-right: 0 !important;
}

.pe-1 {
  padding-right: 4px !important;
}

.pe-2 {
  padding-right: 8px !important;
}

.pe-3 {
  padding-right: 16px !important;
}

.pe-4 {
  padding-right: 24px !important;
}

.pe-5 {
  padding-right: 48px !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pb-1 {
  padding-bottom: 4px !important;
}

.pb-2 {
  padding-bottom: 8px !important;
}

.pb-3 {
  padding-bottom: 16px !important;
}

.pb-4 {
  padding-bottom: 24px !important;
}

.pb-5 {
  padding-bottom: 48px !important;
}

.ps-0 {
  padding-left: 0 !important;
}

.ps-1 {
  padding-left: 4px !important;
}

.ps-2 {
  padding-left: 8px !important;
}

.ps-3 {
  padding-left: 16px !important;
}

.ps-4 {
  padding-left: 24px !important;
}

.ps-5 {
  padding-left: 48px !important;
}

.gap-0 {
  gap: 0 !important;
}

.gap-1 {
  gap: 4px !important;
}

.gap-2 {
  gap: 8px !important;
}

.gap-3 {
  gap: 16px !important;
}

.gap-4 {
  gap: 24px !important;
}

.gap-5 {
  gap: 48px !important;
}

.row-gap-0 {
  row-gap: 0 !important;
}

.row-gap-1 {
  row-gap: 4px !important;
}

.row-gap-2 {
  row-gap: 8px !important;
}

.row-gap-3 {
  row-gap: 16px !important;
}

.row-gap-4 {
  row-gap: 24px !important;
}

.row-gap-5 {
  row-gap: 48px !important;
}

.column-gap-0 {
  column-gap: 0 !important;
}

.column-gap-1 {
  column-gap: 4px !important;
}

.column-gap-2 {
  column-gap: 8px !important;
}

.column-gap-3 {
  column-gap: 16px !important;
}

.column-gap-4 {
  column-gap: 24px !important;
}

.column-gap-5 {
  column-gap: 48px !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.25 !important;
}

.lh-base {
  line-height: 1.5 !important;
}

.lh-lg {
  line-height: 2 !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: #D1D1D1 !important;
}

.text-muted {
  --text-opacity: 1;
  color: rgba(209, 209, 209, 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: 576px) {
  .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: 4px !important;
  }
  .m-sm-2 {
    margin: 8px !important;
  }
  .m-sm-3 {
    margin: 16px !important;
  }
  .m-sm-4 {
    margin: 24px !important;
  }
  .m-sm-5 {
    margin: 48px !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mx-sm-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-sm-1 {
    margin-right: 4px !important;
    margin-left: 4px !important;
  }
  .mx-sm-2 {
    margin-right: 8px !important;
    margin-left: 8px !important;
  }
  .mx-sm-3 {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .mx-sm-4 {
    margin-right: 24px !important;
    margin-left: 24px !important;
  }
  .mx-sm-5 {
    margin-right: 48px !important;
    margin-left: 48px !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: 4px !important;
    margin-bottom: 4px !important;
  }
  .my-sm-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .my-sm-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .my-sm-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .my-sm-5 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .my-sm-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-sm-0 {
    margin-top: 0 !important;
  }
  .mt-sm-1 {
    margin-top: 4px !important;
  }
  .mt-sm-2 {
    margin-top: 8px !important;
  }
  .mt-sm-3 {
    margin-top: 16px !important;
  }
  .mt-sm-4 {
    margin-top: 24px !important;
  }
  .mt-sm-5 {
    margin-top: 48px !important;
  }
  .mt-sm-auto {
    margin-top: auto !important;
  }
  .me-sm-0 {
    margin-right: 0 !important;
  }
  .me-sm-1 {
    margin-right: 4px !important;
  }
  .me-sm-2 {
    margin-right: 8px !important;
  }
  .me-sm-3 {
    margin-right: 16px !important;
  }
  .me-sm-4 {
    margin-right: 24px !important;
  }
  .me-sm-5 {
    margin-right: 48px !important;
  }
  .me-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-0 {
    margin-bottom: 0 !important;
  }
  .mb-sm-1 {
    margin-bottom: 4px !important;
  }
  .mb-sm-2 {
    margin-bottom: 8px !important;
  }
  .mb-sm-3 {
    margin-bottom: 16px !important;
  }
  .mb-sm-4 {
    margin-bottom: 24px !important;
  }
  .mb-sm-5 {
    margin-bottom: 48px !important;
  }
  .mb-sm-auto {
    margin-bottom: auto !important;
  }
  .ms-sm-0 {
    margin-left: 0 !important;
  }
  .ms-sm-1 {
    margin-left: 4px !important;
  }
  .ms-sm-2 {
    margin-left: 8px !important;
  }
  .ms-sm-3 {
    margin-left: 16px !important;
  }
  .ms-sm-4 {
    margin-left: 24px !important;
  }
  .ms-sm-5 {
    margin-left: 48px !important;
  }
  .ms-sm-auto {
    margin-left: auto !important;
  }
  .m-sm-n1 {
    margin: -4px !important;
  }
  .m-sm-n2 {
    margin: -8px !important;
  }
  .m-sm-n3 {
    margin: -16px !important;
  }
  .m-sm-n4 {
    margin: -24px !important;
  }
  .m-sm-n5 {
    margin: -48px !important;
  }
  .mx-sm-n1 {
    margin-right: -4px !important;
    margin-left: -4px !important;
  }
  .mx-sm-n2 {
    margin-right: -8px !important;
    margin-left: -8px !important;
  }
  .mx-sm-n3 {
    margin-right: -16px !important;
    margin-left: -16px !important;
  }
  .mx-sm-n4 {
    margin-right: -24px !important;
    margin-left: -24px !important;
  }
  .mx-sm-n5 {
    margin-right: -48px !important;
    margin-left: -48px !important;
  }
  .my-sm-n1 {
    margin-top: -4px !important;
    margin-bottom: -4px !important;
  }
  .my-sm-n2 {
    margin-top: -8px !important;
    margin-bottom: -8px !important;
  }
  .my-sm-n3 {
    margin-top: -16px !important;
    margin-bottom: -16px !important;
  }
  .my-sm-n4 {
    margin-top: -24px !important;
    margin-bottom: -24px !important;
  }
  .my-sm-n5 {
    margin-top: -48px !important;
    margin-bottom: -48px !important;
  }
  .mt-sm-n1 {
    margin-top: -4px !important;
  }
  .mt-sm-n2 {
    margin-top: -8px !important;
  }
  .mt-sm-n3 {
    margin-top: -16px !important;
  }
  .mt-sm-n4 {
    margin-top: -24px !important;
  }
  .mt-sm-n5 {
    margin-top: -48px !important;
  }
  .me-sm-n1 {
    margin-right: -4px !important;
  }
  .me-sm-n2 {
    margin-right: -8px !important;
  }
  .me-sm-n3 {
    margin-right: -16px !important;
  }
  .me-sm-n4 {
    margin-right: -24px !important;
  }
  .me-sm-n5 {
    margin-right: -48px !important;
  }
  .mb-sm-n1 {
    margin-bottom: -4px !important;
  }
  .mb-sm-n2 {
    margin-bottom: -8px !important;
  }
  .mb-sm-n3 {
    margin-bottom: -16px !important;
  }
  .mb-sm-n4 {
    margin-bottom: -24px !important;
  }
  .mb-sm-n5 {
    margin-bottom: -48px !important;
  }
  .ms-sm-n1 {
    margin-left: -4px !important;
  }
  .ms-sm-n2 {
    margin-left: -8px !important;
  }
  .ms-sm-n3 {
    margin-left: -16px !important;
  }
  .ms-sm-n4 {
    margin-left: -24px !important;
  }
  .ms-sm-n5 {
    margin-left: -48px !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .p-sm-1 {
    padding: 4px !important;
  }
  .p-sm-2 {
    padding: 8px !important;
  }
  .p-sm-3 {
    padding: 16px !important;
  }
  .p-sm-4 {
    padding: 24px !important;
  }
  .p-sm-5 {
    padding: 48px !important;
  }
  .px-sm-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-sm-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-sm-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-sm-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-sm-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-sm-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-sm-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-sm-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-sm-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-sm-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-sm-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-sm-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-sm-0 {
    padding-top: 0 !important;
  }
  .pt-sm-1 {
    padding-top: 4px !important;
  }
  .pt-sm-2 {
    padding-top: 8px !important;
  }
  .pt-sm-3 {
    padding-top: 16px !important;
  }
  .pt-sm-4 {
    padding-top: 24px !important;
  }
  .pt-sm-5 {
    padding-top: 48px !important;
  }
  .pe-sm-0 {
    padding-right: 0 !important;
  }
  .pe-sm-1 {
    padding-right: 4px !important;
  }
  .pe-sm-2 {
    padding-right: 8px !important;
  }
  .pe-sm-3 {
    padding-right: 16px !important;
  }
  .pe-sm-4 {
    padding-right: 24px !important;
  }
  .pe-sm-5 {
    padding-right: 48px !important;
  }
  .pb-sm-0 {
    padding-bottom: 0 !important;
  }
  .pb-sm-1 {
    padding-bottom: 4px !important;
  }
  .pb-sm-2 {
    padding-bottom: 8px !important;
  }
  .pb-sm-3 {
    padding-bottom: 16px !important;
  }
  .pb-sm-4 {
    padding-bottom: 24px !important;
  }
  .pb-sm-5 {
    padding-bottom: 48px !important;
  }
  .ps-sm-0 {
    padding-left: 0 !important;
  }
  .ps-sm-1 {
    padding-left: 4px !important;
  }
  .ps-sm-2 {
    padding-left: 8px !important;
  }
  .ps-sm-3 {
    padding-left: 16px !important;
  }
  .ps-sm-4 {
    padding-left: 24px !important;
  }
  .ps-sm-5 {
    padding-left: 48px !important;
  }
  .gap-sm-0 {
    gap: 0 !important;
  }
  .gap-sm-1 {
    gap: 4px !important;
  }
  .gap-sm-2 {
    gap: 8px !important;
  }
  .gap-sm-3 {
    gap: 16px !important;
  }
  .gap-sm-4 {
    gap: 24px !important;
  }
  .gap-sm-5 {
    gap: 48px !important;
  }
  .row-gap-sm-0 {
    row-gap: 0 !important;
  }
  .row-gap-sm-1 {
    row-gap: 4px !important;
  }
  .row-gap-sm-2 {
    row-gap: 8px !important;
  }
  .row-gap-sm-3 {
    row-gap: 16px !important;
  }
  .row-gap-sm-4 {
    row-gap: 24px !important;
  }
  .row-gap-sm-5 {
    row-gap: 48px !important;
  }
  .column-gap-sm-0 {
    column-gap: 0 !important;
  }
  .column-gap-sm-1 {
    column-gap: 4px !important;
  }
  .column-gap-sm-2 {
    column-gap: 8px !important;
  }
  .column-gap-sm-3 {
    column-gap: 16px !important;
  }
  .column-gap-sm-4 {
    column-gap: 24px !important;
  }
  .column-gap-sm-5 {
    column-gap: 48px !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: 768px) {
  .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: 4px !important;
  }
  .m-md-2 {
    margin: 8px !important;
  }
  .m-md-3 {
    margin: 16px !important;
  }
  .m-md-4 {
    margin: 24px !important;
  }
  .m-md-5 {
    margin: 48px !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mx-md-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-md-1 {
    margin-right: 4px !important;
    margin-left: 4px !important;
  }
  .mx-md-2 {
    margin-right: 8px !important;
    margin-left: 8px !important;
  }
  .mx-md-3 {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .mx-md-4 {
    margin-right: 24px !important;
    margin-left: 24px !important;
  }
  .mx-md-5 {
    margin-right: 48px !important;
    margin-left: 48px !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: 4px !important;
    margin-bottom: 4px !important;
  }
  .my-md-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .my-md-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .my-md-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .my-md-5 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .my-md-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-md-0 {
    margin-top: 0 !important;
  }
  .mt-md-1 {
    margin-top: 4px !important;
  }
  .mt-md-2 {
    margin-top: 8px !important;
  }
  .mt-md-3 {
    margin-top: 16px !important;
  }
  .mt-md-4 {
    margin-top: 24px !important;
  }
  .mt-md-5 {
    margin-top: 48px !important;
  }
  .mt-md-auto {
    margin-top: auto !important;
  }
  .me-md-0 {
    margin-right: 0 !important;
  }
  .me-md-1 {
    margin-right: 4px !important;
  }
  .me-md-2 {
    margin-right: 8px !important;
  }
  .me-md-3 {
    margin-right: 16px !important;
  }
  .me-md-4 {
    margin-right: 24px !important;
  }
  .me-md-5 {
    margin-right: 48px !important;
  }
  .me-md-auto {
    margin-right: auto !important;
  }
  .mb-md-0 {
    margin-bottom: 0 !important;
  }
  .mb-md-1 {
    margin-bottom: 4px !important;
  }
  .mb-md-2 {
    margin-bottom: 8px !important;
  }
  .mb-md-3 {
    margin-bottom: 16px !important;
  }
  .mb-md-4 {
    margin-bottom: 24px !important;
  }
  .mb-md-5 {
    margin-bottom: 48px !important;
  }
  .mb-md-auto {
    margin-bottom: auto !important;
  }
  .ms-md-0 {
    margin-left: 0 !important;
  }
  .ms-md-1 {
    margin-left: 4px !important;
  }
  .ms-md-2 {
    margin-left: 8px !important;
  }
  .ms-md-3 {
    margin-left: 16px !important;
  }
  .ms-md-4 {
    margin-left: 24px !important;
  }
  .ms-md-5 {
    margin-left: 48px !important;
  }
  .ms-md-auto {
    margin-left: auto !important;
  }
  .m-md-n1 {
    margin: -4px !important;
  }
  .m-md-n2 {
    margin: -8px !important;
  }
  .m-md-n3 {
    margin: -16px !important;
  }
  .m-md-n4 {
    margin: -24px !important;
  }
  .m-md-n5 {
    margin: -48px !important;
  }
  .mx-md-n1 {
    margin-right: -4px !important;
    margin-left: -4px !important;
  }
  .mx-md-n2 {
    margin-right: -8px !important;
    margin-left: -8px !important;
  }
  .mx-md-n3 {
    margin-right: -16px !important;
    margin-left: -16px !important;
  }
  .mx-md-n4 {
    margin-right: -24px !important;
    margin-left: -24px !important;
  }
  .mx-md-n5 {
    margin-right: -48px !important;
    margin-left: -48px !important;
  }
  .my-md-n1 {
    margin-top: -4px !important;
    margin-bottom: -4px !important;
  }
  .my-md-n2 {
    margin-top: -8px !important;
    margin-bottom: -8px !important;
  }
  .my-md-n3 {
    margin-top: -16px !important;
    margin-bottom: -16px !important;
  }
  .my-md-n4 {
    margin-top: -24px !important;
    margin-bottom: -24px !important;
  }
  .my-md-n5 {
    margin-top: -48px !important;
    margin-bottom: -48px !important;
  }
  .mt-md-n1 {
    margin-top: -4px !important;
  }
  .mt-md-n2 {
    margin-top: -8px !important;
  }
  .mt-md-n3 {
    margin-top: -16px !important;
  }
  .mt-md-n4 {
    margin-top: -24px !important;
  }
  .mt-md-n5 {
    margin-top: -48px !important;
  }
  .me-md-n1 {
    margin-right: -4px !important;
  }
  .me-md-n2 {
    margin-right: -8px !important;
  }
  .me-md-n3 {
    margin-right: -16px !important;
  }
  .me-md-n4 {
    margin-right: -24px !important;
  }
  .me-md-n5 {
    margin-right: -48px !important;
  }
  .mb-md-n1 {
    margin-bottom: -4px !important;
  }
  .mb-md-n2 {
    margin-bottom: -8px !important;
  }
  .mb-md-n3 {
    margin-bottom: -16px !important;
  }
  .mb-md-n4 {
    margin-bottom: -24px !important;
  }
  .mb-md-n5 {
    margin-bottom: -48px !important;
  }
  .ms-md-n1 {
    margin-left: -4px !important;
  }
  .ms-md-n2 {
    margin-left: -8px !important;
  }
  .ms-md-n3 {
    margin-left: -16px !important;
  }
  .ms-md-n4 {
    margin-left: -24px !important;
  }
  .ms-md-n5 {
    margin-left: -48px !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .p-md-1 {
    padding: 4px !important;
  }
  .p-md-2 {
    padding: 8px !important;
  }
  .p-md-3 {
    padding: 16px !important;
  }
  .p-md-4 {
    padding: 24px !important;
  }
  .p-md-5 {
    padding: 48px !important;
  }
  .px-md-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-md-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-md-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-md-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-md-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-md-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-md-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-md-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-md-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-md-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-md-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-md-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-md-0 {
    padding-top: 0 !important;
  }
  .pt-md-1 {
    padding-top: 4px !important;
  }
  .pt-md-2 {
    padding-top: 8px !important;
  }
  .pt-md-3 {
    padding-top: 16px !important;
  }
  .pt-md-4 {
    padding-top: 24px !important;
  }
  .pt-md-5 {
    padding-top: 48px !important;
  }
  .pe-md-0 {
    padding-right: 0 !important;
  }
  .pe-md-1 {
    padding-right: 4px !important;
  }
  .pe-md-2 {
    padding-right: 8px !important;
  }
  .pe-md-3 {
    padding-right: 16px !important;
  }
  .pe-md-4 {
    padding-right: 24px !important;
  }
  .pe-md-5 {
    padding-right: 48px !important;
  }
  .pb-md-0 {
    padding-bottom: 0 !important;
  }
  .pb-md-1 {
    padding-bottom: 4px !important;
  }
  .pb-md-2 {
    padding-bottom: 8px !important;
  }
  .pb-md-3 {
    padding-bottom: 16px !important;
  }
  .pb-md-4 {
    padding-bottom: 24px !important;
  }
  .pb-md-5 {
    padding-bottom: 48px !important;
  }
  .ps-md-0 {
    padding-left: 0 !important;
  }
  .ps-md-1 {
    padding-left: 4px !important;
  }
  .ps-md-2 {
    padding-left: 8px !important;
  }
  .ps-md-3 {
    padding-left: 16px !important;
  }
  .ps-md-4 {
    padding-left: 24px !important;
  }
  .ps-md-5 {
    padding-left: 48px !important;
  }
  .gap-md-0 {
    gap: 0 !important;
  }
  .gap-md-1 {
    gap: 4px !important;
  }
  .gap-md-2 {
    gap: 8px !important;
  }
  .gap-md-3 {
    gap: 16px !important;
  }
  .gap-md-4 {
    gap: 24px !important;
  }
  .gap-md-5 {
    gap: 48px !important;
  }
  .row-gap-md-0 {
    row-gap: 0 !important;
  }
  .row-gap-md-1 {
    row-gap: 4px !important;
  }
  .row-gap-md-2 {
    row-gap: 8px !important;
  }
  .row-gap-md-3 {
    row-gap: 16px !important;
  }
  .row-gap-md-4 {
    row-gap: 24px !important;
  }
  .row-gap-md-5 {
    row-gap: 48px !important;
  }
  .column-gap-md-0 {
    column-gap: 0 !important;
  }
  .column-gap-md-1 {
    column-gap: 4px !important;
  }
  .column-gap-md-2 {
    column-gap: 8px !important;
  }
  .column-gap-md-3 {
    column-gap: 16px !important;
  }
  .column-gap-md-4 {
    column-gap: 24px !important;
  }
  .column-gap-md-5 {
    column-gap: 48px !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: 992px) {
  .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: 4px !important;
  }
  .m-lg-2 {
    margin: 8px !important;
  }
  .m-lg-3 {
    margin: 16px !important;
  }
  .m-lg-4 {
    margin: 24px !important;
  }
  .m-lg-5 {
    margin: 48px !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mx-lg-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-lg-1 {
    margin-right: 4px !important;
    margin-left: 4px !important;
  }
  .mx-lg-2 {
    margin-right: 8px !important;
    margin-left: 8px !important;
  }
  .mx-lg-3 {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .mx-lg-4 {
    margin-right: 24px !important;
    margin-left: 24px !important;
  }
  .mx-lg-5 {
    margin-right: 48px !important;
    margin-left: 48px !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: 4px !important;
    margin-bottom: 4px !important;
  }
  .my-lg-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .my-lg-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .my-lg-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .my-lg-5 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .my-lg-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-lg-0 {
    margin-top: 0 !important;
  }
  .mt-lg-1 {
    margin-top: 4px !important;
  }
  .mt-lg-2 {
    margin-top: 8px !important;
  }
  .mt-lg-3 {
    margin-top: 16px !important;
  }
  .mt-lg-4 {
    margin-top: 24px !important;
  }
  .mt-lg-5 {
    margin-top: 48px !important;
  }
  .mt-lg-auto {
    margin-top: auto !important;
  }
  .me-lg-0 {
    margin-right: 0 !important;
  }
  .me-lg-1 {
    margin-right: 4px !important;
  }
  .me-lg-2 {
    margin-right: 8px !important;
  }
  .me-lg-3 {
    margin-right: 16px !important;
  }
  .me-lg-4 {
    margin-right: 24px !important;
  }
  .me-lg-5 {
    margin-right: 48px !important;
  }
  .me-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
  .mb-lg-1 {
    margin-bottom: 4px !important;
  }
  .mb-lg-2 {
    margin-bottom: 8px !important;
  }
  .mb-lg-3 {
    margin-bottom: 16px !important;
  }
  .mb-lg-4 {
    margin-bottom: 24px !important;
  }
  .mb-lg-5 {
    margin-bottom: 48px !important;
  }
  .mb-lg-auto {
    margin-bottom: auto !important;
  }
  .ms-lg-0 {
    margin-left: 0 !important;
  }
  .ms-lg-1 {
    margin-left: 4px !important;
  }
  .ms-lg-2 {
    margin-left: 8px !important;
  }
  .ms-lg-3 {
    margin-left: 16px !important;
  }
  .ms-lg-4 {
    margin-left: 24px !important;
  }
  .ms-lg-5 {
    margin-left: 48px !important;
  }
  .ms-lg-auto {
    margin-left: auto !important;
  }
  .m-lg-n1 {
    margin: -4px !important;
  }
  .m-lg-n2 {
    margin: -8px !important;
  }
  .m-lg-n3 {
    margin: -16px !important;
  }
  .m-lg-n4 {
    margin: -24px !important;
  }
  .m-lg-n5 {
    margin: -48px !important;
  }
  .mx-lg-n1 {
    margin-right: -4px !important;
    margin-left: -4px !important;
  }
  .mx-lg-n2 {
    margin-right: -8px !important;
    margin-left: -8px !important;
  }
  .mx-lg-n3 {
    margin-right: -16px !important;
    margin-left: -16px !important;
  }
  .mx-lg-n4 {
    margin-right: -24px !important;
    margin-left: -24px !important;
  }
  .mx-lg-n5 {
    margin-right: -48px !important;
    margin-left: -48px !important;
  }
  .my-lg-n1 {
    margin-top: -4px !important;
    margin-bottom: -4px !important;
  }
  .my-lg-n2 {
    margin-top: -8px !important;
    margin-bottom: -8px !important;
  }
  .my-lg-n3 {
    margin-top: -16px !important;
    margin-bottom: -16px !important;
  }
  .my-lg-n4 {
    margin-top: -24px !important;
    margin-bottom: -24px !important;
  }
  .my-lg-n5 {
    margin-top: -48px !important;
    margin-bottom: -48px !important;
  }
  .mt-lg-n1 {
    margin-top: -4px !important;
  }
  .mt-lg-n2 {
    margin-top: -8px !important;
  }
  .mt-lg-n3 {
    margin-top: -16px !important;
  }
  .mt-lg-n4 {
    margin-top: -24px !important;
  }
  .mt-lg-n5 {
    margin-top: -48px !important;
  }
  .me-lg-n1 {
    margin-right: -4px !important;
  }
  .me-lg-n2 {
    margin-right: -8px !important;
  }
  .me-lg-n3 {
    margin-right: -16px !important;
  }
  .me-lg-n4 {
    margin-right: -24px !important;
  }
  .me-lg-n5 {
    margin-right: -48px !important;
  }
  .mb-lg-n1 {
    margin-bottom: -4px !important;
  }
  .mb-lg-n2 {
    margin-bottom: -8px !important;
  }
  .mb-lg-n3 {
    margin-bottom: -16px !important;
  }
  .mb-lg-n4 {
    margin-bottom: -24px !important;
  }
  .mb-lg-n5 {
    margin-bottom: -48px !important;
  }
  .ms-lg-n1 {
    margin-left: -4px !important;
  }
  .ms-lg-n2 {
    margin-left: -8px !important;
  }
  .ms-lg-n3 {
    margin-left: -16px !important;
  }
  .ms-lg-n4 {
    margin-left: -24px !important;
  }
  .ms-lg-n5 {
    margin-left: -48px !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .p-lg-1 {
    padding: 4px !important;
  }
  .p-lg-2 {
    padding: 8px !important;
  }
  .p-lg-3 {
    padding: 16px !important;
  }
  .p-lg-4 {
    padding: 24px !important;
  }
  .p-lg-5 {
    padding: 48px !important;
  }
  .px-lg-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-lg-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-lg-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-lg-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-lg-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-lg-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-lg-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-lg-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-lg-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-lg-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-lg-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-lg-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-lg-0 {
    padding-top: 0 !important;
  }
  .pt-lg-1 {
    padding-top: 4px !important;
  }
  .pt-lg-2 {
    padding-top: 8px !important;
  }
  .pt-lg-3 {
    padding-top: 16px !important;
  }
  .pt-lg-4 {
    padding-top: 24px !important;
  }
  .pt-lg-5 {
    padding-top: 48px !important;
  }
  .pe-lg-0 {
    padding-right: 0 !important;
  }
  .pe-lg-1 {
    padding-right: 4px !important;
  }
  .pe-lg-2 {
    padding-right: 8px !important;
  }
  .pe-lg-3 {
    padding-right: 16px !important;
  }
  .pe-lg-4 {
    padding-right: 24px !important;
  }
  .pe-lg-5 {
    padding-right: 48px !important;
  }
  .pb-lg-0 {
    padding-bottom: 0 !important;
  }
  .pb-lg-1 {
    padding-bottom: 4px !important;
  }
  .pb-lg-2 {
    padding-bottom: 8px !important;
  }
  .pb-lg-3 {
    padding-bottom: 16px !important;
  }
  .pb-lg-4 {
    padding-bottom: 24px !important;
  }
  .pb-lg-5 {
    padding-bottom: 48px !important;
  }
  .ps-lg-0 {
    padding-left: 0 !important;
  }
  .ps-lg-1 {
    padding-left: 4px !important;
  }
  .ps-lg-2 {
    padding-left: 8px !important;
  }
  .ps-lg-3 {
    padding-left: 16px !important;
  }
  .ps-lg-4 {
    padding-left: 24px !important;
  }
  .ps-lg-5 {
    padding-left: 48px !important;
  }
  .gap-lg-0 {
    gap: 0 !important;
  }
  .gap-lg-1 {
    gap: 4px !important;
  }
  .gap-lg-2 {
    gap: 8px !important;
  }
  .gap-lg-3 {
    gap: 16px !important;
  }
  .gap-lg-4 {
    gap: 24px !important;
  }
  .gap-lg-5 {
    gap: 48px !important;
  }
  .row-gap-lg-0 {
    row-gap: 0 !important;
  }
  .row-gap-lg-1 {
    row-gap: 4px !important;
  }
  .row-gap-lg-2 {
    row-gap: 8px !important;
  }
  .row-gap-lg-3 {
    row-gap: 16px !important;
  }
  .row-gap-lg-4 {
    row-gap: 24px !important;
  }
  .row-gap-lg-5 {
    row-gap: 48px !important;
  }
  .column-gap-lg-0 {
    column-gap: 0 !important;
  }
  .column-gap-lg-1 {
    column-gap: 4px !important;
  }
  .column-gap-lg-2 {
    column-gap: 8px !important;
  }
  .column-gap-lg-3 {
    column-gap: 16px !important;
  }
  .column-gap-lg-4 {
    column-gap: 24px !important;
  }
  .column-gap-lg-5 {
    column-gap: 48px !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: 1200px) {
  .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: 4px !important;
  }
  .m-xl-2 {
    margin: 8px !important;
  }
  .m-xl-3 {
    margin: 16px !important;
  }
  .m-xl-4 {
    margin: 24px !important;
  }
  .m-xl-5 {
    margin: 48px !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mx-xl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xl-1 {
    margin-right: 4px !important;
    margin-left: 4px !important;
  }
  .mx-xl-2 {
    margin-right: 8px !important;
    margin-left: 8px !important;
  }
  .mx-xl-3 {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .mx-xl-4 {
    margin-right: 24px !important;
    margin-left: 24px !important;
  }
  .mx-xl-5 {
    margin-right: 48px !important;
    margin-left: 48px !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: 4px !important;
    margin-bottom: 4px !important;
  }
  .my-xl-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .my-xl-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .my-xl-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .my-xl-5 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .my-xl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xl-0 {
    margin-top: 0 !important;
  }
  .mt-xl-1 {
    margin-top: 4px !important;
  }
  .mt-xl-2 {
    margin-top: 8px !important;
  }
  .mt-xl-3 {
    margin-top: 16px !important;
  }
  .mt-xl-4 {
    margin-top: 24px !important;
  }
  .mt-xl-5 {
    margin-top: 48px !important;
  }
  .mt-xl-auto {
    margin-top: auto !important;
  }
  .me-xl-0 {
    margin-right: 0 !important;
  }
  .me-xl-1 {
    margin-right: 4px !important;
  }
  .me-xl-2 {
    margin-right: 8px !important;
  }
  .me-xl-3 {
    margin-right: 16px !important;
  }
  .me-xl-4 {
    margin-right: 24px !important;
  }
  .me-xl-5 {
    margin-right: 48px !important;
  }
  .me-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xl-1 {
    margin-bottom: 4px !important;
  }
  .mb-xl-2 {
    margin-bottom: 8px !important;
  }
  .mb-xl-3 {
    margin-bottom: 16px !important;
  }
  .mb-xl-4 {
    margin-bottom: 24px !important;
  }
  .mb-xl-5 {
    margin-bottom: 48px !important;
  }
  .mb-xl-auto {
    margin-bottom: auto !important;
  }
  .ms-xl-0 {
    margin-left: 0 !important;
  }
  .ms-xl-1 {
    margin-left: 4px !important;
  }
  .ms-xl-2 {
    margin-left: 8px !important;
  }
  .ms-xl-3 {
    margin-left: 16px !important;
  }
  .ms-xl-4 {
    margin-left: 24px !important;
  }
  .ms-xl-5 {
    margin-left: 48px !important;
  }
  .ms-xl-auto {
    margin-left: auto !important;
  }
  .m-xl-n1 {
    margin: -4px !important;
  }
  .m-xl-n2 {
    margin: -8px !important;
  }
  .m-xl-n3 {
    margin: -16px !important;
  }
  .m-xl-n4 {
    margin: -24px !important;
  }
  .m-xl-n5 {
    margin: -48px !important;
  }
  .mx-xl-n1 {
    margin-right: -4px !important;
    margin-left: -4px !important;
  }
  .mx-xl-n2 {
    margin-right: -8px !important;
    margin-left: -8px !important;
  }
  .mx-xl-n3 {
    margin-right: -16px !important;
    margin-left: -16px !important;
  }
  .mx-xl-n4 {
    margin-right: -24px !important;
    margin-left: -24px !important;
  }
  .mx-xl-n5 {
    margin-right: -48px !important;
    margin-left: -48px !important;
  }
  .my-xl-n1 {
    margin-top: -4px !important;
    margin-bottom: -4px !important;
  }
  .my-xl-n2 {
    margin-top: -8px !important;
    margin-bottom: -8px !important;
  }
  .my-xl-n3 {
    margin-top: -16px !important;
    margin-bottom: -16px !important;
  }
  .my-xl-n4 {
    margin-top: -24px !important;
    margin-bottom: -24px !important;
  }
  .my-xl-n5 {
    margin-top: -48px !important;
    margin-bottom: -48px !important;
  }
  .mt-xl-n1 {
    margin-top: -4px !important;
  }
  .mt-xl-n2 {
    margin-top: -8px !important;
  }
  .mt-xl-n3 {
    margin-top: -16px !important;
  }
  .mt-xl-n4 {
    margin-top: -24px !important;
  }
  .mt-xl-n5 {
    margin-top: -48px !important;
  }
  .me-xl-n1 {
    margin-right: -4px !important;
  }
  .me-xl-n2 {
    margin-right: -8px !important;
  }
  .me-xl-n3 {
    margin-right: -16px !important;
  }
  .me-xl-n4 {
    margin-right: -24px !important;
  }
  .me-xl-n5 {
    margin-right: -48px !important;
  }
  .mb-xl-n1 {
    margin-bottom: -4px !important;
  }
  .mb-xl-n2 {
    margin-bottom: -8px !important;
  }
  .mb-xl-n3 {
    margin-bottom: -16px !important;
  }
  .mb-xl-n4 {
    margin-bottom: -24px !important;
  }
  .mb-xl-n5 {
    margin-bottom: -48px !important;
  }
  .ms-xl-n1 {
    margin-left: -4px !important;
  }
  .ms-xl-n2 {
    margin-left: -8px !important;
  }
  .ms-xl-n3 {
    margin-left: -16px !important;
  }
  .ms-xl-n4 {
    margin-left: -24px !important;
  }
  .ms-xl-n5 {
    margin-left: -48px !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .p-xl-1 {
    padding: 4px !important;
  }
  .p-xl-2 {
    padding: 8px !important;
  }
  .p-xl-3 {
    padding: 16px !important;
  }
  .p-xl-4 {
    padding: 24px !important;
  }
  .p-xl-5 {
    padding: 48px !important;
  }
  .px-xl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xl-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-xl-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-xl-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-xl-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-xl-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-xl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xl-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-xl-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-xl-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-xl-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-xl-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-xl-0 {
    padding-top: 0 !important;
  }
  .pt-xl-1 {
    padding-top: 4px !important;
  }
  .pt-xl-2 {
    padding-top: 8px !important;
  }
  .pt-xl-3 {
    padding-top: 16px !important;
  }
  .pt-xl-4 {
    padding-top: 24px !important;
  }
  .pt-xl-5 {
    padding-top: 48px !important;
  }
  .pe-xl-0 {
    padding-right: 0 !important;
  }
  .pe-xl-1 {
    padding-right: 4px !important;
  }
  .pe-xl-2 {
    padding-right: 8px !important;
  }
  .pe-xl-3 {
    padding-right: 16px !important;
  }
  .pe-xl-4 {
    padding-right: 24px !important;
  }
  .pe-xl-5 {
    padding-right: 48px !important;
  }
  .pb-xl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xl-1 {
    padding-bottom: 4px !important;
  }
  .pb-xl-2 {
    padding-bottom: 8px !important;
  }
  .pb-xl-3 {
    padding-bottom: 16px !important;
  }
  .pb-xl-4 {
    padding-bottom: 24px !important;
  }
  .pb-xl-5 {
    padding-bottom: 48px !important;
  }
  .ps-xl-0 {
    padding-left: 0 !important;
  }
  .ps-xl-1 {
    padding-left: 4px !important;
  }
  .ps-xl-2 {
    padding-left: 8px !important;
  }
  .ps-xl-3 {
    padding-left: 16px !important;
  }
  .ps-xl-4 {
    padding-left: 24px !important;
  }
  .ps-xl-5 {
    padding-left: 48px !important;
  }
  .gap-xl-0 {
    gap: 0 !important;
  }
  .gap-xl-1 {
    gap: 4px !important;
  }
  .gap-xl-2 {
    gap: 8px !important;
  }
  .gap-xl-3 {
    gap: 16px !important;
  }
  .gap-xl-4 {
    gap: 24px !important;
  }
  .gap-xl-5 {
    gap: 48px !important;
  }
  .row-gap-xl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xl-1 {
    row-gap: 4px !important;
  }
  .row-gap-xl-2 {
    row-gap: 8px !important;
  }
  .row-gap-xl-3 {
    row-gap: 16px !important;
  }
  .row-gap-xl-4 {
    row-gap: 24px !important;
  }
  .row-gap-xl-5 {
    row-gap: 48px !important;
  }
  .column-gap-xl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xl-1 {
    column-gap: 4px !important;
  }
  .column-gap-xl-2 {
    column-gap: 8px !important;
  }
  .column-gap-xl-3 {
    column-gap: 16px !important;
  }
  .column-gap-xl-4 {
    column-gap: 24px !important;
  }
  .column-gap-xl-5 {
    column-gap: 48px !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: 1400px) {
  .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: 4px !important;
  }
  .m-xxl-2 {
    margin: 8px !important;
  }
  .m-xxl-3 {
    margin: 16px !important;
  }
  .m-xxl-4 {
    margin: 24px !important;
  }
  .m-xxl-5 {
    margin: 48px !important;
  }
  .m-xxl-auto {
    margin: auto !important;
  }
  .mx-xxl-0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .mx-xxl-1 {
    margin-right: 4px !important;
    margin-left: 4px !important;
  }
  .mx-xxl-2 {
    margin-right: 8px !important;
    margin-left: 8px !important;
  }
  .mx-xxl-3 {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
  .mx-xxl-4 {
    margin-right: 24px !important;
    margin-left: 24px !important;
  }
  .mx-xxl-5 {
    margin-right: 48px !important;
    margin-left: 48px !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: 4px !important;
    margin-bottom: 4px !important;
  }
  .my-xxl-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
  }
  .my-xxl-3 {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
  .my-xxl-4 {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  .my-xxl-5 {
    margin-top: 48px !important;
    margin-bottom: 48px !important;
  }
  .my-xxl-auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .mt-xxl-0 {
    margin-top: 0 !important;
  }
  .mt-xxl-1 {
    margin-top: 4px !important;
  }
  .mt-xxl-2 {
    margin-top: 8px !important;
  }
  .mt-xxl-3 {
    margin-top: 16px !important;
  }
  .mt-xxl-4 {
    margin-top: 24px !important;
  }
  .mt-xxl-5 {
    margin-top: 48px !important;
  }
  .mt-xxl-auto {
    margin-top: auto !important;
  }
  .me-xxl-0 {
    margin-right: 0 !important;
  }
  .me-xxl-1 {
    margin-right: 4px !important;
  }
  .me-xxl-2 {
    margin-right: 8px !important;
  }
  .me-xxl-3 {
    margin-right: 16px !important;
  }
  .me-xxl-4 {
    margin-right: 24px !important;
  }
  .me-xxl-5 {
    margin-right: 48px !important;
  }
  .me-xxl-auto {
    margin-right: auto !important;
  }
  .mb-xxl-0 {
    margin-bottom: 0 !important;
  }
  .mb-xxl-1 {
    margin-bottom: 4px !important;
  }
  .mb-xxl-2 {
    margin-bottom: 8px !important;
  }
  .mb-xxl-3 {
    margin-bottom: 16px !important;
  }
  .mb-xxl-4 {
    margin-bottom: 24px !important;
  }
  .mb-xxl-5 {
    margin-bottom: 48px !important;
  }
  .mb-xxl-auto {
    margin-bottom: auto !important;
  }
  .ms-xxl-0 {
    margin-left: 0 !important;
  }
  .ms-xxl-1 {
    margin-left: 4px !important;
  }
  .ms-xxl-2 {
    margin-left: 8px !important;
  }
  .ms-xxl-3 {
    margin-left: 16px !important;
  }
  .ms-xxl-4 {
    margin-left: 24px !important;
  }
  .ms-xxl-5 {
    margin-left: 48px !important;
  }
  .ms-xxl-auto {
    margin-left: auto !important;
  }
  .m-xxl-n1 {
    margin: -4px !important;
  }
  .m-xxl-n2 {
    margin: -8px !important;
  }
  .m-xxl-n3 {
    margin: -16px !important;
  }
  .m-xxl-n4 {
    margin: -24px !important;
  }
  .m-xxl-n5 {
    margin: -48px !important;
  }
  .mx-xxl-n1 {
    margin-right: -4px !important;
    margin-left: -4px !important;
  }
  .mx-xxl-n2 {
    margin-right: -8px !important;
    margin-left: -8px !important;
  }
  .mx-xxl-n3 {
    margin-right: -16px !important;
    margin-left: -16px !important;
  }
  .mx-xxl-n4 {
    margin-right: -24px !important;
    margin-left: -24px !important;
  }
  .mx-xxl-n5 {
    margin-right: -48px !important;
    margin-left: -48px !important;
  }
  .my-xxl-n1 {
    margin-top: -4px !important;
    margin-bottom: -4px !important;
  }
  .my-xxl-n2 {
    margin-top: -8px !important;
    margin-bottom: -8px !important;
  }
  .my-xxl-n3 {
    margin-top: -16px !important;
    margin-bottom: -16px !important;
  }
  .my-xxl-n4 {
    margin-top: -24px !important;
    margin-bottom: -24px !important;
  }
  .my-xxl-n5 {
    margin-top: -48px !important;
    margin-bottom: -48px !important;
  }
  .mt-xxl-n1 {
    margin-top: -4px !important;
  }
  .mt-xxl-n2 {
    margin-top: -8px !important;
  }
  .mt-xxl-n3 {
    margin-top: -16px !important;
  }
  .mt-xxl-n4 {
    margin-top: -24px !important;
  }
  .mt-xxl-n5 {
    margin-top: -48px !important;
  }
  .me-xxl-n1 {
    margin-right: -4px !important;
  }
  .me-xxl-n2 {
    margin-right: -8px !important;
  }
  .me-xxl-n3 {
    margin-right: -16px !important;
  }
  .me-xxl-n4 {
    margin-right: -24px !important;
  }
  .me-xxl-n5 {
    margin-right: -48px !important;
  }
  .mb-xxl-n1 {
    margin-bottom: -4px !important;
  }
  .mb-xxl-n2 {
    margin-bottom: -8px !important;
  }
  .mb-xxl-n3 {
    margin-bottom: -16px !important;
  }
  .mb-xxl-n4 {
    margin-bottom: -24px !important;
  }
  .mb-xxl-n5 {
    margin-bottom: -48px !important;
  }
  .ms-xxl-n1 {
    margin-left: -4px !important;
  }
  .ms-xxl-n2 {
    margin-left: -8px !important;
  }
  .ms-xxl-n3 {
    margin-left: -16px !important;
  }
  .ms-xxl-n4 {
    margin-left: -24px !important;
  }
  .ms-xxl-n5 {
    margin-left: -48px !important;
  }
  .p-xxl-0 {
    padding: 0 !important;
  }
  .p-xxl-1 {
    padding: 4px !important;
  }
  .p-xxl-2 {
    padding: 8px !important;
  }
  .p-xxl-3 {
    padding: 16px !important;
  }
  .p-xxl-4 {
    padding: 24px !important;
  }
  .p-xxl-5 {
    padding: 48px !important;
  }
  .px-xxl-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-xxl-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-xxl-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-xxl-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-xxl-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-xxl-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-xxl-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-xxl-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-xxl-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-xxl-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-xxl-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-xxl-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-xxl-0 {
    padding-top: 0 !important;
  }
  .pt-xxl-1 {
    padding-top: 4px !important;
  }
  .pt-xxl-2 {
    padding-top: 8px !important;
  }
  .pt-xxl-3 {
    padding-top: 16px !important;
  }
  .pt-xxl-4 {
    padding-top: 24px !important;
  }
  .pt-xxl-5 {
    padding-top: 48px !important;
  }
  .pe-xxl-0 {
    padding-right: 0 !important;
  }
  .pe-xxl-1 {
    padding-right: 4px !important;
  }
  .pe-xxl-2 {
    padding-right: 8px !important;
  }
  .pe-xxl-3 {
    padding-right: 16px !important;
  }
  .pe-xxl-4 {
    padding-right: 24px !important;
  }
  .pe-xxl-5 {
    padding-right: 48px !important;
  }
  .pb-xxl-0 {
    padding-bottom: 0 !important;
  }
  .pb-xxl-1 {
    padding-bottom: 4px !important;
  }
  .pb-xxl-2 {
    padding-bottom: 8px !important;
  }
  .pb-xxl-3 {
    padding-bottom: 16px !important;
  }
  .pb-xxl-4 {
    padding-bottom: 24px !important;
  }
  .pb-xxl-5 {
    padding-bottom: 48px !important;
  }
  .ps-xxl-0 {
    padding-left: 0 !important;
  }
  .ps-xxl-1 {
    padding-left: 4px !important;
  }
  .ps-xxl-2 {
    padding-left: 8px !important;
  }
  .ps-xxl-3 {
    padding-left: 16px !important;
  }
  .ps-xxl-4 {
    padding-left: 24px !important;
  }
  .ps-xxl-5 {
    padding-left: 48px !important;
  }
  .gap-xxl-0 {
    gap: 0 !important;
  }
  .gap-xxl-1 {
    gap: 4px !important;
  }
  .gap-xxl-2 {
    gap: 8px !important;
  }
  .gap-xxl-3 {
    gap: 16px !important;
  }
  .gap-xxl-4 {
    gap: 24px !important;
  }
  .gap-xxl-5 {
    gap: 48px !important;
  }
  .row-gap-xxl-0 {
    row-gap: 0 !important;
  }
  .row-gap-xxl-1 {
    row-gap: 4px !important;
  }
  .row-gap-xxl-2 {
    row-gap: 8px !important;
  }
  .row-gap-xxl-3 {
    row-gap: 16px !important;
  }
  .row-gap-xxl-4 {
    row-gap: 24px !important;
  }
  .row-gap-xxl-5 {
    row-gap: 48px !important;
  }
  .column-gap-xxl-0 {
    column-gap: 0 !important;
  }
  .column-gap-xxl-1 {
    column-gap: 4px !important;
  }
  .column-gap-xxl-2 {
    column-gap: 8px !important;
  }
  .column-gap-xxl-3 {
    column-gap: 16px !important;
  }
  .column-gap-xxl-4 {
    column-gap: 24px !important;
  }
  .column-gap-xxl-5 {
    column-gap: 48px !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: 4px !important;
  }
  .p-print-2 {
    padding: 8px !important;
  }
  .p-print-3 {
    padding: 16px !important;
  }
  .p-print-4 {
    padding: 24px !important;
  }
  .p-print-5 {
    padding: 48px !important;
  }
  .px-print-0 {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  .px-print-1 {
    padding-right: 4px !important;
    padding-left: 4px !important;
  }
  .px-print-2 {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .px-print-3 {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
  .px-print-4 {
    padding-right: 24px !important;
    padding-left: 24px !important;
  }
  .px-print-5 {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }
  .py-print-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .py-print-1 {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .py-print-2 {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .py-print-3 {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }
  .py-print-4 {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }
  .py-print-5 {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .pt-print-0 {
    padding-top: 0 !important;
  }
  .pt-print-1 {
    padding-top: 4px !important;
  }
  .pt-print-2 {
    padding-top: 8px !important;
  }
  .pt-print-3 {
    padding-top: 16px !important;
  }
  .pt-print-4 {
    padding-top: 24px !important;
  }
  .pt-print-5 {
    padding-top: 48px !important;
  }
  .pe-print-0 {
    padding-right: 0 !important;
  }
  .pe-print-1 {
    padding-right: 4px !important;
  }
  .pe-print-2 {
    padding-right: 8px !important;
  }
  .pe-print-3 {
    padding-right: 16px !important;
  }
  .pe-print-4 {
    padding-right: 24px !important;
  }
  .pe-print-5 {
    padding-right: 48px !important;
  }
  .pb-print-0 {
    padding-bottom: 0 !important;
  }
  .pb-print-1 {
    padding-bottom: 4px !important;
  }
  .pb-print-2 {
    padding-bottom: 8px !important;
  }
  .pb-print-3 {
    padding-bottom: 16px !important;
  }
  .pb-print-4 {
    padding-bottom: 24px !important;
  }
  .pb-print-5 {
    padding-bottom: 48px !important;
  }
  .ps-print-0 {
    padding-left: 0 !important;
  }
  .ps-print-1 {
    padding-left: 4px !important;
  }
  .ps-print-2 {
    padding-left: 8px !important;
  }
  .ps-print-3 {
    padding-left: 16px !important;
  }
  .ps-print-4 {
    padding-left: 24px !important;
  }
  .ps-print-5 {
    padding-left: 48px !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: 576px) {
  :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: #02c7b5;
}

.form-select:where(:not(:disabled)):hover {
  border-color: #02c7b5;
}

.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: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #7b4775;
  --btn-hover-border-color: #7b4775;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #8b5185;
  --btn-active-border-color: #8b5185;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.btn-secondary {
  --btn-color: #E4E4E4;
  --btn-bg: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #E4E4E4;
  --btn-hover-bg: #5A5E6B;
  --btn-hover-border-color: #5A5E6B;
  --btn-focus-shadow-rgb: 85, 87, 98;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #03f9e3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #3C3E4B;
  --btn-disabled-border-color: #3C3E4B;
}

.btn-light {
  --btn-color: #D1D1D1;
  --btn-bg: #262A36;
  --btn-border-color: #262A36;
  --btn-hover-color: #E4E4E4;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 64, 67, 77;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #019587;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #262A36;
  --btn-disabled-border-color: #262A36;
}

.btn-danger {
  --btn-color: #FFF;
  --btn-bg: #b83232;
  --btn-border-color: #b83232;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #c93a3a;
  --btn-hover-border-color: #c93a3a;
  --btn-focus-shadow-rgb: 195, 81, 81;
  --btn-active-color: #FFF;
  --btn-active-bg: #cf4e4e;
  --btn-active-border-color: #cf4e4e;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #b83232;
  --btn-disabled-border-color: #b83232;
}

.btn-outline-secondary {
  --btn-color: #B1B3BC;
  --btn-bg: transparent;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 78, 80, 92;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #03f9e3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #3C3E4B;
}

.btn-outline-primary {
  --btn-color: #b972a6;
  --btn-bg: transparent;
  --btn-border-color: #b972a6;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #7b4775;
  --btn-hover-border-color: #7b4775;
  --btn-focus-shadow-rgb: 185, 114, 166;
  --btn-active-color: #FFF;
  --btn-active-bg: #8b5185;
  --btn-active-border-color: #8b5185;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #b972a6;
}

.btn-outline-light {
  --btn-color: #FFF;
  --btn-bg: transparent;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #E4E4E4;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 89, 91, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #03f9e3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #3C3E4B;
}

.btn-outline-danger {
  --btn-color: #b83232;
  --btn-bg: transparent;
  --btn-border-color: #b83232;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #c93a3a;
  --btn-hover-border-color: #c93a3a;
  --btn-focus-shadow-rgb: 184, 50, 50;
  --btn-active-color: #FFF;
  --btn-active-bg: #cf4e4e;
  --btn-active-border-color: #cf4e4e;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #b83232;
}

.btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #7b4775;
  --btn-hover-border-color: #7b4775;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #8b5185;
  --btn-active-border-color: #8b5185;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.btn-fill-secondary {
  --btn-color: #E4E4E4;
  --btn-bg: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #E4E4E4;
  --btn-hover-bg: #5A5E6B;
  --btn-hover-border-color: #5A5E6B;
  --btn-focus-shadow-rgb: 85, 87, 98;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #03f9e3;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #3C3E4B;
  --btn-disabled-border-color: #3C3E4B;
}

.btn-fill-light {
  --btn-color: #D1D1D1;
  --btn-bg: #262A36;
  --btn-border-color: #262A36;
  --btn-hover-color: #E4E4E4;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 64, 67, 77;
  --btn-active-color: #FFF;
  --btn-active-bg: #17373b;
  --btn-active-border-color: #019587;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #262A36;
  --btn-disabled-border-color: #262A36;
}

.btn-fill-danger {
  --btn-color: #FFF;
  --btn-bg: #b83232;
  --btn-border-color: #b83232;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #c93a3a;
  --btn-hover-border-color: #c93a3a;
  --btn-focus-shadow-rgb: 195, 81, 81;
  --btn-active-color: #FFF;
  --btn-active-bg: #cf4e4e;
  --btn-active-border-color: #cf4e4e;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #b83232;
  --btn-disabled-border-color: #b83232;
}

.btn-success {
  --btn-color: #000;
  --btn-bg: #1dc959;
  --btn-border-color: #1dc959;
  --btn-hover-color: #000;
  --btn-hover-bg: #3fd172;
  --btn-hover-border-color: #4ad47a;
  --btn-focus-shadow-rgb: 25, 171, 76;
  --btn-active-color: #000;
  --btn-active-bg: #4ad47a;
  --btn-active-border-color: #56d783;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #1dc959;
  --btn-disabled-border-color: #1dc959;
}

.btn-outline-success {
  --btn-color: #1dc959;
  --btn-border-color: #1dc959;
  --btn-hover-color: #000;
  --btn-hover-bg: #1dc959;
  --btn-hover-border-color: #1dc959;
  --btn-focus-shadow-rgb: 29, 201, 89;
  --btn-active-color: #000;
  --btn-active-bg: #1dc959;
  --btn-active-border-color: #1dc959;
  --btn-active-shadow: 0;
  --btn-disabled-color: #1dc959;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #1dc959;
  --gradient: none;
}

.btn-info {
  --btn-color: #000;
  --btn-bg: #6AB5FB;
  --btn-border-color: #6AB5FB;
  --btn-hover-color: #000;
  --btn-hover-bg: #80c0fc;
  --btn-hover-border-color: #88c4fc;
  --btn-focus-shadow-rgb: 90, 154, 213;
  --btn-active-color: #000;
  --btn-active-bg: #88c4fc;
  --btn-active-border-color: #8fc8fc;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #6AB5FB;
  --btn-disabled-border-color: #6AB5FB;
}

.btn-outline-info {
  --btn-color: #6AB5FB;
  --btn-border-color: #6AB5FB;
  --btn-hover-color: #000;
  --btn-hover-bg: #6AB5FB;
  --btn-hover-border-color: #6AB5FB;
  --btn-focus-shadow-rgb: 106, 181, 251;
  --btn-active-color: #000;
  --btn-active-bg: #6AB5FB;
  --btn-active-border-color: #6AB5FB;
  --btn-active-shadow: 0;
  --btn-disabled-color: #6AB5FB;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #6AB5FB;
  --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: #edb133;
  --btn-focus-shadow-rgb: 198, 133, 0;
  --btn-active-color: #000;
  --btn-active-bg: #edb133;
  --btn-active-border-color: #efb640;
  --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-dark {
  --btn-color: #000;
  --btn-bg: #B1B3BC;
  --btn-border-color: #B1B3BC;
  --btn-hover-color: #000;
  --btn-hover-bg: #bdbec6;
  --btn-hover-border-color: #c1c2c9;
  --btn-focus-shadow-rgb: 150, 152, 160;
  --btn-active-color: #000;
  --btn-active-bg: #c1c2c9;
  --btn-active-border-color: #c5c6cd;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #B1B3BC;
  --btn-disabled-border-color: #B1B3BC;
}

.btn-outline-dark {
  --btn-color: #B1B3BC;
  --btn-border-color: #B1B3BC;
  --btn-hover-color: #000;
  --btn-hover-bg: #B1B3BC;
  --btn-hover-border-color: #B1B3BC;
  --btn-focus-shadow-rgb: 177, 179, 188;
  --btn-active-color: #000;
  --btn-active-bg: #B1B3BC;
  --btn-active-border-color: #B1B3BC;
  --btn-active-shadow: 0;
  --btn-disabled-color: #B1B3BC;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #B1B3BC;
  --gradient: none;
}

.btn-favourite {
  --btn-color: #000;
  --btn-bg: #ffd532;
  --btn-border-color: #ffd532;
  --btn-hover-color: #000;
  --btn-hover-bg: #ffdb51;
  --btn-hover-border-color: #ffdd5b;
  --btn-focus-shadow-rgb: 217, 181, 43;
  --btn-active-color: #000;
  --btn-active-bg: #ffdd5b;
  --btn-active-border-color: #ffe065;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #ffd532;
  --btn-disabled-border-color: #ffd532;
}

.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(185, 114, 166, 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(196, 135, 179, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-secondary {
  --color: RGBA(60, 62, 75, 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(89, 91, 102, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-success {
  --color: RGBA(29, 201, 89, 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(63, 209, 114, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-info {
  --color: RGBA(106, 181, 251, 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(128, 192, 252, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-warning {
  --color: RGBA(251, 181, 106, 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(252, 192, 128, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-danger {
  --color: RGBA(255, 87, 87, 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(255, 112, 112, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-light {
  --color: RGBA(60, 62, 75, 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(89, 91, 102, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-dark {
  --color: RGBA(177, 179, 188, 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(189, 190, 198, 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: #7E8392 !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: #b972a6 !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(209, 209, 209, 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: #b972a6 !important;
}

.btn-link.btn-secondary, .btn-link.text-secondary {
  text-transform: none;
  color: #7E8392 !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: #3C3E4B !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(209, 209, 209, 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: #3C3E4B !important;
}

.btn-link.btn-success, .btn-link.text-success {
  text-transform: none;
  color: #7E8392 !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: #1dc959 !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(209, 209, 209, 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: #1dc959 !important;
}

.btn-link.btn-info, .btn-link.text-info {
  text-transform: none;
  color: #7E8392 !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: #6AB5FB !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(209, 209, 209, 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: #6AB5FB !important;
}

.btn-link.btn-warning, .btn-link.text-warning {
  text-transform: none;
  color: #7E8392 !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: #FBB56A !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(209, 209, 209, 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: #FBB56A !important;
}

.btn-link.btn-danger, .btn-link.text-danger {
  text-transform: none;
  color: #7E8392 !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: #ff5757 !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(209, 209, 209, 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: #ff5757 !important;
}

.btn-link.btn-light, .btn-link.text-light {
  text-transform: none;
  color: #7E8392 !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: #3C3E4B !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(209, 209, 209, 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: #3C3E4B !important;
}

.btn-link.btn-dark, .btn-link.text-dark {
  text-transform: none;
  color: #7E8392 !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: #B1B3BC !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(209, 209, 209, 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: #B1B3BC !important;
}

.bg-primary {
  --background-color: RGBA(107, 62, 102, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-secondary {
  --background-color: RGBA(60, 62, 75, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-success {
  --background-color: RGBA(29, 201, 89, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-info {
  --background-color: RGBA(106, 181, 251, 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(184, 50, 50, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-light {
  --background-color: RGBA(60, 62, 75, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.bg-dark {
  --background-color: RGBA(177, 179, 188, 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(0, 0, 0, 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(255, 255, 255, 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(0, 0, 0, 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(255, 255, 255, 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(2, 199, 181, 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(40, 207, 192, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-favourite {
  --color: RGBA(255, 213, 50, 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(255, 219, 81, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-100 {
  --color: RGBA(27, 29, 38, 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(61, 63, 71, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-200 {
  --color: RGBA(38, 42, 54, 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(71, 74, 84, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-300 {
  --color: RGBA(60, 62, 75, 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(89, 91, 102, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-400 {
  --color: RGBA(90, 94, 107, 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(115, 118, 129, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-500 {
  --color: RGBA(107, 112, 127, 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(129, 133, 146, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-600 {
  --color: RGBA(126, 131, 146, 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(145, 150, 162, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-700 {
  --color: RGBA(177, 179, 188, 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(189, 190, 198, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-800 {
  --color: RGBA(209, 209, 209, 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(216, 216, 216, var(--text-opacity, 1));
  color: var(--color) !important;
}

.text-900 {
  --color: RGBA(228, 228, 228, 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(232, 232, 232, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-action, .text-bg-action {
  --background-color: RGBA(2, 199, 181, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-action {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-view, .text-bg-view {
  --background-color: RGBA(38, 42, 54, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-view {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-favourite, .text-bg-favourite {
  --background-color: RGBA(255, 213, 50, 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(27, 29, 38, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-100 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-200, .text-bg-200 {
  --background-color: RGBA(38, 42, 54, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-200 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-300, .text-bg-300 {
  --background-color: RGBA(60, 62, 75, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-300 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-400, .text-bg-400 {
  --background-color: RGBA(90, 94, 107, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-400 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-500, .text-bg-500 {
  --background-color: RGBA(107, 112, 127, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-500 {
  --color: RGBA(255, 255, 255, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-600, .text-bg-600 {
  --background-color: RGBA(126, 131, 146, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-600 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-700, .text-bg-700 {
  --background-color: RGBA(177, 179, 188, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-700 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-800, .text-bg-800 {
  --background-color: RGBA(209, 209, 209, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-800 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.bg-900, .text-bg-900 {
  --background-color: RGBA(228, 228, 228, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
}

.text-bg-900 {
  --color: RGBA(0, 0, 0, var(--text-opacity, 1));
  color: var(--color) !important;
}

.btn-link.btn-action, .btn-link.text-action {
  text-transform: none;
  color: #7E8392 !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: #02c7b5 !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(209, 209, 209, 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: #02c7b5 !important;
}

.btn-link.btn-favourite, .btn-link.text-favourite {
  text-transform: none;
  color: #7E8392 !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: #ffd532 !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(209, 209, 209, 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: #ffd532 !important;
}

.bg-inherit {
  background-color: inherit;
}

.alert {
  padding-top: var(--alert-padding-y, 16px);
  padding-bottom: var(--alert-padding-y, 16px);
  margin-bottom: var(--alert-margin-bottom, 1rem);
}

.form-switch .form-check-input:checked {
  background-color: #1dc959;
  border-color: #1dc959;
}

.form-switch .form-check-input:focus {
  border-color: #1dc959;
}

.form-switch:hover .form-check-input:not(:disabled) {
  border-color: #1dc959;
}

.form-switch.o_switch_toggle .form-check-input, .form-switch.o_switch_toggle .form-check-input:checked {
  border-color: #02c7b5;
  background-color: #262A36;
}

.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='%2302c7b5'/%3e%3c/svg%3e");
}

.form-switch.o_switch_toggle:hover .form-check-input:not(:disabled) {
  border-color: #02c7b5;
}

.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: #FFF;
  opacity: .1;
}



/* /web/static/src/core/barcode/barcode_dialog.scss */

.modal .o-barcode-modal .modal-body {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .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 #3C3E4B;
  box-shadow: 0 0 0 1px #6B707F;
  width: 22px;
  height: 17px;
}

.o_colorlist .o_colorlist_selected {
  box-shadow: 0 0 0 2px #6b3e66 !important;
}

.o_colorlist_item_color_1 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(190.55, 15.45, 15.45, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_2 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(205.35, 126.3, 16.65, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_3 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(175.75, 144.34722222, 14.25, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_4 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(16.8, 207.2, 204.225, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_5 {
  --background-color: RGBA(254.61707746, 240.88292254, 252.1645498, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(135.06901408, 28.93098592, 116.11579477, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_6 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(196.1, 63.2025, 15.9, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_7 {
  --background-color: RGBA(225.5, 249.43396226, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(15.82531847, 111.03329227, 133.17468153, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_8 {
  --background-color: RGBA(224.125, 232.65625, 253.375, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(29.2, 54.75, 116.8, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_9 {
  --background-color: RGBA(255, 240.5, 246.00462963, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(151.7, 12.3, 65.22037037, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_10 {
  --background-color: RGBA(249.5, 255, 252.51369863, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(12.975, 160.025, 93.55034247, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_11 {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(104.62142857, 16.975, 177.025, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_colorlist_item_color_0 {
  background: linear-gradient(45deg, rgba(60, 62, 75, 0) 0%, rgba(60, 62, 75, 0) 48%, #b83232 48%, #b83232 52%, rgba(60, 62, 75, 0) 52%, rgba(60, 62, 75, 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(54, 76, 86, 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: #ffd532;
}

.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: #E4E4E4;
}

.o_datetime_picker .o_selected:not(.o_select_start):not(.o_select_end) {
  background: #364c56;
}

.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 #02c7b5;
  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: #2e666b;
}

.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: #364c56;
}

.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: #364c56;
}

.o_datetime_picker .o_today span {
  position: relative;
}

.o_datetime_picker .o_today span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -4px;
  transform: translateX(-50%);
  width: 0.95em;
  height: 0.2em;
  border-radius: 50rem;
  background: #b83232;
}

.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: #364c56;
  color: #E4E4E4;
}

.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: 768px) {
  .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: 4px;
}

@media (min-width: 768px) {
  .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: 767.98px) {
  .modal.o_technical_modal .modal-footer .btn {
    width: 45%;
    text-overflow: ellipsis;
    white-space: inherit;
  }
}

@media (max-width: 575.98px) {
  .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: #262A36;
  }
  .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: #E4E4E4;
  }
  .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: 576px) {
  .modal-fs {
    width: calc(100% - 3.5rem);
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .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: 16px;
    padding-bottom: 0.5rem;
    padding-left: 16px;
    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: #FFF;
  background-color: #17373b;
  border-color: #03f9e3;
}

.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, 4px);
  margin-bottom: var(--Dropdown_menu-margin-y, 4px);
}

.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(255, 255, 255, 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: 6px;
  padding-right: 6px;
}

.o-EmojiPicker {
  --EmojiPicker-active: rgba(2, 199, 181, 0.15);
}

.o-EmojiPicker .o-Emoji {
  padding-left: 4px;
  padding-right: 4px;
  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: 2px;
  padding-bottom: 2px;
}

.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(209, 209, 209, 0.76);
}



/* /web/static/src/core/errors/error_dialog.scss */

@media (min-width: 768px) {
  .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 #53304f;
  background-color: #6b3e66;
  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: #E4E4E4;
}

.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: #E4E4E4;
  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, #D1D1D1);
  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(0, 0, 0, 0.1);
  color: #7f8393;
}

.o-FileViewer-toolbarButton {
  background-color: var(--FileViewer-toolbarBgColor, #D1D1D1);
  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: #000;
}



/* /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 #060608;
  background: #1B1D26;
}

.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: #3C3E4B;
}

.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(255, 255, 255, 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: #3C3E4B;
  --notebook-link-border-color-hover: #262A36;
  --notebook-link-border-color-active-accent: #3C3E4B;
}

.o_notebook .o_notebook_headers {
  margin: 0 var(--notebook-margin-x, 0);
  overflow-x: auto;
}

@media (max-width: 767.98px) {
  .o_notebook .o_notebook_headers::-webkit-scrollbar {
    display: none;
  }
}

.o_notebook .nav {
  padding: 0 var(--notebook-padding-x, 0);
  background-color: #262A36;
}

.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: #262A36;
}

.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: #262A36;
}

@media (max-width: 991.98px) {
  .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, 16px);
    margin-right: var(--notebook-margin-x, 16px);
    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: 576px) {
  .o_notification_manager {
    left: auto;
    width: 400px;
  }
}

.o_notification_manager .o_notification {
  background-color: var(--Notification__background-color, #262A36);
}

.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 #262A36;
  border-radius: var(--border-radius);
  background-color: #262A36;
}

.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: 8px;
}

.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(0, 0, 0, 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: #FFF !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: #3C3E4B !important;
}

.o_select_menu_menu .o_select_menu_sticky.o_select_menu_item.focus {
  background: #5A5E6B !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: #b83232 !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(253.9375, 247.5625, 247.5625, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(123.25, 46.75, 46.75, 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, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(190.55, 15.45, 15.45, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_2, .o_tag.o_tag_color_2::after {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(205.35, 126.3, 16.65, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_3, .o_tag.o_tag_color_3::after {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(175.75, 144.34722222, 14.25, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_4, .o_tag.o_tag_color_4::after {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(16.8, 207.2, 204.225, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_5, .o_tag.o_tag_color_5::after {
  --background-color: RGBA(254.61707746, 240.88292254, 252.1645498, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(135.06901408, 28.93098592, 116.11579477, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_6, .o_tag.o_tag_color_6::after {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(196.1, 63.2025, 15.9, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_7, .o_tag.o_tag_color_7::after {
  --background-color: RGBA(225.5, 249.43396226, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(15.82531847, 111.03329227, 133.17468153, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_8, .o_tag.o_tag_color_8::after {
  --background-color: RGBA(224.125, 232.65625, 253.375, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(29.2, 54.75, 116.8, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_9, .o_tag.o_tag_color_9::after {
  --background-color: RGBA(255, 240.5, 246.00462963, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(151.7, 12.3, 65.22037037, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_10, .o_tag.o_tag_color_10::after {
  --background-color: RGBA(249.5, 255, 252.51369863, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(12.975, 160.025, 93.55034247, var(--text-opacity, 1));
  color: var(--color) !important;
}

.o_tag.o_tag_color_11, .o_tag.o_tag_color_11::after {
  --background-color: RGBA(255, 255, 255, var(--bg-opacity, 1));
  background-color: var(--background-color) !important;
  --color: RGBA(104.62142857, 16.975, 177.025, var(--text-opacity, 1));
  color: var(--color) !important;
}



/* /web/static/src/core/tooltip/tooltip.scss */

.o-tooltip {
  --tooltip-max-width: 400px;
  --tooltip-padding-x: 8px;
  --tooltip-padding-y: 4px;
  --tooltip-color: #D1D1D1;
  --tooltip-bg: #3C3E4B;
  --tooltip-border-radius: var(--border-radius);
  font-family: var(--font-sans-serif);
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  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: #6AB5FB;
  color: #000;
}

.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: 4px 0;
  font-weight: 500;
}

.o-tooltip .o-tooltip--help, .o-tooltip .o-tooltip--technical {
  margin: 4px 8px 8px;
}

.o-tooltip .o-tooltip--help {
  white-space: pre-line;
  padding: 0 8px;
}

.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: 4px;
}

.o-tooltip + .popover-arrow {
  --popover-bg: #3C3E4B;
}



/* /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 #7E8392;
  background-color: #1B1D26;
}



/* /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: #262A36;
  font-size: 0.875rem;
}

@media (min-width: 768px) {
  .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: 16px;
  --NavBar-entry-padding-right: 8px;
  color: var(--NavBar-entry-color, #E4E4E4);
}

.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: 768px) {
  .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: 768px) 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(-8px);
    transition: all .4s;
  }
}

@media (min-width: 768px) {
  .o_main_navbar .o_menu_toggle .o_menu_brand_icon {
    width: calc(var(--o-navbar-height) - 20px + 4px);
    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, #262A36);
  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, #262A36);
}

.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, #262A36);
}

.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: 16px;
  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, #B1B3BC);
}

.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, #b83232);
  font-size: 0.7em;
  color: var(--o-navbar-badge-color, #000);
  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, 24px);
  position: relative;
}

.o_treeEntry:before, .o_treeEntry:after {
  position: absolute;
  left: var(--treeEntry--beforeAfter-left, calc(var(--treeEntry-padding-h, 24px) * .5));
  background: var(--treeEntry--beforeAfter-color, #3C3E4B);
  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, 8px));
  width: calc(var(--treeEntry-padding-h, 24px) * .5);
  height: 1px;
}

.o_treeEntry:last-of-type:before {
  height: calc(.5em + var(--treeEntry-padding-v, 8px));
}

@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 #3C3E4B);
  background-color: #262A36;
}

.o_control_panel .o_control_panel_breadcrumbs {
  --breadcrumb-font-size: 0.8125rem;
}

@media (min-width: 768px) {
  .o_control_panel .o_control_panel_breadcrumbs {
    min-width: 200px;
  }
}

@media (max-width: 767.98px) {
  .o_control_panel.o_mobile_sticky {
    position: -webkit-sticky;
    position: sticky;
    top: auto;
    left: auto;
    bottom: auto;
    right: auto;
    z-index: 10;
  }
}

@media (min-width: 992px) {
  .o_control_panel .o_control_panel_breadcrumbs, .o_control_panel .o_control_panel_navigation {
    flex: 1;
  }
  .o_control_panel .o_control_panel_actions {
    min-width: MIN(500px, 33%);
  }
}

@media (min-width: 1200px) {
  .o_control_panel .o_control_panel_actions {
    min-width: MIN(600px, 33%);
  }
}

.o_control_panel .o_cp_switch_buttons .btn, .o_control_panel .o_cp_switch_buttons .btn:focus {
  z-index: 0;
}

.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: #3C3E4B;
  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: 4px;
  font-family: FontAwesome;
  opacity: 0.76;
  content: "\f0c7";
}

@media (max-width: 767.98px) {
  .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: 767.98px) {
  .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 - 32px);
}

.o_search_bar_menu .o_dropdown_container {
  border-color: #5A5E6B !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: 992px) {
  .o_search_bar_menu .o_dropdown_container {
    max-width: calc(calc(100vw - 32px) / 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: 767.98px) {
  .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: 16px;
  width: var(--SearchPanel-width, 220px);
  font-size: var(--SearchPanel-fontSize, 1em);
}

@media (min-width: 768px) {
  .o_search_panel {
    border-right: 1px solid #3C3E4B;
  }
}

.o_search_panel .o_toggle_fold {
  width: 16px;
}

.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: 768px) {
  .o_search_panel_sidebar {
    border-right: 1px solid #3C3E4B;
  }
}

.o_mobile_search_content {
  --SearchPanel-width: 100%;
  --SearchPanel-fontSize: 1.1em;
  --treeEntry-padding-v: 16px;
}

@media (max-width: 767.98px) {
  .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 #3C3E4B;
}

.o_searchview:focus-within {
  border-color: #147976;
  color: var(--body-color);
}

.o_searchview:focus-within + .o_searchview_dropdown_toggler {
  border-top-color: #147976;
  border-right-color: #147976;
  border-bottom-color: #147976;
}

.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: #D1D1D1;
}

.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: #1B1D26;
}

.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, #000);
  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, #6b3e66);
  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: #4b2b47;
}

.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 #3C3E4B;
}

.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: 576px) {
  .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: 768px) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1400px) {
  .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: #6b3e66;
}

.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: #262A36;
  width: 6px;
}

.o_cw_popover .o_cw_popover_fields_secondary::-webkit-scrollbar-thumb {
  background: #6B707F;
}

.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: #674242;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_0 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_0 .card-header,
.o_cw_popover.o_calendar_color_0 .card-header .popover-header {
  background-color: #865656;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_0 .card-header {
  --card-border-color: #674242;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_1 .modal-header {
  background-color: #734646;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_1 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_1 .card-header,
.o_cw_popover.o_calendar_color_1 .card-header .popover-header {
  background-color: #935959;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_1 .card-header {
  --card-border-color: #734646;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_2 .modal-header {
  background-color: #73634d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_2 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_2 .card-header,
.o_cw_popover.o_calendar_color_2 .card-header .popover-header {
  background-color: #927d61;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_2 .card-header {
  --card-border-color: #73634d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_3 .modal-header {
  background-color: #73693f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_3 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_3 .card-header,
.o_cw_popover.o_calendar_color_3 .card-header .popover-header {
  background-color: #948751;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_3 .card-header {
  --card-border-color: #73693f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_4 .modal-header {
  background-color: #4e7372;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_4 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_4 .card-header,
.o_cw_popover.o_calendar_color_4 .card-header .popover-header {
  background-color: #639190;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_4 .card-header {
  --card-border-color: #4e7372;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_5 .modal-header {
  background-color: #6c3963;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_5 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_5 .card-header,
.o_cw_popover.o_calendar_color_5 .card-header .popover-header {
  background-color: #8d4b82;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_5 .card-header {
  --card-border-color: #6c3963;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_6 .modal-header {
  background-color: #735448;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_6 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_6 .card-header,
.o_cw_popover.o_calendar_color_6 .card-header .popover-header {
  background-color: #926b5c;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_6 .card-header {
  --card-border-color: #735448;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_7 .modal-header {
  background-color: #2e6471;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_7 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_7 .card-header,
.o_cw_popover.o_calendar_color_7 .card-header .popover-header {
  background-color: #3d8495;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_7 .card-header {
  --card-border-color: #2e6471;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_8 .modal-header {
  background-color: #34446a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_8 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_8 .card-header,
.o_cw_popover.o_calendar_color_8 .card-header .popover-header {
  background-color: #455a8c;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_8 .card-header {
  --card-border-color: #34446a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_9 .modal-header {
  background-color: #73334b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_9 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_9 .card-header,
.o_cw_popover.o_calendar_color_9 .card-header .popover-header {
  background-color: #964362;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_9 .card-header {
  --card-border-color: #73334b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_10 .modal-header {
  background-color: #377358;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_10 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_10 .card-header,
.o_cw_popover.o_calendar_color_10 .card-header .popover-header {
  background-color: #489672;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_10 .card-header {
  --card-border-color: #377358;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_11 .modal-header {
  background-color: #5c4172;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_11 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_11 .card-header,
.o_cw_popover.o_calendar_color_11 .card-header .popover-header {
  background-color: #765492;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_11 .card-header {
  --card-border-color: #5c4172;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_12 .modal-header {
  background-color: #73374b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_12 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_12 .card-header,
.o_cw_popover.o_calendar_color_12 .card-header .popover-header {
  background-color: #964862;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_12 .card-header {
  --card-border-color: #73374b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_13 .modal-header {
  background-color: #377358;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_13 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_13 .card-header,
.o_cw_popover.o_calendar_color_13 .card-header .popover-header {
  background-color: #489672;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_13 .card-header {
  --card-border-color: #377358;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_14 .modal-header {
  background-color: #735a2f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_14 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_14 .card-header,
.o_cw_popover.o_calendar_color_14 .card-header .popover-header {
  background-color: #97763e;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_14 .card-header {
  --card-border-color: #735a2f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_15 .modal-header {
  background-color: #73693f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_15 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_15 .card-header,
.o_cw_popover.o_calendar_color_15 .card-header .popover-header {
  background-color: #948751;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_15 .card-header {
  --card-border-color: #73693f;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_16 .modal-header {
  background-color: #465773;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_16 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_16 .card-header,
.o_cw_popover.o_calendar_color_16 .card-header .popover-header {
  background-color: #596f93;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_16 .card-header {
  --card-border-color: #465773;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_17 .modal-header {
  background-color: #652f73;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_17 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_17 .card-header,
.o_cw_popover.o_calendar_color_17 .card-header .popover-header {
  background-color: #853e97;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_17 .card-header {
  --card-border-color: #652f73;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_18 .modal-header {
  background-color: #73354d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_18 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_18 .card-header,
.o_cw_popover.o_calendar_color_18 .card-header .popover-header {
  background-color: #964564;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_18 .card-header {
  --card-border-color: #73354d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_19 .modal-header {
  background-color: #19666e;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_19 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_19 .card-header,
.o_cw_popover.o_calendar_color_19 .card-header .popover-header {
  background-color: #228d98;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_19 .card-header {
  --card-border-color: #19666e;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_20 .modal-header {
  background-color: #2c7342;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_20 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_20 .card-header,
.o_cw_popover.o_calendar_color_20 .card-header .popover-header {
  background-color: #3a9857;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_20 .card-header {
  --card-border-color: #2c7342;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_21 .modal-header {
  background-color: #733433;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_21 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_21 .card-header,
.o_cw_popover.o_calendar_color_21 .card-header .popover-header {
  background-color: #964443;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_21 .card-header {
  --card-border-color: #733433;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_22 .modal-header {
  background-color: #713e2d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_22 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_22 .card-header,
.o_cw_popover.o_calendar_color_22 .card-header .popover-header {
  background-color: #95523c;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_22 .card-header {
  --card-border-color: #713e2d;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_23 .modal-header {
  background-color: #731644;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_23 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_23 .card-header,
.o_cw_popover.o_calendar_color_23 .card-header .popover-header {
  background-color: #9e1e5d;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_23 .card-header {
  --card-border-color: #731644;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_24 .modal-header {
  background-color: #4c7354;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_24 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_24 .card-header,
.o_cw_popover.o_calendar_color_24 .card-header .popover-header {
  background-color: #60926a;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_24 .card-header {
  --card-border-color: #4c7354;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_25 .modal-header {
  background-color: #73733a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_25 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_25 .card-header,
.o_cw_popover.o_calendar_color_25 .card-header .popover-header {
  background-color: #95954b;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_25 .card-header {
  --card-border-color: #73733a;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_26 .modal-header {
  background-color: #736c4b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_26 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_26 .card-header,
.o_cw_popover.o_calendar_color_26 .card-header .popover-header {
  background-color: #92895f;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_26 .card-header {
  --card-border-color: #736c4b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_27 .modal-header {
  background-color: #734040;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_27 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_27 .card-header,
.o_cw_popover.o_calendar_color_27 .card-header .popover-header {
  background-color: #945252;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_27 .card-header {
  --card-border-color: #734040;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_28 .modal-header {
  background-color: #596771;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_28 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_28 .card-header,
.o_cw_popover.o_calendar_color_28 .card-header .popover-header {
  background-color: #6f818e;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_28 .card-header {
  --card-border-color: #596771;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_29 .modal-header {
  background-color: #38724b;
}

.modal.o_technical_modal.o_modal_full .modal-dialog .modal-content.o_calendar_color_29 .modal-header .btn {
  color: #D1D1D1;
}

.o_cw_popover.o_calendar_color_29 .card-header,
.o_cw_popover.o_calendar_color_29 .card-header .popover-header {
  background-color: #499462;
  color: #FFF;
}

.o_cw_popover.o_calendar_color_29 .card-header {
  --card-border-color: #38724b;
}



/* /web/static/src/views/calendar/calendar_controller.scss */

@keyframes backgroundfade {
  from {
    background-color: rgba(106, 181, 251, 0.5);
  }
  to {
    background-color: rgba(106, 181, 251, 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: 767.98px) {
  .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: 8px;
  padding-right: 16px;
  padding-bottom: 0px;
  padding-left: 16px;
}

@media (min-width: 1200px) {
  .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: 1200px) {
  .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;
}



/* /web/static/src/views/calendar/calendar_controller_mobile.scss */

@media (max-width: 767.98px) {
  .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 8px;
  }
  .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: 8px 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: #e49292;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_1 {
    color: #ff9b9b;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_2 {
    color: #ffdcab;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_3 {
    color: #ffe88b;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_4 {
    color: #adfffe;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_5 {
    color: #f17fdc;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_6 {
    color: #ffbaa1;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_7 {
    color: #67defa;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_8 {
    color: #7396eb;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_9 {
    color: #ff71a7;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_10 {
    color: #7affc3;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_11 {
    color: #cc90fe;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_12 {
    color: #ff7ba7;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_13 {
    color: #7affc3;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_14 {
    color: #ffc869;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_15 {
    color: #ffe88b;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_16 {
    color: #9cc1ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_17 {
    color: #df68ff;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_18 {
    color: #ff76aa;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_19 {
    color: #37e4f5;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_20 {
    color: #62ff93;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_21 {
    color: #ff7472;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_22 {
    color: #fb8a65;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_23 {
    color: #ff3198;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_24 {
    color: #a8ffbb;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_25 {
    color: #ffff80;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_26 {
    color: #fff0a6;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_27 {
    color: #ff8f8f;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_28 {
    color: #c6e6fb;
  }
  .o_calendar_container .o_other_calendar_panel > .o_filter .o_color_29 {
    color: #7dfda6;
  }
  .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(4px / 2);
  --o-cw-border-color: #3C3E4B;
  background-color: #262A36;
}

@media (max-width: 991.98px) {
  .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: #262A36;
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .o_calendar_renderer .fc-event {
    line-height: 1.2;
  }
}

.o_calendar_renderer .fc-event:hover {
  color: #D1D1D1;
}

.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(2, 199, 181, 0.5);
}

.o_calendar_renderer .fc-event.fc-event-mirror .fc-bg, .o_calendar_renderer .fc-event.fc-dragging .fc-bg {
  background-color: rgba(2, 199, 181, var(--o-bg-opacity));
}

.o_calendar_renderer .fc-event.fc-event-mirror {
  background-color: rgba(2, 199, 181, 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(38, 42, 54, 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: 991.98px) {
  .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: 4px;
  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: #262A36;
  --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: #5A5E6B;
}

.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(38, 42, 54, 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: 4px;
  margin-left: 4px;
  margin-bottom: 4px;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-col-header-cell .o_cw_day_number {
  padding: 4px;
}

.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: 4px 8px;
}

@media (min-width: 992px) {
  .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: #262A36;
}

.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: #b83232;
}

.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: #262A36;
}

.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: 768px) {
  .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;
}

.o_calendar_renderer .o_calendar_widget .fc-timeGridDay-view .fc-timegrid-divider.fc-cell-shaded:after,
.o_calendar_renderer .o_calendar_widget .fc-timeGridWeek-view .fc-timegrid-divider.fc-cell-shaded:after {
  position: absolute;
  top: 1px;
  left: 0;
  bottom: -15px;
  right: 0;
  background: linear-gradient(0deg, rgba(48, 48, 48, 0), rgba(48, 48, 48, 0.16));
  pointer-events: none;
  content: "";
}

@media (max-width: 767.98px) {
  .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 #262A36;
}

.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: 4px;
}

@media (min-width: 768px) {
  .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.25;
  font-size: 0.75rem;
  opacity: .5;
}

@media (max-width: 767.98px) {
  .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.25;
  font-size: 0.75rem;
  opacity: .8;
}

@media (max-width: 991.98px) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-daygrid-week-number > a {
    font-size: .5rem;
  }
}

@media (min-width: 992px) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-daygrid-week-number {
    padding: 4px;
  }
}

.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: 991.98px) {
  .o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-daygrid-body tr .fc-day .fc-daygrid-week-number {
    background-color: #1B1D26;
  }
}

.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: #6B707F;
}

.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: #b83232;
}

.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: #02c7b5;
  cursor: pointer;
}

.o_calendar_renderer .o_calendar_widget .fc-dayGridMonth-view .fc-event {
  padding: 0 4px;
}

.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: #FFF;
  --o-cw-bg: #1d5156;
}

.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: 767.98px) {
  .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: #674242;
  --o-event-bg: #e49292;
  --o-event-bg--subtle-rgb: 103, 66, 66;
}

.o_calendar_renderer .o_calendar_color_0.fc-bg-event {
  --fc-bg-event-color: #674242;
}

.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: #262A36;
}

.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(227.8, 146.2, 146.2, 0.3), RGBA(227.8, 146.2, 146.2, 0.3) 10px, RGBA(227.8, 146.2, 146.2, 0.6) 10px, RGBA(227.8, 146.2, 146.2, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_0.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #e49292 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: #FFF;
  --fc-event-border-color: #724949;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_0.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #e9a8a8;
}

.o_cw_filter_color_0 .o_cw_filter_input_bg {
  border-color: #e49292;
}

.o_cw_filter_color_0 .o_cw_filter_input_bg:checked {
  background-color: #e49292;
}

.o_calendar_renderer .o_calendar_color_1 {
  --fc-event-bg-color: #734646;
  --o-event-bg: #ff9b9b;
  --o-event-bg--subtle-rgb: 115, 70, 70;
}

.o_calendar_renderer .o_calendar_color_1.fc-bg-event {
  --fc-bg-event-color: #734646;
}

.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: #262A36;
}

.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(255, 155, 155, 0.3), RGBA(255, 155, 155, 0.3) 10px, RGBA(255, 155, 155, 0.6) 10px, RGBA(255, 155, 155, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_1.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff9b9b 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: #FFF;
  --fc-event-border-color: #804e4e;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_1.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffafaf;
}

.o_cw_filter_color_1 .o_cw_filter_input_bg {
  border-color: #ff9b9b;
}

.o_cw_filter_color_1 .o_cw_filter_input_bg:checked {
  background-color: #ff9b9b;
}

.o_calendar_renderer .o_calendar_color_2 {
  --fc-event-bg-color: #73634d;
  --o-event-bg: #ffdcab;
  --o-event-bg--subtle-rgb: 115, 99, 77;
}

.o_calendar_renderer .o_calendar_color_2.fc-bg-event {
  --fc-bg-event-color: #73634d;
}

.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: #262A36;
}

.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(255, 219.81081081, 171, 0.3), RGBA(255, 219.81081081, 171, 0.3) 10px, RGBA(255, 219.81081081, 171, 0.6) 10px, RGBA(255, 219.81081081, 171, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_2.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffdcab 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: #FFF;
  --fc-event-border-color: #806e56;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_2.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffe3bc;
}

.o_cw_filter_color_2 .o_cw_filter_input_bg {
  border-color: #ffdcab;
}

.o_cw_filter_color_2 .o_cw_filter_input_bg:checked {
  background-color: #ffdcab;
}

.o_calendar_renderer .o_calendar_color_3 {
  --fc-event-bg-color: #73693f;
  --o-event-bg: #ffe88b;
  --o-event-bg--subtle-rgb: 115, 105, 63;
}

.o_calendar_renderer .o_calendar_color_3.fc-bg-event {
  --fc-bg-event-color: #73693f;
}

.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: #262A36;
}

.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(255, 232.44444444, 139, 0.3), RGBA(255, 232.44444444, 139, 0.3) 10px, RGBA(255, 232.44444444, 139, 0.6) 10px, RGBA(255, 232.44444444, 139, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_3.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffe88b 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: #FFF;
  --fc-event-border-color: #807446;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_3.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffeda2;
}

.o_cw_filter_color_3 .o_cw_filter_input_bg {
  border-color: #ffe88b;
}

.o_cw_filter_color_3 .o_cw_filter_input_bg:checked {
  background-color: #ffe88b;
}

.o_calendar_renderer .o_calendar_color_4 {
  --fc-event-bg-color: #4e7372;
  --o-event-bg: #adfffe;
  --o-event-bg--subtle-rgb: 78, 115, 114;
}

.o_calendar_renderer .o_calendar_color_4.fc-bg-event {
  --fc-bg-event-color: #4e7372;
}

.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: #262A36;
}

.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(173, 255, 253.71875, 0.3), RGBA(173, 255, 253.71875, 0.3) 10px, RGBA(173, 255, 253.71875, 0.6) 10px, RGBA(173, 255, 253.71875, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_4.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #adfffe 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: #FFF;
  --fc-event-border-color: #57807f;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_4.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #bdfffe;
}

.o_cw_filter_color_4 .o_cw_filter_input_bg {
  border-color: #adfffe;
}

.o_cw_filter_color_4 .o_cw_filter_input_bg:checked {
  background-color: #adfffe;
}

.o_calendar_renderer .o_calendar_color_5 {
  --fc-event-bg-color: #6c3963;
  --o-event-bg: #f17fdc;
  --o-event-bg--subtle-rgb: 108, 57, 99;
}

.o_calendar_renderer .o_calendar_color_5.fc-bg-event {
  --fc-bg-event-color: #6c3963;
}

.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: #262A36;
}

.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(240.6, 127.4, 220.38571429, 0.3), RGBA(240.6, 127.4, 220.38571429, 0.3) 10px, RGBA(240.6, 127.4, 220.38571429, 0.6) 10px, RGBA(240.6, 127.4, 220.38571429, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_5.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #f17fdc 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: #FFF;
  --fc-event-border-color: #78406e;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_5.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #f399e3;
}

.o_cw_filter_color_5 .o_cw_filter_input_bg {
  border-color: #f17fdc;
}

.o_cw_filter_color_5 .o_cw_filter_input_bg:checked {
  background-color: #f17fdc;
}

.o_calendar_renderer .o_calendar_color_6 {
  --fc-event-bg-color: #735448;
  --o-event-bg: #ffbaa1;
  --o-event-bg--subtle-rgb: 115, 84, 72;
}

.o_calendar_renderer .o_calendar_color_6.fc-bg-event {
  --fc-bg-event-color: #735448;
}

.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: #262A36;
}

.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(255, 185.675, 161, 0.3), RGBA(255, 185.675, 161, 0.3) 10px, RGBA(255, 185.675, 161, 0.6) 10px, RGBA(255, 185.675, 161, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_6.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffbaa1 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: #FFF;
  --fc-event-border-color: #805d51;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_6.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffc8b4;
}

.o_cw_filter_color_6 .o_cw_filter_input_bg {
  border-color: #ffbaa1;
}

.o_cw_filter_color_6 .o_cw_filter_input_bg:checked {
  background-color: #ffbaa1;
}

.o_calendar_renderer .o_calendar_color_7 {
  --fc-event-bg-color: #2e6471;
  --o-event-bg: #67defa;
  --o-event-bg--subtle-rgb: 46, 100, 113;
}

.o_calendar_renderer .o_calendar_color_7.fc-bg-event {
  --fc-bg-event-color: #2e6471;
}

.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: #262A36;
}

.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(102.9, 222.32641509, 250.1, 0.3), RGBA(102.9, 222.32641509, 250.1, 0.3) 10px, RGBA(102.9, 222.32641509, 250.1, 0.6) 10px, RGBA(102.9, 222.32641509, 250.1, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_7.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #67defa 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: #FFF;
  --fc-event-border-color: #336f7d;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_7.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #85e5fb;
}

.o_cw_filter_color_7 .o_cw_filter_input_bg {
  border-color: #67defa;
}

.o_cw_filter_color_7 .o_cw_filter_input_bg:checked {
  background-color: #67defa;
}

.o_calendar_renderer .o_calendar_color_8 {
  --fc-event-bg-color: #34446a;
  --o-event-bg: #7396eb;
  --o-event-bg--subtle-rgb: 52, 68, 106;
}

.o_calendar_renderer .o_calendar_color_8.fc-bg-event {
  --fc-bg-event-color: #34446a;
}

.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: #262A36;
}

.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(115, 150, 235, 0.3), RGBA(115, 150, 235, 0.3) 10px, RGBA(115, 150, 235, 0.6) 10px, RGBA(115, 150, 235, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_8.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #7396eb 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: #FFF;
  --fc-event-border-color: #3a4b76;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_8.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #8fabef;
}

.o_cw_filter_color_8 .o_cw_filter_input_bg {
  border-color: #7396eb;
}

.o_cw_filter_color_8 .o_cw_filter_input_bg:checked {
  background-color: #7396eb;
}

.o_calendar_renderer .o_calendar_color_9 {
  --fc-event-bg-color: #73334b;
  --o-event-bg: #ff71a7;
  --o-event-bg--subtle-rgb: 115, 51, 75;
}

.o_calendar_renderer .o_calendar_color_9.fc-bg-event {
  --fc-bg-event-color: #73334b;
}

.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: #262A36;
}

.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(255, 113, 166.90740741, 0.3), RGBA(255, 113, 166.90740741, 0.3) 10px, RGBA(255, 113, 166.90740741, 0.6) 10px, RGBA(255, 113, 166.90740741, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_9.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff71a7 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: #FFF;
  --fc-event-border-color: #803953;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_9.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ff8db9;
}

.o_cw_filter_color_9 .o_cw_filter_input_bg {
  border-color: #ff71a7;
}

.o_cw_filter_color_9 .o_cw_filter_input_bg:checked {
  background-color: #ff71a7;
}

.o_calendar_renderer .o_calendar_color_10 {
  --fc-event-bg-color: #377358;
  --o-event-bg: #7affc3;
  --o-event-bg--subtle-rgb: 55, 115, 88;
}

.o_calendar_renderer .o_calendar_color_10.fc-bg-event {
  --fc-bg-event-color: #377358;
}

.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: #262A36;
}

.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(122, 255, 194.87671233, 0.3), RGBA(122, 255, 194.87671233, 0.3) 10px, RGBA(122, 255, 194.87671233, 0.6) 10px, RGBA(122, 255, 194.87671233, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_10.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #7affc3 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: #FFF;
  --fc-event-border-color: #3d8061;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_10.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #95ffcf;
}

.o_cw_filter_color_10 .o_cw_filter_input_bg {
  border-color: #7affc3;
}

.o_cw_filter_color_10 .o_cw_filter_input_bg:checked {
  background-color: #7affc3;
}

.o_calendar_renderer .o_calendar_color_11 {
  --fc-event-bg-color: #5c4172;
  --o-event-bg: #cc90fe;
  --o-event-bg--subtle-rgb: 92, 65, 114;
}

.o_calendar_renderer .o_calendar_color_11.fc-bg-event {
  --fc-bg-event-color: #5c4172;
}

.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: #262A36;
}

.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(204.2, 144.4, 253.6, 0.3), RGBA(204.2, 144.4, 253.6, 0.3) 10px, RGBA(204.2, 144.4, 253.6, 0.6) 10px, RGBA(204.2, 144.4, 253.6, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_11.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #cc90fe 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: #FFF;
  --fc-event-border-color: #66487f;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_11.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #d6a7fe;
}

.o_cw_filter_color_11 .o_cw_filter_input_bg {
  border-color: #cc90fe;
}

.o_cw_filter_color_11 .o_cw_filter_input_bg:checked {
  background-color: #cc90fe;
}

.o_calendar_renderer .o_calendar_color_12 {
  --fc-event-bg-color: #73374b;
  --o-event-bg: #ff7ba7;
  --o-event-bg--subtle-rgb: 115, 55, 75;
}

.o_calendar_renderer .o_calendar_color_12.fc-bg-event {
  --fc-bg-event-color: #73374b;
}

.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: #262A36;
}

.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(255, 123, 167, 0.3), RGBA(255, 123, 167, 0.3) 10px, RGBA(255, 123, 167, 0.6) 10px, RGBA(255, 123, 167, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_12.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff7ba7 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: #FFF;
  --fc-event-border-color: #803e54;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_12.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ff95b9;
}

.o_cw_filter_color_12 .o_cw_filter_input_bg {
  border-color: #ff7ba7;
}

.o_cw_filter_color_12 .o_cw_filter_input_bg:checked {
  background-color: #ff7ba7;
}

.o_calendar_renderer .o_calendar_color_13 {
  --fc-event-bg-color: #377358;
  --o-event-bg: #7affc3;
  --o-event-bg--subtle-rgb: 55, 115, 88;
}

.o_calendar_renderer .o_calendar_color_13.fc-bg-event {
  --fc-bg-event-color: #377358;
}

.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: #262A36;
}

.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(122, 255, 194.87671233, 0.3), RGBA(122, 255, 194.87671233, 0.3) 10px, RGBA(122, 255, 194.87671233, 0.6) 10px, RGBA(122, 255, 194.87671233, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_13.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #7affc3 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: #FFF;
  --fc-event-border-color: #3d8061;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_13.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #95ffcf;
}

.o_cw_filter_color_13 .o_cw_filter_input_bg {
  border-color: #7affc3;
}

.o_cw_filter_color_13 .o_cw_filter_input_bg:checked {
  background-color: #7affc3;
}

.o_calendar_renderer .o_calendar_color_14 {
  --fc-event-bg-color: #735a2f;
  --o-event-bg: #ffc869;
  --o-event-bg--subtle-rgb: 115, 90, 47;
}

.o_calendar_renderer .o_calendar_color_14.fc-bg-event {
  --fc-bg-event-color: #735a2f;
}

.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: #262A36;
}

.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(255, 199.56521739, 105, 0.3), RGBA(255, 199.56521739, 105, 0.3) 10px, RGBA(255, 199.56521739, 105, 0.6) 10px, RGBA(255, 199.56521739, 105, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_14.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffc869 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: #FFF;
  --fc-event-border-color: #806435;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_14.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffd387;
}

.o_cw_filter_color_14 .o_cw_filter_input_bg {
  border-color: #ffc869;
}

.o_cw_filter_color_14 .o_cw_filter_input_bg:checked {
  background-color: #ffc869;
}

.o_calendar_renderer .o_calendar_color_15 {
  --fc-event-bg-color: #73693f;
  --o-event-bg: #ffe88b;
  --o-event-bg--subtle-rgb: 115, 105, 63;
}

.o_calendar_renderer .o_calendar_color_15.fc-bg-event {
  --fc-bg-event-color: #73693f;
}

.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: #262A36;
}

.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(255, 232.44444444, 139, 0.3), RGBA(255, 232.44444444, 139, 0.3) 10px, RGBA(255, 232.44444444, 139, 0.6) 10px, RGBA(255, 232.44444444, 139, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_15.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffe88b 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: #FFF;
  --fc-event-border-color: #807446;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_15.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffeda2;
}

.o_cw_filter_color_15 .o_cw_filter_input_bg {
  border-color: #ffe88b;
}

.o_cw_filter_color_15 .o_cw_filter_input_bg:checked {
  background-color: #ffe88b;
}

.o_calendar_renderer .o_calendar_color_16 {
  --fc-event-bg-color: #465773;
  --o-event-bg: #9cc1ff;
  --o-event-bg--subtle-rgb: 70, 87, 115;
}

.o_calendar_renderer .o_calendar_color_16.fc-bg-event {
  --fc-bg-event-color: #465773;
}

.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: #262A36;
}

.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(156, 192.70786517, 255, 0.3), RGBA(156, 192.70786517, 255, 0.3) 10px, RGBA(156, 192.70786517, 255, 0.6) 10px, RGBA(156, 192.70786517, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_16.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #9cc1ff 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: #FFF;
  --fc-event-border-color: #4e6080;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_16.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #b0cdff;
}

.o_cw_filter_color_16 .o_cw_filter_input_bg {
  border-color: #9cc1ff;
}

.o_cw_filter_color_16 .o_cw_filter_input_bg:checked {
  background-color: #9cc1ff;
}

.o_calendar_renderer .o_calendar_color_17 {
  --fc-event-bg-color: #652f73;
  --o-event-bg: #df68ff;
  --o-event-bg--subtle-rgb: 101, 47, 115;
}

.o_calendar_renderer .o_calendar_color_17.fc-bg-event {
  --fc-bg-event-color: #652f73;
}

.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: #262A36;
}

.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(223.44776119, 104, 255, 0.3), RGBA(223.44776119, 104, 255, 0.3) 10px, RGBA(223.44776119, 104, 255, 0.6) 10px, RGBA(223.44776119, 104, 255, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_17.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #df68ff 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: #FFF;
  --fc-event-border-color: #703480;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_17.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #e686ff;
}

.o_cw_filter_color_17 .o_cw_filter_input_bg {
  border-color: #df68ff;
}

.o_cw_filter_color_17 .o_cw_filter_input_bg:checked {
  background-color: #df68ff;
}

.o_calendar_renderer .o_calendar_color_18 {
  --fc-event-bg-color: #73354d;
  --o-event-bg: #ff76aa;
  --o-event-bg--subtle-rgb: 115, 53, 77;
}

.o_calendar_renderer .o_calendar_color_18.fc-bg-event {
  --fc-bg-event-color: #73354d;
}

.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: #262A36;
}

.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(255, 118, 170.25773196, 0.3), RGBA(255, 118, 170.25773196, 0.3) 10px, RGBA(255, 118, 170.25773196, 0.6) 10px, RGBA(255, 118, 170.25773196, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_18.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff76aa 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: #FFF;
  --fc-event-border-color: #803b55;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_18.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ff91bb;
}

.o_cw_filter_color_18 .o_cw_filter_input_bg {
  border-color: #ff76aa;
}

.o_cw_filter_color_18 .o_cw_filter_input_bg:checked {
  background-color: #ff76aa;
}

.o_calendar_renderer .o_calendar_color_19 {
  --fc-event-bg-color: #19666e;
  --o-event-bg: #37e4f5;
  --o-event-bg--subtle-rgb: 25, 102, 110;
}

.o_calendar_renderer .o_calendar_color_19.fc-bg-event {
  --fc-bg-event-color: #19666e;
}

.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: #262A36;
}

.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(55, 227.72727273, 245, 0.3), RGBA(55, 227.72727273, 245, 0.3) 10px, RGBA(55, 227.72727273, 245, 0.6) 10px, RGBA(55, 227.72727273, 245, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_19.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #37e4f5 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: #FFF;
  --fc-event-border-color: #1c727b;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_19.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #5fe9f7;
}

.o_cw_filter_color_19 .o_cw_filter_input_bg {
  border-color: #37e4f5;
}

.o_cw_filter_color_19 .o_cw_filter_input_bg:checked {
  background-color: #37e4f5;
}

.o_calendar_renderer .o_calendar_color_20 {
  --fc-event-bg-color: #2c7342;
  --o-event-bg: #62ff93;
  --o-event-bg--subtle-rgb: 44, 115, 66;
}

.o_calendar_renderer .o_calendar_color_20.fc-bg-event {
  --fc-bg-event-color: #2c7342;
}

.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: #262A36;
}

.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(98, 255, 146.84444444, 0.3), RGBA(98, 255, 146.84444444, 0.3) 10px, RGBA(98, 255, 146.84444444, 0.6) 10px, RGBA(98, 255, 146.84444444, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_20.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #62ff93 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: #FFF;
  --fc-event-border-color: #318049;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_20.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #81ffa8;
}

.o_cw_filter_color_20 .o_cw_filter_input_bg {
  border-color: #62ff93;
}

.o_cw_filter_color_20 .o_cw_filter_input_bg:checked {
  background-color: #62ff93;
}

.o_calendar_renderer .o_calendar_color_21 {
  --fc-event-bg-color: #733433;
  --o-event-bg: #ff7472;
  --o-event-bg--subtle-rgb: 115, 52, 51;
}

.o_calendar_renderer .o_calendar_color_21.fc-bg-event {
  --fc-bg-event-color: #733433;
}

.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: #262A36;
}

.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(255, 116.47368421, 114, 0.3), RGBA(255, 116.47368421, 114, 0.3) 10px, RGBA(255, 116.47368421, 114, 0.6) 10px, RGBA(255, 116.47368421, 114, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_21.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff7472 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: #FFF;
  --fc-event-border-color: #803a39;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_21.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ff908e;
}

.o_cw_filter_color_21 .o_cw_filter_input_bg {
  border-color: #ff7472;
}

.o_cw_filter_color_21 .o_cw_filter_input_bg:checked {
  background-color: #ff7472;
}

.o_calendar_renderer .o_calendar_color_22 {
  --fc-event-bg-color: #713e2d;
  --o-event-bg: #fb8a65;
  --o-event-bg--subtle-rgb: 113, 62, 45;
}

.o_calendar_renderer .o_calendar_color_22.fc-bg-event {
  --fc-bg-event-color: #713e2d;
}

.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: #262A36;
}

.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(251.2, 138.4, 100.8, 0.3), RGBA(251.2, 138.4, 100.8, 0.3) 10px, RGBA(251.2, 138.4, 100.8, 0.6) 10px, RGBA(251.2, 138.4, 100.8, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_22.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #fb8a65 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: #FFF;
  --fc-event-border-color: #7e4532;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_22.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #fca284;
}

.o_cw_filter_color_22 .o_cw_filter_input_bg {
  border-color: #fb8a65;
}

.o_cw_filter_color_22 .o_cw_filter_input_bg:checked {
  background-color: #fb8a65;
}

.o_calendar_renderer .o_calendar_color_23 {
  --fc-event-bg-color: #731644;
  --o-event-bg: #ff3198;
  --o-event-bg--subtle-rgb: 115, 22, 68;
}

.o_calendar_renderer .o_calendar_color_23.fc-bg-event {
  --fc-bg-event-color: #731644;
}

.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: #262A36;
}

.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(255, 49, 152, 0.3), RGBA(255, 49, 152, 0.3) 10px, RGBA(255, 49, 152, 0.6) 10px, RGBA(255, 49, 152, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_23.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff3198 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: #FFF;
  --fc-event-border-color: #80194c;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_23.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ff5aad;
}

.o_cw_filter_color_23 .o_cw_filter_input_bg {
  border-color: #ff3198;
}

.o_cw_filter_color_23 .o_cw_filter_input_bg:checked {
  background-color: #ff3198;
}

.o_calendar_renderer .o_calendar_color_24 {
  --fc-event-bg-color: #4c7354;
  --o-event-bg: #a8ffbb;
  --o-event-bg--subtle-rgb: 76, 115, 84;
}

.o_calendar_renderer .o_calendar_color_24.fc-bg-event {
  --fc-bg-event-color: #4c7354;
}

.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: #262A36;
}

.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(168, 255, 186.54098361, 0.3), RGBA(168, 255, 186.54098361, 0.3) 10px, RGBA(168, 255, 186.54098361, 0.6) 10px, RGBA(168, 255, 186.54098361, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_24.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #a8ffbb 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: #FFF;
  --fc-event-border-color: #54805d;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_24.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #b9ffc8;
}

.o_cw_filter_color_24 .o_cw_filter_input_bg {
  border-color: #a8ffbb;
}

.o_cw_filter_color_24 .o_cw_filter_input_bg:checked {
  background-color: #a8ffbb;
}

.o_calendar_renderer .o_calendar_color_25 {
  --fc-event-bg-color: #73733a;
  --o-event-bg: #ffff80;
  --o-event-bg--subtle-rgb: 115, 115, 58;
}

.o_calendar_renderer .o_calendar_color_25.fc-bg-event {
  --fc-bg-event-color: #73733a;
}

.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: #262A36;
}

.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(254.8, 254.8, 128.2, 0.3), RGBA(254.8, 254.8, 128.2, 0.3) 10px, RGBA(254.8, 254.8, 128.2, 0.6) 10px, RGBA(254.8, 254.8, 128.2, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_25.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ffff80 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: #FFF;
  --fc-event-border-color: #7f7f40;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_25.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffff9a;
}

.o_cw_filter_color_25 .o_cw_filter_input_bg {
  border-color: #ffff80;
}

.o_cw_filter_color_25 .o_cw_filter_input_bg:checked {
  background-color: #ffff80;
}

.o_calendar_renderer .o_calendar_color_26 {
  --fc-event-bg-color: #736c4b;
  --o-event-bg: #fff0a6;
  --o-event-bg--subtle-rgb: 115, 108, 75;
}

.o_calendar_renderer .o_calendar_color_26.fc-bg-event {
  --fc-bg-event-color: #736c4b;
}

.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: #262A36;
}

.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(255, 240.3880597, 166, 0.3), RGBA(255, 240.3880597, 166, 0.3) 10px, RGBA(255, 240.3880597, 166, 0.6) 10px, RGBA(255, 240.3880597, 166, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_26.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #fff0a6 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: #FFF;
  --fc-event-border-color: #807853;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_26.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #fff3b8;
}

.o_cw_filter_color_26 .o_cw_filter_input_bg {
  border-color: #fff0a6;
}

.o_cw_filter_color_26 .o_cw_filter_input_bg:checked {
  background-color: #fff0a6;
}

.o_calendar_renderer .o_calendar_color_27 {
  --fc-event-bg-color: #734040;
  --o-event-bg: #ff8f8f;
  --o-event-bg--subtle-rgb: 115, 64, 64;
}

.o_calendar_renderer .o_calendar_color_27.fc-bg-event {
  --fc-bg-event-color: #734040;
}

.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: #262A36;
}

.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(255, 143, 143, 0.3), RGBA(255, 143, 143, 0.3) 10px, RGBA(255, 143, 143, 0.6) 10px, RGBA(255, 143, 143, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_27.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #ff8f8f 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: #FFF;
  --fc-event-border-color: #804848;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_27.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #ffa5a5;
}

.o_cw_filter_color_27 .o_cw_filter_input_bg {
  border-color: #ff8f8f;
}

.o_cw_filter_color_27 .o_cw_filter_input_bg:checked {
  background-color: #ff8f8f;
}

.o_calendar_renderer .o_calendar_color_28 {
  --fc-event-bg-color: #596771;
  --o-event-bg: #c6e6fb;
  --o-event-bg--subtle-rgb: 89, 103, 113;
}

.o_calendar_renderer .o_calendar_color_28.fc-bg-event {
  --fc-bg-event-color: #596771;
}

.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: #262A36;
}

.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(197.6, 229.88, 251.4, 0.3), RGBA(197.6, 229.88, 251.4, 0.3) 10px, RGBA(197.6, 229.88, 251.4, 0.6) 10px, RGBA(197.6, 229.88, 251.4, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_28.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #c6e6fb 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: #FFF;
  --fc-event-border-color: #63737e;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_28.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #d1ebfc;
}

.o_cw_filter_color_28 .o_cw_filter_input_bg {
  border-color: #c6e6fb;
}

.o_cw_filter_color_28 .o_cw_filter_input_bg:checked {
  background-color: #c6e6fb;
}

.o_calendar_renderer .o_calendar_color_29 {
  --fc-event-bg-color: #38724b;
  --o-event-bg: #7dfda6;
  --o-event-bg--subtle-rgb: 56, 114, 75;
}

.o_calendar_renderer .o_calendar_color_29.fc-bg-event {
  --fc-bg-event-color: #38724b;
}

.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: #262A36;
}

.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(125.2, 252.8, 165.8, 0.3), RGBA(125.2, 252.8, 165.8, 0.3) 10px, RGBA(125.2, 252.8, 165.8, 0.6) 10px, RGBA(125.2, 252.8, 165.8, 0.6) 20px) !important;
}

.o_calendar_renderer .o_calendar_color_29.o_event_striked:not(.o_event_dot) {
  background: linear-gradient(transparent 0 45%, #7dfda6 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: #FFF;
  --fc-event-border-color: #3f7e53;
}

.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, #6AB5FB);
}

.o_calendar_renderer:has(.fc-dayGridYear-view) {
  border-right: 1px solid #3C3E4B;
}

.o_cw_filter_color_29.form-check:hover .o_cw_filter_input_bg:not(.no_filter_color) {
  border-color: #97fdb8;
}

.o_cw_filter_color_29 .o_cw_filter_input_bg {
  border-color: #7dfda6;
}

.o_cw_filter_color_29 .o_cw_filter_input_bg:checked {
  background-color: #7dfda6;
}



/* /web/static/src/views/calendar/calendar_renderer_mobile.scss */

@media (max-width: 767.98px) {
  .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, #6AB5FB);
  padding: 0 4px;
  background: RGBA(var(--o-cw-popover-color--subtle, 106, 181, 251), 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: 4px;
  font-family: FontAwesome;
  font-size: 0.75rem;
  color: var(--o-cw-popover-color, #6AB5FB);
  content: '\f111';
}

.o_cw_popover_link.o_calendar_color_0 {
  --o-cw-popover-color: #e49292;
  --o-cw-popover-color--subtle: #674242;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_1 {
  --o-cw-popover-color: #ff9b9b;
  --o-cw-popover-color--subtle: #734646;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_2 {
  --o-cw-popover-color: #ffdcab;
  --o-cw-popover-color--subtle: #73634d;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_3 {
  --o-cw-popover-color: #ffe88b;
  --o-cw-popover-color--subtle: #73693f;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_4 {
  --o-cw-popover-color: #adfffe;
  --o-cw-popover-color--subtle: #4e7372;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_5 {
  --o-cw-popover-color: #f17fdc;
  --o-cw-popover-color--subtle: #6c3963;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_6 {
  --o-cw-popover-color: #ffbaa1;
  --o-cw-popover-color--subtle: #735448;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_7 {
  --o-cw-popover-color: #67defa;
  --o-cw-popover-color--subtle: #2e6471;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_8 {
  --o-cw-popover-color: #7396eb;
  --o-cw-popover-color--subtle: #34446a;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_9 {
  --o-cw-popover-color: #ff71a7;
  --o-cw-popover-color--subtle: #73334b;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_10 {
  --o-cw-popover-color: #7affc3;
  --o-cw-popover-color--subtle: #377358;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_11 {
  --o-cw-popover-color: #cc90fe;
  --o-cw-popover-color--subtle: #5c4172;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_12 {
  --o-cw-popover-color: #ff7ba7;
  --o-cw-popover-color--subtle: #73374b;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_13 {
  --o-cw-popover-color: #7affc3;
  --o-cw-popover-color--subtle: #377358;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_14 {
  --o-cw-popover-color: #ffc869;
  --o-cw-popover-color--subtle: #735a2f;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_15 {
  --o-cw-popover-color: #ffe88b;
  --o-cw-popover-color--subtle: #73693f;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_16 {
  --o-cw-popover-color: #9cc1ff;
  --o-cw-popover-color--subtle: #465773;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_17 {
  --o-cw-popover-color: #df68ff;
  --o-cw-popover-color--subtle: #652f73;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_18 {
  --o-cw-popover-color: #ff76aa;
  --o-cw-popover-color--subtle: #73354d;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_19 {
  --o-cw-popover-color: #37e4f5;
  --o-cw-popover-color--subtle: #19666e;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_20 {
  --o-cw-popover-color: #62ff93;
  --o-cw-popover-color--subtle: #2c7342;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_21 {
  --o-cw-popover-color: #ff7472;
  --o-cw-popover-color--subtle: #733433;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_22 {
  --o-cw-popover-color: #fb8a65;
  --o-cw-popover-color--subtle: #713e2d;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_23 {
  --o-cw-popover-color: #ff3198;
  --o-cw-popover-color--subtle: #731644;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_24 {
  --o-cw-popover-color: #a8ffbb;
  --o-cw-popover-color--subtle: #4c7354;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_25 {
  --o-cw-popover-color: #ffff80;
  --o-cw-popover-color--subtle: #73733a;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_26 {
  --o-cw-popover-color: #fff0a6;
  --o-cw-popover-color--subtle: #736c4b;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_27 {
  --o-cw-popover-color: #ff8f8f;
  --o-cw-popover-color--subtle: #734040;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_28 {
  --o-cw-popover-color: #c6e6fb;
  --o-cw-popover-color--subtle: #596771;
  color: #FFF;
}

.o_cw_popover_link.o_calendar_color_29 {
  --o-cw-popover-color: #7dfda6;
  --o-cw-popover-color--subtle: #38724b;
  color: #FFF;
}



/* /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: #3C3E4B;
  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(209, 209, 209, 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: #ffd532;
}

.o_field_widget.o_favorite i.fa-star, .o_field_widget .o_favorite i.fa-star {
  color: #ffd532;
}



/* /web/static/src/views/fields/char/char_field.scss */

@media (min-width: 768px) {
  .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 #3C3E4B;
  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: #3C3E4B;
  --o-caret-color: var(--body-color);
}

.o_required_modifier {
  --o-input-border-color: #FFF;
  --o-caret-color: #FFF;
}

.o_field_widget:focus-within {
  --o-input-border-color: #02c7b5;
  --o-caret-color: #02c7b5;
}

.o_field_invalid {
  --o-input-border-color: #b83232;
  --o-caret-color: #b83232;
}

.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: #ff5757;
}

.o_field_invalid:not(:focus-within):not(.o_form_label) {
  --o-input-background-color: rgba(184, 50, 50, 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: 767.98px) {
  .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: #6b3e66;
  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: #6b3e66;
  }
  .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: #b83232;
  }
}

.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 #b83232;
}

.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 #6b3e66;
  font-size: 0.8125rem;
  color: #6b3e66;
  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 #b83232;
}

.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: #ff9b9b;
}

.o_kanban_colorpicker .o_kanban_color_2:after {
  background-color: #ffdcab;
}

.o_kanban_colorpicker .o_kanban_color_3:after {
  background-color: #ffe88b;
}

.o_kanban_colorpicker .o_kanban_color_4:after {
  background-color: #adfffe;
}

.o_kanban_colorpicker .o_kanban_color_5:after {
  background-color: #f17fdc;
}

.o_kanban_colorpicker .o_kanban_color_6:after {
  background-color: #ffbaa1;
}

.o_kanban_colorpicker .o_kanban_color_7:after {
  background-color: #67defa;
}

.o_kanban_colorpicker .o_kanban_color_8:after {
  background-color: #7396eb;
}

.o_kanban_colorpicker .o_kanban_color_9:after {
  background-color: #ff71a7;
}

.o_kanban_colorpicker .o_kanban_color_10:after {
  background-color: #7affc3;
}

.o_kanban_colorpicker .o_kanban_color_11:after {
  background-color: #cc90fe;
}

.o_kanban_colorpicker > li {
  display: inline-block;
  margin: 5px 5px 0 0;
  border: 1px solid white;
  box-shadow: 0 0 0 1px #3C3E4B;
}

.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(60, 62, 75, 0) 0%, rgba(60, 62, 75, 0) 48%, #b83232 48%, #b83232 52%, rgba(60, 62, 75, 0) 52%, rgba(60, 62, 75, 0) 100%);
}



/* /web/static/src/views/fields/many2many_binary/many2many_binary_field.scss */

.o_attachment {
  position: relative;
  width: 100%;
  padding: 5px;
}

@media (min-width: 768px) {
  .o_attachment {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .o_attachment {
    width: 25%;
  }
}

@media (min-width: 768px) {
  .o_attachment.o_attachment_many2many {
    width: 50%;
  }
}

@media (min-width: 992px) {
  .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(255, 255, 255, 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: #D1D1D1;
}

.o_attachment .caption a:hover, .o_attachment .caption a:focus, .o_attachment .caption a.focus {
  color: #E4E4E4;
}

.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: #555555;
  color: white;
  cursor: pointer;
  font-size: 20px;
  transform: translateX(100%);
  transition: all 0.3s ease 0s;
}

.o_attachment .o_attachment_delete:hover {
  background: #6b3e66;
}

.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.5;
}

.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.5em);
  -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: 576px) {
  .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 #02c7b5;
}

@media (min-width: 576px) {
  .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: #02c7b5;
  --PercentPieField-color-static: rgba(0, 0, 0, 0.15);
  height: var(--PercentPieField-size, 1.09375rem);
  aspect-ratio: 1;
  margin-right: var(--PercentPieField-gap, 8px);
}

.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(209, 209, 209, 0.76);
}

.o_field_widget.o_priority > .o_priority_star.fa-star, .o_field_widget .o_priority > .o_priority_star.fa-star {
  color: #ffd532;
}



/* /web/static/src/views/fields/progress_bar/progress_bar_field.scss */

.o_progressbar .o_progress {
  width: 100px;
  height: 15px;
  border: 1px solid #3C3E4B;
  background-color: #262A36;
}

.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: #3C3E4B;
  color: #D1D1D1 !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: #D1D1D1 !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: #02c7b5;
}

.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: #02c7b5;
}

.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: #b83232;
}

.o_property_field_highlight .o_field_property_empty_label,
.o_property_field_highlight {
  border: 1px solid #6b3e66;
  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: #6b3e66;
}

.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: 767.98px) {
  .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 #383b45;
}

.o_field_properties .oi-draggable {
  cursor: url(/web/static/img/openhand.cur), grab;
}

@media (max-width: 575.98px) {
  .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: #001412;
  border: 1px solid #02c7b5;
}



/* /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: 576px) {
  .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: 4px;
}

.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: #ffd532;
}

.o_field_property_selection_drag {
  cursor: url(/web/static/img/openhand.cur), grab;
  color: #adb5bd;
}

.o_field_property_selection_drag:hover {
  color: #E4E4E4;
}



/* /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: #6b3e66 !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: #5A5E6B;
  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: 767.98px) {
  .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(60, 62, 75, 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 #b83232;
  cursor: pointer;
}

.o_form_editable .o_signature:hover {
  outline: 3px solid #02c7b5;
  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: #262A36;
  --o-statusbar-background-active: #17373b;
  --o-statusbar-border-active: #03f9e3;
  --o-statusbar-background-hover: #5A5E6B;
  --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(209, 209, 209, 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: 768px) {
  .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: 16px;
  padding-bottom: 5px;
  padding-left: 16px;
}

.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.3125rem;
}

.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: #02c7b5;
}

.o_form_view .o_form_uri:hover, .o_form_view .o_form_uri:focus, .o_form_view .o_form_uri.focus {
  color: #4ed8cb;
}

.o_form_view .o_form_uri > span {
  color: #D1D1D1;
}

.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: #D1D1D1;
}

.o_form_view .o_form_uri > span:first-child {
  color: #02c7b5;
}

.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: #4ed8cb;
}

.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: 24px;
  --formView-sheet-padding-x: 16px;
  padding: var(--formView-sheet-padding-y) var(--formView-sheet-padding-x);
  background-color: #262A36;
}

.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 {
  --formView-sheetBg-padding-x: 16px;
  padding-top: 8px;
  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: 16px;
  --formView-sheet-padding-x: 16px;
  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: #3C3E4B;
  border-width: var(--formView-sheet-border-width, 1px 0 1px 0);
  border-radius: var(--formView-sheet-border-radius, 0);
  background-color: #262A36;
}

@media (min-width: 768px) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-md, 16px);
    --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: 992px) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-lg, 24px);
    --formView-sheet-padding-x: var(--formView-sheet-padding-x-lg, 24px);
  }
}

@media (min-width: 1534px) {
  .o_form_view .o_form_sheet {
    --formView-sheet-padding-y: var(--formView-sheet-padding-y-xxl, 16px);
    --formView-sheet-padding-x: var(--formView-sheet-padding-x-xxl, 16px);
  }
}

.o_form_view .o_form_sheet > .o_selection {
  float: right;
}

.o_form_view .alert {
  --alert-padding-y: 8px;
}

.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: 4px;
}

.o_form_view .o_form_sheet_bg > .alert:nth-last-child(1 of .alert) {
  --alert-margin-bottom: 8px;
}

.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: 16px;
}

.o_form_view .o_form_statusbar .o_field_widget {
  --fieldWidget-margin-bottom: 0;
  align-self: flex-start;
}

@media (max-width: 767.98px) {
  .o_form_view .o_form_statusbar .o_field_widget:first-child:last-child {
    width: 100%;
  }
}

.o_form_view .oe_title {
  color: #E4E4E4;
}

@media (min-width: 576px) {
  .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 #3C3E4B;
}

@media (max-width: 575.98px) {
  .o_form_view .oe_avatar + .oe_title {
    max-width: calc(100% - 90px - 8px);
  }
}

.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: 991.98px) {
  .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: 8px 16px;
  margin-bottom: 8px;
}

.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: 576px) {
  .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: 575.98px) {
  .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: #E4E4E4;
  font-weight: 500;
}

.o_form_view .o_horizontal_separator:not(:empty) {
  box-shadow: 0 1px 0 #383b45;
}

.o_form_view .o_horizontal_separator:empty {
  height: 10px;
}

.o_form_view .o_kanban_renderer {
  --Kanban-background: transparent;
  --Kanban-gap: 8px;
  --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 #3C3E4B;
}

.o_form_view .o_notebook > .tab-content > .tab-pane {
  padding: 16px 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: 16px 16px;
  padding-left: 16px;
  padding-right: 16px;
}

@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: 32px;
  }
}

@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: 32px;
  }
}

.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: -45px;
}

.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: var(--notebook-margin-x);
  --ListRenderer-table-padding-x: var(--notebook-padding-x);
  margin-top: -16px;
}

.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.5;
  font-weight: 500;
}

@media (max-width: 767.98px) {
  .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 #3C3E4B;
}

.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 #3C3E4B;
}

.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 #3C3E4B;
  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 #3C3E4B;
}

.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: #262A36;
  --ListRenderer-thead-bg-active-color: #3C3E4B;
  --ListRenderer-tfoot-bg-color: #262A36;
  margin-bottom: 10px;
}

.o_form_view .o_field_widget .o_list_renderer > tfoot > tr > td {
  padding: 3px;
  color: #D1D1D1;
}

.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: 767.98px) {
  .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: 8px;
  --formView-sheetBg-padding-x: 16px;
}

.modal .modal-dialog .o_form_sheet {
  --formView-sheet-margin-x: 0;
  --formView-sheet-padding-y: 8px;
  --formView-sheet-padding-y-md: 8px;
  --formView-sheet-padding-y-lg: 8px;
  --formView-sheet-padding-y-xxl: 8px;
  --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: 8px;
}

.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: #02c7b5;
  cursor: pointer;
}

@media (max-width: 991.98px) {
  .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: 767.98px) {
  .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: 767.98px) {
  .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 #3C3E4B;
  padding-left: 12px;
}

.o_setting_right_pane .o_form_label + .fa, .o_setting_right_pane .o_form_label + .o_doc_link {
  margin-left: 8px;
}

.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: 768px) {
  .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.print_variables.scss */



/* /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: #ff9b9b;
}

.oe_kanban_colorpicker .oe_kanban_color_2:after {
  background-color: #ffdcab;
}

.oe_kanban_colorpicker .oe_kanban_color_3:after {
  background-color: #ffe88b;
}

.oe_kanban_colorpicker .oe_kanban_color_4:after {
  background-color: #adfffe;
}

.oe_kanban_colorpicker .oe_kanban_color_5:after {
  background-color: #f17fdc;
}

.oe_kanban_colorpicker .oe_kanban_color_6:after {
  background-color: #ffbaa1;
}

.oe_kanban_colorpicker .oe_kanban_color_7:after {
  background-color: #67defa;
}

.oe_kanban_colorpicker .oe_kanban_color_8:after {
  background-color: #7396eb;
}

.oe_kanban_colorpicker .oe_kanban_color_9:after {
  background-color: #ff71a7;
}

.oe_kanban_colorpicker .oe_kanban_color_10:after {
  background-color: #7affc3;
}

.oe_kanban_colorpicker .oe_kanban_color_11:after {
  background-color: #cc90fe;
}

.oe_kanban_colorpicker > li {
  display: inline-block;
  margin: 5px 5px 0 0;
  border: 1px solid white;
  box-shadow: 0 0 0 1px #3C3E4B;
}

.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(60, 62, 75, 0) 0%, rgba(60, 62, 75, 0) 48%, #b83232 48%, #b83232 52%, rgba(60, 62, 75, 0) 52%, rgba(60, 62, 75, 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(60, 62, 75, var(--bg-opacity, 1))
            ;
}

.o_kanban_renderer .o_kanban_group.o_kanban_group_show_success {
  --KanbanGroup-background: #1b2629;
  outline: 1px solid #262A36;
  box-shadow: inset 2px 0 0 #1dc959, inset -2px 0 0 #1dc959;
}

.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: #252324;
  outline: 1px solid #262A36;
  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: #231e27;
  outline: 1px solid #262A36;
  box-shadow: inset 2px 0 0 #b83232, inset -2px 0 0 #b83232;
}

.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: #23252e;
  outline: 1px solid #262A36;
  box-shadow: inset 2px 0 0 #B1B3BC, inset -2px 0 0 #B1B3BC;
}

.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: #1f2531;
  outline: 1px solid #262A36;
  box-shadow: inset 2px 0 0 #6AB5FB, inset -2px 0 0 #6AB5FB;
}

.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: #201c2b;
  outline: 1px solid #262A36;
  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: #ff9b9b;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_1:after {
  background-color: #ff9b9b;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_2 {
  border-left-color: #ffdcab;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_2:after {
  background-color: #ffdcab;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_3 {
  border-left-color: #ffe88b;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_3:after {
  background-color: #ffe88b;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_4 {
  border-left-color: #adfffe;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_4:after {
  background-color: #adfffe;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_5 {
  border-left-color: #f17fdc;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_5:after {
  background-color: #f17fdc;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_6 {
  border-left-color: #ffbaa1;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_6:after {
  background-color: #ffbaa1;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_7 {
  border-left-color: #67defa;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_7:after {
  background-color: #67defa;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_8 {
  border-left-color: #7396eb;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_8:after {
  background-color: #7396eb;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_9 {
  border-left-color: #ff71a7;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_9:after {
  background-color: #ff71a7;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_10 {
  border-left-color: #7affc3;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_10:after {
  background-color: #7affc3;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_11 {
  border-left-color: #cc90fe;
}

.o-dropdown--kanban-record-menu .oe_kanban_color_11:after {
  background-color: #cc90fe;
}

.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.65625rem 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: #D1D1D1;
  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(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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 #5A5E6B;
}

.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 #5A5E6B;
}

.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: #D1D1D1;
  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(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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: 767.98px) {
  .o_kanban_view {
    --ControlPanel-border-bottom: none;
  }
  .o_kanban_view.o_field_x2many_kanban .o_kanban_ghost {
    display: none;
  }
}

.o_kanban_renderer {
  --Kanban-background: #1B1D26;
  --Kanban-gap: unset;
  --Kanban-padding: 0;
  --KanbanGroup-background: var(--Kanban-background);
  --KanbanGroup-padding-h: 16px;
  --KanbanGroup-padding-bottom: 16px;
  --KanbanRecord-width: 320px;
  --KanbanRecord-margin-v: 8px;
  --KanbanRecord-margin-h: 8px;
  --KanbanRecord-padding-v: 8px;
  --KanbanRecord-padding-h: 8px;
  --KanbanRecord-gap-v: 5px;
  --KanbanRecord--small-width: 300px;
  --KanbanRecord__image-width: 64px;
  --KanbanRecord__image--fill-width: 95px;
  --KanbanRecord__dropdown-gap: 1px;
  --KanbanColumn__highlight-background: #001412;
  --KanbanColumn__highlight-border: #02c7b5;
  --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);
}

.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;
}

.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 #3C3E4B;
  background-color: #262A36;
}

.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, 8px);
  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: 768px) {
  .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: 767.98px) {
  .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(255, 155, 155, 0.5);
  border-right: 2px solid #ff9b9b;
  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(255, 220, 171, 0.5);
  border-right: 2px solid #ffdcab;
  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(255, 232, 139, 0.5);
  border-right: 2px solid #ffe88b;
  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(173, 255, 254, 0.5);
  border-right: 2px solid #adfffe;
  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(241, 127, 220, 0.5);
  border-right: 2px solid #f17fdc;
  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(255, 186, 161, 0.5);
  border-right: 2px solid #ffbaa1;
  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(103, 222, 250, 0.5);
  border-right: 2px solid #67defa;
  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(115, 150, 235, 0.5);
  border-right: 2px solid #7396eb;
  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(255, 113, 167, 0.5);
  border-right: 2px solid #ff71a7;
  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(122, 255, 195, 0.5);
  border-right: 2px solid #7affc3;
  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(204, 144, 254, 0.5);
  border-right: 2px solid #cc90fe;
  content: "";
}

.o_kanban_renderer.o_kanban_ungrouped .o_kanban_record:not(.o_legacy_kanban) {
  flex-grow: 1;
}

@media (max-width: 767.98px) {
  .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 #3C3E4B;
  background-color: #262A36;
}

.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: 767.98px) {
  .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: 992px) {
  .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: 768px) {
  .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: 767.98px) {
  .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: 16px;
}

.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: 768px) {
  .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 11px;
  }
  .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: 24px;
    left: auto;
    bottom: auto;
    right: auto;
    transform-origin: left bottom 0;
    transform: rotate(90deg);
    overflow: visible;
  }
}

@media (max-width: 767.98px) {
  .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: 768px) {
  .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: 767.98px) {
  .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: 768px) {
  .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: 8px;
  --KanbanRecord-padding-h: 16px;
  --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: 767.98px) {
  .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: #E4E4E4;
  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(209, 209, 209, 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: 991.98px) {
  .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: 16px;
  }
}

.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 #3C3E4B;
  background-color: #262A36;
  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 #262A36;
}

.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: #D1D1D1;
  display: block;
}

.o-dropdown--legacy-kanban-record-menu > .o_kanban_card_manage_section > div > a:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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.65625rem 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: #D1D1D1;
  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(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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 #5A5E6B;
}

.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 #5A5E6B;
}

.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: #D1D1D1;
  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(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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: #3C3E4B;
}

.o_kanban_examples_dialog .o_notebook {
  --notebook-link-border-color: #3C3E4B;
  --notebook-link-border-color-hover: #3C3E4B;
  --notebook-link-border-color-active-accent: #6b3e66;
}

.o_kanban_examples_dialog .o_notebook .nav-link.active {
  background-color: #6b3e66;
  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 #3C3E4B;
  background-color: #262A36;
  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: #E4E4E4;
  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: 4px;
}

.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: #D1D1D1;
}

.o_kanban_renderer .o_legacy_kanban_record .o_kanban_record_bottom .o_link_muted:hover {
  color: #6b3e66;
  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: 576px) {
  .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: 767.98px) {
  .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: #ff9b9b;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_1:after {
  background-color: #ff9b9b;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_2 {
  border-left-color: #ffdcab;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_2:after {
  background-color: #ffdcab;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_3 {
  border-left-color: #ffe88b;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_3:after {
  background-color: #ffe88b;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_4 {
  border-left-color: #adfffe;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_4:after {
  background-color: #adfffe;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_5 {
  border-left-color: #f17fdc;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_5:after {
  background-color: #f17fdc;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_6 {
  border-left-color: #ffbaa1;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_6:after {
  background-color: #ffbaa1;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_7 {
  border-left-color: #67defa;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_7:after {
  background-color: #67defa;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_8 {
  border-left-color: #7396eb;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_8:after {
  background-color: #7396eb;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_9 {
  border-left-color: #ff71a7;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_9:after {
  background-color: #ff71a7;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_10 {
  border-left-color: #7affc3;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_10:after {
  background-color: #7affc3;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_11 {
  border-left-color: #cc90fe;
}

.o_kanban_renderer .o_legacy_kanban_record .oe_kanban_color_11:after {
  background-color: #cc90fe;
}

.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: 767.98px) {
  .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: #D1D1D1;
}

.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: #E4E4E4;
}

.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: #ff5757;
  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: 8px;
}

.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.3rem;
  --ListRenderer-thead-padding-y: 24px;
  --ListRenderer-thead-bg-color: #1B1D26;
  --ListRenderer-thead-bg-active-color: #262A36;
  --ListRenderer-thead-border-end-color: #3C3E4B;
  --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);
  /**
        Because of border-collapse, border top and border bottom are 'merged'.

        * cell border overlaps row border
        * when there is a border collapse the first cell (e.g. A1) take over the following cell (e.g. B1 or A2)
        ┌──┬──┐
        │A1│B1│
        ├──┼──┤
        │A2│B2│
        └──┴──┘

        So we apply some rules to have the style wanted:
        */
}

@media (min-width: 768px) {
  .o_list_renderer {
    height: 100%;
  }
  .o_list_renderer .o_list_table thead {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: auto;
    bottom: auto;
    right: auto;
    z-index: var(--sticky-header-zindex);
  }
}

.o_list_renderer th, .o_list_renderer td {
  background-clip: padding-box;
}

.o_list_view .o_list_renderer {
  --ListRenderer-thead-padding-y: 0.5rem;
  --ListRenderer-table-padding-x: 16px;
}

.o_list_renderer .o_list_table {
  --table-bg: #262A36;
  border-collapse: collapse;
  font-variant-numeric: tabular-nums;
}

.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: #E4E4E4;
}

.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.3125rem;
}

.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: #E4E4E4;
  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_column_sortable:not(.o_handle_cell) {
  user-select: none;
}

.o_list_renderer .o_list_table .o_list_record_selector {
  width: 40px;
  vertical-align: middle;
}

.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: #3C3E4B;
  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: #262A36;
}

.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: #303444;
}

.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: #1B1D26;
}

.o_list_renderer .o_list_table tbody > tr.o_group_header .o_group_caret {
  margin-inline-start: calc(var(--o-list-group-level, 0) * 24px);
}

.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: #4ed8cb;
  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 #FFF;
}

.o_list_renderer .o_data_row.o_selected_row > .o_data_cell.o_invalid_cell:not(.o_readonly_modifier) {
  border-bottom: 1px solid #b83232;
}

.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(184, 50, 50, 0.1);
}

.o_list_renderer .o_data_row {
  border-bottom-width: 1px;
}

.o_list_renderer .o_data_row:not(.o_selected_row):not(.o_data_row_selected):focus-within > * {
  --table-accent-bg: rgba(var(--emphasis-color-rgb), 0.2);
}

.o_list_renderer .o_data_row > .o_data_cell {
  border-bottom-width: 0;
}

.o_list_renderer .o_data_row.o_data_row_selected > .o_data_cell {
  border-bottom-width: 1px;
}

.o_list_renderer .o_optional_columns_dropdown .dropdown-item .o-checkbox .text-truncate {
  max-width: 30em;
}

@media (max-width: 767.98px) {
  .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: 767.98px) {
  .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: #D1D1D1;
  font-size: 115%;
}

.o_view_nocontent .o_nocontent_help > p:first-of-type {
  margin-top: 0;
  color: #E4E4E4;
  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: -16px;
  margin-top: -16px;
  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: #262A36;
  height: var(--Status-size, 12px);
  width: var(--Status-size, 12px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}

.o_status.o_status_green {
  background-color: #1dc959;
}

.o_status.o_status_red {
  background-color: #b83232;
}

.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(107, 62, 102, 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(107, 62, 102, 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: #000;
  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: 4px;
}



/* /web/static/src/webclient/actions/action_dialog.scss */

.modal.o_technical_modal .modal-content .modal-body.o_act_window {
  padding: 0;
}

@media (max-width: 767.98px) {
  .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: #1B1D26;
  color: #E4E4E4;
  line-height: 46px;
  box-shadow: inset 0 -1px 0 #3C3E4B;
}

.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 16px;
}

.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: #000;
}

.o_burger_menu .o_burger_menu_content ul li, .o_app_menu_sidebar .o_burger_menu_content ul li {
  padding-left: 16px;
}

.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: 8px;
}

.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(209, 209, 209, 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: #D1D1D1;
}

.o_app_menu_sidebar {
  transform: translateX(100%);
}

@media (max-width: 767.98px) {
  .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: #D1D1D1;
  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: #6b3e66;
  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: #001412;
  --SearchableSetting__highlight-border: #02c7b5;
}

.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='%23D1D1D1' 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: #1B1D26;
  --settings__tab-bg--active: #364c56;
  --settings__tab-color: #B1B3BC;
  --settings__title-bg: #262A36;
  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, #364c56);
  box-shadow: inset 2px 0 0 #02c7b5;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings_tab .tab {
  display: -webkit-box; display: -webkit-flex; display: flex;
  padding: 0 32px 0 16px;
  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: #E4E4E4;
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings {
  position: relative;
  flex: 1 1 100%;
  background-color: #262A36;
  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 16px;
  background-color: var(--settings__title-bg);
  font-size: 15px;
}

@media (min-width: 1200px) {
  .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: 32px;
  }
}

.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 16px;
  font-weight: 400;
  font-size: 13px;
}

@media (min-width: 1200px) {
  .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: 32px;
  }
}

.o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
  max-width: 992px;
  margin-bottom: 24px;
}

@media (min-width: 768px) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
    padding: 0 16px;
  }
}

@media (min-width: 768px) and (min-width: 1200px) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings > .app_settings_block .o_settings_container {
    padding-left: 32px;
  }
}

.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 16px;
  background-color: #262A36;
}

@media (min-width: 1200px) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings .settingSearchHeader {
    padding-left: 32px;
  }
}

.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 16px;
}

@media (min-width: 1200px) {
  .o_base_settings_view .o_form_renderer .o_setting_container .settings .app_settings_header {
    padding-left: 32px;
  }
}

.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: 767.98px) {
  .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: 16px;
    padding-bottom: 10px;
    padding-left: 16px;
  }
  .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 #3C3E4B;
  }
  .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: #6b3e66;
    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: 16px;
}

.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:dark;
  font-size: 1rem;
}

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: #1B1D26;
  color-scheme: dark;
}

.o_icon_button {
  background-color: transparent;
  border: 0;
  padding: 0;
  outline: none;
}

kbd {
  border: 1px solid #262A36;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2), inset 0px -1px 1px 1px rgba(209, 209, 209, 0.8), inset 0px 2px 0px 0px rgba(255, 255, 255, 0.8);
}

.bg-primary-light {
  --bg-light: rgba(107, 62, 102, 0.5);
  --color-light: #FFF;
  background-color: rgba(107, 62, 102, 0.5) !important;
  color: #FFF;
}

.bg-primary-light .text-muted, .o_colored_level .bg-primary-light .text-muted {
  color: rgba(255, 255, 255, 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(75, 43, 71, 0.5);
  --color-light: #FFF;
  background-color: rgba(75, 43, 71, 0.5) !important;
  color: #FFF;
}

.bg-secondary-light {
  --bg-light: rgba(60, 62, 75, 0.5);
  --color-light: #FFF;
  background-color: rgba(60, 62, 75, 0.5) !important;
  color: #FFF;
}

.bg-secondary-light .text-muted, .o_colored_level .bg-secondary-light .text-muted {
  color: rgba(255, 255, 255, 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(37, 39, 47, 0.5);
  --color-light: #FFF;
  background-color: rgba(37, 39, 47, 0.5) !important;
  color: #FFF;
}

.bg-success-light {
  --bg-light: rgba(29, 201, 89, 0.5);
  --color-light: #FFF;
  background-color: rgba(29, 201, 89, 0.5) !important;
  color: #FFF;
}

.bg-success-light .text-muted, .o_colored_level .bg-success-light .text-muted {
  color: rgba(255, 255, 255, 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(23, 156, 69, 0.5);
  --color-light: #FFF;
  background-color: rgba(23, 156, 69, 0.5) !important;
  color: #FFF;
}

.bg-info-light {
  --bg-light: rgba(106, 181, 251, 0.5);
  --color-light: #FFF;
  background-color: rgba(106, 181, 251, 0.5) !important;
  color: #FFF;
}

.bg-info-light .text-muted, .o_colored_level .bg-info-light .text-muted {
  color: rgba(255, 255, 255, 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(56, 156, 250, 0.5);
  --color-light: #FFF;
  background-color: rgba(56, 156, 250, 0.5) !important;
  color: #FFF;
}

.bg-warning-light {
  --bg-light: rgba(233, 157, 0, 0.5);
  --color-light: #FFF;
  background-color: rgba(233, 157, 0, 0.5) !important;
  color: #FFF;
}

.bg-warning-light .text-muted, .o_colored_level .bg-warning-light .text-muted {
  color: rgba(255, 255, 255, 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: #FFF;
  background-color: rgba(182, 123, 0, 0.5) !important;
  color: #FFF;
}

.bg-danger-light {
  --bg-light: rgba(184, 50, 50, 0.5);
  --color-light: #FFF;
  background-color: rgba(184, 50, 50, 0.5) !important;
  color: #FFF;
}

.bg-danger-light .text-muted, .o_colored_level .bg-danger-light .text-muted {
  color: rgba(255, 255, 255, 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(144, 39, 39, 0.5);
  --color-light: #FFF;
  background-color: rgba(144, 39, 39, 0.5) !important;
  color: #FFF;
}

.bg-light-light {
  --bg-light: rgba(60, 62, 75, 0.5);
  --color-light: #FFF;
  background-color: rgba(60, 62, 75, 0.5) !important;
  color: #FFF;
}

.bg-light-light .text-muted, .o_colored_level .bg-light-light .text-muted {
  color: rgba(255, 255, 255, 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(37, 39, 47, 0.5);
  --color-light: #FFF;
  background-color: rgba(37, 39, 47, 0.5) !important;
  color: #FFF;
}

.bg-dark-light {
  --bg-light: rgba(177, 179, 188, 0.5);
  --color-light: #FFF;
  background-color: rgba(177, 179, 188, 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(150, 152, 164, 0.5);
  --color-light: #FFF;
  background-color: rgba(150, 152, 164, 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: #FFF;
}

: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(255, 255, 255, 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: #02c7b5;
  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(209, 209, 209, 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: #02c7b5;
  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(209, 209, 209, 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='%23D1D1D1' points='3.5 4 7 0 0 0'/></svg>") no-repeat right center;
  border-radius: 0;
  color: #D1D1D1;
}

select > option {
  background: #3C3E4B;
}

select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #D1D1D1;
}

select:-moz-focusring > option {
  color: #D1D1D1;
}

::-webkit-input-placeholder {
  color: #757a89;
}

::-moz-placeholder {
  color: #757a89;
}

:-ms-input-placeholder {
  color: #757a89;
}

@media (max-width: 767.98px) {
  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 #6b3e66;
  outline-offset: -1px;
}

.btn:focus:hover {
  box-shadow: none;
}

.navbar .navbar-toggle {
  border-color: transparent;
}

.label {
  border-radius: 0;
  font-size: 1em;
}



/* /web/static/src/webclient/webclient_layout.scss */

html {
  height: 100%;
}

html .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 .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 .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: 992px) {
  html .o_web_client > .o_action_manager > .o_action {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  html .o_web_client > .o_action_manager > .o_action::-webkit-scrollbar {
    display: none;
  }
}

html .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 .o_web_client > .o_action_manager > .o_action .o_content {
  height: 100%;
}

@media (max-width: 767.98px) {
  html .o_web_client > .o_action_manager > .o_action:not(.o_action_delegate_scroll), html .o_web_client > .o_action_manager > .o_action .o_form_view_container {
    overflow: auto;
  }
  html .o_web_client > .o_action_manager > .o_action:not(.o_action_delegate_scroll) .o_content, html .o_web_client > .o_action_manager > .o_action .o_form_view_container .o_content {
    overflow: initial;
  }
}

html .o_web_client .o_main_navbar {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

html .o_web_client .o_control_panel {
  -webkit-box-flex: 0; -webkit-flex: 0 0 auto; flex: 0 0 auto;
}

html .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 .o_web_client .o_content > .o_view_controller {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  direction: ltr;
}

html body.modal-open {
  position: fixed;
}



/* /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: #3C3E4B;
  border: var(--border-width) solid #5A5E6B;
  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: #D1D1D1;
}

.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: #E4E4E4;
}

.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: #E4E4E4;
  background-color: rgba(255, 255, 255, 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: #02c7b5;
}

.ui-widget.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a.ui-state-active {
  color: #4ed8cb;
}

.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: #D1D1D1;
}



/* /web/static/src/legacy/scss/fields.scss */

.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a {
  color: #6b3e66;
}

.ui-autocomplete .ui-menu-item.o_m2o_dropdown_option > a.ui-state-active {
  color: #6b3e66;
}

.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.25;
}

.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, #6b3e66);
  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.5) + var(--border-width) * 2);
  min-width: 0;
}

@media (min-width: 768px) {
  .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, #6b3e66);
}

.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: 768px) {
  .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: #3C3E4B;
  --button-box-spacing: 16px;
  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: 8px;
  padding-bottom: 8px;
}



/* /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: #6b3e66;
  --TourPointer__color-accent: #824b7c;
  --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: #3C3E4B;
  color: transparent;
  transition: color 0s ease var(--TourPointer__expand-duration);
  line-height: 1.5;
  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: #5A5E6B;
  background-color: #3C3E4B;
  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: #5A5E6B;
  border-radius: 0;
  background: #3C3E4B;
  box-shadow: none;
}

.o_tour_pointer.o_open .o_tour_pointer_content {
  color: #FFF;
}

.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.3);
}

.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 #02c7b5;
}

:root {
  --100: #1B1D26;
  --200: #262A36;
  --300: #3C3E4B;
  --400: #5A5E6B;
  --500: #6B707F;
  --600: #7E8392;
  --700: #B1B3BC;
  --800: #D1D1D1;
  --900: #E4E4E4;
  --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: #6b3e66;
  --color-light: #FFF;
  background-color: #6b3e66 !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: #4b2b47;
  --color-light: #FFF;
  background-color: #4b2b47 !important;
  color: #FFF;
}

.text-o-color-1 {
  --color: RGBA(107, 62, 102, 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(129, 91, 125, 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(77, 80, 94, 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(245, 244, 244, 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(255, 255, 255, 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(53, 59, 71, var(--text-opacity, 1));
  color: var(--color) !important;
}



/* /html_editor/static/src/main/font/font_plugin.scss */

pre {
  padding: 8px 16px;
  border: 1px solid #3C3E4B;
  border-radius: 0.25rem;
  background-color: #1B1D26;
  color: #E4E4E4;
}

pre.o-we-hint::after {
  padding: 8px 16px;
}

blockquote {
  padding: 8px 16px;
  border-left: 5px solid;
  border-color: #3C3E4B;
  font-style: italic;
}

blockquote.o-we-hint::after {
  padding: 8px 16px;
}



/* /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 #3C3E4B;
  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: 576px) {
  .editor_notification_manager {
    width: calc(calc(400px - 3rem) + 3rem);
  }
}

.editor_notification_body {
  width: calc(100% - 3rem);
}

@media (min-width: 576px) {
  .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: #3C3E4B;
  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.3);
}

.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: #7E8392;
}

.o-we-command.active {
  background: rgba(54, 76, 86, 0.65);
}

.o-we-command-img {
  height: 35px;
  width: 35px;
  background-color: #1B1D26;
}

.o-we-command-name {
  font-size: 13px;
}

.o-we-command-description {
  font-size: 12px;
  color: rgba(209, 209, 209, 0.76);
}



/* /html_editor/static/src/main/table/table_menu.scss */

.o-we-table-menu {
  border: 1px solid #6b3e66;
  color: #fff;
  background-color: rgba(107, 62, 102, 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.3);
}

.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 #3C3E4B;
  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.3125rem;
  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.3125rem;
  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.3125rem;
  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.3125rem;
  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.3125rem;
  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.3125rem;
  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: 16px;
  border-radius: 100%;
  padding: 12px 16px 11px 18px;
  background-color: rgba(0, 0, 0, 0.4);
  color: rgba(60, 62, 75, 0.7);
}

.o_modal_fullscreen .arrow:hover {
  background-color: rgba(0, 0, 0, 0.6);
  color: white;
}

.o_modal_fullscreen .arrow.disabled {
  color: #7E8392;
  background: none;
}

.o_modal_fullscreen .arrow-left {
  left: 16px;
  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(0, 0, 0, 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 #3C3E4B;
  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: 8px 8px;
}



/* /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 #02c7b5;
}



/* /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: #D1D1D1;
}

.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(209, 209, 209, 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: #1dc959;
}

.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: #262A36;
}

.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(60, 62, 75, 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: #7E8392;
    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(60, 62, 75, 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: #7E8392;
  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: #3C3E4B;
}

.o-mail-AutoresizeInput:not([disabled]):focus {
  --o-input-border-color: #FFF;
}



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

.o-mail-ChatBubble {
  height: auto !important;
  z-index: 1001;
  border: none !important;
  padding: 0 8px;
  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: 2px;
  border: 1px solid #4b4e5b;
}

.o-mail-ChatBubble-close:not(:hover) {
  color: rgba(209, 209, 209, 0.76);
}

.o-mail-ChatBubble-close:hover {
  background-color: #3C3E4B !important;
  border-color: #6B707F;
}

.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: #4b4e5b !important;
}

.o-mail-ChatBubble-preview + .popover-arrow::before {
  border-left-color: #4b4e5b !important;
  right: 1px !important;
}

.o-mail-ChatBubble-preview + .popover-arrow::after {
  border-left-color: #1B1D26 !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.15);
}

.o-mail-ChatHub-hiddenAvatar {
  width: 28px;
  height: 28px;
}

.o-mail-ChatHub-hiddenBtnIcon {
  color: #FFFFFF !important;
  background-color: #6b3e66 !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: 2px;
  border: 1px solid transparent;
}

.o-mail-ChatHub-hiddenClose:hover {
  border-color: #4b4e5b;
}

.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: #3C3E4B;
}

.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: #4b4e5b !important;
}

.o-mail-ChatHub-option:hover, .o-mail-ChatHub-option.o-active {
  background-color: #3C3E4B;
  cursor: pointer;
}

.o-mail-ChatHub-optionsBtn {
  font-size: 15px;
  width: 30px !important;
  height: 30px !important;
  border: 1px solid #4b4e5b !important;
}

.o-mail-ChatHub-optionsBtn:hover, .o-mail-ChatHub-optionsBtn.show {
  background-color: #3C3E4B !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: 2px;
}

.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: 2px;
}

.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: 2px;
}

.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(2, 199, 181, 0.75);
  opacity: 100% !important;
}

.o-mail-Composer-actions button.o-mail-Composer-send.btn-link:not(:disabled):focus-visible {
  outline: #017b70 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, #262A36);
  --border-opacity: .5;
}

.o-mail-Composer-inputStyle {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 12px;
  padding-right: 12px;
  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: 8px;
  padding-right: 8px;
}

.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: 48px !important;
}

.o-mail-Composer-bg:has(textarea:focus) {
  --border-opacity: 0.35;
  border-color: rgba(2, 199, 181, var(--border-opacity)) !important;
}



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

.o-mail-discussSidebarBgColor {
  background-color: #000;
}

.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: #1dc959;
  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: #5A5E6B;
}

.o-discuss-mobileContextMenu {
  top: auto !important;
  border-top: 1px solid #3C3E4B !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: 2px;
}

.o-py-0_5 {
  padding-top: 2px;
  padding-bottom: 2px;
}

.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: #4b2b47;
  background-color: rgba(107, 62, 102, 0.15);
  border-color: rgba(107, 62, 102, 0.25);
}

a.o_mail_redirect:hover, a.o_channel_redirect:hover {
  color: #3b2238;
  background-color: rgba(107, 62, 102, 0.2);
  border-color: rgba(107, 62, 102, 0.5);
}

a.o_mail_redirect:focus, a.o_channel_redirect:focus {
  box-shadow: 89, 52, 85;
}

a.o_mail_redirect:active, a.o_channel_redirect:active {
  color: #FFF;
  background-color: rgba(26, 15, 25, 0.32);
  border-color: rgba(60, 35, 57, 0.325);
}

a.o_mail_redirect:disabled, a.o_channel_redirect:disabled {
  color: #FFF;
  background-color: rgba(107, 62, 102, 0.15);
  border-color: rgba(107, 62, 102, 0.25);
}

a.o-discuss-mention {
  color: #4b2b47;
  background-color: rgba(107, 62, 102, 0.15);
  border-color: rgba(107, 62, 102, 0.25);
  cursor: default !important;
}

a.o-discuss-mention:hover {
  color: #4b2b47;
  background-color: rgba(107, 62, 102, 0.15);
  border-color: rgba(107, 62, 102, 0.25);
}

a.o-discuss-mention:focus {
  box-shadow: 89, 52, 85;
}

a.o-discuss-mention:active {
  color: #FFF;
  background-color: rgba(26, 15, 25, 0.32);
  border-color: rgba(60, 35, 57, 0.325);
}

a.o-discuss-mention:disabled {
  color: #FFF;
  background-color: rgba(107, 62, 102, 0.15);
  border-color: rgba(107, 62, 102, 0.25);
}

.o-discuss-inCallIconColor {
  color: #02c7b5;
}

.o-mail-DiscussSystray {
  --border-color: #3C3E4B !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(60, 62, 75, 0.35);
  outline-offset: -1px;
  background-color: #262A36;
  --border-opacity: .5;
}

.o-mail-Message.o-highlighted {
  transform: translateY(-16px);
}

.o-mail-Message.o-actionMenuMobileOpen {
  background-color: rgba(2, 199, 181, 0.1);
  outline: 1px solid rgba(2, 199, 181, 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: 12px;
  padding-right: 12px;
}

.o-mail-Message.o-editing .o-mail-Message-body:not(.o-note) {
  padding-left: 4px;
  padding-right: 4px;
}

.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: #2f3b4f !important;
  border-color: #1c232f !important;
}

.o-mail-Message-bubble.o-blue.o-muted {
  background-color: #181e28 !important;
}

.o-mail-Message-bubble.o-green {
  background-color: #253e3a !important;
  border-color: #121e1c !important;
}

.o-mail-Message-bubble.o-green.o-muted {
  background-color: #131f1d !important;
}

.o-mail-Message-bubble.o-orange {
  background-color: #574729 !important;
  border-color: #342b19 !important;
}

.o-mail-Message-bubble.o-orange.o-muted {
  background-color: #0d0b06 !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: #ffd532;
}

.o-mail-Message-translated {
  color: #02c7b5;
}



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

.o-mail-MessageActionMenuMobile button {
  border-color: #3C3E4B;
}

.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, #262A36);
}

.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(38, 42, 54, 0.5) !important;
}

.o-mail-MessageInReply-core.o-blue {
  border-left-color: #487099 !important;
}

.o-mail-MessageInReply-core.o-green {
  border-left-color: #227a48 !important;
}

.o-mail-MessageInReply-core.o-orange {
  border-left-color: #9b6f16 !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: #6b3e66;
}

.o-mail-MessageReactionList-preview:hover {
  background-color: #1B1D26 !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: #1B1D26;
}



/* /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: #2d2c3b;
}



/* /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, #223a43);
}

.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, #1B1D26);
}

.o-mail-Discuss-threadContainerHeader {
  background-color: var(--mail-Discuss-coreBgColor, #1B1D26);
}

.o-mail-Discuss-selfAvatar {
  height: 28px;
  width: 28px;
}

.o-mail-Discuss-threadName {
  max-width: 75%;
}

.o-mail-Discuss-header {
  background-color: #000;
  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: #262A36;
}

.o-mail-Discuss-headerActions button.o-isActive {
  background-color: #3C3E4B;
  outline: 1px solid #6B707F;
  outline-offset: -1px;
  opacity: 100%;
}

.o-mail-Discuss-headerActions button.o-isActive:hover {
  background-color: #3C3E4B;
}

.o-mail-Discuss-headerActionsGroup {
  --border-opacity: 0;
  background-color: #1e202a;
}

.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(255, 255, 255, 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: 2px;
}

.o-mail-DiscussSidebar-optionsBtn:not(.o-compact) {
  right: 12px;
}

.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: 2px;
  padding-bottom: 2px;
}

.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, #223a43) !important;
  outline-color: var(--mail-DiscussSidebar-itemActiveOutlineColor, rgba(2, 199, 181, 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, #262A36);
}

.o-mail-MessagingMenu-list {
  background-color: var(--mail-MessagingMenu-bg, #262A36);
}

.o-mail-MessagingMenu-navbar button.o-active {
  background-color: #21242e;
}

.o-mail-MessagingMenu-navbar button:hover {
  background-color: #21242e;
}



/* /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, #262A36);
}

.o-mail-NotificationItem.o-important {
  background-color: #212836 !important;
  border-color: #171c26 !important;
}

.o-mail-NotificationItem.o-active {
  outline-color: rgba(2, 199, 181, var(--mail-NotificationItem-activeOutlineOpacity, 0.5));
}

.o-mail-NotificationItem:hover, .o-mail-NotificationItem.o-active {
  background-color: #21242e !important;
}

.o-mail-NotificationItem:hover.o-important, .o-mail-NotificationItem.o-active.o-important {
  background-color: #253041 !important;
}

.o-mail-NotificationItem:not(.o-small) {
  padding-left: 12px;
}

.o-mail-NotificationItem-avatarContainer {
  height: 40px;
  aspect-ratio: 1;
  margin-top: 2px;
  margin-bottom: 2px;
}

.o-mail-NotificationItem-avatarContainer.o-small {
  margin: 4px;
}

.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: #1dc959 !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: #51a9fa;
  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 #262A36;
}



/* /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: 10px;
  padding-bottom: 10px;
}



/* /mail/static/src/core/web/follower_subtype_dialog.scss */

.o-mail-FollowerSubtypeDialog-subtype label:hover {
  background-color: #262A36;
}



/* /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(2, 199, 181, 0.075);
  border-color: rgba(2, 199, 181, 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: #1B1D26;
}

.o-mail-Chatter-top.shadow-sm {
  background-image: linear-gradient(90deg, transparent, #262A36, transparent);
}

.o-mail-Chatter-top, .o-mail-Chatter-content {
  --Chatter-default-padding-x: 16px;
  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: #262A36;
}

.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, #3C3E4B);
}

.btn.o-mail-Chatter-follow:hover {
  color: #FFF !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: 8px;
  }
}

.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: 8px;
  }
}

.o-mail-ChatterContainer, .o-mail-Form-chatter {
  display: -webkit-box; display: -webkit-flex; display: flex;
  margin: 0 auto;
  padding-bottom: 48px;
  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: #3C3E4B;
  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 #02c7b5;
}



/* /mail/static/src/discuss/core/common/action_panel.scss */

.o-mail-ActionPanel .form-check-input {
  --form-check-bg: #000;
}

@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: #1B1D26 !important;
}

.o-discuss-ChannelInvitation-selectable:hover {
  background-color: #21242e !important;
}

.o-discuss-ChannelInvitation-selectable.o-selected {
  background-color: #214249 !important;
}

.o-discuss-ChannelInvitation-selectedList {
  max-height: 100px;
}

.o-discuss-ChannelInvitation-selectedList button {
  background-color: #214249;
}

.o-discuss-ChannelInvitation-selectedList button:not(:hover) .oi-close {
  border-color: transparent !important;
}

.o-discuss-ChannelInvitation-selectedList button:hover .oi-close {
  color: #b83232;
  border-color: #b83232 !important;
}

.o-discuss-ChannelInvitation-avatar {
  width: 32px;
  aspect-ratio: 1;
}

.o-discuss-ChannelInvitation-invitationBox {
  position: sticky;
  bottom: -8px;
}



/* /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, #21242e);
}

.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, #262A36);
}



/* /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, #262A36);
}

.o-discuss-NotificationSettings-defaultValue {
  color: #02c7b5;
}



/* /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 #5d3f00;
}

.o-bus-ConnectionAlert-failure {
  width: fit-content;
  animation: o-bus-ConnectionAlert-failureAnimation ease-in-out .5s forwards;
  padding: 4px;
  padding-bottom: 2px;
}

.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: #FFF;
}

@keyframes o-bus-ConnectionAlert-iconAnimation {
  from {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}

@keyframes o-bus-ConnectionAlert-borderAnimation {
  from {
    border-color: rgba(93, 63, 0, 0);
  }
  to {
    border-color: #5d3f00;
  }
}

@keyframes o-bus-ConnectionAlert-failureAnimation {
  from {
    opacity: 0%;
    background-color: rgba(93, 63, 0, 0.5);
  }
  to {
    opacity: 100%;
    background-color: #5d3f00;
  }
}



/* /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, #040404) !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(2, 199, 181, 0.15));
  background-color: #262A36 !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: 4px;
}

.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: 12px;
}

.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: 32px;
}

.o-mail-DiscussSidebar-unreadIndicator {
  font-size: 0.35rem;
  left: 0px;
}

.o-mail-DiscussSidebarSubchannel .o-mail-DiscussSidebar-unreadIndicator:not(.o-compact) {
  left: 10px;
}

.o-mail-DiscussSidebarCategories-quickSearchBtn {
  padding-top: 8px;
  padding-bottom: 8px;
}

.o-mail-DiscussSidebarCategories-quickSearchBtn.o-active {
  background-color: rgba(2, 199, 181, 0.75);
  color: #fff;
}

.o-mail-DiscussSidebarQuickSearchInput {
  outline: 1px solid #3c3e4b;
  outline-offset: -1px;
}

.o-mail-DiscussSidebarQuickSearchInput.o-active {
  outline-color: #02c7b5;
}

.o-mail-DiscussSidebarSubchannel svg {
  color: var(--mail-DiscussSidebarSubchannel-svgColor, #444653);
  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: #1B1D26 !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(2, 199, 181, 0.75);
}



/* /mail/static/src/discuss/call/common/call.scss */

.o-discuss-Call {
  height: 50%;
  min-height: 50%;
  background: var(--o-discuss-Call-bgColor, #B1B3BC);
}

.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: #E4E4E4;
}

.o-discuss-Call-sidebar::-webkit-scrollbar-thumb {
  background: #B1B3BC;
}

.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, #D1D1D1);
  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: #3C3E4B !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(2, 199, 181, 0.7) !important;
  background-color: #161d24 !important;
}

.o-discuss-CallMenu-buttonContent.o-isOdooCommunity {
  height: 26px !important;
  overflow: hidden;
  color: #02c7b5 !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 4px var(--discuss-talkingColor, #37e273);
}

.o-discuss-CallParticipantCard.o-isTalking.o-inset {
  box-shadow: inset 0 0 0 2px var(--discuss-talkingColor, #37e273);
}

.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, #B1B3BC);
}

.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, #37e273);
  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 #b83232;
}

@keyframes o-discuss-CallParticipantCard-avatarImag_borderPulse {
  0% {
    border: solid white;
  }
  20% {
    border: solid #7E8392;
  }
  35% {
    border: solid #1B1D26;
  }
  50% {
    border: solid #7E8392;
  }
  70% {
    border: solid #1B1D26;
  }
  85% {
    border: solid #B1B3BC;
  }
}

.o-discuss-CallParticipantCard-iconBlackBg {
  background-color: rgba(0, 0, 0, 0.75);
  opacity: 75%;
}

.o-discuss-CallParticipantCard-overlay {
  margin: Min(5%, 8px);
}

.o-discuss-CallParticipantCard-overlayBottomName {
  background-color: rgba(0, 0, 0, 0.75);
}

.o-discuss-CallParticipantCard-overlay-replayButton {
  background-color: #E4E4E4;
}

.o-discuss-CallParticipantCard-overlay-replayButton:hover {
  background-color: #B1B3BC;
}

.o-discuss-CallParticipantCard-overlay-replayButton:active {
  background-color: #D1D1D1;
}



/* /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: #1dc959 !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(29, 201, 89, 0.35);
  }
  .o-mail-ChatWindow-command:hover:has(.fa-phone) i, .o-mail-ChatWindow-command:hover:has(.fa-video-camera) i {
    color: #21df63 !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: #1dc959 !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: #1B1D26 !important;
    outline: 1px solid rgba(29, 201, 89, 0.25);
  }
  .o-mail-Discuss-headerActions button:hover:has(.fa-phone) i, .o-mail-Discuss-headerActions button:hover:has(.fa-video-camera) i {
    color: #21df63 !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: #262A36;
}

.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: #ffd532 !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: #262A36;
}

.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, #37e273);
  outline-offset: -2px;
}

.o-mail-DiscussSidebarCallParticipants-name {
  color: #FFF;
  opacity: 60%;
}

.o-mail-DiscussSidebarCallParticipants-name.o-isTalking {
  opacity: 100%;
}

.o-mail-DiscussSidebarCallParticipants-status.o-compact span {
  padding: 2px;
}

.o-mail-DiscussSidebarCallParticipants-status.o-compact .o-live {
  font-size: 0.5rem;
}

.o-mail-DiscussSidebarCallParticipants-status .o-live {
  font-size: 0.6rem;
  padding: 2px;
}



/* /mail/static/src/discuss/call/public_web/discuss_sidebar_categories_patch.scss */

.o-mail-DiscussSidebarChannel-container.o-bordered.o-selfInCall {
  border: 1px solid rgba(2, 199, 181, var(--o-mail-DiscussSidebarChannel-inCallBorderOpacity, 0.15)) !important;
  background-color: #161d24 !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: 16px 16px;
}



/* /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 #3C3E4B;
  background-color: #262A36;
  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, #262A36 0%, #1B1D26 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, #c67c7a 0%, #7188c1 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 #7188c1;
  color: #7188c1;
}

.o_onboarding_main .o_onboarding_step .o_onboarding_step_action__done i {
  background-color: #c67c7a;
  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: #364c56;
  border-color: #02c7b5;
}



/* /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: #b83232;
  margin-left: 8px;
}

.o_field_analytic_distribution .analytic_distribution_popup .o_analytic_status_ok {
  background-color: #1dc959;
  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: #3C3E4B;
}

.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: -16px;
  background-color: #262A36;
}

.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 #6b3e66;
}

.modal .o_select_media_dialog .o_we_attachment_selected:not(.fa) {
  border: 3px solid #6b3e66;
  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: #6b3e66;
  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.3);
}

.modal .o_select_media_dialog .o_we_load_more {
  scroll-margin: 16px;
}

.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: #1B1D26;
  --200: #262A36;
  --300: #3C3E4B;
  --400: #5A5E6B;
  --500: #6B707F;
  --600: #7E8392;
  --700: #B1B3BC;
  --800: #D1D1D1;
  --900: #E4E4E4;
  --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: #683c63;
  --o-cc1-btn-primary: #6b3e66;
  --o-cc1-btn-primary-text: #FFF;
  --o-cc1-btn-primary-border: #6b3e66;
  --o-cc1-btn-secondary: #3C3E4B;
  --o-cc1-btn-secondary-text: #FFF;
  --o-cc1-btn-secondary-border: #3C3E4B;
  --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: #583354;
  --o-cc2-btn-primary: #6b3e66;
  --o-cc2-btn-primary-text: #FFF;
  --o-cc2-btn-primary-border: #6b3e66;
  --o-cc2-btn-secondary: #3C3E4B;
  --o-cc2-btn-secondary-text: #FFF;
  --o-cc2-btn-secondary-border: #3C3E4B;
  --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: #b178aa;
  --o-cc3-btn-primary: #6b3e66;
  --o-cc3-btn-primary-text: #FFF;
  --o-cc3-btn-primary-border: #6b3e66;
  --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: #b178aa;
  --o-cc5-btn-primary: #6b3e66;
  --o-cc5-btn-primary-text: #FFF;
  --o-cc5-btn-primary-border: #6b3e66;
  --o-cc5-btn-secondary-text: #000;
  --o-cc5-btn-secondary-border: #F3F2F2;
  --o-grid-gutter-width: 32px;
  --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: 8px 16px;
  border: 1px solid #3C3E4B;
  border-radius: 0.25rem;
  background-color: #1B1D26;
  color: #E4E4E4;
}

*[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: 767.98px) {
  #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: #D1D1D1;
  font-size: 115%;
}

.o_nocontent_help > p:first-of-type {
  margin-top: 0;
  color: #E4E4E4;
  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: 767.98px) {
  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: 8px 16px;
  border-left: 5px solid;
  border-color: #3C3E4B;
  font-style: italic;
}

pre {
  white-space: pre-wrap;
}

pre p {
  margin-bottom: 0px;
}

.bg-o-color-1 {
  --bg-light: #6b3e66;
  --color-light: #FFF;
  background-color: #6b3e66 !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: #4b2b47;
  --color-light: #FFF;
  background-color: #4b2b47 !important;
  color: #FFF;
}

.text-o-color-1 {
  --color: RGBA(107, 62, 102, 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(129, 91, 125, 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(77, 80, 94, 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(245, 244, 244, 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(255, 255, 255, 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(53, 59, 71, 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: #D1D1D1 !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: #E4E4E4 !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, #E4E4E4) !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(209, 209, 209, 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: #7E8392;
}

.o_cc .dropdown-menu .dropdown-item-text .text-muted a, .o_colored_level .o_cc .dropdown-menu .dropdown-item-text .text-muted a {
  color: #02c7b5;
}

.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: #4ed8cb;
}

.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: #683c63;
}

.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: #3b2238;
}

.o_cc1 .btn-fill-primary, .o_colored_level .o_cc1 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #563252;
  --btn-active-border-color: #60385c;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.o_cc1 .btn-outline-primary, .o_colored_level .o_cc1 .btn-outline-primary {
  --btn-color: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #6b3e66;
  --btn-hover-border-color: #6b3e66;
  --btn-focus-shadow-rgb: 107, 62, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #6b3e66;
  --btn-active-border-color: #6b3e66;
  --btn-active-shadow: 0;
  --btn-disabled-color: #6b3e66;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #6b3e66;
  --gradient: none;
}

.o_cc1 .btn-fill-secondary, .o_colored_level .o_cc1 .btn-fill-secondary {
  --btn-color: #FFF;
  --btn-bg: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #333540;
  --btn-hover-border-color: #363844;
  --btn-focus-shadow-rgb: 89, 91, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #30323c;
  --btn-active-border-color: #363844;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #3C3E4B;
  --btn-disabled-border-color: #3C3E4B;
}

.o_cc1 .btn-outline-secondary, .o_colored_level .o_cc1 .btn-outline-secondary {
  --btn-color: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 60, 62, 75;
  --btn-active-color: #FFF;
  --btn-active-bg: #3C3E4B;
  --btn-active-border-color: #3C3E4B;
  --btn-active-shadow: 0;
  --btn-disabled-color: #3C3E4B;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #3C3E4B;
  --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: #6b3e66;
  color: #FFF;
}

.o_cc1 a.list-group-item, .o_colored_level .o_cc1 a.list-group-item {
  color: #6b3e66;
}

.o_cc1 a.list-group-item.active, .o_colored_level .o_cc1 a.list-group-item.active {
  background-color: #6b3e66;
  color: #FFF;
  border-color: #6b3e66;
}

.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: #583354;
}

.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: #3b2238;
}

.o_cc2 .btn-fill-primary, .o_colored_level .o_cc2 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #563252;
  --btn-active-border-color: #60385c;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.o_cc2 .btn-outline-primary, .o_colored_level .o_cc2 .btn-outline-primary {
  --btn-color: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #6b3e66;
  --btn-hover-border-color: #6b3e66;
  --btn-focus-shadow-rgb: 107, 62, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #6b3e66;
  --btn-active-border-color: #6b3e66;
  --btn-active-shadow: 0;
  --btn-disabled-color: #6b3e66;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #6b3e66;
  --gradient: none;
}

.o_cc2 .btn-fill-secondary, .o_colored_level .o_cc2 .btn-fill-secondary {
  --btn-color: #FFF;
  --btn-bg: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #333540;
  --btn-hover-border-color: #363844;
  --btn-focus-shadow-rgb: 89, 91, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #30323c;
  --btn-active-border-color: #363844;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #3C3E4B;
  --btn-disabled-border-color: #3C3E4B;
}

.o_cc2 .btn-outline-secondary, .o_colored_level .o_cc2 .btn-outline-secondary {
  --btn-color: #3C3E4B;
  --btn-border-color: #3C3E4B;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #3C3E4B;
  --btn-hover-border-color: #3C3E4B;
  --btn-focus-shadow-rgb: 60, 62, 75;
  --btn-active-color: #FFF;
  --btn-active-bg: #3C3E4B;
  --btn-active-border-color: #3C3E4B;
  --btn-active-shadow: 0;
  --btn-disabled-color: #3C3E4B;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #3C3E4B;
  --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: #6b3e66;
  color: #FFF;
}

.o_cc2 a.list-group-item, .o_colored_level .o_cc2 a.list-group-item {
  color: #6b3e66;
}

.o_cc2 a.list-group-item.active, .o_colored_level .o_cc2 a.list-group-item.active {
  background-color: #6b3e66;
  color: #FFF;
  border-color: #6b3e66;
}

.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: #b178aa;
}

.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: black;
}

.o_cc3 .btn-fill-primary, .o_colored_level .o_cc3 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #563252;
  --btn-active-border-color: #60385c;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.o_cc3 .btn-outline-primary, .o_colored_level .o_cc3 .btn-outline-primary {
  --btn-color: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #6b3e66;
  --btn-hover-border-color: #6b3e66;
  --btn-focus-shadow-rgb: 107, 62, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #6b3e66;
  --btn-active-border-color: #6b3e66;
  --btn-active-shadow: 0;
  --btn-disabled-color: #6b3e66;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #6b3e66;
  --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: whitesmoke;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f6f5f5;
  --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: #6b3e66;
  color: #FFF;
}

.o_cc3 a.list-group-item, .o_colored_level .o_cc3 a.list-group-item {
  color: #6b3e66;
}

.o_cc3 a.list-group-item.active, .o_colored_level .o_cc3 a.list-group-item.active {
  background-color: #6b3e66;
  color: #FFF;
  border-color: #6b3e66;
}

.o_cc4 {
  --bg-light: #6b3e66;
  --color-light: #FFF;
  background-color: #6b3e66;
  color: #FFF;
  --o-cc-bg: #6b3e66;
}

.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: #0f1623;
  --btn-focus-shadow-rgb: 53, 59, 71;
  --btn-active-color: #FFF;
  --btn-active-bg: #0e131f;
  --btn-active-border-color: #0f1623;
  --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: whitesmoke;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f6f5f5;
  --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: #b178aa;
}

.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: #8b5185;
}

.o_cc5 .btn-fill-primary, .o_colored_level .o_cc5 .btn-fill-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #563252;
  --btn-active-border-color: #60385c;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}

.o_cc5 .btn-outline-primary, .o_colored_level .o_cc5 .btn-outline-primary {
  --btn-color: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #6b3e66;
  --btn-hover-border-color: #6b3e66;
  --btn-focus-shadow-rgb: 107, 62, 102;
  --btn-active-color: #FFF;
  --btn-active-bg: #6b3e66;
  --btn-active-border-color: #6b3e66;
  --btn-active-shadow: 0;
  --btn-disabled-color: #6b3e66;
  --btn-disabled-bg: transparent;
  --btn-disabled-border-color: #6b3e66;
  --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: whitesmoke;
  --btn-focus-shadow-rgb: 207, 206, 206;
  --btn-active-color: #000;
  --btn-active-bg: whitesmoke;
  --btn-active-border-color: #f6f5f5;
  --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: #6b3e66;
  color: #FFF;
}

.o_cc5 a.list-group-item, .o_colored_level .o_cc5 a.list-group-item {
  color: #6b3e66;
}

.o_cc5 a.list-group-item.active, .o_colored_level .o_cc5 a.list-group-item.active {
  background-color: #6b3e66;
  color: #FFF;
  border-color: #6b3e66;
}

.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: 992px) {
  .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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66");
  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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66&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=%236b3e66");
  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=%236b3e66");
  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, #262A36);
  font-size: 85%;
  color: #E4E4E4;
}



/* /web_editor/static/src/scss/web_editor.backend.scss */

:root {
  --white: #000;
  --black: #FFF;
}

.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: 8px;
  --KanbanRecord-padding-h: 16px;
}

.o_account_kanban .o_kanban_renderer .o_kanban_record:not(.o_kanban_ghost) {
  min-height: 150px;
}

@media (min-width: 576px) {
  .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(209, 209, 209, 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: -8px;
}

.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: 991.98px) {
  .o_account_kanban .o_kanban_renderer.o_kanban_ungrouped {
    --KanbanRecord-width: 100vw;
  }
}

@media (min-width: 992px) {
  .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: 8px;
  padding-right: 8px;
}

.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='%23D1D1D1' 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: 576px) {
  .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: #6b3e66;
  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: #02c7b5 !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 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: #262A36;
  border: 1px dashed #3C3E4B;
}

.o_account_dashboard_kanban_view .o_drop_area.drag_to_card {
  border-color: #6b3e66;
  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: #D1D1D1;
  display: block;
}

.file_upload_kanban_action_a > a:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: #E4E4E4;
}

.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: 364px;
  --KanbanGroup-padding-h: 8px;
  --KanbanGroup-padding-bottom: 32px;
}

.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: 767.98px) {
  .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: 768px) {
  .o_sale_product_configurator_img {
    width: 120px;
  }
}

.o_sale_product_configurator_qty {
  width: 64px;
}

@media (min-width: 768px) {
  .o_sale_product_configurator_qty {
    width: 160px;
  }
}

.o_sale_product_configurator_price {
  width: 100px;
}

@media (min-width: 768px) {
  .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 #6b3e66;
}

.product-card.selected {
  border: 2px solid #6b3e66;
}



/* /sale/static/src/js/product_template_attribute_line/product_template_attribute_line.scss */

@media (min-width: 992px) {
  .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 #3C3E4B;
  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: #02c7b5;
}

.o_sale_product_configurator_ptav_color:before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: -3px;
  bottom: -3px;
  right: -3px;
  border: 4px solid #262A36;
  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 #6b3e66;
}

.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 #b83232;
  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:%23b83232;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: #17373b;
  border-color: #03f9e3;
  color: #FFF;
}

.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: 8px;
}

.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 8px;
}

.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: 8px 16px;
  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: 1199.98px) {
  .o_website_page_templates_dialog .o_page_template {
    width: 220px;
  }
}

@media (max-width: 991.98px) {
  .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: 1199.98px) {
  .o_website_page_templates_dialog .o_page_template .o_page_template_preview iframe {
    transform: scale(0.21484375);
  }
}

@media (max-width: 991.98px) {
  .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 #5A5E6B;
}

.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: #6b3e66;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img.o_active_image {
  border-color: #6b3e66;
}

.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(107, 62, 102, 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(209, 209, 209, 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 white;
  vertical-align: top;
  color: #d1d3d8;
}

.oe_seo_configuration .o_seo_og_image .o_meta_img_upload:hover {
  border-color: #6b3e66;
  color: #6b3e66;
}

.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: 8px;
  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: #4b2b47;
}

.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(209, 209, 209, 0.4);
  font-size: 1.308em;
  line-height: 1.2em;
  color: rgba(209, 209, 209, 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: #6b3e66;
}

.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: #000;
  --btn-bg: #6AB5FB;
  --btn-border-color: #6AB5FB;
  --btn-hover-color: #000;
  --btn-hover-bg: #80c0fc;
  --btn-hover-border-color: #88c4fc;
  --btn-focus-shadow-rgb: 90, 154, 213;
  --btn-active-color: #000;
  --btn-active-bg: #88c4fc;
  --btn-active-border-color: #8fc8fc;
  --btn-active-shadow: 0;
  --btn-disabled-color: #000;
  --btn-disabled-bg: #6AB5FB;
  --btn-disabled-border-color: #6AB5FB;
}



/* /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: #E4E4E4;
  --btn-bg: #1b1e27;
  --btn-border-color: #1b1e27;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #111318;
  --btn-hover-border-color: #191b23;
  --btn-focus-shadow-rgb: 58, 60, 67;
  --btn-active-color: #FFF;
  --btn-active-bg: #16181f;
  --btn-active-border-color: #191b23;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #1b1e27;
  --btn-disabled-border-color: #1b1e27;
}

#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: #3C3E4B;
}



/* /website_enterprise/static/src/systray_items/edit_website.scss */

.o-website-btn-custo-primary {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #563252;
  --btn-active-border-color: #60385c;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}



/* /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: #6b3e66;
  --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: #262A36;
}

.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: #1B1D26;
  bottom: 0;
  height: auto;
  top: 1em;
}



/* /website/static/src/scss/website.backend.scss */

.o_dashboards {
  background-color: #262A36;
  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: #262A36;
}

.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: 768px) and (max-width: 991.98px) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 2855px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 2040px;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .o_dashboards.has_plausible .o_website_dashboard iframe {
    height: 1875px;
  }
}

@media (min-width: 1400px) {
  .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: 767.98px) {
  .o_dashboards .o_dashboard_common .o_box > .o_inner_box {
    flex: 1 1 200px;
    display: block !important;
  }
}

@media (min-width: 768px) {
  .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(38, 42, 54, 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: 768px) {
  .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: 768px) 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: 768px) {
  .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: 768px) {
  .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: #262A36;
}

.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: 768px) {
  .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
    font-size: 32px;
  }
}

@media (min-width: 992px) {
  .o_configurator_container .o_configurator_screen .o_configurator_typing_text {
    font-size: 36px;
  }
}

@media (min-width: 1200px) {
  .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.5em;
  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.5em;
  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 #6b3e66;
  color: #6b3e66;
  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: #3C3E4B;
}

.o_configurator_container .o_configurator_screen.o_description_screen .dropdown {
  box-shadow: inset 0 -3px 0 #6b3e66;
}

.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: #7E8392 !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(255, 255, 255, 0.08);
  color: #D1D1D1;
}

@media (max-width: 991.98px) {
  .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: 767.98px) {
  .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 #262A36;
}

.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 #6b3e66;
}

.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: #5A5E6B;
}

.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: #D1D1D1;
}

.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: 992px) {
  .o_configurator_container .o_configurator_screen.o_palette_selection_screen .palette_selection_or {
    right: 0;
  }
}

@media (max-width: 991.98px) {
  .o_configurator_container .o_configurator_screen.o_feature_selection_screen .o_feature_card_container {
    width: 50% !important;
  }
}

@media (max-width: 767.98px) {
  .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: 8px;
  left: auto;
  bottom: auto;
  right: 8px;
}

.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.15);
}

@media (max-width: 991.98px) {
  .o_configurator_container .o_configurator_screen.o_theme_selection_screen .theme_preview {
    --ConfiguratorPreview-height: 300px;
    --ConfiguratorSmallPreview-height: var(--ConfiguratorPreview-height);
  }
}

@media (min-width: 992px) {
  .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: #6b3e66 !important;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
}

.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: 768px) 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 #6b3e66;
  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: #262A36;
  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: #1B1D26;
  width: 100%;
}

@media (min-width: 992px) {
  .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: 16px;
  grid-column-gap: 16px;
  justify-items: center;
  padding: 16px;
}

@media (min-width: 576px) {
  .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .o_theme_preview_kanban_view .o_kanban_renderer.o_kanban_ungrouped {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1400px) {
  .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 #6b3e66;
}

.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 #6b3e66;
  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: #6b3e66;
  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.3);
}

.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.3);
}

.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: #D1D1D1;
}

.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: #6b3e66;
  border-color: #6b3e66;
}

.o_report_reception .btn.btn-primary:hover:not([disabled]) {
  background-color: #4b2b47;
}

.o_report_reception .badge {
  line-height: .75;
}

.o_report_reception .bg-primary-light {
  --bg-light: rgba(107, 62, 102, 0.5);
  --color-light: #FFF;
  background-color: rgba(107, 62, 102, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-primary-light .text-muted, .o_colored_level .o_report_reception .bg-primary-light .text-muted {
  color: rgba(255, 255, 255, 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(75, 43, 71, 0.5);
  --color-light: #FFF;
  background-color: rgba(75, 43, 71, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-secondary-light {
  --bg-light: rgba(60, 62, 75, 0.5);
  --color-light: #FFF;
  background-color: rgba(60, 62, 75, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-secondary-light .text-muted, .o_colored_level .o_report_reception .bg-secondary-light .text-muted {
  color: rgba(255, 255, 255, 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(37, 39, 47, 0.5);
  --color-light: #FFF;
  background-color: rgba(37, 39, 47, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-success-light {
  --bg-light: rgba(29, 201, 89, 0.5);
  --color-light: #FFF;
  background-color: rgba(29, 201, 89, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-success-light .text-muted, .o_colored_level .o_report_reception .bg-success-light .text-muted {
  color: rgba(255, 255, 255, 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(23, 156, 69, 0.5);
  --color-light: #FFF;
  background-color: rgba(23, 156, 69, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-info-light {
  --bg-light: rgba(106, 181, 251, 0.5);
  --color-light: #FFF;
  background-color: rgba(106, 181, 251, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-info-light .text-muted, .o_colored_level .o_report_reception .bg-info-light .text-muted {
  color: rgba(255, 255, 255, 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(56, 156, 250, 0.5);
  --color-light: #FFF;
  background-color: rgba(56, 156, 250, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-warning-light {
  --bg-light: rgba(233, 157, 0, 0.5);
  --color-light: #FFF;
  background-color: rgba(233, 157, 0, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-warning-light .text-muted, .o_colored_level .o_report_reception .bg-warning-light .text-muted {
  color: rgba(255, 255, 255, 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: #FFF;
  background-color: rgba(182, 123, 0, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-danger-light {
  --bg-light: rgba(184, 50, 50, 0.5);
  --color-light: #FFF;
  background-color: rgba(184, 50, 50, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-danger-light .text-muted, .o_colored_level .o_report_reception .bg-danger-light .text-muted {
  color: rgba(255, 255, 255, 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(144, 39, 39, 0.5);
  --color-light: #FFF;
  background-color: rgba(144, 39, 39, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-light-light {
  --bg-light: rgba(60, 62, 75, 0.5);
  --color-light: #FFF;
  background-color: rgba(60, 62, 75, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-light-light .text-muted, .o_colored_level .o_report_reception .bg-light-light .text-muted {
  color: rgba(255, 255, 255, 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(37, 39, 47, 0.5);
  --color-light: #FFF;
  background-color: rgba(37, 39, 47, 0.5) !important;
  color: #FFF;
}

.o_report_reception .bg-dark-light {
  --bg-light: rgba(177, 179, 188, 0.5);
  --color-light: #FFF;
  background-color: rgba(177, 179, 188, 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(150, 152, 164, 0.5);
  --color-light: #FFF;
  background-color: rgba(150, 152, 164, 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: #3C3E4B;
}

.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: 480px;
  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: #262A36;
}

.o_stock_reports_page.o_stock_reports_no_print {
  margin: 16px auto;
  padding-top: 24px;
  padding-right: 16px;
  padding-bottom: 24px;
  padding-left: 16px;
}

.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: #b83232;
}

.o_home_menu {
  font-size: 0.875rem;
}

@media (min-width: 768px) {
  .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, #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);
}

.o_home_menu .o_app.o_focused {
  background: #3C3E4B;
  outline: 1px solid #02c7b5;
  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: 767.98px) {
  .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: 4px;
    padding: 0 8px;
  }
  .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: 16px 24px !important;
  }
  .o_home_menu.o_ios_app .o_app_icon {
    width: 52.5px;
    height: 52.5px;
    margin-right: 24px;
  }
  .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, #262A36);
  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: #E4E4E4;
  --NavBar-entry-borderColor-active: #02c7b5;
  --NavBar-entry-backgroundColor--active: #364c56;
  --NavBar-entry-backgroundColor--hover: #262A36;
  --NavBar-entry-backgroundColor--focus: #262A36;
  --Dropdown_menu-margin-y: 4px;
}

.o_main_navbar .o_menu_toggle {
  color: var(--NavBar-menuToggle-color, #6b3e66);
}

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 #7E8392;
}

.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 #262A36;
}



/* /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: #3C3E4B;
  --notebook-link-border-color-hover: #3C3E4B;
  --notebook-link-border-color-active-accent: #6b3e66;
}

.modal .o_notebook {
  --notebook-padding-x: 16px;
  --notebook-margin-x: -16px;
}



/* /web_studio/static/src/approval/approval.scss */

.o-approval-popover .o-approval-popover--header {
  background-color: #262A36;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid #3C3E4B;
}

.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: 767.98px) {
  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: 576px) {
  .o_widget_hr_department_chart .o_hr_department_chart {
    width: 50%;
  }
}

@media (max-width: 767.98px) {
  .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: 767.98px) {
  .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: #262A36;
  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: #253a3a;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty .o_barcode_line_summary {
  background: #352b36;
}

.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, #262A36);
  --list-group-color: #FFF;
}

.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: #223a43;
  --border: #02c7b5;
  box-shadow: inset 0 0 0 3px var(--border);
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty {
  --bg: #352b36;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_faulty.o_selected {
  --border: #b83232;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_line_completed {
  --bg: #253a3a;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line.o_line_completed.o_selected {
  --border: #1dc959;
}

.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: #02c7b5;
    color: #000;
  }
}

.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: #5A5E6B;
  --btn-hover-bg: #000;
  --btn-hover-border-color: #02c7b5;
  --btn-active-bg:  #000;
  --btn-active-border-color: #02c7b5;
}

.o_barcode_client_action .o_barcode_lines .o_barcode_line .o_line_button.btn-danger {
  --btn-border-color: black;
  --btn-hover-border-color: black;
  --btn-active-border-color: black;
}

.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: #262A36;
  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 #E4E4E4;
}

.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: 767.98px) {
  .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 #3C3E4B;
}

.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 #3C3E4B;
}

.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: #D1D1D1;
}

.o_barcode_client_action .o_barcode_control > .btn[disabled] {
  opacity: 1;
  background-color: #262A36;
  color: #7E8392;
}

.o_barcode_client_action .o_barcode_line_form {
  margin-bottom: 36px;
  font-size: 1.2em;
}

@media (max-width: 767.98px) {
  .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, #262A36);
}

.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.5;
  color: var(--body-color);
  background-color: transparent;
  border: var(--border-width) solid #3C3E4B;
  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: 576px;
  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: 575.98px) {
  .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: 767.98px) {
  .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: 12px !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: 16px;
    --btn-color: #E4E4E4;
    --btn-bg: #3C3E4B;
    --btn-border-color: #3C3E4B;
    --btn-hover-color: #E4E4E4;
    --btn-hover-bg: #5A5E6B;
    --btn-hover-border-color: #5A5E6B;
    --btn-focus-shadow-rgb: 85, 87, 98;
    --btn-active-color: #FFF;
    --btn-active-bg: #17373b;
    --btn-active-border-color: #03f9e3;
    --btn-active-shadow: 0;
    --btn-disabled-color: #FFF;
    --btn-disabled-bg: #3C3E4B;
    --btn-disabled-border-color: #3C3E4B;
  }
  .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: 767.98px) {
  .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: 16px;
    --btn-color: #E4E4E4;
    --btn-bg: #3C3E4B;
    --btn-border-color: #3C3E4B;
    --btn-hover-color: #E4E4E4;
    --btn-hover-bg: #5A5E6B;
    --btn-hover-border-color: #5A5E6B;
    --btn-focus-shadow-rgb: 85, 87, 98;
    --btn-active-color: #FFF;
    --btn-active-bg: #17373b;
    --btn-active-border-color: #03f9e3;
    --btn-active-shadow: 0;
    --btn-disabled-color: #FFF;
    --btn-disabled-bg: #3C3E4B;
    --btn-disabled-border-color: #3C3E4B;
    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: 12px !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(255, 155, 155, 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: #FFF;
}

.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: #FFF;
  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 {
  background-color: rgba(255, 220, 171, 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(255, 232, 139, 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(173, 255, 254, 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(241, 127, 220, 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: #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 .badge {
  background: #FFF;
  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 {
  background-color: rgba(255, 186, 161, 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: #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 .badge {
  background: #FFF;
  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 {
  background-color: rgba(103, 222, 250, 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(115, 150, 235, 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: #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 .badge {
  background: #FFF;
  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 {
  background-color: rgba(255, 113, 167, 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: #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 .badge {
  background: #FFF;
  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 {
  background-color: rgba(122, 255, 195, 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(204, 144, 254, 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: #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 .badge {
  background: #FFF;
  color: #000;
}

.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 #3C3E4B;
}

@media (max-width: 767.98px) {
  .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: #3C3E4B;
  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.2375rem;
  bottom: auto;
  right: auto;
  width: 1px;
  height: 100%;
  background-color: #3C3E4B;
  content: "";
}

@media (min-width: 992px) {
  .o_field_resume_one2many .o_data_row td.o_resume_timeline_cell:before {
    left: 1.7375rem;
  }
}

@media (min-width: 1534px) {
  .o_field_resume_one2many .o_data_row td.o_resume_timeline_cell:before {
    left: 1.2375rem;
  }
}

.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: 8px;
}

.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: #b83232;
}



/* /account_accountant/static/src/components/bank_reconciliation/kanban.scss */

.o_bank_rec_main_div {
  display: -webkit-box; display: -webkit-flex; display: flex;
  background-color: #262A36;
  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: 12px;
  --KanbanRecord-padding-v: 8px;
  --KanbanRecord-margin-h: 8px;
}

.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: 8px 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: 8px 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 #3C3E4B;
  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.5rem;
}

.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: -24px;
  white-space: nowrap;
  border-bottom: 1px solid #3C3E4B;
  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 #3C3E4B;
}

.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: 767.98px) {
  .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_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_view_controller > .o_content .o_list_renderer {
  overflow: auto;
  height: 100%;
  flex: 1 1 100%;
}

.o_move_line_list_view .o_attachment_preview {
  height: 100%;
  width: 40%;
  border-left: 1px solid #3C3E4B;
}

.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;
}



/* /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: #250a0a;
}



/* /account_edi_ubl_cii/static/src/scss/account_edi_ubl_cii.scss */

.o_field_peppol_eas_selection > select {
  color: #E4E4E4;
  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: #1B1D26;
  border: 1px solid #1B1D26;
}



/* /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: 992px) {
  #o_employee_right {
    border-left: 1px solid #383b45;
  }
}

#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 #6AB5FB;
}

#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: #262A36;
  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: #D1D1D1;
}

.o-filter-value .date_filter_values {
  display: -webkit-box; display: -webkit-flex; display: flex;
  gap: 8px;
  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: #1B1D26;
}

.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: 8px;
}

.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 #3C3E4B;
  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: #6b3e66;
  box-shadow: 0 0 0 2px #6b3e66;
}

.o-spreadsheets-grid-container .o-spreadsheet-grid .o-spreadsheet-grid-image:hover {
  cursor: pointer;
  border-color: #6b3e66;
  box-shadow: 0 0 0 2px #6b3e66;
}

.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: #E4E4E4;
  --o-input-border-color: #02c7b5;
}

.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;
  }
}



/* /web/static/src/core/emoji_picker/emoji_picker.dark.scss */

.o-EmojiPicker {
  --EmojiPicker-placeholderOpacity: 75%;
  --EmojiPicker-active: #444653;
}



/* /web/static/src/core/file_viewer/file_viewer.dark.scss */

.o-FileViewer-header {
  --FileViewer-toolbarBgColor: #262A36;
}

.o-FileViewer-toolbarButton {
  --FileViewer-toolbarBgColor: #262A36;
}



/* /web/static/src/views/calendar/calendar_renderer.dark.scss */

.o_calendar_renderer .o_calendar_widget .o_calendar_disabled {
  background-color: #3C3E4B;
}



/* /html_editor/static/src/components/history_dialog/history_dialog.dark.scss */

.html-history-dialog .history-container {
  --border-color: #3C3E4B;
}



/* /html_editor/static/src/main/toolbar/toolbar.dark.scss */

.o-we-toolbar {
  background-color: #262A36;
  border-bottom: 1px solid #3C3E4B;
}

.o-we-toolbar .o-we-toolbar-vertical-seperator:not(:first-child) {
  border-left: 1px solid #3C3E4B;
}



/* /mail/static/src/core/common/chat_window.dark.scss */

.o-mail-ChatWindow-command {
  --mail-ChatWindow-commandHoverColor: white;
}



/* /mail/static/src/core/common/composer.dark.scss */

.o-mail-Composer {
  --mail-Composer-bg: #21242e;
}

.o-mail-Composer-actions {
  --mail-Composer-actionHoverColor: white;
}



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

.o-mail-discussSidebarBgColor {
  background-color: #242834;
}

a.o_mail_redirect, a.o_channel_redirect {
  color: #03f9e3;
  background-color: rgba(2, 224, 204, 0.075);
  border-color: rgba(3, 249, 227, 0.25);
}

a.o_mail_redirect:hover, a.o_channel_redirect:hover {
  color: #03f9e3;
  background-color: rgba(2, 224, 204, 0.2);
  border-color: rgba(2, 224, 204, 0.3);
}

a.o_mail_redirect:focus, a.o_channel_redirect:focus {
  box-shadow: 3, 249, 227;
}

a.o_mail_redirect:active, a.o_channel_redirect:active {
  color: #FFF;
  background-color: rgba(0, 30, 28, 0.26);
  border-color: rgba(1, 140, 128, 0.325);
}

a.o_mail_redirect:disabled, a.o_channel_redirect:disabled {
  color: #FFF;
  background-color: rgba(2, 224, 204, 0.075);
  border-color: rgba(3, 249, 227, 0.25);
}

a.o-discuss-mention {
  color: #03f9e3;
  background-color: rgba(2, 224, 204, 0.075);
  border-color: rgba(3, 249, 227, 0.25);
}

a.o-discuss-mention:hover {
  color: #03f9e3;
  background-color: rgba(2, 224, 204, 0.075);
  border-color: rgba(3, 249, 227, 0.25);
}

a.o-discuss-mention:focus {
  box-shadow: 3, 249, 227;
}

a.o-discuss-mention:active {
  color: #FFF;
  background-color: rgba(0, 30, 28, 0.26);
  border-color: rgba(1, 140, 128, 0.325);
}

a.o-discuss-mention:disabled {
  color: #FFF;
  background-color: rgba(2, 224, 204, 0.075);
  border-color: rgba(3, 249, 227, 0.25);
}

.o-mail-DiscussSystray-class:hover, .o-mail-DiscussSystray-class.show {
  background-color: #000;
}



/* /mail/static/src/core/common/message.dark.scss */

.o-mail-Message.o-card {
  background-color: #21242e;
}

.o-mail-Message-actions {
  --mail-Message-actionIconHoveredColor: white;
}

.o-mail-Message-author {
  opacity: 75%;
}

.o-mail-Message-date {
  opacity: 50%;
}

.o-mail-Message-bubble.o-blue {
  background-color: #253041 !important;
  border-color: #2e3c51 !important;
}

.o-mail-Message-bubble.o-blue.o-muted {
  background-color: #202734 !important;
}

.o-mail-Message-bubble.o-green {
  background-color: #1b332c !important;
  border-color: #24443a !important;
}

.o-mail-Message-bubble.o-green.o-muted {
  background-color: #1b2829 !important;
}

.o-mail-Message-bubble.o-orange {
  background-color: #54401c !important;
  border-color: #674f22 !important;
}

.o-mail-Message-bubble.o-orange.o-muted {
  background-color: #242225 !important;
}



/* /mail/static/src/core/common/message_card_list.dark.scss */

.o-mail-MessageCardList {
  --mail-MessageCardList-cardBodyBg: #21242e;
}



/* /mail/static/src/core/common/message_in_reply.dark.scss */

.o-mail-MessageInReply-core {
  background-color: rgba(27, 29, 38, 0.35) !important;
}

.o-mail-MessageInReply-core.o-blue {
  border-left-color: #436991 !important;
}

.o-mail-MessageInReply-core.o-green {
  border-left-color: #1c7340 !important;
}

.o-mail-MessageInReply-core.o-orange {
  border-left-color: #976a0f !important;
}

.o-mail-MessageInReply-core:hover {
  filter: brightness(1.1);
}



/* /mail/static/src/core/common/navigable_list.dark.scss */

.o-mail-NavigableList {
  --mail-NavigableList-activeBgColor: #001412;
}



/* /mail/static/src/core/public_web/discuss.dark.scss */

.o-mail-Discuss {
  --mail-Discuss-coreBgColor: #1e202a;
}

.o-mail-Discuss-header {
  background-color: #242834;
}

.o-mail-Discuss-headerActions button {
  background-color: #21242e;
}

.o-mail-Discuss-headerActions button:not(.o-isActive):hover {
  background-color: #313441;
}

.o-mail-Discuss-headerActions button.o-isActive {
  background-color: #3C3E4B;
}

.o-mail-Discuss-headerActions button.o-isActive:hover {
  background-color: #4b4e5b;
}

.o-mail-Discuss-headerActionsGroup {
  --border-opacity: .1;
}



/* /mail/static/src/core/public_web/messaging_menu.dark.scss */

.o-mail-MessagingMenu {
  --mail-MessagingMenu-bg: #21242e;
}

.o-mail-MessagingMenu-navbar button.o-active, .o-mail-MessagingMenu-navbar button:hover {
  background-color: #313441;
}



/* /mail/static/src/core/public_web/notification_item.dark.scss */

.o-mail-NotificationItem {
  --mail-NotificationItem-activeOutlineOpacity: 1;
  --mail-MessagingMenu-bg: #21242e;
}

.o-mail-NotificationItem.o-important {
  background-color: #2d384a !important;
  border-color: #37445a !important;
}

.o-mail-NotificationItem:hover, .o-mail-NotificationItem.o-active {
  background-color: #313441 !important;
}



/* /mail/static/src/core/web/follower_list.dark.scss */

.o-mail-Follower-details:hover,
.o-mail-Follower-action:hover {
  --chatter_follower-bg--hover: #262A36;
}



/* /mail/static/src/discuss/call/common/call.dark.scss */

.o-discuss-Call {
  --o-discuss-Call-bgColor: #1B1D26;
}



/* /mail/static/src/discuss/call/common/call_action_list.dark.scss */

.o-discuss-CallActionList button:not(.btn-danger) {
  --o-discuss-CallActionList-bgColor: #262A36;
}

.o-discuss-CallActionList-pushToTalk {
  --btn-color: #FFF;
  --btn-bg: #6b3e66;
  --btn-border-color: #6b3e66;
  --btn-hover-color: #FFF;
  --btn-hover-bg: #5b3557;
  --btn-hover-border-color: #60385c;
  --btn-focus-shadow-rgb: 129, 91, 125;
  --btn-active-color: #FFF;
  --btn-active-bg: #262A36;
  --btn-active-border-color: #262A36;
  --btn-active-shadow: 0;
  --btn-disabled-color: #FFF;
  --btn-disabled-bg: #6b3e66;
  --btn-disabled-border-color: #6b3e66;
}



/* /mail/static/src/discuss/call/common/call_participant_card.dark.scss */

.o-discuss-CallParticipantCard {
  --o-discuss-CallParticipantCard-avatarBgColor: #313441;
  --discuss-talkingColor: rgba(2, 174, 158, 0.75);
}



/* /mail/static/src/discuss/call/public_web/discuss_sidebar_call_participants.dark.scss */

.o-mail-DiscussSidebarCallParticipants {
  --discuss-talkingColor: rgba(2, 174, 158, 0.75);
}



/* /mail/static/src/discuss/call/public_web/discuss_sidebar_categories_patch.dark.scss */

.o-mail-DiscussSidebarChannel-container {
  --o-mail-DiscussSidebarChannel-inCallBorderOpacity: 0.25;
}



/* /mail/static/src/discuss/core/common/channel_member_list.dark.scss */

.o-discuss-ChannelMember {
  --discuss-ChannelMember-hoverBg: #3C3E4B;
}



/* /mail/static/src/discuss/core/common/discuss_notification_settings.dark.scss */

.o-mail-DiscussNotificationSettings {
  --mail-DiscussNotificationSettings-btnSelectedBg: #3C3E4B;
}



/* /mail/static/src/discuss/core/common/notification_settings.dark.scss */

.o-discuss-NotificationSettings {
  --mail-NotificationSettings-btnHoverBg: #3C3E4B;
}



/* /mail/static/src/discuss/core/public_web/discuss_sidebar.dark.scss */

.o-mail-DiscussSidebar-item {
  --mail-DiscussSidebar-itemActiveBgColor: #313441;
  --mail-DiscussSidebar-itemActiveOutlineColor: rgba(90, 94, 107, 0.5);
}



/* /mail/static/src/discuss/core/public_web/discuss_sidebar_categories.dark.scss */

.o-mail-DiscussSidebar-item {
  --mail-DiscussSidebarChannel-commandsHover: rgba(90, 94, 107, 0.5);
}

.o-mail-DiscussSidebarChannel-container {
  --mail-DiscussSidebarChannel-borderOpacity: .125;
  ---mail-DiscussSidebarChannel-borderedBgColor: #1e202a;
}

.o-mail-DiscussSidebarSubchannel {
  --mail-DiscussSidebarSubchannel-svgColor: #4b4e5b;
}



/* /mail/static/src/discuss/gif_picker/common/gif_picker.dark.scss */

.o-discuss-GifPicker {
  --o-gif-picker-active: #000;
}



/* /mail/static/src/discuss/voice_message/common/voice_recorder.dark.scss */

.o-mail-VoiceRecorder.o-recording {
  background-color: #3C3E4B;
}



/* /mail/static/src/discuss/web/avatar_card/avatar_card_popover.dark.scss */

.o_avatar_card {
  background-color: #1B1D26;
}

.o_popover:has(.o_avatar_card) {
  --popover-border-color: #3C3E4B;
}



/* /web_editor/static/src/scss/odoo-editor/powerbox.dark.scss */

.oe-powerbox-wrapper {
  --oePowerbox__wrapper-bg: #3C3E4B;
  --oePowerbox__category-color: #B1B3BC;
  --oePowerbox__commandName-bg: #262A36;
  --oePowerbox__commandName-color: #E4E4E4;
  --oePowerbox__commandDescription-color: #6B707F;
  --oePowerbox__commandImg-bg: #5A5E6B;
  --oePowerbox__commandImg-color: #E4E4E4;
  --oePowerbox__ScrollbarThumb-background-color: #5A5E6B;
  --oePowerbox__ScrollbarTrack-background-color: #262A36;
}



/* /web_editor/static/src/scss/odoo-editor/tablepicker.dark.scss */

.oe-tablepicker-wrapper {
  --oeTablepicker__wrapper-bg: #3C3E4B;
  --oeTablepicker-color-accent: #6b3e66;
}

.oe-tablepicker {
  --oeTablepicker__cell-bg: #262A36;
}



/* /web_editor/static/src/scss/odoo-editor/tableui.dark.scss */

.o_table_ui {
  --o-table-ui-bg: #3C3E4B;
  --o-table-ui-color: #E4E4E4;
  --o-table-ui-border: #262A36;
  --o-table-ui-hover: #262A36;
}



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

.oe-toolbar.oe-floating {
  --o-we-toolbar-bg: #3C3E4B;
  --o-we-toolbar-bg-active: #5A5E6B;
  --o-we-toolbar-border: #262A36;
  --o-we-toolbar-color-text: #D1D1D1;
  --o-we-toolbar-color-accent: #02c7b5;
  --o-we-toolbar-color-clickable: #D1D1D1;
  --o-we-toolbar-color-clickable-active: #FFF;
}

.o_link_dialog_preview {
  --o-link-dialog-preview-border: 1px solid #3C3E4B;
}

.o_colorpicker_sections, .o_we_color_btn {
  --bg: #262A36;
}

.o_custom_gradient_btn {
  --o-we-toolbar-border: #D1D1D1;
}



/* /web_editor/static/src/scss/web_editor.common.dark.scss */

.o_we_search_prompt {
  --WebEditor__SearchPromptArrow-filter: invert(1);
}

code.o_inline_code {
  --WebEditor__inlineCode-bg: #3C3E4B;
}



/* /website/static/src/components/dialog/seo.dark.scss */

.oe_seo_configuration {
  --seo__preview-title-color: #8ab4f8;
}



/* /website/static/src/scss/website.backend.dark.scss */

.o_demo_background {
  --Dashboard__demoBackground: url("/website/static/src/img/website_dashboard_visit_demo_dark_mode.png");
}



/* /website/static/src/client_actions/configurator/configurator.dark.scss */

.o_configurator_odoo_logo {
  --configurator-logo: url(/web/static/img/odoo_logo_dark.svg);
}



/* /website/static/src/components/website_loader/website_loader.dark.scss */

.o_website_loader_container {
  --website-loader-logo-filter: grayscale(1) brightness(4);
  --website-loader-color: #FFFFFF;
}



/* /web_enterprise/static/src/core/colorlist/colorlist.dark.scss */

.o_colorlist_item_color_1 {
  --background-color: #f68b8b;
  --color: #473b45;
}

.o_colorlist_item_color_2 {
  --background-color: #f7d09a;
  --color: #474548;
}

.o_colorlist_item_color_3 {
  --background-color: #f4dd7c;
  --color: #474743;
}

.o_colorlist_item_color_4 {
  --background-color: #9cf7f6;
  --color: #3a4a54;
}

.o_colorlist_item_color_5 {
  --background-color: #e175ce;
  --color: #44374f;
}

.o_colorlist_item_color_6 {
  --background-color: #f6ab90;
  --color: #474046;
}

.o_colorlist_item_color_7 {
  --background-color: #5cd0ec;
  --color: #304553;
}

.o_colorlist_item_color_8 {
  --background-color: #6b8bda;
  --color: #323a51;
}

.o_colorlist_item_color_9 {
  --background-color: #f2649a;
  --color: #473547;
}

.o_colorlist_item_color_10 {
  --background-color: #6cf3b6;
  --color: #334a4b;
}

.o_colorlist_item_color_11 {
  --background-color: #c082f3;
  --color: #3f3954;
}



/* /web_enterprise/static/src/core/dropdown/dropdown.dark.scss */

.o-dropdown {
  --border-color: #5A5E6B;
  --o-input-border-color: #5A5E6B;
}



/* /web_enterprise/static/src/core/popover/popover.dark.scss */

.o_popover {
  --border-color: #5A5E6B;
}

.o_popover .table {
  --table-bg: #3C3E4B;
}

.o_popover .o_input {
  --o-input-border-color: #5A5E6B;
}



/* /web_enterprise/static/src/core/tags_list/tags_list.dark.scss */

.o_tag.o_tag_color_0 {
  --background-color: #423a44;
  --color: #e1afaf;
}

.o_tag.o_tag_color_0::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_1 {
  --background-color: #473b45;
  --color: #f9baba;
}

.o_tag.o_tag_color_1::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_2 {
  --background-color: #474548;
  --color: #fbe6c9;
}

.o_tag.o_tag_color_2::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_3 {
  --background-color: #474743;
  --color: #f8e9ab;
}

.o_tag.o_tag_color_3::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_4 {
  --background-color: #3a4a54;
  --color: #cbfbfa;
}

.o_tag.o_tag_color_4::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_5 {
  --background-color: #44374f;
  --color: #ea9fdd;
}

.o_tag.o_tag_color_5::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_6 {
  --background-color: #474046;
  --color: #facfc0;
}

.o_tag.o_tag_color_6::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_7 {
  --background-color: #304553;
  --color: #89ddf1;
}

.o_tag.o_tag_color_7::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_8 {
  --background-color: #323a51;
  --color: #93abe4;
}

.o_tag.o_tag_color_8::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_9 {
  --background-color: #473547;
  --color: #f693b9;
}

.o_tag.o_tag_color_9::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_10 {
  --background-color: #334a4b;
  --color: #9cf7ce;
}

.o_tag.o_tag_color_10::after {
  --background-color: var(--background-color);
  --color: var(--color);
}

.o_tag.o_tag_color_11 {
  --background-color: #3f3954;
  --color: #d7b0f7;
}

.o_tag.o_tag_color_11::after {
  --background-color: var(--background-color);
  --color: var(--color);
}



/* /web_enterprise/static/src/search/search_bar/search_bar.dark.scss */

.o_searchview_facet {
  --SearchBar-facet-background: #FFF;
}



/* /web_enterprise/static/src/search/search_panel/search_view.dark.scss */

.o_mobile_search {
  --mobileSearch-bg: #262A36;
  --mobileSearch__header-bg: #1B1D26;
}

.o_searchview {
  --SearchBar-background-color: #1B1D26;
}



/* /web_enterprise/static/src/views/dashboard/dashboard_controller.dark.scss */

.o_dashboard_view {
  --DashboardView-background-color: #1B1D26;
  --DashboardView__controlPanel-background-color: transparent;
  --DashboardView__pieChart-background-color: transparent;
}



/* /web_enterprise/static/src/views/fields/image/image_field.dark.scss */

.o_field_image {
  --ImageField-background-color: #E4E4E4;
}



/* /web_enterprise/static/src/views/fields/properties/properties_field.dark.scss */

.o_field_property_definition_type img, .o_field_property_definition_type_menu img {
  -webkit-filter: invert(100%);
  filter: invert(100%);
}

.o_property_field_value select option {
  background-color: #3C3E4B;
}



/* /web_enterprise/static/src/views/form/button_box/button_box.dark.scss */

.o-form-buttonbox {
  --o-stat-button-color: currentColor;
  --o-stat-text-color: #b972a6;
}



/* /web_enterprise/static/src/views/kanban/kanban_controller.dark.scss */

.o_kanban_renderer {
  --KanbanGroup-grouped-bg: #262A36;
  --KanbanRecord__image-bg-color: #E4E4E4;
  --KanbanColumn__highlight-background: #17373b;
  --KanbanColumn__highlight-border: #02c7b5;
  --Kanban-background: #1B1D26;
}



/* /web_enterprise/static/src/views/list/list_controller.dark.scss */



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

.o_home_menu_background .o_app_icon {
  --AppSwitcherIcon-background: rgba(255, 255, 255, 0.05);
  --AppSwitcherIcon-inset-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
  --AppSwitcherIcon-border-color: transparent;
}

.o_home_menu_background .o_app:hover .o_app_icon {
  --AppSwitcherIcon-inset-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
}



/* /web_enterprise/static/src/webclient/home_menu/home_menu_background.dark.scss */

.o_home_menu_background {
  --homeMenu-bg-color: #000511;
  --homeMenu-bg-image: url("/web_enterprise/static/img/background-dark.jpg");
}



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

.o_main_navbar {
  --o-navbar-badge-color: #FFF;
  --o-navbar-badge-text-shadow: none;
  --NavBar-menuToggle-color: #FFF;
  --NavBar-brand-color: #D1D1D1;
  --NavBar-entry-borderColor-active: #019587;
  --NavBar-entry-backgroundColor--active: #17373b;
  --NavBar-entry-backgroundColor--hover: #3C3E4B;
  --NavBar-entry-backgroundColor--focus: #3C3E4B;
}



/* /web_enterprise/static/src/webclient/settings_form_view/settings_form_view.dark.scss */

.o_base_settings_view .o_form_renderer {
  --settings__tab-bg: #1B1D26;
  --settings__tab-bg--active: #192e34;
  --settings__tab-color: #B1B3BC;
  --settings__title-bg: #3C3E4B;
}



/* /stock_barcode/static/src/scss/stock_barcode.dark.scss */

.o_barcode_client_action {
  --barcode__header-bg: #1B1D26;
  --barcode__linesHeader-bg: #3C3E4B;
  --barcode__line--completed: #1f5a2d;
  --barcode__line--notCompleted: #303030;
  --barcode__input--completed: #262c26;
  --barcode__input--notCompleted: #303030;
}



/* /spreadsheet/static/src/o_spreadsheet/o_spreadsheet_extended.dark.scss */

.o-spreadsheet {
  color-scheme: light;
}

.o-spreadsheet select > option {
  color: inherit;
  background-color: inherit;
}

.o-spreadsheet .o-spreadsheet-topbar {
  background-color: #fff !important;
}

.o-spreadsheet .o-filter-menu {
  background-color: #fff !important;
}

.o-spreadsheet .o-composer {
  background-color: #fff !important;
}

.o-spreadsheet .o-selection-statistic {
  background-color: #fff !important;
}

.o-spreadsheet .o_multi_record_selector .badge {
  background-color: #e6dddd !important;
  color: #3c3c3c !important;
}

.o-spreadsheet .o_model_field_selector_chain_part {
  background: #f6f7fa !important;
  border-color: #d5dae8 !important;
}

.o-spreadsheet input {
  color: #333 !important;
}

.o-spreadsheet .o_input {
  color: #3c3c3c !important;
}

.o-spreadsheet .o_read_mode .o_tree_editor_condition {
  background: #f6f7fa !important;
  border-color: #d5dae8 !important;
}

.o-spreadsheet .o_domain_selector input {
  background-color: #333 !important;
}

.o-spreadsheet .btn {
  color: #374151;
}

.o-spreadsheet .border {
  border-color: #d5dae8 !important;
}

.o-spreadsheet .border-bottom {
  border-color: #d5dae8 !important;
}

.o-spreadsheet .border-top {
  border-color: #d5dae8 !important;
}
/*# sourceMappingURL=/web/assets/2291ef2/web.assets_web_dark.css.map */