diff --git a/services/web/frontend/stylesheets/main-ieee-style.less b/services/web/frontend/stylesheets/main-ieee-style.less index a191e8a560..2e59e92231 100644 --- a/services/web/frontend/stylesheets/main-ieee-style.less +++ b/services/web/frontend/stylesheets/main-ieee-style.less @@ -1,5 +1,5 @@ -@import 'style.less'; -@import 'core/ol-ieee-variables.less'; +@import 'main-style.less'; +@import 'variables/themes/ieee.less'; @is-overleaf-light: false; @show-rich-text: true; diff --git a/services/web/frontend/stylesheets/main-light-style.less b/services/web/frontend/stylesheets/main-light-style.less index afb2e4cd24..c2bef13a83 100644 --- a/services/web/frontend/stylesheets/main-light-style.less +++ b/services/web/frontend/stylesheets/main-light-style.less @@ -1,5 +1,5 @@ -@import 'style.less'; -@import 'core/ol-light-variables.less'; +@import 'main-style.less'; +@import 'variables/themes/light.less'; @is-overleaf-light: true; @show-rich-text: true; diff --git a/services/web/frontend/stylesheets/main-style.less b/services/web/frontend/stylesheets/main-style.less index 344fc67c7f..de080b2ab4 100644 --- a/services/web/frontend/stylesheets/main-style.less +++ b/services/web/frontend/stylesheets/main-style.less @@ -7,8 +7,8 @@ @show-rich-text: true; // Core variables and mixins -@import 'core/variables.less'; -@import 'core/css-variables.less'; +@import 'variables/all.less'; +@import 'variables/css-variables.less'; @import 'app/ol-style-guide.less'; @import '_style_includes.less'; @import '_ol_style_includes.less'; diff --git a/services/web/frontend/stylesheets/variables/all.less b/services/web/frontend/stylesheets/variables/all.less new file mode 100644 index 0000000000..e61242ec83 --- /dev/null +++ b/services/web/frontend/stylesheets/variables/all.less @@ -0,0 +1,1141 @@ +// +// Variables +// -------------------------------------------------- + +@gray-darker: #252525; +@gray-dark: #505050; +@gray: #7a7a7a; +@gray-light: #a4a4a4; +@gray-lighter: #cfcfcf; +@gray-lightest: #f0f0f0; +@white: #ffffff; + +// Styleguide colors +@ol-blue-gray-0: #f4f5f8; +@ol-blue-gray-1: #e4e8ee; +@ol-blue-gray-2: #9da7b7; +@ol-blue-gray-3: #5d6879; +@ol-blue-gray-4: #455265; +@ol-blue-gray-5: #2c3645; +@ol-blue-gray-6: #1e2530; + +@ol-green: #138a07; +@ol-type-green: #107206; +@ol-dark-green: #004a0e; +@ol-darker-green: #083c03; +@ol-blue: #3e70bb; +@ol-dark-blue: #2857a1; +@ol-red: #c9453e; +@ol-dark-red: #a6312b; + +@blue: #405ebf; +@blueDark: #040d2d; +@green: #46a546; +@red: #a93529; +@yellow: #a1a729; +@orange: #f89406; +@orange-dark: #9e5e04; +@pink: #c3325f; +@purple: #7a43b6; + +@brand-primary: @ol-green; +@brand-secondary: @ol-dark-green; +@brand-success: @green; +@brand-info: @ol-blue; +@brand-warning: @orange; +@brand-danger: @ol-red; + +@ol-type-color: @ol-blue-gray-3; +@accent-color-primary: @ol-green; +@accent-color-secondary: @ol-dark-green; + +@editor-header-logo-background: url(../../../public/img/ol-brand/overleaf-o-white.svg) + center / contain no-repeat; +@editor-loading-logo-padding-top: 115.44%; +@editor-loading-logo-background-url: url(../../../public/img/ol-brand/overleaf-o-grey.svg); +@editor-loading-logo-foreground-url: url(../../../public/img/ol-brand/overleaf-o.svg); +@editor-search-count-color: @ol-blue-gray-4; + +//== Scaffolding +// +// ## Settings for some of the most global styles. + +//** Background color for ``. +@body-bg: #fff; +//** Global text color on ``. +@text-color: @ol-type-color; + +//** Global textual link color. +@link-color: @ol-blue; +@link-active-color: @ol-dark-green; +//** Link hover color set via `darken()` function. +@link-hover-color: @ol-dark-blue; + +@link-color-alt: @ol-type-green; +@link-hover-color-alt: @ol-dark-green; +@hr-border-alt: @gray-lighter; + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. +@font-family-sans-serif: 'Lato', sans-serif; +@font-family-serif: 'Merriweather', serif; + +//** Default monospace fonts for ``, ``, and `
`.
+@font-family-monospace: Menlo, Monaco, Consolas, 'Courier New', monospace;
+@font-family-base: @font-family-sans-serif;
+
+@font-size-base: 16px;
+@font-size-large: ceil((@font-size-base * 1.25)); // ~20px
+@font-size-small: ceil((@font-size-base * 0.85)); // ~14px
+@font-size-extra-small: ceil((@font-size-base * 0.7)); // ~12px
+
+@font-size-h1: floor((@font-size-base * 2)); // ~32px
+@font-size-h2: floor((@font-size-base * 1.6)); // ~25px
+@font-size-h3: ceil((@font-size-base * 1.25)); // ~20px
+@font-size-h4: ceil((@font-size-base * 1.1)); // ~18px
+@font-size-h5: @font-size-base;
+@font-size-h6: ceil((@font-size-base * 0.85)); // ~14px
+
+//** Unit-less `line-height` for use in components like buttons.
+@line-height-base: 1.5625; // 20/14
+//** Computed "line-height" (`font-size` * `line-height`) for use with `margin`, `padding`, etc.
+@line-height-computed: floor((@font-size-base * @line-height-base)); // ~20px
+
+//** By default, this inherits from the ``.
+@headings-font-family: @font-family-serif;
+@headings-font-weight: 500;
+@headings-line-height: 1.35;
+@headings-color: @gray-dark;
+
+//-- Iconography
+//
+//## Specify custom locations of the include Glyphicons icon font. Useful for those including Bootstrap via Bower.
+
+@icon-font-path: '../fonts/';
+@icon-font-name: 'glyphicons-halflings-regular';
+@icon-font-svg-id: 'glyphicons_halflingsregular';
+
+//== Components
+//
+//## Define common padding and border radius sizes and more. Values based on 14px text and 1.428 line-height (~20px to start).
+
+@margin-xs: 5px;
+@margin-sm: 10px;
+@margin-md: 20px;
+@margin-lg: 30px;
+@margin-xl: 40px;
+@margin-xxl: 50px;
+
+@padding-base-vertical: 5px;
+@padding-base-horizontal: 16px;
+
+@padding-large-vertical: 10px;
+@padding-large-horizontal: 16px;
+
+@padding-small-vertical: 5px;
+@padding-small-horizontal: 10px;
+
+@padding-xs-vertical: 1px;
+@padding-xs-horizontal: 8px;
+
+@padding-xs: 5px;
+@padding-sm: 10px;
+@padding-md: 20px;
+@padding-lg: 30px;
+@padding-xl: 40px;
+@padding-xxl: 50px;
+
+@line-height-large: 1.33;
+@line-height-small: 1.5;
+
+@border-radius-base: 3px;
+@border-radius-large: 5px;
+@border-radius-small: 2px;
+@border-width-base: 3px;
+@border-color-base: @ol-blue-gray-2;
+
+@btn-switch-color: @ol-blue-gray-4;
+@btn-switch-hover-color: darken(@ol-blue-gray-4, 8%);
+
+//** Global color for active items (e.g., navs or dropdowns).
+@component-active-color: #fff;
+//** Global background color for active items (e.g., navs or dropdowns).
+@component-active-bg: @brand-primary;
+
+//** Width of the `border` for generating carets that indicator dropdowns.
+@caret-width-base: 4px;
+//** Carets increase slightly in size for larger components.
+@caret-width-large: 5px;
+
+//== Tables
+//
+//## Customizes the `.table` component with basic values, each used across all table variations.
+
+//** Padding for ``s and ``s.
+@table-cell-padding: 8px;
+//** Padding for cells in `.table-condensed`.
+@table-condensed-cell-padding: 5px;
+
+//** Default background color used for all tables.
+@table-bg: transparent;
+//** Background color used for `.table-striped`.
+@table-bg-accent: #f9f9f9;
+//** Background color used for `.table-hover`.
+@table-bg-hover: #f5f5f5;
+@table-bg-active: @table-bg-hover;
+
+//** Border color for table and cell borders.
+@table-border-color: #ddd;
+
+//== Buttons
+//
+//## For each of Bootstrap's buttons, define text, background and border color.
+
+@btn-font-weight: 700;
+
+@btn-default-color: #fff;
+@btn-default-bg: @ol-blue-gray-4;
+@btn-default-border: transparent;
+
+@btn-primary-color: #fff;
+@btn-primary-bg: @ol-green;
+@btn-primary-border: transparent;
+
+@btn-success-color: #fff;
+@btn-success-bg: @ol-green;
+@btn-success-border: transparent;
+
+@btn-info-color: #fff;
+@btn-info-bg: @ol-blue;
+@btn-info-border: transparent;
+
+@btn-warning-color: #fff;
+@btn-warning-bg: @orange;
+@btn-warning-border: transparent;
+
+@btn-danger-color: #fff;
+@btn-danger-bg: @ol-red;
+@btn-danger-border: transparent;
+
+@btn-link-disabled-color: @gray-light;
+
+//== Forms
+//
+//##
+
+//** `` background color
+@input-bg: #fff;
+//** `` background color
+@input-bg-disabled: @gray-lighter;
+
+//** Text color for ``s
+@input-color: @ol-blue-gray-3;
+//** `` border color
+@input-border: #ccc;
+//** `` border radius
+@input-border-radius: unit(@line-height-base, em);
+//** Border color for inputs on focus
+@input-border-focus: #66afe9;
+
+//** Placeholder text color
+@input-color-placeholder: @gray-light;
+
+//** Default `.form-control` height
+@input-height-base: @line-height-computed + (@padding-base-vertical * 2) - 1;
+//** Large `.form-control` height
+@input-height-large: (
+  ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) +
+    2
+);
+//** Small `.form-control` height
+@input-height-small: (
+  floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) +
+    2
+);
+
+@legend-color: @gray-dark;
+@legend-border-color: #e5e5e5;
+
+//** Background color for textual input addons
+@input-group-addon-bg: @gray-lighter;
+//** Border color for textual input addons
+@input-group-addon-border-color: @input-border;
+
+//== Dropdowns
+//
+//## Dropdown menu container and contents.
+
+//** Background for the dropdown menu.
+@dropdown-bg: #fff;
+//** Dropdown menu `border-color`.
+@dropdown-border: rgba(0, 0, 0, 0.15);
+//** Dropdown menu `border-color` **for IE8**.
+@dropdown-fallback-border: #ccc;
+//** Divider color for between dropdown items.
+@dropdown-divider-bg: #e5e5e5;
+
+//** Dropdown link text color.
+@dropdown-link-color: @gray-dark;
+//** Hover color for dropdown links.
+@dropdown-link-hover-color: #fff;
+//** Hover background for dropdown links.
+@dropdown-link-hover-bg: @brand-primary;
+
+//** Active dropdown menu item text color.
+@dropdown-link-active-color: @component-active-color;
+//** Active dropdown menu item background color.
+@dropdown-link-active-bg: @component-active-bg;
+
+//** Disabled dropdown menu item background color.
+@dropdown-link-disabled-color: @gray-light;
+
+//** Text color for headers within dropdown menus.
+@dropdown-header-color: @gray-light;
+
+// Note: Deprecated @dropdown-caret-color as of v3.1.0
+@dropdown-caret-color: #000;
+
+//-- Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+//
+// Note: These variables are not generated into the Customizer.
+
+@zindex-navbar: 1000;
+@zindex-dropdown: 1000;
+@zindex-navbar-fixed: 1030;
+@zindex-modal-background: 1040;
+@zindex-modal: 1050;
+@zindex-popover: 1060;
+@zindex-tooltip: 1070;
+
+//== Media queries breakpoints
+//
+//## Define the breakpoints at which your layout will change, adapting to different screen sizes.
+
+// Extra small screen / phone
+// Note: Deprecated @screen-xs and @screen-phone as of v3.0.1
+@screen-xs: 480px;
+@screen-xs-min: @screen-xs;
+@screen-phone: @screen-xs-min;
+
+// Small screen / tablet
+// Note: Deprecated @screen-sm and @screen-tablet as of v3.0.1
+@screen-sm: 768px;
+@screen-sm-min: @screen-sm;
+@screen-tablet: @screen-sm-min;
+
+// Medium screen / desktop
+// Note: Deprecated @screen-md and @screen-desktop as of v3.0.1
+@screen-md: 992px;
+@screen-md-min: @screen-md;
+@screen-desktop: @screen-md-min;
+
+// Large screen / wide desktop
+// Note: Deprecated @screen-lg and @screen-lg-desktop as of v3.0.1
+@screen-lg: 1200px;
+@screen-lg-min: @screen-lg;
+@screen-lg-desktop: @screen-lg-min;
+
+// So media queries don't overlap when required, provide a maximum
+@screen-xs-max: (@screen-sm-min - 1);
+@screen-sm-max: (@screen-md-min - 1);
+@screen-md-max: (@screen-lg-min - 1);
+
+@screen-size-sm-max: 767px;
+
+//== Grid system
+//
+//## Define your custom responsive grid.
+
+//** Number of columns in the grid.
+@grid-columns: 12;
+//** Padding between columns. Gets divided in half for the left and right.
+@grid-gutter-width: 30px;
+// Navbar collapse
+//** Point at which the navbar becomes uncollapsed.
+@grid-float-breakpoint: @screen-md-min;
+//** Point at which the navbar begins collapsing.
+@grid-float-breakpoint-max: (@grid-float-breakpoint - 1);
+
+//== Container sizes
+//
+//## Define the maximum width of `.container` for different screen sizes.
+
+// Small screen / tablet
+@container-tablet: ((720px + @grid-gutter-width));
+//** For `@screen-sm-min` and up.
+@container-sm: @container-tablet;
+
+// Medium screen / desktop
+@container-desktop: ((940px + @grid-gutter-width));
+//** For `@screen-md-min` and up.
+@container-md: @container-desktop;
+
+// Large screen / wide desktop
+@container-large-desktop: ((1140px + @grid-gutter-width));
+//** For `@screen-lg-min` and up.
+@container-lg: @container-large-desktop;
+
+//== Navbar
+//
+//##
+
+// Basics of a navbar
+@navbar-height: 60px;
+@navbar-margin-bottom: 0;
+@navbar-border-radius: 0;
+@navbar-padding-horizontal: floor((@grid-gutter-width / 2));
+@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
+@navbar-collapse-max-height: 380px;
+
+@navbar-default-color: #fff;
+@navbar-default-bg: @ol-blue-gray-6;
+@navbar-default-border: transparent;
+
+// Navbar links
+@navbar-default-link-color: #fff;
+@navbar-default-link-border-color: @navbar-default-link-color;
+@navbar-default-link-hover-color: @ol-green;
+@navbar-default-link-hover-bg: @ol-green;
+@navbar-default-link-active-color: #fff;
+@navbar-default-link-active-bg: @ol-green;
+@navbar-default-link-disabled-color: #ccc;
+@navbar-default-link-disabled-bg: transparent;
+
+// Navbar brand label
+@navbar-default-brand-color: @navbar-default-link-color;
+@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%);
+@navbar-default-brand-hover-bg: transparent;
+
+// Navbar toggle
+@navbar-default-toggle-hover-bg: @link-hover-color;
+@navbar-default-toggle-border-color: @link-color;
+
+//== Navs
+//
+//##
+
+//=== Shared nav styles
+@nav-link-padding: 10px 15px;
+@nav-link-hover-bg: @link-color;
+
+@nav-disabled-link-color: @gray-light;
+@nav-disabled-link-hover-color: @gray-light;
+
+@nav-open-link-hover-color: #fff;
+
+//== Tabs
+@nav-tabs-border-color: #ddd;
+
+@nav-tabs-link-hover-border-color: @link-color;
+
+@nav-tabs-active-link-hover-bg: @body-bg;
+@nav-tabs-active-link-hover-color: @gray;
+@nav-tabs-active-link-hover-border-color: #ddd;
+
+@nav-tabs-justified-link-border-color: #ddd;
+@nav-tabs-justified-active-link-border-color: @body-bg;
+
+//== Pills
+@nav-pills-link-color: @btn-default-bg;
+@nav-pills-link-hover-color: @nav-link-hover-bg;
+@nav-pills-link-hover-bg: darken(
+  @ol-blue-gray-4,
+  8%
+); // match button-variant mixin
+@nav-pills-border-radius: @border-radius-base;
+@nav-pills-active-link-hover-bg: @ol-dark-green;
+@nav-pills-active-link-hover-color: @component-active-color;
+
+//== Pagination
+//
+//##
+
+@pagination-color: @ol-dark-green;
+@pagination-bg: #fff;
+@pagination-border: @gray-lighter;
+
+@pagination-hover-color: @ol-dark-green;
+@pagination-hover-bg: @gray-lightest;
+@pagination-hover-border: @gray-lighter;
+
+@pagination-active-color: #fff;
+@pagination-active-bg: @ol-dark-green;
+@pagination-active-border: @gray-lighter;
+
+@pagination-disabled-color: @gray-dark;
+@pagination-disabled-bg: @gray-lightest;
+@pagination-disabled-border: @gray-lighter;
+
+//== Pager
+//
+//##
+
+@pager-bg: @pagination-bg;
+@pager-border: @pagination-border;
+@pager-border-radius: 15px;
+
+@pager-hover-bg: @pagination-hover-bg;
+
+@pager-active-bg: @pagination-active-bg;
+@pager-active-color: @pagination-active-color;
+
+@pager-disabled-color: @pagination-disabled-color;
+
+// Plans
+@table-hover-bg: @ol-blue-gray-0;
+@plans-non-highlighted: white;
+
+//== Jumbotron
+//
+//##
+
+@jumbotron-padding: 30px;
+@jumbotron-color: inherit;
+@jumbotron-bg: @gray-lighter;
+@jumbotron-heading-color: inherit;
+@jumbotron-font-size: ceil((@font-size-base * 1.5));
+
+//== Form states and alerts
+//
+//## Define colors for form feedback states and, by default, alerts.
+
+@state-success-text: darken(@brand-success, 20%);
+@state-success-bg: lighten(@brand-success, 50%);
+@state-success-border: darken(@brand-success, 5%);
+
+@state-info-text: darken(@brand-info, 20%);
+@state-info-bg: lighten(@brand-info, 47%);
+@state-info-border: darken(@brand-info, 7%);
+
+@state-warning-text: darken(@brand-warning, 10%);
+@state-warning-bg: lighten(@brand-warning, 45%);
+@state-warning-border: @brand-warning;
+
+@state-danger-text: darken(@brand-danger, 10%);
+@state-danger-bg: lighten(@brand-danger, 50%);
+@state-danger-border: darken(@brand-danger, 5%);
+
+//== Tooltips
+//
+//##
+
+//** Tooltip max width
+@tooltip-max-width: 200px;
+//** Tooltip text color
+@tooltip-color: #fff;
+//** Tooltip background color
+@tooltip-bg: #000;
+@tooltip-opacity: 0.9;
+
+//** Tooltip arrow width
+@tooltip-arrow-width: 5px;
+//** Tooltip arrow color
+@tooltip-arrow-color: @tooltip-bg;
+
+//== Popovers
+//
+//##
+
+//** Popover body background color
+@popover-bg: #fff;
+//** Popover maximum width
+@popover-max-width: 276px;
+//** Popover border color
+@popover-border-color: rgba(0, 0, 0, 0.2);
+//** Popover fallback border color
+@popover-fallback-border-color: #ccc;
+
+//** Popover title background color
+@popover-title-bg: darken(@popover-bg, 3%);
+
+//** Popover arrow width
+@popover-arrow-width: 10px;
+//** Popover arrow color
+@popover-arrow-color: #fff;
+
+//** Popover outer arrow width
+@popover-arrow-outer-width: (@popover-arrow-width + 1);
+//** Popover outer arrow color
+@popover-arrow-outer-color: fadein(@popover-border-color, 5%);
+//** Popover outer arrow fallback color
+@popover-arrow-outer-fallback-color: darken(
+  @popover-fallback-border-color,
+  20%
+);
+
+//== Labels
+//
+//##
+
+//** Default label background color
+@label-default-bg: @gray-light;
+//** Primary label background color
+@label-primary-bg: @brand-primary;
+//** Success label background color
+@label-success-bg: @brand-success;
+//** Info label background color
+@label-info-bg: @brand-info;
+//** Warning label background color
+@label-warning-bg: @brand-warning;
+//** Danger label background color
+@label-danger-bg: @brand-danger;
+
+//** Default label text color
+@label-color: #fff;
+//** Default text color of a linked label
+@label-link-hover-color: #fff;
+
+//== Modals
+//
+//##
+
+//** Padding applied to the modal body
+@modal-inner-padding: 20px;
+
+//** Padding applied to the modal title
+@modal-title-padding: 15px;
+//** Modal title line-height
+@modal-title-line-height: @line-height-base;
+
+//** Background color of modal content area
+@modal-content-bg: #fff;
+//** Modal content border color
+@modal-content-border-color: rgba(0, 0, 0, 0.2);
+//** Modal content border color **for IE8**
+@modal-content-fallback-border-color: #999;
+
+//** Modal backdrop background color
+@modal-backdrop-bg: #000;
+//** Modal backdrop opacity
+@modal-backdrop-opacity: 0.5;
+//** Modal header border color
+@modal-header-border-color: #e5e5e5;
+//** Modal footer border color
+@modal-footer-border-color: @modal-header-border-color;
+@modal-footer-background-color: @gray-lightest;
+
+@modal-lg: 900px;
+@modal-md: 600px;
+@modal-sm: 300px;
+
+//== Alerts
+//
+//## Define alert colors, border radius, and padding.
+
+@alert-padding: 15px;
+@alert-border-radius: @border-radius-base;
+@alert-link-font-weight: bold;
+
+@alert-success-bg: @brand-success;
+@alert-success-text: #fff;
+@alert-success-border: transparent;
+
+@alert-info-bg: @brand-info;
+@alert-info-text: #fff;
+@alert-info-border: transparent;
+
+@alert-warning-bg: @brand-warning;
+@alert-warning-text: #fff;
+@alert-warning-border: transparent;
+
+@alert-danger-bg: @brand-danger;
+@alert-danger-text: #fff;
+@alert-danger-border: transparent;
+
+@alert-alt-bg: @ol-blue-gray-1;
+@alert-alt-text: @ol-type-color;
+@alert-alt-border: transparent;
+
+//== Progress bars
+//
+//##
+
+//** Background color of the whole progress component
+@progress-bg: white;
+@progress-border-color: @gray-lighter;
+//** Progress bar text color
+@progress-bar-color: #fff;
+
+//** Default progress bar color
+@progress-bar-bg: @ol-blue-gray-4;
+//** Success progress bar color
+@progress-bar-success-bg: @ol-green;
+//** Warning progress bar color
+@progress-bar-warning-bg: @brand-warning;
+//** Danger progress bar color
+@progress-bar-danger-bg: @ol-red;
+//** Info progress bar color
+@progress-bar-info-bg: @ol-blue;
+
+//== List group
+//
+//##
+
+//** Background color on `.list-group-item`
+@list-group-bg: #fff;
+//** `.list-group-item` border color
+@list-group-border: #ddd;
+//** List group border radius
+@list-group-border-radius: @border-radius-base;
+
+//** Background color of single list elements on hover
+@list-group-hover-bg: #f5f5f5;
+//** Text color of active list elements
+@list-group-active-color: @component-active-color;
+//** Background color of active list elements
+@list-group-active-bg: @component-active-bg;
+//** Border color of active list elements
+@list-group-active-border: @list-group-active-bg;
+@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
+
+@list-group-link-color: #555;
+@list-group-link-heading-color: #333;
+
+//== Panels
+//
+//##
+
+@panel-bg: #fff;
+@panel-body-padding: 15px;
+@panel-border-radius: @border-radius-base;
+
+//** Border color for elements within panels
+@panel-inner-border: #ddd;
+@panel-footer-bg: #f5f5f5;
+
+@panel-default-text: @gray-dark;
+@panel-default-border: #ddd;
+@panel-default-heading-bg: #f5f5f5;
+
+@panel-primary-text: #fff;
+@panel-primary-border: @brand-primary;
+@panel-primary-heading-bg: @brand-primary;
+
+@panel-success-text: @state-success-text;
+@panel-success-border: @state-success-border;
+@panel-success-heading-bg: @state-success-bg;
+
+@panel-info-text: @state-info-text;
+@panel-info-border: @state-info-border;
+@panel-info-heading-bg: @state-info-bg;
+
+@panel-warning-text: @state-warning-text;
+@panel-warning-border: @state-warning-border;
+@panel-warning-heading-bg: @state-warning-bg;
+
+@panel-danger-text: @state-danger-text;
+@panel-danger-border: @state-danger-border;
+@panel-danger-heading-bg: @state-danger-bg;
+
+//== Thumbnails
+//
+//##
+
+//** Padding around the thumbnail image
+@thumbnail-padding: 4px;
+//** Thumbnail background color
+@thumbnail-bg: @body-bg;
+//** Thumbnail border color
+@thumbnail-border: #ddd;
+//** Thumbnail border radius
+@thumbnail-border-radius: @border-radius-base;
+
+//** Custom text color for thumbnail captions
+@thumbnail-caption-color: @text-color;
+//** Padding around the thumbnail caption
+@thumbnail-caption-padding: 9px;
+
+//== Wells
+//
+//##
+
+@well-bg: #f5f5f5;
+@well-border: darken(@well-bg, 7%);
+
+//== Badges
+//
+//##
+
+@badge-color: #fff;
+//** Linked badge text color on hover
+@badge-link-hover-color: #fff;
+@badge-bg: @gray-light;
+
+//** Badge text color in active nav link
+@badge-active-color: @link-color;
+//** Badge background color in active nav link
+@badge-active-bg: #fff;
+
+@badge-font-weight: bold;
+@badge-line-height: 1;
+@badge-border-radius: 10px;
+
+//== Breadcrumbs
+//
+//##
+
+@breadcrumb-padding-vertical: 8px;
+@breadcrumb-padding-horizontal: 15px;
+//** Breadcrumb background color
+@breadcrumb-bg: #f5f5f5;
+//** Breadcrumb text color
+@breadcrumb-color: #ccc;
+//** Text color of current page in the breadcrumb
+@breadcrumb-active-color: @gray-light;
+//** Textual separator for between breadcrumb elements
+@breadcrumb-separator: '/';
+
+//== Carousel
+//
+//##
+
+@carousel-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
+
+@carousel-control-color: #fff;
+@carousel-control-width: 15%;
+@carousel-control-opacity: 0.5;
+@carousel-control-font-size: 20px;
+
+@carousel-indicator-active-bg: #fff;
+@carousel-indicator-border-color: #fff;
+
+@carousel-caption-color: #fff;
+
+//== Close
+//
+//##
+
+@close-font-weight: bold;
+@close-color: #000;
+@close-text-shadow: 0 1px 0 #fff;
+
+//== Code
+//
+//##
+
+@code-color: #c7254e;
+@code-bg: #f9f2f4;
+
+@kbd-color: #fff;
+@kbd-bg: #333;
+
+@pre-bg: #f5f5f5;
+@pre-color: @gray-dark;
+@pre-border-color: #ccc;
+@pre-scrollable-max-height: 340px;
+
+//== Type
+//
+//##
+
+//** Text muted color
+@text-muted: @gray-light;
+//** Abbreviations and acronyms border color
+@abbr-border-color: @gray-light;
+//** Headings small color
+@headings-small-color: @gray-light;
+//** Blockquote small color
+@blockquote-small-color: @ol-blue-gray-3;
+//** Blockquote font size
+@blockquote-font-size: (@font-size-base * 1.125);
+//** Blockquote border color
+@blockquote-border-color: @gray-lighter;
+//** Page header border color
+@page-header-border-color: @gray-lighter;
+
+//== Miscellaneous
+@editor-search-count-color: @ol-blue-gray-4;
+//##
+
+//** Horizontal line color.
+@hr-border: @ol-blue-gray-1;
+
+//** Horizontal offset for forms and lists.
+@component-offset-horizontal: 180px;
+
+@content-margin-vertical: @line-height-computed;
+
+@left-menu-width: 260px;
+@left-menu-animation-duration: 0.35s;
+
+@toolbar-border-color: @ol-blue-gray-5;
+@toolbar-header-btn-border-color: @toolbar-border-color;
+@common-border-color: @gray-lighter;
+@editor-border-color: @ol-blue-gray-5;
+
+@editor-dark-background-color: #333;
+@editor-dark-toolbar-border-color: #222;
+@editor-dark-highlight-color: #ffa03a;
+
+// Custom
+@header-height: 68px;
+@footer-height: 50px;
+
+// Backgrounds
+@content-alt-bg-color: @ol-blue-gray-0;
+
+// Typography
+@text-small-color: @ol-type-color;
+
+// Navbar
+@navbar-title-color: @ol-blue-gray-1;
+@navbar-title-color-hover: @ol-blue-gray-2;
+@navbar-default-padding-v: (@grid-gutter-width / 2);
+@navbar-default-padding-h: 10px;
+@navbar-default-padding: @navbar-default-padding-v @navbar-default-padding-h;
+@navbar-brand-width: 130px;
+@navbar-btn-font-size: @font-size-base;
+@navbar-btn-border-radius: @btn-border-radius-base;
+@navbar-btn-font-weight: 400;
+@navbar-btn-padding: (@padding-base-vertical - 1) @padding-base-horizontal
+  @padding-base-vertical;
+@navbar-btn-line-height: @line-height-base;
+@navbar-subdued-padding: (@padding-base-vertical + 1)
+  (@padding-base-horizontal + 1) (@padding-base-vertical + 2);
+@navbar-subdued-color: #fff;
+@navbar-subdued-hover-bg: #fff;
+@navbar-subdued-hover-color: @ol-green;
+@navbar-brand-image-url: url(../../../public/img/ol-brand/overleaf-white.svg);
+
+@dropdown-divider-margin: 6px;
+@dropdown-item-padding: 4px 20px;
+@navbar-default-link-bg: transparent;
+
+// Button colors and sizing
+@btn-border-radius-large: 9999px;
+@btn-border-radius-base: 9999px;
+@btn-border-radius-small: 9999px;
+@btn-border-width: 0;
+@btn-border-bottom-width: 0;
+
+// Cards
+@card-box-shadow: none;
+
+// Project table
+@structured-list-link-color: @ol-blue;
+@structured-header-border-color: shade(@ol-blue-gray-1, 5%);
+@structured-list-border-color: @ol-blue-gray-1;
+@structured-list-hover-color: lighten(@ol-blue-gray-1, 5%);
+@structured-list-line-height: 2.5;
+
+// Sidebar
+@sidebar-bg: @ol-blue-gray-5;
+@sidebar-color: @ol-blue-gray-2;
+@sidebar-link-color: #fff;
+@sidebar-active-border-radius: 0;
+@sidebar-active-bg: @ol-blue-gray-6;
+@sidebar-active-color: #fff;
+@sidebar-active-font-weight: 700;
+@sidebar-hover-bg: @ol-blue-gray-4;
+@sidebar-hover-text-decoration: none;
+@v2-dash-pane-bg: @ol-blue-gray-4;
+@v2-dash-pane-link-color: #fff;
+@v2-dash-pane-color: #fff;
+@v2-dash-pane-subdued-color: @ol-blue-gray-1;
+@v2-dash-pane-toggle-color: #fff;
+@v2-dash-pane-btn-bg: @ol-blue-gray-5;
+@v2-dash-pane-btn-hover-bg: @ol-blue-gray-6;
+
+@folders-menu-margin: 0 - (@grid-gutter-width / 2);
+@folders-menu-line-height: @structured-list-line-height;
+@folders-menu-item-v-padding: (@line-height-computed / 4);
+@folders-menu-item-h-padding: (@grid-gutter-width / 2);
+@folders-title-padding: @folders-menu-item-v-padding 0;
+@folders-title-margin-top: 0;
+@folders-title-margin-bottom: 0;
+@folders-title-font-size: @font-size-small;
+@folders-title-font-weight: normal;
+@folders-title-line-height: @headings-line-height;
+@folders-title-color: @ol-blue-gray-2;
+@folders-title-text-transform: uppercase;
+@folders-tag-padding: @folders-menu-item-v-padding 30px
+  @folders-menu-item-v-padding @folders-menu-item-h-padding;
+@folders-tag-line-height: 1.4;
+@folders-tag-display: block;
+@folders-tag-menu-color: #fff;
+@folders-tag-hover: @sidebar-hover-bg;
+@folders-tag-border-color: @folders-tag-menu-color;
+@folders-tag-menu-active-hover: rgba(0, 0, 0, 0.1);
+@folders-tag-menu-hover: rgba(0, 0, 0, 0.1);
+@info-badge-bg: @ol-blue;
+// Progress bars
+@progress-border-radius: @line-height-computed;
+@progress-border-width: 0;
+@progress-bar-shadow: none;
+
+// Footer
+@footer-link-color: @link-color-alt;
+@footer-link-hover-color: @link-hover-color-alt;
+@footer-bg-color: #fff;
+@footer-padding: 2em 0;
+@fat-footer-social-font-size: 30px;
+
+// Editor header
+@ide-body-top-offset: 40px;
+@toolbar-header-bg-color: @ol-blue-gray-6;
+@toolbar-header-shadow: none;
+@toolbar-header-branded-btn-bg-color: transparent;
+@toolbar-btn-color: #fff;
+@toolbar-btn-hover-color: #fff;
+@toolbar-btn-hover-bg-color: @ol-blue-gray-5;
+@toolbar-btn-hover-text-shadow: none;
+@toolbar-btn-active-color: #fff;
+@toolbar-btn-active-bg-color: @ol-green;
+@toolbar-btn-active-shadow: none;
+@toolbar-font-size: 13px;
+@toolbar-alt-bg-color: @ol-blue-gray-5;
+@toolbar-icon-btn-color: #fff;
+@toolbar-icon-btn-hover-color: #fff;
+@toolbar-icon-btn-hover-shadow: none;
+@toolbar-icon-btn-hover-boxshadow: none;
+@toolbar-border-bottom: 1px solid @toolbar-border-color;
+@toolbar-small-height: 32px;
+@toolbar-tall-height: 58px;
+@project-name-color: @ol-blue-gray-2;
+@project-rename-link-color: @ol-blue-gray-2;
+@project-rename-link-color-hover: @ol-blue-gray-1;
+@global-alerts-padding: 7px;
+
+// Editor file-tree
+@file-tree-bg: @ol-blue-gray-4;
+@file-tree-line-height: 2.05;
+@file-tree-item-color: #fff;
+@file-tree-item-focus-color: @file-tree-item-color;
+@file-tree-item-selected-color: @file-tree-item-color;
+@file-tree-item-toggle-color: @ol-blue-gray-2;
+@file-tree-item-icon-color: @ol-blue-gray-2;
+@file-tree-item-input-color: @ol-blue-gray-5;
+@file-tree-item-folder-color: @ol-blue-gray-2;
+@file-tree-item-hover-bg: @ol-blue-gray-5;
+@file-tree-item-selected-bg: @ol-green;
+@file-tree-multiselect-bg: @ol-blue;
+@file-tree-multiselect-hover-bg: @ol-dark-blue;
+@file-tree-droppable-bg-color: @ol-blue-gray-2;
+@file-tree-error-color: @ol-blue-gray-1;
+
+// File outline
+@outline-v-rhythm: 24px;
+@outline-h-rhythm: 24px;
+@outline-item-h-padding: @outline-h-rhythm * 0.25;
+@outline-line-guide-color: @ol-blue-gray-3;
+@outline-expand-collapse-color: @ol-blue-gray-2;
+@outline-no-items-color: @file-tree-item-color;
+@outline-header-hover-bg: @ol-blue-gray-6;
+@outline-highlight-bg: tint(@file-tree-bg, 15%);
+@vertical-resizable-resizer-bg: @ol-blue-gray-5;
+@vertical-resizable-resizer-hover-bg: @ol-blue-gray-6;
+
+// Editor resizers
+@editor-resizer-bg-color: @ol-blue-gray-5;
+@editor-resizer-bg-color-dragging: @ol-blue-gray-5;
+@editor-toggler-bg-color: darken(@ol-blue-gray-2, 15%);
+@editor-toggler-hover-bg-color: @ol-green;
+@synctex-controls-z-index: 6;
+@synctex-controls-padding: 0;
+
+// Editor toolbar
+@editor-toolbar-height: 32px;
+@editor-toolbar-bg: @ol-blue-gray-5;
+
+// Toggle switch
+@toggle-switch-bg: @ol-blue-gray-1;
+@toggle-switch-highlight-color: @ol-green;
+
+// Formatting buttons
+@formatting-btn-color: #fff;
+@formatting-btn-bg: @ol-blue-gray-5;
+@formatting-btn-border: @ol-blue-gray-4;
+@formatting-menu-bg: @ol-blue-gray-5;
+
+// Chat
+@chat-bg: @ol-blue-gray-5;
+@chat-instructions-color: @ol-blue-gray-1;
+@chat-message-color: #fff;
+@chat-message-date-color: @ol-blue-gray-2;
+@chat-message-name-color: #fff;
+@chat-message-box-shadow: none;
+@chat-message-border-radius: @border-radius-large;
+@chat-message-padding: 5px 10px;
+@chat-message-weight: bold;
+@chat-new-message-bg: @ol-blue-gray-4;
+@chat-new-message-textarea-bg: @ol-blue-gray-1;
+@chat-new-message-textarea-color: @ol-blue-gray-6;
+@chat-new-message-border-color: @editor-border-color;
+
+// PDF and logs
+@pdf-top-offset: @toolbar-small-height;
+@pdf-bg: @ol-blue-gray-1;
+@pdfjs-bg: transparent;
+@pdf-page-shadow-color: rgba(0, 0, 0, 0.5);
+@logs-pane-bg: @ol-blue-gray-5;
+@log-line-no-color: #fff;
+@log-hints-color: @ol-blue-gray-4;
+
+// Tags
+@tag-border-radius: 9999px;
+@tag-color: @ol-blue-gray-4;
+@tag-bg-color: @ol-blue-gray-1;
+@tag-bg-hover-color: darken(@ol-blue-gray-1, 5%);
+@tag-max-width: 150px;
+@tag-top-adjustment: 2px;
+@labels-font-size: 85%;
+
+// System messages
+@sys-msg-background: @ol-blue;
+@sys-msg-color: #fff;
+@sys-msg-border: solid 1px lighten(@ol-blue, 10%);
+
+// Portals
+@black-alpha-strong: rgba(0, 0, 0, 0.8);
+@btn-portal-width: 200px;
+
+// v2 History
+@history-base-font-size: @font-size-small;
+@history-base-bg: @ol-blue-gray-1;
+@history-entry-label-bg-color: @ol-blue;
+@history-entry-pseudo-label-bg-color: @ol-green;
+@history-entry-label-color: #fff;
+@history-entry-selected-label-bg-color: #fff;
+@history-entry-selected-label-color: @ol-blue;
+@history-entry-selected-pseudo-label-color: @ol-green;
+@history-entry-day-bg: @ol-blue-gray-1;
+@history-entry-day-color: @ol-blue-gray-3;
+@history-entry-selected-bg: @ol-green;
+@history-entry-handle-bg: darken(@ol-green, 10%);
+@history-entry-handle-height: 8px;
+@history-base-color: @ol-blue-gray-3;
+@history-highlight-color: @ol-type-color;
+@history-toolbar-bg-color: @editor-toolbar-bg;
+@history-toolbar-color: #fff;
+@history-file-badge-bg: rgba(255, 255, 255, 0.25);
+@history-file-badge-color: @file-tree-item-color;
+
+// Input suggestions
+@input-suggestion-v-offset: 4px;
+
+// Symbol Palette
+@symbol-palette-bg: @ol-blue-gray-4;
+@symbol-palette-color: #fff;
+@symbol-palette-header-background: @ol-blue-gray-5;
+@symbol-palette-item-bg: @ol-blue-gray-5;
+@symbol-palette-item-color: #fff;
+@symbol-palette-selected-tab-bg: @ol-blue-gray-4;
+@symbol-palette-selected-tab-color: #fff;
+@symbol-palette-text-shadow-color: @ol-blue-gray-6;
+
+// Galileo
+@galileo-bg: @ol-blue-gray-4;
+@galileo-color: #fff;
+@galileo-header-background: @ol-blue-gray-5;
+@galileo-suggestion-background: @ol-blue-gray-3;
+
+// Editor fonts
+@editor-font-lucida: 'Lucida Console', 'Source Code Pro', monospace;
+@editor-font-monaco: Monaco, Menlo, 'Ubuntu Mono', 'Consolas', monospace;
+
+@mobile-action-element-width: 48px;
+@mobile-action-element-height: @mobile-action-element-width;
diff --git a/services/web/frontend/stylesheets/variables/css-variables.less b/services/web/frontend/stylesheets/variables/css-variables.less
new file mode 100644
index 0000000000..90832002b5
--- /dev/null
+++ b/services/web/frontend/stylesheets/variables/css-variables.less
@@ -0,0 +1,21 @@
+:root {
+  --ol-blue: @ol-blue;
+
+  --ol-blue-gray-0: @ol-blue-gray-0;
+  --ol-blue-gray-1: @ol-blue-gray-1;
+  --ol-blue-gray-2: @ol-blue-gray-2;
+  --ol-blue-gray-3: @ol-blue-gray-3;
+  --ol-blue-gray-4: @ol-blue-gray-4;
+  --ol-blue-gray-5: @ol-blue-gray-5;
+  --ol-blue-gray-6: @ol-blue-gray-6;
+
+  --input-color: @input-color;
+  --input-border: @input-border;
+  --input-border-radius: @input-border-radius;
+  --input-border-focus: @input-border-focus;
+
+  --btn-border-radius-base: @btn-border-radius-base;
+  --btn-default-bg: @btn-default-bg;
+
+  --line-height-base: @line-height-base;
+}
diff --git a/services/web/frontend/stylesheets/variables/themes/ieee.less b/services/web/frontend/stylesheets/variables/themes/ieee.less
new file mode 100644
index 0000000000..139c458f83
--- /dev/null
+++ b/services/web/frontend/stylesheets/variables/themes/ieee.less
@@ -0,0 +1,52 @@
+@ieee-blue: #00629b;
+@ieee-dark-blue: #002855;
+@ieee-cyan: #00b5e2;
+@ieee-dark-cyan: #009ca6;
+@ieee-red: #ba0c2f;
+@ieee-orange: #ffa300;
+@ieee-yellow: #ffd100;
+@ieee-light-green: #78be20;
+@ieee-dark-green: #00843d;
+@ieee-purple: #981d97;
+
+@ol-blue-gray-0: #f4f5f8;
+@ol-blue-gray-1: #d8e0e6;
+@ol-blue-gray-2: #8195a1;
+@ol-blue-gray-3: #425e6e;
+@ol-blue-gray-4: #26425f;
+@ol-blue-gray-5: #1e3048;
+@ol-blue-gray-6: #112437;
+
+@ol-green: @ieee-dark-green;
+@ol-dark-green: darken(@ieee-dark-green, 15%);
+@ol-blue: @ieee-blue;
+@ol-dark-blue: @ieee-dark-blue;
+@ol-red: @ieee-red;
+@ol-dark-red: darken(@ieee-red, 15%);
+
+@brand-primary: @ieee-blue;
+@brand-secondary: @ieee-dark-blue;
+@brand-success: @ol-blue;
+@brand-info: @ieee-dark-cyan;
+@brand-warning: @ieee-orange;
+@brand-danger: @ol-red;
+
+@btn-primary-bg: @ieee-blue;
+@link-color: @ieee-blue;
+@link-hover-color: @ieee-dark-blue;
+
+@toolbar-btn-active-bg-color: @ieee-blue;
+@file-tree-item-selected-bg: @ieee-blue;
+@file-tree-multiselect-bg: @ieee-cyan;
+
+@editor-toggler-hover-bg-color: @ieee-blue;
+
+@toggle-switch-highlight-color: @ieee-blue;
+
+@footer-link-color: @link-color;
+@footer-link-hover-color: @link-hover-color;
+
+@navbar-subdued-hover-color: @ieee-blue;
+@navbar-default-link-hover-bg: @ieee-blue;
+@navbar-default-link-hover-color: @ieee-blue;
+@navbar-default-link-active-bg: @ieee-blue;
diff --git a/services/web/frontend/stylesheets/variables/themes/light.less b/services/web/frontend/stylesheets/variables/themes/light.less
new file mode 100644
index 0000000000..60cef4da97
--- /dev/null
+++ b/services/web/frontend/stylesheets/variables/themes/light.less
@@ -0,0 +1,145 @@
+// Styleguide colors
+@ol-green: #138a07;
+@ol-dark-green: #004a0e;
+@ol-blue: #3e70bb;
+@ol-dark-blue: #2857a1;
+@ol-red: #c9453e;
+@ol-dark-red: #a6312b;
+
+@ol-type-color: @ol-blue-gray-3;
+
+// Sidebar
+@sidebar-bg: #fff;
+@sidebar-color: @ol-blue-gray-2;
+@sidebar-active-bg: @ol-green;
+@sidebar-active-color: #fff;
+@sidebar-hover-bg: @ol-blue-gray-1;
+@sidebar-active-font-weight: normal;
+@sidebar-hover-text-decoration: none;
+
+@v2-dash-pane-bg: @ol-blue-gray-1;
+@v2-dash-pane-link-color: @ol-blue;
+@v2-dash-pane-toggle-color: @ol-blue-gray-3;
+@v2-dash-pane-btn-bg: @ol-blue-gray-5;
+@v2-dash-pane-btn-hover-bg: @ol-blue-gray-6;
+@v2-dash-pane-color: @ol-blue-gray-3;
+
+@progress-bar-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
+@progress-bg: @ol-blue-gray-0;
+
+@input-border: @ol-blue-gray-1;
+
+// Editor file-tree
+@file-tree-bg: #fff;
+@file-tree-line-height: 2.05;
+@file-tree-item-color: @ol-blue-gray-3;
+@file-tree-item-focus-color: @file-tree-item-color;
+@file-tree-item-selected-color: #fff;
+@file-tree-item-input-color: @ol-blue-gray-2;
+@file-tree-item-toggle-color: @ol-blue-gray-2;
+@file-tree-item-icon-color: @ol-blue-gray-2;
+@file-tree-item-folder-color: @ol-blue-gray-2;
+@file-tree-item-hover-bg: @ol-blue-gray-1;
+@file-tree-item-selected-bg: @ol-green;
+@file-tree-multiselect-bg: @ol-blue;
+@file-tree-multiselect-hover-bg: @ol-dark-blue;
+@file-tree-droppable-bg-color: @ol-blue-gray-2;
+
+@content-alt-bg-color: @ol-blue-gray-0;
+
+// File outline
+@outline-line-guide-color: @ol-blue-gray-1;
+@outline-header-hover-bg: @file-tree-item-hover-bg;
+@outline-highlight-bg: mix(@file-tree-bg, @ol-blue-gray-1);
+
+@vertical-resizable-resizer-bg: @ol-blue-gray-1;
+@vertical-resizable-resizer-hover-bg: @file-tree-item-hover-bg;
+
+// Editor resizers
+@editor-resizer-bg-color: @ol-blue-gray-1;
+@editor-resizer-bg-color-dragging: @ol-blue-gray-1;
+@editor-toggler-bg-color: @ol-blue-gray-2;
+@editor-toggler-hover-bg-color: @ol-green;
+@synctex-controls-z-index: 6;
+@synctex-controls-padding: 0;
+@editor-border-color: @ol-blue-gray-1;
+
+@toolbar-border-color: @ol-blue-gray-1;
+@toolbar-alt-bg-color: #fff;
+@editor-toolbar-bg: @toolbar-alt-bg-color;
+
+@toolbar-header-bg-color: #fff;
+@toolbar-header-btn-border-color: @ol-blue-gray-1;
+@toolbar-header-branded-btn-bg-color: @ol-blue-gray-3;
+@toolbar-btn-color: @ol-blue-gray-3;
+@toolbar-btn-hover-color: @ol-blue-gray-3;
+@toolbar-btn-hover-bg-color: @ol-blue-gray-0;
+@toolbar-icon-btn-color: @ol-blue-gray-3;
+@toolbar-icon-btn-hover-color: @ol-blue-gray-3;
+@editor-header-logo-background: url(../../../../public/img/ol-brand/overleaf-o.svg)
+  center / contain no-repeat;
+@project-name-color: @ol-blue-gray-3;
+@project-rename-link-color: @ol-blue-gray-3;
+@project-rename-link-color-hover: @ol-blue-gray-4;
+@pdf-bg: @ol-blue-gray-0;
+@logs-pane-bg: @ol-blue-gray-1;
+
+// Navbar
+@navbar-default-bg: #fff;
+@navbar-default-border: @ol-blue-gray-1;
+@navbar-default-link-bg: @ol-green;
+@navbar-default-link-color: #fff;
+@navbar-default-link-border-color: transparent;
+@navbar-default-link-hover-bg: @ol-green;
+@navbar-default-link-active-bg: @ol-green;
+@navbar-default-link-hover-color: @ol-green;
+
+@navbar-title-color: @ol-blue-gray-1;
+@navbar-title-color-hover: @ol-blue-gray-2;
+@navbar-default-color: @ol-blue-gray-3;
+@navbar-brand-image-url: url(../../../../public/img/ol-brand/overleaf.svg);
+
+@navbar-subdued-color: @ol-blue-gray-3;
+@navbar-subdued-hover-bg: @ol-blue-gray-1;
+@navbar-subdued-hover-color: @ol-blue-gray-3;
+
+@card-box-shadow: 0 0 0 1px @ol-blue-gray-1;
+
+// v2 History
+@history-toolbar-color: @ol-blue-gray-3;
+@history-base-bg: @ol-blue-gray-0;
+@history-file-badge-bg: rgba(0, 0, 0, 0.25);
+@history-file-badge-color: #fff;
+
+// Formatting buttons
+@formatting-btn-color: @toolbar-icon-btn-color;
+@formatting-btn-bg: transparent;
+@formatting-btn-border: @ol-blue-gray-1;
+@formatting-menu-bg: #fff;
+
+// Chat
+@chat-bg: #fff;
+@chat-instructions-color: @ol-blue-gray-3;
+@chat-message-color: #fff;
+@chat-message-name-color: @ol-blue-gray-3;
+@chat-message-date-color: @ol-blue-gray-3;
+@chat-new-message-bg: @ol-blue-gray-0;
+@chat-new-message-textarea-bg: #fff;
+@chat-new-message-textarea-color: @ol-blue-gray-6;
+@chat-new-message-border-color: @ol-blue-gray-1;
+
+// Symbol Palette
+@symbol-palette-bg: #fff;
+@symbol-palette-color: @ol-blue-gray-3;
+@symbol-palette-header-background: @ol-blue-gray-1;
+@symbol-palette-item-bg: @ol-blue-gray-1;
+@symbol-palette-item-color: @ol-blue-gray-3;
+@symbol-palette-selected-tab-bg: #fff;
+@symbol-palette-selected-tab-color: @ol-blue;
+@symbol-palette-text-shadow-color: @ol-blue-gray-1;
+
+// Galileo
+@galileo-bg: #fff;
+@galileo-color: @ol-blue-gray-3;
+@galileo-header-background: @ol-blue-gray-1;
+@galileo-suggestion-background: @ol-blue-gray-1;