From 5c8442a86f0be50e6a1eb8d30aef86a5288eea4d Mon Sep 17 00:00:00 2001 From: James Allen Date: Mon, 7 Aug 2017 17:01:59 +0200 Subject: [PATCH 1/5] Allow configureable brand prefix with overleaf styles --- services/web/.gitignore | 1 + services/web/Gruntfile.coffee | 3 + services/web/app/views/layout.pug | 18 +- services/web/config/settings.defaults.coffee | 2 + services/web/public/ol-favicon.ico | Bin 0 -> 938 bytes .../public/stylesheets/_style_includes.less | 84 ++ .../stylesheets/core/_common-variables.less | 805 +++++++++++++++++ .../public/stylesheets/core/ol-variables.less | 31 + .../public/stylesheets/core/variables.less | 807 +----------------- services/web/public/stylesheets/ol-style.less | 3 + services/web/public/stylesheets/style.less | 85 +- 11 files changed, 940 insertions(+), 899 deletions(-) create mode 100644 services/web/public/ol-favicon.ico create mode 100644 services/web/public/stylesheets/_style_includes.less create mode 100644 services/web/public/stylesheets/core/_common-variables.less create mode 100644 services/web/public/stylesheets/core/ol-variables.less create mode 100644 services/web/public/stylesheets/ol-style.less diff --git a/services/web/.gitignore b/services/web/.gitignore index d7b110e28d..9c2a272a7a 100644 --- a/services/web/.gitignore +++ b/services/web/.gitignore @@ -60,6 +60,7 @@ public/js/services/ public/js/utils/ public/stylesheets/style.css +public/stylesheets/ol-style.css public/brand/plans.css public/minjs/ diff --git a/services/web/Gruntfile.coffee b/services/web/Gruntfile.coffee index 45a6528cdd..479190332f 100644 --- a/services/web/Gruntfile.coffee +++ b/services/web/Gruntfile.coffee @@ -139,6 +139,9 @@ module.exports = (grunt) -> app: files: "public/stylesheets/style.css": "public/stylesheets/style.less" + ol: + files: + "public/stylesheets/ol-style.css": "public/stylesheets/ol-style.less" postcss: options: diff --git a/services/web/app/views/layout.pug b/services/web/app/views/layout.pug index 459f081c8a..30f454f72a 100644 --- a/services/web/app/views/layout.pug +++ b/services/web/app/views/layout.pug @@ -14,16 +14,16 @@ html(itemscope, itemtype='http://schema.org/Product') -if (typeof(title) == "undefined") - title= 'ShareLaTeX, '+ translate("online_latex_editor") + title= settings.appName + ', '+ translate("online_latex_editor") -else - title= translate(title) + ' - ShareLaTeX, ' + translate("online_latex_editor") + title= translate(title) + ' - ' + settings.appName + ', ' + translate("online_latex_editor") - link(rel="icon", href="/favicon.ico") - link(rel="icon", sizes="192x192", href="/touch-icon-192x192.png") - link(rel="apple-touch-icon-precomposed", href="/apple-touch-icon-precomposed.png") - link(rel="mask-icon", href="/mask-favicon.svg", color="#a93529") + link(rel="icon", href="/" + settings.brandPrefix + "favicon.ico") + link(rel="icon", sizes="192x192", href="/" + settings.brandPrefix + "touch-icon-192x192.png") + link(rel="apple-touch-icon-precomposed", href="/" + settings.brandPrefix + "apple-touch-icon-precomposed.png") + link(rel="mask-icon", href="/" + settings.brandPrefix + "mask-favicon.svg", color="#a93529") - link(rel='stylesheet', href=buildCssPath('/style.css')) + link(rel='stylesheet', href=buildCssPath("/" + settings.brandPrefix + "style.css")) block _headLinks @@ -33,14 +33,14 @@ html(itemscope, itemtype='http://schema.org/Product') link(rel="alternate", href=subdomainDetails.url+currentUrl, hreflang=subdomainDetails.lngCode) - meta(itemprop="name", content="ShareLaTeX, the Online LaTeX Editor") + meta(itemprop="name", content=settings.appName + ", the Online LaTeX Editor") -if (typeof(meta) == "undefined") meta(itemprop="description", name="description", content=translate("site_description")) -else meta(itemprop="description", name="description" , content=meta) - meta(itemprop="image", name="image", content="https://www.sharelatex.com/favicon.ico") + meta(itemprop="image", name="image", content="/" + settings.brandPrefix + "favicon.ico") - if (typeof(gaToken) != "undefined") script(type='text/javascript'). diff --git a/services/web/config/settings.defaults.coffee b/services/web/config/settings.defaults.coffee index 046903de7b..2456590709 100644 --- a/services/web/config/settings.defaults.coffee +++ b/services/web/config/settings.defaults.coffee @@ -343,6 +343,8 @@ module.exports = settings = appName: "ShareLaTeX (Community Edition)" adminEmail: "placeholder@example.com" + + brandPrefix: "" # Set to 'ol-' for overleaf styles nav: title: "ShareLaTeX Community Edition" diff --git a/services/web/public/ol-favicon.ico b/services/web/public/ol-favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6a14f7a5b9f7e1f231826fb3bf660351b8c4c903 GIT binary patch literal 938 zcmV;b16BNqP)6bJBMSw6GKg3Je6K_3!Em^FFSAtDM6 zk(1mK6;@CP4JxQXU=ox*Is+A|M{=A_THEOx|}r1qOvML3~4xCge5o&r{Po_!(se}{rEA4 zG$^a$?{y;qXgVmXVl6h{0*qlk<~95t#h)3-02^XRTmB6OR^w$X?Jyl+L4MyFLkc4^ zFr*!uu(88@3l89Zbvi!6bupx4ZNroM0?4Q@ohA4r?!c{BiHCCV0q#`S#0hdr->=UA zUYut7UEHot$NN~;nqL(|`hF(gy%=cZ?D~fKV_c1OcphI)6a4NN(pQc2jRv5s3T0K? z*idbZAziDkp@uRrl7I-X*`TWxFLqLEw|twSc8jkNuK`#lQE?I zUBT(-f=t~jSdU*b#f$K*y61=TDjta;P4!`PE-82_2ZsqP&R;mcWw#zblvVL~2Hv~9 zXEe+?{~!<7;Vt}8kSf1Ama9#}Qr#Ul_<+O!q0hXfx3QlF>wL|WmPQ2j_l;U7}8B$U(sOVww$UVz|LZvj)C+2vp;O> za?oS~pQzh)2y9{$0B1Jzhxz~*g1}z<-cT>=S~nelCT*AZ1(2nE;*FGoDfLYT*7l8@ zQ*e%YZy3t1Q2>0W-s53mSru#g^mIByYhFgsg}Jq^`2xJ-S)JZ>Y(vH;t$B9D*a+!)fnIWv%ZdM`FN)XVWT?!kCNKaP9V z2h@s&{u%7+le(E081{C;HJx6Lmv>@FH}^H}Y?HDoHsjHr{x-#s9&7(`85ux>i6z*I ztJDQKFPj|6&vx7rL)zWv7Bp7|nngE`i*UAj)0t8qRJ+@@|4U!_3;$0ZJgfdkEC2ui M07*qoM6N<$f>2qcegFUf literal 0 HcmV?d00001 diff --git a/services/web/public/stylesheets/_style_includes.less b/services/web/public/stylesheets/_style_includes.less new file mode 100644 index 0000000000..a5c7589ef0 --- /dev/null +++ b/services/web/public/stylesheets/_style_includes.less @@ -0,0 +1,84 @@ +@import url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css); + +@import "core/mixins.less"; + +// Reset +@import "core/normalize.less"; +@import "core/print.less"; + +// Core CSS +@import "core/scaffolding.less"; +@import "core/type.less"; +@import "core/grid.less"; + +// Components +@import "components/tables.less"; +@import "components/forms.less"; +@import "components/buttons.less"; +@import "components/card.less"; +//@import "components/code.less"; +@import "components/component-animations.less"; +@import "components/glyphicons.less"; +@import "components/dropdowns.less"; +@import "components/button-groups.less"; +@import "components/input-groups.less"; +@import "components/navs.less"; +@import "components/navbar.less"; +@import "components/footer.less"; +//@import "components/breadcrumbs.less"; +//@import "components/pagination.less"; +@import "components/pager.less"; +@import "components/labels.less"; +//@import "components/badges.less"; +//@import "components/jumbotron.less"; +@import "components/thumbnails.less"; +@import "components/alerts.less"; +@import "components/progress-bars.less"; +// @import "components/media.less"; +// @import "components/list-group.less"; +// @import "components/panels.less"; +// @import "components/wells.less"; +@import "components/close.less"; +@import "components/fineupload.less"; +@import "components/hover.less"; + +// Components w/ JavaScript +@import "components/modals.less"; +@import "components/tooltip.less"; +@import "components/popovers.less"; +@import "components/carousel.less"; + +// ngTagsInput +@import "components/tags-input.less"; + +// Utility classes +@import "core/utilities.less"; +@import "core/responsive-utilities.less"; + +// ShareLaTeX app classes +@import "app/base.less"; +@import "app/account-settings.less"; +@import "app/beta-program.less"; +@import "app/about-page.less"; +@import "app/project-list.less"; +@import "app/editor.less"; +@import "app/homepage.less"; +@import "app/plans.less"; +@import "app/recurly.less"; +@import "app/bonus.less"; +@import "app/register.less"; +@import "app/blog.less"; +@import "app/features.less"; +@import "app/templates.less"; +@import "app/wiki.less"; +@import "app/translations.less"; +@import "app/contact-us.less"; +@import "app/subscription.less"; +@import "app/sprites.less"; +@import "app/invite.less"; +@import "app/review-features-page.less"; +@import "app/error-pages.less"; + +@import "../js/libs/pdfListView/TextLayer.css"; +@import "../js/libs/pdfListView/AnnotationsLayer.css"; +@import "../js/libs/pdfListView/HighlightsLayer.css"; diff --git a/services/web/public/stylesheets/core/_common-variables.less b/services/web/public/stylesheets/core/_common-variables.less new file mode 100644 index 0000000000..6274b265f9 --- /dev/null +++ b/services/web/public/stylesheets/core/_common-variables.less @@ -0,0 +1,805 @@ +// +// Variables +// -------------------------------------------------- + +//== Scaffolding +// +// ## Settings for some of the most global styles. + +//** Background color for ``. +@body-bg: #fff; +//** Global text color on ``. +@text-color: @gray-dark; + +//** Global textual link color. +@link-color: @brand-primary; +//** Link hover color set via `darken()` function. +@link-hover-color: darken(@link-color, 15%); + + +//== Typography +// +//## Font, line-height, and color for body text, headings, and more. + +@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700); +//@import url(https://fonts.googleapis.com/css?family=PT+Serif:400,600,700); +//@import url(https://fonts.googleapis.com/css?family=PT+Serif:400,400i,700,700i); +@import url(https://fonts.googleapis.com/css?family=Merriweather:400,400i,700,700i); + +@font-family-sans-serif: "Open Sans", 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)); // ~18px
+@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
+
+@font-size-h1:            floor((@font-size-base * 2)); // ~36px
+@font-size-h2:            floor((@font-size-base * 1.6)); // ~30px
+@font-size-h3:            ceil((@font-size-base * 1.25)); // ~24px
+@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)); // ~12px
+
+//** 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.1;
+@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).
+
+@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:     5px;
+
+@line-height-large:         1.33;
+@line-height-small:         1.5;
+
+@border-radius-base:        3px;
+@border-radius-large:       5px;
+@border-radius-small:       2px;
+
+//** 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:              #333;
+@btn-default-bg:                 #fff;
+@btn-default-border:             #ccc;
+
+@btn-primary-color:              #fff;
+@btn-primary-bg:                 @brand-primary;
+@btn-primary-border:             darken(@btn-primary-bg, 10%);
+
+@btn-success-color:              #fff;
+@btn-success-bg:                 @brand-success;
+@btn-success-border:             darken(@btn-success-bg, 10%);
+
+@btn-info-color:                 #fff;
+@btn-info-bg:                    @brand-info;
+@btn-info-border:                darken(@btn-info-bg, 15%);
+
+@btn-warning-color:              #fff;
+@btn-warning-bg:                 @brand-warning;
+@btn-warning-border:             darken(@btn-warning-bg, 10%);
+
+@btn-danger-color:               #fff;
+@btn-danger-bg:                  @brand-danger;
+@btn-danger-border:              darken(@btn-danger-bg, 10%);
+
+@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:                    @gray;
+//** `` border color
+@input-border:                   #ccc;
+//** `` border radius
+@input-border-radius:            @border-radius-base;
+//** 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) + 2);
+//** 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,.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-popover:           1010;
+@zindex-tooltip:           1030;
+@zindex-navbar-fixed:      1030;
+@zindex-modal-background:  1040;
+@zindex-modal:             1050;
+
+
+//== 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);
+
+
+//== 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-sm-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:       340px;
+
+@navbar-default-color:             #777;
+@navbar-default-bg:                #fff;
+@navbar-default-border:            @gray-lighter;
+
+// Navbar links
+@navbar-default-link-color:                @link-color;
+@navbar-default-link-hover-color:          @link-hover-color;
+@navbar-default-link-hover-bg:             @link-hover-color;
+@navbar-default-link-active-color:         #fff;
+@navbar-default-link-active-bg:            @link-hover-color;
+@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-border-radius:                   @border-radius-base;
+@nav-pills-active-link-hover-bg:            @component-active-bg;
+@nav-pills-active-link-hover-color:         @component-active-color;
+
+
+//== Pagination
+//
+//##
+
+@pagination-color:                     @link-color;
+@pagination-bg:                        #fff;
+@pagination-border:                    #ddd;
+
+@pagination-hover-color:               @link-hover-color;
+@pagination-hover-bg:                  @gray-lighter;
+@pagination-hover-border:              #ddd;
+
+@pagination-active-color:              #fff;
+@pagination-active-bg:                 @brand-primary;
+@pagination-active-border:             @brand-primary;
+
+@pagination-disabled-color:            @gray-light;
+@pagination-disabled-bg:               #fff;
+@pagination-disabled-border:           #ddd;
+
+
+//== 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;
+
+
+//== 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:             .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,.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,.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:      .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:            @state-success-bg;
+@alert-success-text:          @state-success-text;
+@alert-success-border:        @state-success-border;
+
+@alert-info-bg:               @state-info-bg;
+@alert-info-text:             @state-info-text;
+@alert-info-border:           @state-info-border;
+
+@alert-warning-bg:            @state-warning-bg;
+@alert-warning-text:          @state-warning-text;
+@alert-warning-border:        @state-warning-border;
+
+@alert-danger-bg:             @state-danger-bg;
+@alert-danger-text:           @state-danger-text;
+@alert-danger-border:         @state-danger-border;
+
+
+//== 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:             @brand-primary;
+//** Success progress bar color
+@progress-bar-success-bg:     @brand-success;
+//** Warning progress bar color
+@progress-bar-warning-bg:     @brand-warning;
+//** Danger progress bar color
+@progress-bar-danger-bg:      @brand-danger;
+//** Info progress bar color
+@progress-bar-info-bg:        @brand-info;
+
+
+//== 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,.6);
+
+@carousel-control-color:                      #fff;
+@carousel-control-width:                      15%;
+@carousel-control-opacity:                    .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:      @gray;
+//** 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
+//
+//##
+
+//** Horizontal line color.
+@hr-border:                   @gray-lighter;
+
+//** Horizontal offset for forms and lists.
+@component-offset-horizontal: 180px;
+
+@content-margin-top: @line-height-computed;
+@content-margin-top: @line-height-computed;
+
+// Custom
+
+@left-menu-width: 260px;
+@left-menu-animation-duration: 0.35s;
+
+@toolbar-border-color: @gray-lighter;
+@file-tree-droppable-background-color: rgb(252, 231, 199);
+
+@editor-dark-background-color: #333;
+@editor-dark-toolbar-border-color: #222;
+@editor-dark-highlight-color: #FFA03A;
diff --git a/services/web/public/stylesheets/core/ol-variables.less b/services/web/public/stylesheets/core/ol-variables.less
new file mode 100644
index 0000000000..d6516fdf63
--- /dev/null
+++ b/services/web/public/stylesheets/core/ol-variables.less
@@ -0,0 +1,31 @@
+@ol-green:      #4A9F48;
+@ol-dark-green: #1C5B26;
+
+//== Colors
+//
+//## Gray and brand colors for use across Bootstrap.
+
+
+@gray-darker:           #252525;
+@gray-dark:             #505050;
+@gray:                  #7a7a7a;
+@gray-light:            #a4a4a4;
+@gray-lighter:          #cfcfcf;
+@gray-lightest:         #f0f0f0;
+
+@blue:                  #405ebf;
+@blueDark:              #040D2D;
+@green:                 #46a546;
+@red:                   #a93529;
+@yellow:                #A1A729;
+@orange:                #f89406;
+@pink:                  #c3325f;
+@purple:                #7a43b6;
+
+@brand-primary:         @ol-green;
+@brand-success:         @green;
+@brand-info:            @ol-dark-green;
+@brand-warning:         @orange;
+@brand-danger:          #E03A06;
+
+@import "./_common-variables.less";
\ No newline at end of file
diff --git a/services/web/public/stylesheets/core/variables.less b/services/web/public/stylesheets/core/variables.less
index 7c1876ef9a..aca526bb19 100755
--- a/services/web/public/stylesheets/core/variables.less
+++ b/services/web/public/stylesheets/core/variables.less
@@ -1,8 +1,3 @@
-//
-// Variables
-// --------------------------------------------------
-
-
 //== Colors
 //
 //## Gray and brand colors for use across Bootstrap.
@@ -30,804 +25,4 @@
 @brand-warning:         @orange;
 @brand-danger:          #E03A06;
 
-//== Scaffolding
-//
-// ## Settings for some of the most global styles.
-
-//** Background color for ``.
-@body-bg:               #fff;
-//** Global text color on ``.
-@text-color:            @gray-dark;
-
-//** Global textual link color.
-@link-color:            @brand-primary;
-//** Link hover color set via `darken()` function.
-@link-hover-color:      darken(@link-color, 15%);
-
-
-//== Typography
-//
-//## Font, line-height, and color for body text, headings, and more.
-
-@import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700);
-//@import url(https://fonts.googleapis.com/css?family=PT+Serif:400,600,700);
-//@import url(https://fonts.googleapis.com/css?family=PT+Serif:400,400i,700,700i);
-@import url(https://fonts.googleapis.com/css?family=Merriweather:400,400i,700,700i);
-
-@font-family-sans-serif:  "Open Sans", 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)); // ~18px
-@font-size-small:         ceil((@font-size-base * 0.85)); // ~12px
-
-@font-size-h1:            floor((@font-size-base * 2)); // ~36px
-@font-size-h2:            floor((@font-size-base * 1.6)); // ~30px
-@font-size-h3:            ceil((@font-size-base * 1.25)); // ~24px
-@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)); // ~12px
-
-//** 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.1;
-@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).
-
-@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:     5px;
-
-@line-height-large:         1.33;
-@line-height-small:         1.5;
-
-@border-radius-base:        3px;
-@border-radius-large:       5px;
-@border-radius-small:       2px;
-
-//** 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:              #333;
-@btn-default-bg:                 #fff;
-@btn-default-border:             #ccc;
-
-@btn-primary-color:              #fff;
-@btn-primary-bg:                 @brand-primary;
-@btn-primary-border:             darken(@btn-primary-bg, 10%);
-
-@btn-success-color:              #fff;
-@btn-success-bg:                 @brand-success;
-@btn-success-border:             darken(@btn-success-bg, 10%);
-
-@btn-info-color:                 #fff;
-@btn-info-bg:                    @brand-info;
-@btn-info-border:                darken(@btn-info-bg, 15%);
-
-@btn-warning-color:              #fff;
-@btn-warning-bg:                 @brand-warning;
-@btn-warning-border:             darken(@btn-warning-bg, 10%);
-
-@btn-danger-color:               #fff;
-@btn-danger-bg:                  @brand-danger;
-@btn-danger-border:              darken(@btn-danger-bg, 10%);
-
-@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:                    @gray;
-//** `` border color
-@input-border:                   #ccc;
-//** `` border radius
-@input-border-radius:            @border-radius-base;
-//** 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) + 2);
-//** 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,.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-popover:           1010;
-@zindex-tooltip:           1030;
-@zindex-navbar-fixed:      1030;
-@zindex-modal-background:  1040;
-@zindex-modal:             1050;
-
-
-//== 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);
-
-
-//== 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-sm-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:       340px;
-
-@navbar-default-color:             #777;
-@navbar-default-bg:                #fff;
-@navbar-default-border:            @gray-lighter;
-
-// Navbar links
-@navbar-default-link-color:                @link-color;
-@navbar-default-link-hover-color:          @link-hover-color;
-@navbar-default-link-hover-bg:             @link-hover-color;
-@navbar-default-link-active-color:         #fff;
-@navbar-default-link-active-bg:            @link-hover-color;
-@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-border-radius:                   @border-radius-base;
-@nav-pills-active-link-hover-bg:            @component-active-bg;
-@nav-pills-active-link-hover-color:         @component-active-color;
-
-
-//== Pagination
-//
-//##
-
-@pagination-color:                     @link-color;
-@pagination-bg:                        #fff;
-@pagination-border:                    #ddd;
-
-@pagination-hover-color:               @link-hover-color;
-@pagination-hover-bg:                  @gray-lighter;
-@pagination-hover-border:              #ddd;
-
-@pagination-active-color:              #fff;
-@pagination-active-bg:                 @brand-primary;
-@pagination-active-border:             @brand-primary;
-
-@pagination-disabled-color:            @gray-light;
-@pagination-disabled-bg:               #fff;
-@pagination-disabled-border:           #ddd;
-
-
-//== 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;
-
-
-//== 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:             .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,.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,.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:      .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:            @state-success-bg;
-@alert-success-text:          @state-success-text;
-@alert-success-border:        @state-success-border;
-
-@alert-info-bg:               @state-info-bg;
-@alert-info-text:             @state-info-text;
-@alert-info-border:           @state-info-border;
-
-@alert-warning-bg:            @state-warning-bg;
-@alert-warning-text:          @state-warning-text;
-@alert-warning-border:        @state-warning-border;
-
-@alert-danger-bg:             @state-danger-bg;
-@alert-danger-text:           @state-danger-text;
-@alert-danger-border:         @state-danger-border;
-
-
-//== 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:             @brand-primary;
-//** Success progress bar color
-@progress-bar-success-bg:     @brand-success;
-//** Warning progress bar color
-@progress-bar-warning-bg:     @brand-warning;
-//** Danger progress bar color
-@progress-bar-danger-bg:      @brand-danger;
-//** Info progress bar color
-@progress-bar-info-bg:        @brand-info;
-
-
-//== 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,.6);
-
-@carousel-control-color:                      #fff;
-@carousel-control-width:                      15%;
-@carousel-control-opacity:                    .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:      @gray;
-//** 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
-//
-//##
-
-//** Horizontal line color.
-@hr-border:                   @gray-lighter;
-
-//** Horizontal offset for forms and lists.
-@component-offset-horizontal: 180px;
-
-@content-margin-top: @line-height-computed;
-@content-margin-top: @line-height-computed;
-
-// Custom
-
-@left-menu-width: 260px;
-@left-menu-animation-duration: 0.35s;
-
-@toolbar-border-color: @gray-lighter;
-@file-tree-droppable-background-color: rgb(252, 231, 199);
-
-@editor-dark-background-color: #333;
-@editor-dark-toolbar-border-color: #222;
-@editor-dark-highlight-color: #FFA03A;
+@import "_common-variables.less";
\ No newline at end of file
diff --git a/services/web/public/stylesheets/ol-style.less b/services/web/public/stylesheets/ol-style.less
new file mode 100644
index 0000000000..ec53e5e8c8
--- /dev/null
+++ b/services/web/public/stylesheets/ol-style.less
@@ -0,0 +1,3 @@
+// Core variables and mixins
+@import "core/ol-variables.less";
+@import "_style_includes.less";
\ No newline at end of file
diff --git a/services/web/public/stylesheets/style.less b/services/web/public/stylesheets/style.less
index b3e0c15294..760f378719 100755
--- a/services/web/public/stylesheets/style.less
+++ b/services/web/public/stylesheets/style.less
@@ -1,86 +1,3 @@
 // Core variables and mixins
 @import "core/variables.less";
-@import url(https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
-
-@import "core/mixins.less";
-
-// Reset
-@import "core/normalize.less";
-@import "core/print.less";
-
-// Core CSS
-@import "core/scaffolding.less";
-@import "core/type.less";
-@import "core/grid.less";
-
-// Components
-@import "components/tables.less";
-@import "components/forms.less";
-@import "components/buttons.less";
-@import "components/card.less";
-//@import "components/code.less";
-@import "components/component-animations.less";
-@import "components/glyphicons.less";
-@import "components/dropdowns.less";
-@import "components/button-groups.less";
-@import "components/input-groups.less";
-@import "components/navs.less";
-@import "components/navbar.less";
-@import "components/footer.less";
-//@import "components/breadcrumbs.less";
-//@import "components/pagination.less";
-@import "components/pager.less";
-@import "components/labels.less";
-//@import "components/badges.less";
-//@import "components/jumbotron.less";
-@import "components/thumbnails.less";
-@import "components/alerts.less";
-@import "components/progress-bars.less";
-// @import "components/media.less";
-// @import "components/list-group.less";
-// @import "components/panels.less";
-// @import "components/wells.less";
-@import "components/close.less";
-@import "components/fineupload.less";
-@import "components/hover.less";
-
-// Components w/ JavaScript
-@import "components/modals.less";
-@import "components/tooltip.less";
-@import "components/popovers.less";
-@import "components/carousel.less";
-
-// ngTagsInput
-@import "components/tags-input.less";
-
-// Utility classes
-@import "core/utilities.less";
-@import "core/responsive-utilities.less";
-
-// ShareLaTeX app classes
-@import "app/base.less";
-@import "app/account-settings.less";
-@import "app/beta-program.less";
-@import "app/about-page.less";
-@import "app/project-list.less";
-@import "app/editor.less";
-@import "app/homepage.less";
-@import "app/plans.less";
-@import "app/recurly.less";
-@import "app/bonus.less";
-@import "app/register.less";
-@import "app/blog.less";
-@import "app/features.less";
-@import "app/templates.less";
-@import "app/wiki.less";
-@import "app/translations.less";
-@import "app/contact-us.less";
-@import "app/subscription.less";
-@import "app/sprites.less";
-@import "app/invite.less";
-@import "app/review-features-page.less";
-@import "app/error-pages.less";
-
-@import	"../js/libs/pdfListView/TextLayer.css";
-@import	"../js/libs/pdfListView/AnnotationsLayer.css";
-@import	"../js/libs/pdfListView/HighlightsLayer.css";
+@import "_style_includes.less";
\ No newline at end of file

From d9e1254a6d7dbb1ca9d6565a5fbbc5948faad524 Mon Sep 17 00:00:00 2001
From: Paulo Reis 
Date: Tue, 1 Aug 2017 16:02:19 +0100
Subject: [PATCH 2/5] Update loading screen.

---
 services/web/app/views/project/editor.pug      |  4 ++--
 .../public/img/ol-brand/overleaf-o-grey.svg    | 18 ++++++++++++++++++
 .../web/public/img/ol-brand/overleaf-o.svg     | 10 ++++++++++
 .../web/public/stylesheets/app/editor.less     | 10 +++++-----
 4 files changed, 35 insertions(+), 7 deletions(-)
 create mode 100644 services/web/public/img/ol-brand/overleaf-o-grey.svg
 create mode 100644 services/web/public/img/ol-brand/overleaf-o.svg

diff --git a/services/web/app/views/project/editor.pug b/services/web/app/views/project/editor.pug
index 5b6137738b..7cf3e40e78 100644
--- a/services/web/app/views/project/editor.pug
+++ b/services/web/app/views/project/editor.pug
@@ -8,8 +8,8 @@ block vars
 block content
 	.editor(ng-controller="IdeController").full-size
 		.loading-screen(ng-if="state.loading")
-			.loading-screen-lion-container
-				.loading-screen-lion(
+			.loading-screen-brand-container
+				.loading-screen-brand(
 					style="height: 20%;"
 					ng-style="{ 'height': state.load_progress + '%' }"
 				)
diff --git a/services/web/public/img/ol-brand/overleaf-o-grey.svg b/services/web/public/img/ol-brand/overleaf-o-grey.svg
new file mode 100644
index 0000000000..3b47c37cba
--- /dev/null
+++ b/services/web/public/img/ol-brand/overleaf-o-grey.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+	
+		
+			
+		
+	
+
+
diff --git a/services/web/public/img/ol-brand/overleaf-o.svg b/services/web/public/img/ol-brand/overleaf-o.svg
new file mode 100644
index 0000000000..d95cee9ded
--- /dev/null
+++ b/services/web/public/img/ol-brand/overleaf-o.svg
@@ -0,0 +1,10 @@
+
+
+  
+    
+      
+        
+      
+    
+  
+
\ No newline at end of file
diff --git a/services/web/public/stylesheets/app/editor.less b/services/web/public/stylesheets/app/editor.less
index aae2ecdc9f..2b2347aac0 100644
--- a/services/web/public/stylesheets/app/editor.less
+++ b/services/web/public/stylesheets/app/editor.less
@@ -72,17 +72,17 @@
 	height: 100%;
 	background-color: #FFF;
 }
-	.loading-screen-lion-container {
+	.loading-screen-brand-container {
 		width: 15%;
 		min-width: 200px;
 		text-align: center;
 	}
-		.loading-screen-lion {
+		.loading-screen-brand {
 			position: relative;
 			width: 100%;
-			padding-top: 86.2%;
+			padding-top: 115.44%;
 			height: 0;
-			background: url(/img/brand/lion-grey.svg) no-repeat bottom / 100%;
+			background: url(/img/ol-brand/overleaf-o-grey.svg) no-repeat bottom / 100%;
 
     		&::after {
 				content: '';
@@ -91,7 +91,7 @@
 				right: 0;
 				bottom: 0;
 				left: 0;
-				background: url(/img/brand/lion.svg) no-repeat bottom / 100%;
+				background: url(/img/ol-brand/overleaf-o.svg) no-repeat bottom / 100%;
 				transition: height .5s;
     		}
 		}

From 4ab5451827dcb43864b58254faac2a7ad0710763 Mon Sep 17 00:00:00 2001
From: James Allen 
Date: Mon, 7 Aug 2017 16:45:33 +0200
Subject: [PATCH 3/5] Keep both editor loading logos

---
 services/web/public/stylesheets/app/editor.less        | 6 +++---
 services/web/public/stylesheets/core/ol-variables.less | 5 ++++-
 services/web/public/stylesheets/core/variables.less    | 5 ++++-
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/services/web/public/stylesheets/app/editor.less b/services/web/public/stylesheets/app/editor.less
index 2b2347aac0..184e50270c 100644
--- a/services/web/public/stylesheets/app/editor.less
+++ b/services/web/public/stylesheets/app/editor.less
@@ -80,9 +80,9 @@
 		.loading-screen-brand {
 			position: relative;
 			width: 100%;
-			padding-top: 115.44%;
+			padding-top: @editor-loading-logo-padding-top;
 			height: 0;
-			background: url(/img/ol-brand/overleaf-o-grey.svg) no-repeat bottom / 100%;
+			background: @editor-loading-logo-background-url no-repeat bottom / 100%;
 
     		&::after {
 				content: '';
@@ -91,7 +91,7 @@
 				right: 0;
 				bottom: 0;
 				left: 0;
-				background: url(/img/ol-brand/overleaf-o.svg) no-repeat bottom / 100%;
+				background: @editor-loading-logo-background-url no-repeat bottom / 100%;
 				transition: height .5s;
     		}
 		}
diff --git a/services/web/public/stylesheets/core/ol-variables.less b/services/web/public/stylesheets/core/ol-variables.less
index d6516fdf63..3cefc3dad3 100644
--- a/services/web/public/stylesheets/core/ol-variables.less
+++ b/services/web/public/stylesheets/core/ol-variables.less
@@ -28,4 +28,7 @@
 @brand-warning:         @orange;
 @brand-danger:          #E03A06;
 
-@import "./_common-variables.less";
\ No newline at end of file
+@editor-loading-logo-padding-top: 115.44%;
+@editor-loading-logo-background-url: url(/img/ol-brand/overleaf-o-grey.svg);
+
+@import "./_common-variables.less";
diff --git a/services/web/public/stylesheets/core/variables.less b/services/web/public/stylesheets/core/variables.less
index aca526bb19..e75c947738 100755
--- a/services/web/public/stylesheets/core/variables.less
+++ b/services/web/public/stylesheets/core/variables.less
@@ -25,4 +25,7 @@
 @brand-warning:         @orange;
 @brand-danger:          #E03A06;
 
-@import "_common-variables.less";
\ No newline at end of file
+@editor-loading-logo-padding-top: 86.2%;
+@editor-loading-logo-background-url: url(/img/brand/lion-grey.svg);
+
+@import "_common-variables.less";

From b4029359bcb8e3ecc4a60d755e81bbd2277c2b42 Mon Sep 17 00:00:00 2001
From: James Allen 
Date: Tue, 8 Aug 2017 08:17:16 +0200
Subject: [PATCH 4/5] Fix loading indicator

---
 services/web/public/stylesheets/app/editor.less        | 2 +-
 services/web/public/stylesheets/core/ol-variables.less | 1 +
 services/web/public/stylesheets/core/variables.less    | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/services/web/public/stylesheets/app/editor.less b/services/web/public/stylesheets/app/editor.less
index 184e50270c..75b7121094 100644
--- a/services/web/public/stylesheets/app/editor.less
+++ b/services/web/public/stylesheets/app/editor.less
@@ -91,7 +91,7 @@
 				right: 0;
 				bottom: 0;
 				left: 0;
-				background: @editor-loading-logo-background-url no-repeat bottom / 100%;
+				background: @editor-loading-logo-foreground-url no-repeat bottom / 100%;
 				transition: height .5s;
     		}
 		}
diff --git a/services/web/public/stylesheets/core/ol-variables.less b/services/web/public/stylesheets/core/ol-variables.less
index 3cefc3dad3..a126479a42 100644
--- a/services/web/public/stylesheets/core/ol-variables.less
+++ b/services/web/public/stylesheets/core/ol-variables.less
@@ -30,5 +30,6 @@
 
 @editor-loading-logo-padding-top: 115.44%;
 @editor-loading-logo-background-url: url(/img/ol-brand/overleaf-o-grey.svg);
+@editor-loading-logo-foreground-url: url(/img/ol-brand/overleaf-o.svg);
 
 @import "./_common-variables.less";
diff --git a/services/web/public/stylesheets/core/variables.less b/services/web/public/stylesheets/core/variables.less
index e75c947738..3ec05ccebd 100755
--- a/services/web/public/stylesheets/core/variables.less
+++ b/services/web/public/stylesheets/core/variables.less
@@ -27,5 +27,6 @@
 
 @editor-loading-logo-padding-top: 86.2%;
 @editor-loading-logo-background-url: url(/img/brand/lion-grey.svg);
+@editor-loading-logo-foreground-url: url(/img/brand/lion.svg);
 
 @import "_common-variables.less";

From f9690f9db0a2972266d9c661e58b998f30d2a8b7 Mon Sep 17 00:00:00 2001
From: James Allen 
Date: Tue, 8 Aug 2017 08:26:26 +0200
Subject: [PATCH 5/5] Add Overleaf header logo

---
 .../web/public/img/ol-brand/logo-horizontal.png | Bin 0 -> 16961 bytes
 .../public/stylesheets/components/navbar.less   |   2 +-
 .../public/stylesheets/core/ol-variables.less   |   2 ++
 .../web/public/stylesheets/core/variables.less  |   2 ++
 4 files changed, 5 insertions(+), 1 deletion(-)
 create mode 100644 services/web/public/img/ol-brand/logo-horizontal.png

diff --git a/services/web/public/img/ol-brand/logo-horizontal.png b/services/web/public/img/ol-brand/logo-horizontal.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e95b282cb1f1d0c254cc0cd1abc3fdaa36edb3f
GIT binary patch
literal 16961
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	i_CtSJ(sarqRcQ+*Cab_SErrkI
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

literal 0
HcmV?d00001

diff --git a/services/web/public/stylesheets/components/navbar.less b/services/web/public/stylesheets/components/navbar.less
index 9da0dfabc5..52a4a10029 100755
--- a/services/web/public/stylesheets/components/navbar.less
+++ b/services/web/public/stylesheets/components/navbar.less
@@ -386,7 +386,7 @@
     bottom: 5px;
     width: 180px;
     padding: 0;
-    background-image: url('/img/brand/logo-horizontal.svg');
+    background-image: @navbar-brand-image-url;
     background-size: contain;
     background-repeat: no-repeat;
     background-position: left center;
diff --git a/services/web/public/stylesheets/core/ol-variables.less b/services/web/public/stylesheets/core/ol-variables.less
index a126479a42..23151bd9c4 100644
--- a/services/web/public/stylesheets/core/ol-variables.less
+++ b/services/web/public/stylesheets/core/ol-variables.less
@@ -28,6 +28,8 @@
 @brand-warning:         @orange;
 @brand-danger:          #E03A06;
 
+@navbar-brand-image-url: url(/img/ol-brand/logo-horizontal.png);
+
 @editor-loading-logo-padding-top: 115.44%;
 @editor-loading-logo-background-url: url(/img/ol-brand/overleaf-o-grey.svg);
 @editor-loading-logo-foreground-url: url(/img/ol-brand/overleaf-o.svg);
diff --git a/services/web/public/stylesheets/core/variables.less b/services/web/public/stylesheets/core/variables.less
index 3ec05ccebd..5fd9bfeddc 100755
--- a/services/web/public/stylesheets/core/variables.less
+++ b/services/web/public/stylesheets/core/variables.less
@@ -25,6 +25,8 @@
 @brand-warning:         @orange;
 @brand-danger:          #E03A06;
 
+@navbar-brand-image-url: url(/img/brand/logo-horizontal.svg);
+
 @editor-loading-logo-padding-top: 86.2%;
 @editor-loading-logo-background-url: url(/img/brand/lion-grey.svg);
 @editor-loading-logo-foreground-url: url(/img/brand/lion.svg);