diff --git a/apps/common/main/lib/component/Calendar.js b/apps/common/main/lib/component/Calendar.js
index 0ae99149c..51dd3315f 100644
--- a/apps/common/main/lib/component/Calendar.js
+++ b/apps/common/main/lib/component/Calendar.js
@@ -44,16 +44,15 @@ define([
         template    :
             _.template([
                 '<div id="calendar" class="calendar-box">',
-                '<div class="calendar-header">',
-                '<div class="top-row">',
-                '<div id="prev-arrow"><button type="button"><i class="arrow-prev img-commonctrl">&nbsp;</i></button></div>',
-                '<div class="title"></div>',
-                '<div id="next-arrow"><button type="button"><i class="arrow-next img-commonctrl">&nbsp;</i></button></div>',
-                '</div>',
-                '<div class="bottom-row">',
-                '</div>',
-                '</div>',
-                '<div class="calendar-content"></div>',
+                    '<div class="calendar-header">',
+                        '<div class="top-row">',
+                            '<div id="prev-arrow"><button type="button"><i class="arrow-prev img-commonctrl"></i></button></div>',
+                            '<div class="title"></div>',
+                            '<div id="next-arrow"><button type="button"><i class="arrow-next img-commonctrl" /></button></div>',
+                        '</div>',
+                        '<div class="bottom-row"></div>',
+                    '</div>',
+                    '<div class="calendar-content"></div>',
                 '</div>'
                 ].join('')),
 
@@ -179,6 +178,7 @@ define([
                 year = _.isNumber(year) ? year : (me.currentDate ? me.currentDate.getFullYear() : new Date().getFullYear());
 
             me._state = 2;
+            me.$el.removeClass('view-days view-months').addClass('view-years');
 
             var firstYear = year,
                 lastYear = year;
@@ -248,6 +248,7 @@ define([
 
             me._state = 1;
             me.currentDate = curDate;
+            me.$el.removeClass('view-years view-days').addClass('view-months');
 
             // Number of year
             me.topTitle = _.template([
@@ -329,6 +330,7 @@ define([
                 curYear = curDate.getFullYear();
 
             me.currentDate = curDate;
+            me.$el.removeClass('view-years view-months').addClass('view-days');
 
             // Name month
             me.topTitle = _.template([
diff --git a/apps/common/main/lib/component/ComboBoxFonts.js b/apps/common/main/lib/component/ComboBoxFonts.js
index 2f47283a6..87f2b272b 100644
--- a/apps/common/main/lib/component/ComboBoxFonts.js
+++ b/apps/common/main/lib/component/ComboBoxFonts.js
@@ -356,19 +356,20 @@ define([
                 var me = this;
                 var name = (_.isFunction(font.get_Name) ?  font.get_Name() : font.asc_getFontName());
                 if (this.__name !== name) {
+                    this.__name = name;
                     if (!this.__nameId) {
                         this.__nameId = setTimeout(function () {
-                            me.onApiChangeFontInternal(name);
+                            me.onApiChangeFontInternal(me.__name);
                             me.__nameId = null;
                         }, 100);
                     }
+
                 }
             },
 
             onApiChangeFontInternal: function(name) {
                 if (this.inFormControl) return;
 
-                this.__name = name;
                 if (this.getRawValue() !== name) {
                     var record = this.store.findWhere({
                         name: name
diff --git a/apps/common/main/lib/component/MultiSliderGradient.js b/apps/common/main/lib/component/MultiSliderGradient.js
index d4bf91a62..28c2daf09 100644
--- a/apps/common/main/lib/component/MultiSliderGradient.js
+++ b/apps/common/main/lib/component/MultiSliderGradient.js
@@ -55,7 +55,7 @@ define([
             values: [0, 100],
             colorValues: ['#000000', '#ffffff'],
             currentThumb: 0,
-            thumbTemplate: '<div class="thumb img-commonctrl" style="">' +
+            thumbTemplate: '<div class="thumb" style="">' +
                             '<div class="thumb-top"><div class="thumb-top-inner"></div></div>' +
                             '<div class="thumb-bottom"><div class="thumb-bottom-inner"></div></div>' +
                             '</div>'
diff --git a/apps/common/main/lib/component/TableStyler.js b/apps/common/main/lib/component/TableStyler.js
index eb1108827..68e5fb58a 100644
--- a/apps/common/main/lib/component/TableStyler.js
+++ b/apps/common/main/lib/component/TableStyler.js
@@ -417,7 +417,7 @@ define([
                     '</div>',
                 '</div>',
 
-                '<div style="position: absolute; left: 0; bottom: 0; width: <%=scope.tablePadding%>px; height: <%=scope.tablePadding%>px; border-top: 1pt dotted gray; border-right: 1pt dotted gray;"></div>',
+                '<div style="position: absolute; left: 0; bottom: 0; width: <%=scope.tablePadding%>px; height: <%=scope.tablePadding%>px; border-top: 1px dotted gray; border-right: 1px dotted gray;"></div>',
                 '<div style="position: absolute; left: <%=scope.tablePadding%>px; bottom: 0; right: <%=scope.tablePadding%>px; height: <%=scope.tablePadding%>px;">',
                     '<div id="<%=scope.id%>-table-bottom-border-selector" style="position: absolute; z-index: 1; height: <%=scope.tablePadding%>px; left: 0; right: 0; bottom:  <%=scope.tablePadding * .5%>px;">',
                         '<table width="100%" height="100%">',
@@ -430,7 +430,7 @@ define([
                         '</table>',
                     '</div>',
                 '</div>',
-                '<div style="position: absolute; bottom: 0; right: 0; width: <%=scope.tablePadding%>px; height: <%=scope.tablePadding%>px; border-top: 1pt dotted gray; border-left: 1pt dotted gray;"></div>',
+                '<div style="position: absolute; bottom: 0; right: 0; width: <%=scope.tablePadding%>px; height: <%=scope.tablePadding%>px; border-top: 1px dotted gray; border-left: 1px dotted gray;"></div>',
             '</div>'
         ].join('')),
 
diff --git a/apps/common/main/lib/component/TreeView.js b/apps/common/main/lib/component/TreeView.js
index b8016b431..84c3fe860 100644
--- a/apps/common/main/lib/component/TreeView.js
+++ b/apps/common/main/lib/component/TreeView.js
@@ -176,11 +176,11 @@ define([
                         '<div class="tree-caret img-commonctrl ' + '<% if (!isExpanded) { %>' + 'up' + '<% } %>' + '" style="margin-left: <%= level*16 %>px;"></div>',
                     '<% } %>',
                     '<% if (isNotHeader) { %>',
-                        '<div class="name not-header"><%= name %></div>',
+                        '<div class="name not-header"><%= Common.Utils.String.htmlEncode(name) %></div>',
                     '<% } else if (isEmptyItem) { %>',
                         '<div class="name empty">' + options.emptyItemText + '</div>',
                     '<% } else { %>',
-                        '<div class="name"><%= name %></div>',
+                        '<div class="name"><%= Common.Utils.String.htmlEncode(name) %></div>',
                     '<% } %>',
                     '</div>'
                 ].join(''));
diff --git a/apps/common/main/lib/component/Window.js b/apps/common/main/lib/component/Window.js
index d910e8497..3b8aa6c14 100644
--- a/apps/common/main/lib/component/Window.js
+++ b/apps/common/main/lib/component/Window.js
@@ -769,6 +769,9 @@ define([
                             '-o-transform': 'scale(1)',
                             'opacity': '1'
                         });
+                        setTimeout(function () {
+                            me.fireEvent('animate:after', me);
+                        }, 210);
                     }, 1);
 
                     setTimeout(function () {
@@ -779,6 +782,9 @@ define([
                     this.$window.css({opacity: 1});
                     this.$window.addClass('notransform');
                     this.fireEvent('show', this);
+                    setTimeout(function () {
+                        me.fireEvent('animate:after', me);
+                    }, 10);
                 }
 
                 Common.NotificationCenter.trigger('window:show', this);
diff --git a/apps/common/main/lib/controller/Plugins.js b/apps/common/main/lib/controller/Plugins.js
index bc439ffc2..5b63032bd 100644
--- a/apps/common/main/lib/controller/Plugins.js
+++ b/apps/common/main/lib/controller/Plugins.js
@@ -167,8 +167,9 @@ define([
             return this;
         },
 
-        setMode: function(mode) {
+        setMode: function(mode, api) {
             this.appOptions = mode;
+            this.api = api;
             this.customPluginsComplete = !this.appOptions.canBrandingExt;
             if (this.appOptions.canBrandingExt)
                 this.getAppCustomPlugins(this.configPlugins);
@@ -383,7 +384,8 @@ define([
                         isCustomWindow = variation.get_CustomWindow(),
                         arrBtns = variation.get_Buttons(),
                         newBtns = [],
-                        size = variation.get_Size();
+                        size = variation.get_Size(),
+                        isModal = variation.get_Modal();
                         if (!size || size.length<2) size = [800, 600];
 
                     if (_.isArray(arrBtns)) {
@@ -404,7 +406,8 @@ define([
                         frameId : frameId,
                         buttons: isCustomWindow ? undefined : newBtns,
                         toolcallback: _.bind(this.onToolClose, this),
-                        help: !!help
+                        help: !!help,
+                        modal: isModal!==undefined ? isModal : true
                     });
                     me.pluginDlg.on({
                         'render:after': function(obj){
@@ -513,7 +516,7 @@ define([
             var pluginStore = this.getApplication().getCollection('Common.Collections.Plugins'),
                 isEdit = me.appOptions.isEdit,
                 editor = me.editor,
-                apiVersion = me.api.GetVersion ? me.api.GetVersion() : null;
+                apiVersion = me.api ? me.api.GetVersion() : undefined;
             if ( pluginsdata instanceof Array ) {
                 var arr = [], arrUI = [],
                     lang = me.appOptions.lang.split(/[\-_]/)[0];
diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js
index a52e1451b..28b169af6 100644
--- a/apps/common/main/lib/controller/ReviewChanges.js
+++ b/apps/common/main/lib/controller/ReviewChanges.js
@@ -132,7 +132,7 @@ define([
                     this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onAuthParticipantsChanged, this));
                     this.api.asc_registerCallback('asc_onParticipantsChanged',     _.bind(this.onAuthParticipantsChanged, this));
                 }
-                if (this.appConfig.canReview && !this.appConfig.isReviewOnly)
+                if (this.appConfig.canReview)
                     this.api.asc_registerCallback('asc_onOnTrackRevisionsChange', _.bind(this.onApiTrackRevisionsChange, this));
                 this.api.asc_registerCallback('asc_onAcceptChangesBeforeCompare',_.bind(this.onAcceptChangesBeforeCompare, this));
                 this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this));
@@ -557,6 +557,7 @@ define([
                 this.view.turnChanges(true);
             } else
             if ( this.appConfig.canReview ) {
+                state = (state=='off') ? false : state; // support of prev. version (on/off)
                 if (!!global) {
                     this.api.asc_SetLocalTrackRevisions(null);
                     this.api.asc_SetGlobalTrackRevisions(!!state);
diff --git a/apps/common/main/lib/controller/Themes.js b/apps/common/main/lib/controller/Themes.js
index c8c2e2427..0e952e05d 100644
--- a/apps/common/main/lib/controller/Themes.js
+++ b/apps/common/main/lib/controller/Themes.js
@@ -7,24 +7,24 @@ define([
 ], function () {
     'use strict';
 
-    Common.UI.Themes = new (function() {
-        var sdk_themes_alias = {
-            'theme-light': 'flat',
-            'theme-dark': 'flatDark'
-        };
-
+    Common.UI.Themes = new (function(locale) {
+        !locale && (locale = {});
         var themes_map = {
-            'theme-light': 'light',
-            'theme-dark': 'dark'
-        }
-
-        sdk_themes_alias.contains = function (name) {
-            return !!this[name];
-        }
-
-        themes_map.contains = function (name) {
-            return !!this[name];
+            'theme-light': {
+                text: locale.txtThemeLight || 'Light',
+                type: 'light'
+            },
+            'theme-classic-light': {
+                text: locale.txtThemeClassicLight || 'Classic Light',
+                type: 'light'
+            },
+            'theme-dark': {
+                text: locale.txtThemeDark || 'Dark',
+                type: 'dark'
+            },
         }
+        var id_default_light_theme = 'theme-classic-light',
+            id_default_dark_theme = 'theme-dark';
 
         var name_colors = [
             "background-normal",
@@ -61,6 +61,9 @@ define([
             "text-secondary",
             "text-tertiary",
             "text-link",
+            "text-link-hover",
+            "text-link-active",
+            "text-link-visited",
             "text-inverse",
             "text-toolbar-header",
             "text-contrast-background",
@@ -126,34 +129,78 @@ define([
             return out_object;
         }
 
-        var refresh_sdk_colors = function () {
-            if ( !(Common.Utils.isIE10 || Common.Utils.isIE11) ) {
-                var style = getComputedStyle(document.body);
-                if ( !!window.DE ) {
-                    var color_background_normal = style.getPropertyValue('--background-normal');
-                    this.api.asc_setSkin({
-                        "RulerOutline": style.getPropertyValue('--border-toolbar'),
-                        "RulerMarkersFillColor": color_background_normal,
-                        "RulerMarkersFillColorOld": color_background_normal,
-                        "RulerTableColor1": color_background_normal,
-                        "RulerLight": style.getPropertyValue("--canvas-ruler-background"),
-                        "RulerDark": style.getPropertyValue("--canvas-ruler-margins-background"),
-                        "RulerTextColor": style.getPropertyValue("--canvas-ruler-mark"),
-                        "RulerTableColor2": style.getPropertyValue("--canvas-ruler-handle-border"),
-                        "RulerTableColor2Old": style.getPropertyValue("--canvas-ruler-handle-border-disabled"),
-                        "RulerTabsColor": style.getPropertyValue("--canvas-high-contrast"),
-                        "RulerTabsColorOld": style.getPropertyValue("--canvas-high-contrast-disabled"),
-                    });
+        var create_colors_css = function (id, colors) {
+            if ( !!colors && !!id ) {
+                var _css_array = [':root .', id, '{'];
+                for (var c in colors) {
+                    _css_array.push('--', c, ':', colors[c], ';');
                 }
+
+                _css_array.push('}');
+                return _css_array.join('');
             }
         }
-        return {
-            THEME_LIGHT_ID: 'theme-light',
-            THEME_DARK_ID: 'theme-dark',
 
+        var write_theme_css = function (css) {
+            if ( !!css ) {
+                var style = document.createElement('style');
+                style.type = 'text/css';
+                style.innerHTML = css;
+                document.getElementsByTagName('head')[0].appendChild(style);
+            }
+        }
+
+        var parse_themes_object = function (obj) {
+            if ( !!obj.themes && obj.themes instanceof Array ) {
+                obj.themes.forEach(function (item) {
+                    if ( !!item.id ) {
+                        themes_map[item.id] = {text: item.name, type: item.type};
+                        write_theme_css(create_colors_css(item.id, item.colors));
+                    } else
+                    if ( typeof item == 'string' ) {
+                        get_themes_config(item)
+                    }
+                });
+            } else
+            if ( obj.id ) {
+                themes_map[obj.id] = {text: obj.name, type: obj.type};
+                write_theme_css( create_colors_css(obj.id, obj.colors) );
+            }
+        }
+
+        var get_themes_config = function (url) {
+            fetch(url, {
+                method: 'get',
+                headers: {
+                    'Accept': 'application/json',
+                },
+            }).then(function(response) {
+                if (!response.ok) {
+                    throw new Error('server error');
+                }
+                return response.json();
+            }).then(function(response) {
+                if ( response.then ) {
+                    // return response.json();
+                } else {
+                    parse_themes_object(response);
+
+                    /* to break promises chain */
+                    throw new Error('loaded');
+                }
+            }).catch(function(e) {
+                if ( e.message == 'loaded' ) {
+                } else console.log('fetch error: ' + e);
+            });
+        }
+
+        var on_document_ready = function (el) {
+            // get_themes_config('../../common/main/resources/themes/themes.json')
+        }
+
+        return {
             init: function (api) {
                 var me = this;
-                refresh_sdk_colors = refresh_sdk_colors.bind(this);
 
                 $(window).on('storage', function (e) {
                     if ( e.key == 'ui-theme' ) {
@@ -162,60 +209,71 @@ define([
                 })
 
                 this.api = api;
-                var theme_name = Common.localStorage.getItem('ui-theme', 'theme-light');
+                var theme_name = Common.localStorage.getItem('ui-theme');
+                if ( !themes_map[theme_name] )
+                    theme_name = id_default_light_theme;
 
                 if ( !$('body').hasClass(theme_name) ) {
                     $('body').addClass(theme_name);
                 }
 
                 var obj = get_current_theme_colors(name_colors);
-                obj.type = themes_map[theme_name];
+                obj.type = themes_map[theme_name].type;
                 obj.name = theme_name;
                 api.asc_setSkin(obj);
 
-                // app.eventbus.addListeners({
-                //    'FileMenu': {
-                //         'settings:apply': function (menu) {
-                //         }
-                //     }
-                // }, {id: 'Themes'});
-
-                // getComputedStyle(document.documentElement).getPropertyValue('--background-normal');
+                Common.NotificationCenter.on('document:ready', on_document_ready.bind(this));
             },
 
             available: function () {
                 return !Common.Utils.isIE;
             },
 
-            current: function () {
-                return Common.localStorage.getItem('ui-theme') || 'theme-light';
+            map: function () {
+                return themes_map
+            },
+
+            get: function (id) {
+                return themes_map[id]
+            },
+
+            currentThemeId: function () {
+                return Common.localStorage.getItem('ui-theme') || id_default_light_theme;
+            },
+
+            defaultThemeId: function (type) {
+                return type == 'dark' ? id_default_dark_theme : id_default_light_theme;
+            },
+
+            defaultTheme: function (type) {
+                return themes_map[this.defaultThemeId(type)]
             },
 
             isDarkTheme: function () {
-                return themes_map[this.current()] == 'dark';
+                return themes_map[this.currentThemeId()].type == 'dark';
             },
 
-            setTheme: function (name) {
-                if ( themes_map.contains(name) ) {
-                    var classname = document.documentElement.className.replace(/theme-\w+\s?/, '');
+            setTheme: function (id) {
+                if ( !!themes_map[id] ) {
+                    var classname = document.body.className.replace(/theme-\w+\s?/, '');
                     document.body.className = classname;
 
-                    $('body').addClass(name);
+                    $('body').addClass(id);
 
                     var obj = get_current_theme_colors(name_colors);
-                    obj.type = themes_map[name];
-                    obj.name = name;
+                    obj.type = themes_map[id].type;
+                    obj.name = id;
 
                     this.api.asc_setSkin(obj);
 
-                    Common.localStorage.setItem('ui-theme', name);
-                    Common.NotificationCenter.trigger('uitheme:changed', name);
+                    Common.localStorage.setItem('ui-theme', id);
+                    Common.NotificationCenter.trigger('uitheme:changed', id);
                 }
             },
 
             toggleTheme: function () {
-                this.setTheme(this.current() == 'theme-dark' ? 'theme-light' : 'theme-dark');
+                this.setTheme( this.isDarkTheme() ? id_default_light_theme : id_default_dark_theme );
             }
         }
-    })();
+    })(Common.UI.Themes);
 });
diff --git a/apps/common/main/lib/model/Plugin.js b/apps/common/main/lib/model/Plugin.js
index 9de8d7ea8..3361e19c2 100644
--- a/apps/common/main/lib/model/Plugin.js
+++ b/apps/common/main/lib/model/Plugin.js
@@ -61,7 +61,7 @@ define([
                 EditorsSupport: ["word", "cell", "slide"],
                 isVisual: false,
                 isCustomWindow: false,
-                isModal: false,
+                isModal: true,
                 isInsideMode: false,
                 initDataType: 0,
                 initData: "",
diff --git a/apps/common/main/lib/view/AdvancedSettingsWindow.js b/apps/common/main/lib/view/AdvancedSettingsWindow.js
index 108adb385..25221ec4d 100644
--- a/apps/common/main/lib/view/AdvancedSettingsWindow.js
+++ b/apps/common/main/lib/view/AdvancedSettingsWindow.js
@@ -86,6 +86,8 @@ define([
             var $window = this.getChild();
             $window.find('.dlg-btn').on('click',         _.bind(this.onDlgBtnClick, this));
 
+            this.on('animate:after', _.bind(this.onAnimateAfter, this));
+
             this.btnsCategory = [];
             _.each($window.find('.btn-category'), function(item, index) {
                 var btnEl = $(item);
@@ -173,6 +175,10 @@ define([
             if (this.storageName)
                 Common.localStorage.setItem(this.storageName, this.getActiveCategory());
             Common.UI.Window.prototype.close.call(this, suppressevent);
+        },
+
+        onAnimateAfter: function() {
+
         }
     }, Common.Views.AdvancedSettingsWindow || {}));
 });
\ No newline at end of file
diff --git a/apps/common/main/lib/view/Comments.js b/apps/common/main/lib/view/Comments.js
index 08ae2ba90..b1e9090ea 100644
--- a/apps/common/main/lib/view/Comments.js
+++ b/apps/common/main/lib/view/Comments.js
@@ -272,16 +272,8 @@ define([
 
                     me.fireEvent('comment:resolve', [commentId]);
 
-                    readdresolves();
-                } else if (btn.hasClass('btn-resolve-check', false)) {
-                    var tip = btn.data('bs.tooltip');
-                    if (tip) tip.dontShow = true;
-
-                    me.fireEvent('comment:resolve', [commentId]);
-
                     readdresolves();
                 } else if (!btn.hasClass('msg-reply') &&
-                    !btn.hasClass('btn-resolve-check') &&
                     !btn.hasClass('btn-resolve')) {
                     var isTextSelected = false;
                     if (btn.hasClass('user-message')) {
@@ -377,12 +369,12 @@ define([
                     }
 
                     var arr = [],
-                        btns = $(view.el).find('.btn-resolve');
+                        btns = $(view.el).find('.btn-resolve:not(.comment-resolved)');
                     btns.tooltip({title: me.textResolve, placement: 'cursor'});
                     btns.each(function(idx, item){
                         arr.push($(item).data('bs.tooltip').tip());
                     });
-                    btns = $(view.el).find('.btn-resolve-check');
+                    btns = $(view.el).find('.comment-resolved');
                     btns.tooltip({title: me.textOpenAgain, placement: 'cursor'});
                     btns.each(function(idx, item){
                         arr.push($(item).data('bs.tooltip').tip());
diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js
index fc4bba1a6..1e193310e 100644
--- a/apps/common/main/lib/view/Header.js
+++ b/apps/common/main/lib/view/Header.js
@@ -782,7 +782,6 @@ define([
             textAdvSettings: 'Advanced Settings',
             tipViewSettings: 'View Settings',
             textRemoveFavorite: 'Remove from Favorites',
-            textDarkTheme: 'Dark theme',
             textAddFavorite: 'Mark as favorite',
             textHideNotes: 'Hide Notes'
         }
diff --git a/apps/common/main/lib/view/ListSettingsDialog.js b/apps/common/main/lib/view/ListSettingsDialog.js
index 7ba0754a4..54a13d0b2 100644
--- a/apps/common/main/lib/view/ListSettingsDialog.js
+++ b/apps/common/main/lib/view/ListSettingsDialog.js
@@ -187,7 +187,7 @@ define([
                 '<div class="input-group combobox input-group-nr <%= cls %>" id="<%= id %>" style="<%= style %>">',
                 '<div class="form-control" style="padding-top:3px; line-height: 14px; cursor: pointer; <%= style %>"></div>',
                 '<div style="display: table-cell;"></div>',
-                '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret img-commonctrl"></span></button>',
+                '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>',
                 '<ul class="dropdown-menu <%= menuCls %>" style="<%= menuStyle %>" role="menu">'].concat(itemsTemplate).concat([
                 '</ul>',
                 '</div>'
diff --git a/apps/common/main/lib/view/PasswordDialog.js b/apps/common/main/lib/view/PasswordDialog.js
index 298981524..05545ad1b 100644
--- a/apps/common/main/lib/view/PasswordDialog.js
+++ b/apps/common/main/lib/view/PasswordDialog.js
@@ -99,6 +99,7 @@ define([
                         type: 'password',
                         allowBlank  : false,
                         style       : 'width: 100%;',
+                        maxLength: 255,
                         validateOnBlur: false
                     });
                     this.repeatPwd = new Common.UI.InputField({
@@ -106,6 +107,7 @@ define([
                         type: 'password',
                         allowBlank  : false,
                         style       : 'width: 100%;',
+                        maxLength: 255,
                         validateOnBlur: false,
                         validation  : function(value) {
                             return me.txtIncorrectPwd;
diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js
index d607a1fdf..509ba3819 100644
--- a/apps/common/main/lib/view/Plugins.js
+++ b/apps/common/main/lib/view/Plugins.js
@@ -284,7 +284,7 @@ define([
 
         parseIcons: function(icons) {
             if (icons.length && typeof icons[0] !== 'string') {
-                var theme = Common.UI.Themes.current().toLowerCase(),
+                var theme = Common.UI.Themes.currentThemeId().toLowerCase(),
                     style = Common.UI.Themes.isDarkTheme() ? 'dark' : 'light',
                     idx = -1;
                 for (var i=0; i<icons.length; i++) {
diff --git a/apps/common/main/lib/view/ReviewPopover.js b/apps/common/main/lib/view/ReviewPopover.js
index 723632817..6eda90bda 100644
--- a/apps/common/main/lib/view/ReviewPopover.js
+++ b/apps/common/main/lib/view/ReviewPopover.js
@@ -258,12 +258,12 @@ define([
                         }
 
                         var arr = [],
-                            btns = $(view.el).find('.btn-resolve');
+                            btns = $(view.el).find('.btn-resolve:not(.comment-resolved)');
                         btns.tooltip({title: me.textResolve, placement: 'cursor'});
                         btns.each(function (idx, item) {
                             arr.push($(item).data('bs.tooltip').tip());
                         });
-                        btns = $(view.el).find('.btn-resolve-check');
+                        btns = $(view.el).find('.comment-resolved');
                         btns.tooltip({title: me.textOpenAgain, placement: 'cursor'});
                         btns.each(function (idx, item) {
                             arr.push($(item).data('bs.tooltip').tip());
@@ -451,14 +451,7 @@ define([
 
                                 readdresolves();
 
-                            } else if (btn.hasClass('btn-resolve', false)) {
-                                var tip = btn.data('bs.tooltip');
-                                if (tip) tip.dontShow = true;
-
-                                me.fireEvent('comment:resolve', [commentId]);
-
-                                readdresolves();
-                            } else if (btn.hasClass('btn-resolve-check', false)) {
+                            } else if (btn.hasClass('btn-resolve')) {
                                 var tip = btn.data('bs.tooltip');
                                 if (tip) tip.dontShow = true;
 
diff --git a/apps/common/main/resources/img/combo-border-size/BorderSize.png b/apps/common/main/resources/img/combo-border-size/BorderSize.png
index 97152b149..37da5da48 100644
Binary files a/apps/common/main/resources/img/combo-border-size/BorderSize.png and b/apps/common/main/resources/img/combo-border-size/BorderSize.png differ
diff --git a/apps/common/main/resources/img/combo-border-size/BorderSize@1.5x.png b/apps/common/main/resources/img/combo-border-size/BorderSize@1.5x.png
index 293c5ab09..603c64c53 100644
Binary files a/apps/common/main/resources/img/combo-border-size/BorderSize@1.5x.png and b/apps/common/main/resources/img/combo-border-size/BorderSize@1.5x.png differ
diff --git a/apps/common/main/resources/img/combo-border-size/BorderSize@2x.png b/apps/common/main/resources/img/combo-border-size/BorderSize@2x.png
index 87d17d13c..601eef02b 100644
Binary files a/apps/common/main/resources/img/combo-border-size/BorderSize@2x.png and b/apps/common/main/resources/img/combo-border-size/BorderSize@2x.png differ
diff --git a/apps/common/main/resources/img/controls/Scroll_center@1.5x.png b/apps/common/main/resources/img/controls/Scroll_center@1.5x.png
new file mode 100644
index 000000000..743ca5769
Binary files /dev/null and b/apps/common/main/resources/img/controls/Scroll_center@1.5x.png differ
diff --git a/apps/common/main/resources/less/buttons.less b/apps/common/main/resources/less/buttons.less
index f521006f9..db27597ec 100644
--- a/apps/common/main/resources/less/buttons.less
+++ b/apps/common/main/resources/less/buttons.less
@@ -77,6 +77,8 @@
     &.active:not(.disabled){
         .caret {
             transform: rotate(45deg);
+            border-color: @icon-normal-pressed-ie;
+            border-color: @icon-normal-pressed;
         }
     }
 
@@ -227,7 +229,7 @@
 
         .inner-box-caption {
             line-height: 18px;
-            padding: 0 4px;
+            padding: 0 2px;
             display: flex;
             align-items: center;
 
@@ -301,6 +303,14 @@
     }
 }
 
+.icon-top.btn-group {
+    &.x-huge, .x-huge {
+        .inner-box-caption {
+            padding-right: 4px;
+        }
+    }
+}
+
 .icon-top {
     &.x-huge  {
         .btn&, .btn-group& .btn-toolbar {
@@ -361,8 +371,8 @@
 
     &:active:not(.disabled),
     &.active:not(.disabled) {
-        color: @text-normal-ie;
-        color: @text-normal;
+        color: @text-normal-pressed-ie;
+        color: @text-normal-pressed;
         background-color: @highlight-button-pressed-ie;
         background-color: @highlight-button-pressed;
     }
@@ -943,6 +953,12 @@
     &.active {
         background-color: @background-normal-ie !important;
         background-color: @background-normal !important;
+
+        &:not(:disabled) {
+            svg.icon {
+                opacity: inherit;
+            }
+        }
     }
 
     &:active:not(.disabled),
diff --git a/apps/common/main/resources/less/calendar.less b/apps/common/main/resources/less/calendar.less
index b58b92c69..6926539d7 100644
--- a/apps/common/main/resources/less/calendar.less
+++ b/apps/common/main/resources/less/calendar.less
@@ -6,60 +6,89 @@
   box-shadow: none;
 }
 .calendar-box {
-  width: 198px;
-  height: 220px;
-  border: 1px solid @calendar-bg-color;
+  width: 212px;
+  height: 244px;
+    box-shadow: 0px 2px 5px @background-scrim-ie;
+    box-shadow: 0px 2px 5px @background-scrim;
+    border-radius: 2px;
+    background-color: @background-normal-ie;
+    background-color: @background-normal;
+
   .top-row {
     padding: 0 5px;
   }
   .btn {
     background-color: transparent;
     border: none;
-    height: 20px;
-    width: 20px;
-    margin-top: 4px;
+    height: 24px;
+    width: 24px;
     display: flex;
     justify-content: center;
     align-items: center;
+
     .icon {
       width: 16px;
       height: 16px;
       display: block;
       position: relative;
       &.arrow-prev {
-        background-position: -55px -96px;
+        background-position: -38px -96px;
       }
       &.arrow-next {
-        background-position: -52px -112px;
+        background-position: -36px -112px;
       }
     }
     &:hover {
-      background-color: rgba(255,255,255,0.2);
+      background-color: @highlight-button-hover-ie;
+      background-color: @highlight-button-hover;
       cursor: pointer;
     }
+
+      &:active {
+          background-color: @highlight-button-pressed-ie;
+          background-color: @highlight-button-pressed;
+      }
   }
   .calendar-header {
-    height: 50px;
-    background-color: @calendar-bg-color;
-    color: #FFFFFF;
+        height: 68px;
+        color: @text-normal-ie;
+        color: @text-normal;
+        padding: 8px;
+        padding-bottom: 0;
+
     .top-row {
       display: flex;
       justify-content: space-between;
+        margin-bottom: 8px;
     }
+
     .bottom-row {
       display: flex;
       justify-content: space-around;
       padding: 0;
+        height: 28px;
+        align-items: center;
     }
+
+      .view-years &,
+      .view-months & {
+          height: 40px;
+
+          .bottom-row {
+              display: none;
+          }
+      }
+
     .title {
       width: 100%;
       margin: 4px 6px 3px 6px;
       text-align: center;
-      font-size: 13px;
+      font-size: 11px;
+
       label {
         padding: 2px 10px 0;
         display: block;
-        font-weight: bold;
+        //font-weight: bold;
         &:not(:last-of-type) {
           margin-right: 6px;
         }
@@ -68,7 +97,8 @@
         height: 100%;
         width: 100%;
         &:hover {
-          background-color: rgba(255,255,255,0.2);
+          background-color: @highlight-button-hover-ie;
+          background-color: @highlight-button-hover;
           cursor: pointer;
           label {
             cursor: pointer;
@@ -79,34 +109,40 @@
     }
   }
   .calendar-content {
+      padding: 0 8px;
+
     .item {
       margin: 0;
       padding: 0;
       height: auto;
       width: auto;
       box-shadow: none;
-      border: 1px solid #fff;
+
       .name-month, .name-year {
-        height: 40px;
-        width: 47px;
-        background-color: #F1F1F1;
+        height: 49px;
+        width: 49px;
+        background-color: @background-normal;
         display: flex;
         justify-content: center;
         align-items: center;
         font-size: 13px;
       }
+
       .number-day {
-        height: 26px;
-        width: 26px;
-        background-color: #F1F1F1;
+        height: 28px;
+        width: 28px;
         display: flex;
         justify-content: center;
         align-items: center;
       }
+
       &.selected {
         .number-day, .name-month, .name-year {
-          color: #fff;
-          background-color: #7D858C;
+            color: @text-normal-pressed-ie;
+            color: @text-normal-pressed;
+            background-color: @highlight-button-pressed-ie;
+            background-color: @highlight-button-pressed;
+            border-radius: 2px;
         }
       }
       .weekend {
@@ -118,7 +154,7 @@
       &:not(.disabled):not(.selected) {
         .number-day, .name-month, .name-year {
           &:hover {
-            background-color: #D9D9D9;
+            background-color: @highlight-button-hover;
           }
         }
       }
diff --git a/apps/common/main/resources/less/chat.less b/apps/common/main/resources/less/chat.less
index e11419c95..47656839b 100644
--- a/apps/common/main/resources/less/chat.less
+++ b/apps/common/main/resources/less/chat.less
@@ -154,8 +154,8 @@
             font-size: 12px;
 
             &:focus {
-                border-color: @border-preview-select-ie;
-                border-color: @border-preview-select;
+                border-color: @border-control-focus-ie;
+                border-color: @border-control-focus;
             }
         }
     }
diff --git a/apps/common/main/resources/less/colors-table-classic.less b/apps/common/main/resources/less/colors-table-classic.less
new file mode 100644
index 000000000..006bee0a0
--- /dev/null
+++ b/apps/common/main/resources/less/colors-table-classic.less
@@ -0,0 +1,129 @@
+
+:root {
+    .theme-classic-light {
+        --toolbar-header-document: #446995;
+        --toolbar-header-spreadsheet: #40865c;
+        --toolbar-header-presentation: #aa5252;
+
+        --background-normal: #fff;
+        --background-toolbar: #f1f1f1;
+        --background-toolbar-additional: #f1f1f1;
+        --background-primary-dialog-button: #7d858c;
+        --background-tab-underline: #444;
+        --background-notification-popover: #fcfed7;
+        --background-notification-badge: #ffd112;
+        --background-scrim: fade(#000, 20%);
+        --background-loader: fade(#000, 65%);
+
+        --highlight-button-hover: #d8dadc;
+        --highlight-button-pressed: #7d858c;
+        --highlight-button-pressed-hover: #7d858c;
+        --highlight-primary-dialog-button-hover: #666d73;
+        --highlight-header-button-hover: fade(#fff, 20%);
+        --highlight-header-button-pressed: fade(#000, 20%);
+        --highlight-toolbar-tab-underline: #444;
+        --highlight-text-select: #3494fb;
+
+        --border-toolbar: #cbcbcb;
+        --border-divider: #cbcbcb;
+        --border-regular-control: #cfcfcf;
+        --border-toolbar-button-hover: #d8dadc;
+        --border-preview-hover: #cfcfcf;
+        --border-preview-select: #848484;
+        --border-control-focus: #848484;
+        --border-color-shading: fade(#000, 20%);
+        --border-error: #d9534f;
+
+        --text-normal: #444;
+        --text-normal-pressed: #fff;
+        --text-secondary: #a5a5a5;
+        --text-tertiary: #a5a5a5;
+        --text-link: #acbfff;
+        --text-link-hover: #acbfff;
+        --text-link-active: #acbfff;
+        --text-link-visited: #acbfff;
+        --text-inverse: #fff;
+        --text-toolbar-header: #fff;
+        --text-contrast-background: #fff;
+
+        --icon-normal: #444;
+        --icon-normal-pressed: #fff;
+        --icon-inverse: #444;
+        --icon-toolbar-header: fade(#fff, 80%);
+        --icon-notification-badge: #000;
+        --icon-contrast-popover: #fff;
+        --icon-success: #5b9f27;
+
+        // Canvas colors
+        --canvas-background: #e2e2e2;
+        --canvas-content-background: #fff;
+        --canvas-page-border: #ccc;
+
+        --canvas-ruler-background: #555;
+        --canvas-ruler-margins-background: #444;
+        --canvas-ruler-mark: #b2b2b2;
+        --canvas-ruler-handle-border: #b2b2b2;
+        --canvas-ruler-handle-border-disabled: #717171;
+
+        --canvas-high-contrast: #fff;
+        --canvas-high-contrast-disabled: #888;
+
+        --canvas-cell-border: fade(#000, 10%);
+        --canvas-cell-title-border: #757575;
+        --canvas-cell-title-border-hover: #858585;
+        --canvas-cell-title-border-selected: #9e9e9e;
+        --canvas-cell-title-hover: #787878;
+        --canvas-cell-title-selected: #939393;
+
+        --canvas-dark-cell-title: #111;
+        --canvas-dark-cell-title-hover: #000;
+        --canvas-dark-cell-title-selected: #333;
+        --canvas-dark-cell-title-border: #282828;
+        --canvas-dark-cell-title-border-hover: #191919;
+        --canvas-dark-cell-title-border-selected: #474747;
+
+        --canvas-scroll-thumb: #404040;
+        --canvas-scroll-thumb-hover: #999;
+        --canvas-scroll-thumb-pressed: #adadad;
+        --canvas-scroll-thumb-border: #2a2a2a;
+        --canvas-scroll-thumb-border-hover: #2a2a2a;
+        --canvas-scroll-thumb-border-pressed: #2a2a2a;
+        --canvas-scroll-arrow: #999;
+        --canvas-scroll-arrow-hover: #404040;
+        --canvas-scroll-arrow-pressed: #404040;
+        --canvas-scroll-thumb-target: #999;
+        --canvas-scroll-thumb-target-hover: #404040;
+        --canvas-scroll-thumb-target-pressed: #404040;
+
+        // Others
+
+        --button-small-normal-icon-offset-x: 0;
+        --button-small-active-icon-offset-x: -20px;
+        --button-large-normal-icon-offset-x: 0;
+        --button-large-active-icon-offset-x: -31px;
+        --button-huge-normal-icon-offset-x: 0;
+        --button-huge-active-icon-offset-x: -40px;
+        --button-xhuge-normal-icon-offset-x: 0;
+        --button-xhuge-active-icon-offset-x: -28px;
+        //--button-xhuge-normal-icon-offset-x: -37px;
+        //--button-xhuge-active-icon-offset-x: -37px;
+
+        --modal-window-mask-opacity: 0.6;
+        --image-border-types-filter: none;
+        --image-border-types-filter-selected: invert(100%) brightness(4);
+        --component-normal-icon-filter: invert(100%);
+
+        --component-normal-icon-opacity: .8;
+        --component-hover-icon-opacity: .8;
+        --component-active-icon-opacity: 1;
+        --component-active-hover-icon-opacity: 1;
+        --component-disabled-opacity: .3;
+
+        --header-component-normal-icon-opacity: 1;
+        --header-component-hover-icon-opacity: 1;
+        --header-component-active-icon-opacity: 1;
+        --header-component-active-hover-icon-opacity: 1;
+
+        --menu-icon-item-checked-offset-x: -20px;
+    }
+}
diff --git a/apps/common/main/resources/less/colors-table-dark.less b/apps/common/main/resources/less/colors-table-dark.less
index 28c206b53..8707a7755 100644
--- a/apps/common/main/resources/less/colors-table-dark.less
+++ b/apps/common/main/resources/less/colors-table-dark.less
@@ -39,6 +39,9 @@
         --text-secondary: fade(#fff, 60%);
         --text-tertiary: fade(#fff, 40%);
         --text-link: #b5e4ff;
+        --text-link-hover: #b5e4ff;
+        --text-link-active: #b5e4ff;
+        --text-link-visited: #b5e4ff;
         --text-inverse: #333;
         --text-toolbar-header: fade(#fff, 80%);
         --text-contrast-background: #fff;
@@ -116,6 +119,11 @@
         --component-active-hover-icon-opacity: 1;
         --component-disabled-opacity: .3;
 
+        --header-component-normal-icon-opacity: .8;
+        --header-component-hover-icon-opacity: .8;
+        --header-component-active-icon-opacity: 1;
+        --header-component-active-hover-icon-opacity: 1;
+
         --menu-icon-item-checked-offset-x: -20px;
     }
 }
diff --git a/apps/common/main/resources/less/colors-table-ie-fix.less b/apps/common/main/resources/less/colors-table-ie-fix.less
index 0dd726c2e..eaf133158 100644
--- a/apps/common/main/resources/less/colors-table-ie-fix.less
+++ b/apps/common/main/resources/less/colors-table-ie-fix.less
@@ -4,50 +4,50 @@
 @toolbar-header-presentation-ie: #aa5252;
 
 @background-normal-ie: #fff;
-@background-toolbar-ie: #f7f7f7;
-@background-toolbar-additional-ie: #efefef;
-@background-primary-dialog-button-ie: #444;
+@background-toolbar-ie: #f1f1f1;
+@background-toolbar-additional-ie: #f1f1f1;
+@background-primary-dialog-button-ie: #7d858c;
 @background-tab-underline-ie: #444;
 @background-notification-popover-ie: #fcfed7;
 @background-notification-badge-ie: #ffd112;
 @background-scrim-ie: fade(#000, 20%);
-@background-loader-ie: fade(#181818, 90%);
+@background-loader-ie: fade(#000, 65%);
 
-@highlight-button-hover-ie: #e0e0e0;
-@highlight-button-pressed-ie: #ccc;
-@highlight-button-pressed-hover-ie: #bababa;
-@highlight-primary-dialog-button-hover-ie: #2b2b2b;
+@highlight-button-hover-ie: #d8dadc;
+@highlight-button-pressed-ie: #7d858c;
+@highlight-button-pressed-hover-ie: #7d858c;
+@highlight-primary-dialog-button-hover-ie: #666d73;
 @highlight-header-button-hover-ie: fade(#fff, 20%);
-@highlight-header-button-pressed-ie: fade(#fff, 25%);
+@highlight-header-button-pressed-ie: fade(#000, 20%);
 @highlight-toolbar-tab-underline-ie: #444;
 @highlight-text-select-ie: #3494fb;
 
 @border-toolbar-ie: #cbcbcb;
-@border-divider-ie: #dfdfdf;
-@border-regular-control-ie: #c0c0c0;
-@border-toolbar-button-hover-ie: #e0e0e0;
+@border-divider-ie: #cbcbcb;
+@border-regular-control-ie: #cfcfcf;
+@border-toolbar-button-hover-ie: #d8dadc;
 @border-preview-hover-ie: #cfcfcf;
-@border-preview-select-ie: #aaa;
+@border-preview-select-ie: #848484;
 @border-control-focus-ie: #848484;
-@border-color-shading-ie: fade(#000, 10%);
-@border-error-ie: #f62211;
+@border-color-shading-ie: fade(#000, 20%);
+@border-error-ie: #d9534f;
 
-@text-normal-ie: fade(#000, 80%);
-@text-normal-pressed-ie: fade(#000, 80%);
-@text-secondary-ie: fade(#000, 60%);
-@text-tertiary-ie: fade(#000, 40%);
-@text-link-ie: #445799;
+@text-normal-ie: #444;
+@text-normal-pressed-ie: #fff;
+@text-secondary-ie: #a5a5a5;
+@text-tertiary-ie: #a5a5a5;
+@text-link-ie: #acbfff;
 @text-inverse-ie: #fff;
 @text-toolbar-header-ie: #fff;
 @text-contrast-background-ie: #fff;
 
 @icon-normal-ie: #444;
-@icon-normal-pressed-ie: #444;
-@icon-inverse-ie: #fff;
-@icon-toolbar-header-ie: #fff;
+@icon-normal-pressed-ie: #fff;
+@icon-inverse-ie: #444;
+@icon-toolbar-header-ie: fade(#fff, 80%);
 @icon-notification-badge-ie: #000;
 @icon-contrast-popover-ie: #fff;
-@icon-success-ie: #090;
+@icon-success-ie: #5b9f27;
 
 @button-header-normal-icon-offset-x-ie: -20px;
 @button-header-active-icon-offset-x-ie: -20px;
diff --git a/apps/common/main/resources/less/colors-table.less b/apps/common/main/resources/less/colors-table.less
index 7fc2a1a22..573027e92 100644
--- a/apps/common/main/resources/less/colors-table.less
+++ b/apps/common/main/resources/less/colors-table.less
@@ -49,6 +49,9 @@
     --text-secondary: fade(#000, 60%);
     --text-tertiary: fade(#000, 40%);
     --text-link: #445799;
+    --text-link-hover: #445799;
+    --text-link-active: #445799;
+    --text-link-visited: #445799;
     --text-inverse: #fff;
     --text-toolbar-header: #fff;
     --text-contrast-background: #fff;
@@ -127,6 +130,11 @@
     --component-active-icon-opacity: 1;
     --component-active-hover-icon-opacity: 1;
     --component-disabled-opacity: .4;
+
+    --header-component-normal-icon-opacity: 1;
+    --header-component-hover-icon-opacity: 1;
+    --header-component-active-icon-opacity: 1;
+    --header-component-active-hover-icon-opacity: 1;
     //--button-icon-opacity: 1;
 }
 
@@ -172,6 +180,9 @@
 @text-secondary: var(--text-secondary);
 @text-tertiary: var(--text-tertiary);
 @text-link: var(--text-link);
+@text-link-hover: var(--text-link-hover);
+@text-link-active: var(--text-link-active);
+@text-link-visited: var(--text-link-visited);
 @text-inverse: var(--text-inverse);
 @text-toolbar-header: var(--text-toolbar-header);
 @text-contrast-background: var(--text-contrast-background);
@@ -207,7 +218,14 @@
 @component-disabled-opacity: var(--component-disabled-opacity, .4);
 //@button-icon-opacity: var(--button-icon-opacity, 1);
 
+@header-component-normal-icon-opacity: var(--header-component-normal-icon-opacity, 1);
+@header-component-hover-icon-opacity: var(--header-component-hover-icon-opacity, 1);
+@header-component-active-icon-opacity: var(--header-component-active-icon-opacity, 1);
+@header-component-active-hover-icon-opacity: var(--header-component-active-hover-icon-opacity, 1);
+
 @menu-icon-item-checked-offset-x: var(--menu-icon-item-checked-offset-x, 0);
+@img-border-type-filter: var(--image-border-types-filter, none);
+@img-border-type-filter-selected: var(--image-border-types-filter-selected, none);
 
 // Canvas
 // ---------------------------
diff --git a/apps/common/main/resources/less/combo-border-size.less b/apps/common/main/resources/less/combo-border-size.less
index f384c346d..2c45bfc83 100644
--- a/apps/common/main/resources/less/combo-border-size.less
+++ b/apps/common/main/resources/less/combo-border-size.less
@@ -3,6 +3,13 @@
         cursor: pointer;
     }
 
+    &.input-group-nr {
+        .form-control:not(input) {
+            padding-top: 0;
+            padding-bottom: 0;
+        }
+    }
+
     li {
         a {
             white-space: normal;
@@ -28,28 +35,19 @@
         height: 100%;
         display: inline-block;
         background-color: transparent;
-        margin: -1px 0 0 -3px;
+        margin: 0 0 0 -3px;
     }
 
     img, .image {
         background: ~"url(@{common-image-const-path}/combo-border-size/BorderSize.png) no-repeat 0 0";
+        background-size: 60px auto;
 
-        @media only screen {
-            //@media (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 1.9),
-            //        (min-resolution: 1.5dppx) and (max-resolution: 1.9dppx),
-            //        (min-resolution: 144dpi) and (max-resolution: 191dpi)
-            //{
-            //    background-image: ~"url(@{common-image-const-path}/combo-border-size/BorderSize@1.5x.png)";
-            //    background-size: 60px auto;
-            //}
+        .pixel-ratio__1_5 & {
+            background-image: ~"url(@{common-image-const-path}/combo-border-size/BorderSize@1.5x.png)";
+        }
 
-            @media (-webkit-min-device-pixel-ratio: 2),
-            (min-resolution: 2dppx),
-            (min-resolution: 192dpi)
-            {
-                background-image: ~"url(@{common-image-const-path}/combo-border-size/BorderSize@2x.png)";
-                background-size: 60px auto;
-            }
+        .pixel-ratio__2 & {
+            background-image: ~"url(@{common-image-const-path}/combo-border-size/BorderSize@2x.png)";
         }
     }
 }
diff --git a/apps/common/main/resources/less/combo-dataview.less b/apps/common/main/resources/less/combo-dataview.less
index 4b286b563..6e39cb83c 100644
--- a/apps/common/main/resources/less/combo-dataview.less
+++ b/apps/common/main/resources/less/combo-dataview.less
@@ -103,7 +103,7 @@
         margin: 0 @minus-px-ie @minus-px-ie 0;
         margin: 0 @minus-px @minus-px 0;
         height: @combo-dataview-height;
-
+        background-color: @canvas-content-background;
 
         &:hover {
             .box-inner-shadow(0 0 0 2px @border-preview-hover-ie);
@@ -143,8 +143,8 @@
         width: auto;
         position: relative;
         border: none;
-        .box-shadow(0 0 0 @scaled-one-px-value-ie @background-normal-ie);
-        .box-shadow(0 0 0 @scaled-one-px-value @background-normal);
+        //.box-shadow(0 0 0 @scaled-one-px-value-ie @background-normal-ie);
+        //.box-shadow(0 0 0 @scaled-one-px-value @background-normal);
 
         > div {
             background-repeat: no-repeat;
diff --git a/apps/common/main/resources/less/combobox.less b/apps/common/main/resources/less/combobox.less
index c2a7c5a8a..166449139 100644
--- a/apps/common/main/resources/less/combobox.less
+++ b/apps/common/main/resources/less/combobox.less
@@ -1,5 +1,3 @@
-@img-borders-filter: var(--image-border-types-filter);
-@img-borders-filter-selected: var(--image-border-types-filter-selected);
 
 .combobox {
     display: block;
@@ -33,8 +31,8 @@
         float: none;
 
         .image {
-            -webkit-filter: @img-borders-filter;
-            filter: @img-borders-filter;
+            -webkit-filter: @img-border-type-filter;
+            filter: @img-border-type-filter;
         }
     }
 
@@ -68,16 +66,19 @@
         }
     }
 
-    &.input-group-nr.open:not(.no-highlighted) {
+    &.input-group-nr.open {
         & > .form-control,
         & > .btn {
-            border-color: @border-control-focus-ie;
-            border-color: @border-control-focus;
-
             .caret {
                 transform: rotate(45deg);
             }
         }
+
+        &:not(.no-highlighted) > .form-control,
+        &:not(.no-highlighted) > .btn {
+            border-color: @border-control-focus-ie;
+            border-color: @border-control-focus;
+        }
     }
 
     &.input-group-nr:not(.no-highlighted) > .form-control {
@@ -87,6 +88,23 @@
             border-color: @border-control-focus;
         }
     }
+    &.input-group-nr.no-highlighted > .form-control {
+        &:focus,
+        &:focus ~ button.dropdown-toggle {
+            border-color: @border-regular-control-ie;
+            border-color: @border-regular-control;
+        }
+    }
+
+    &.input-group-nr {
+        .btn {
+            &:active {
+                .caret {
+                    border-color: @icon-normal;
+                }
+            }
+        }
+    }
 
     li {
         a {
@@ -116,22 +134,22 @@
     // ------------------------
     li {
         img {
-            -webkit-filter: @img-borders-filter;
-            filter: @img-borders-filter;
+            -webkit-filter: @img-border-type-filter;
+            filter: @img-border-type-filter;
         }
         canvas {
-            -webkit-filter: @img-borders-filter;
-            filter: @img-borders-filter;
+            -webkit-filter: @img-border-type-filter;
+            filter: @img-border-type-filter;
         }
 
         &.selected {
             img {
-                -webkit-filter: @img-borders-filter-selected;
-                filter: @img-borders-filter-selected;
+                -webkit-filter: @img-border-type-filter-selected;
+                filter: @img-border-type-filter-selected;
             }
             canvas {
-                -webkit-filter: @img-borders-filter-selected;
-                filter: @img-borders-filter-selected;
+                -webkit-filter: @img-border-type-filter-selected;
+                filter: @img-border-type-filter-selected;
             }
         }
 
@@ -173,4 +191,13 @@
             border-color: @border-control-focus;
         }
     }
+
+    &.input-group-nr {
+        & > .form-control,
+        & > .btn {
+            .caret {
+                transform: rotate(45deg);
+            }
+        }
+    }
 }
diff --git a/apps/common/main/resources/less/dropdown-menu.less b/apps/common/main/resources/less/dropdown-menu.less
index 7a1b1e15a..f0faa74bf 100644
--- a/apps/common/main/resources/less/dropdown-menu.less
+++ b/apps/common/main/resources/less/dropdown-menu.less
@@ -39,15 +39,15 @@
 
             &:focus, &.focus {
                 outline: 0;
-                color: @text-normal-pressed-ie;
-                color: @text-normal-pressed;
+                color: @text-normal-ie;
+                color: @text-normal;
                 background-color: @highlight-button-hover-ie;
                 background-color: @highlight-button-hover;
             }
 
             &:hover {
-                color: @text-normal-pressed-ie;
-                color: @text-normal-pressed;
+                color: @text-normal-ie;
+                color: @text-normal;
                 background-color: @highlight-button-hover-ie;
                 background-color: @highlight-button-hover;
             }
@@ -55,14 +55,14 @@
 
         &.over > a {
             text-decoration: none;
-            color: @text-normal-pressed-ie;
-            color: @text-normal-pressed;
+            //color: @text-normal-pressed-ie;
+            //color: @text-normal-pressed;
             background-color: @highlight-button-hover-ie;
             background-color: @highlight-button-hover;
 
             &:after {
-                border-left-color: @icon-normal-pressed-ie;
-                border-left-color: @icon-normal-pressed;
+                border-left-color: @icon-normal-ie;
+                border-left-color: @icon-normal;
             }
         }
 
@@ -153,4 +153,16 @@
         background-color: @border-divider-ie;
         background-color: @border-divider;
     }
+
+    .dataview {
+        .item {
+            .options__icon {
+                opacity: @component-normal-icon-opacity;
+            }
+
+            .options__icon-huge {
+                background-position-x: var(--button-huge-normal-icon-offset-x, 0);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/apps/common/main/resources/less/header.less b/apps/common/main/resources/less/header.less
index 82a03b18e..9bed1c0f7 100644
--- a/apps/common/main/resources/less/header.less
+++ b/apps/common/main/resources/less/header.less
@@ -327,13 +327,24 @@
     }
 
     .btn& {
+        &:not(:disabled) .icon {
+            opacity: @header-component-normal-icon-opacity;
+        }
+
         &:active, &.active {
             .icon.toolbar__icon {
                 &.icon--inverse {
                     background-position-x: @button-header-active-icon-offset-x-ie;
+                    opacity: @header-component-active-icon-opacity;
                 }
             }
         }
+
+        &:hover:not(:disabled) {
+            .icon {
+                opacity: @header-component-hover-icon-opacity;
+            }
+        }
     }
 
     svg.icon {
diff --git a/apps/common/main/resources/less/multislider-gradient.less b/apps/common/main/resources/less/multislider-gradient.less
index c6c7fabf7..ec8b0d2ac 100644
--- a/apps/common/main/resources/less/multislider-gradient.less
+++ b/apps/common/main/resources/less/multislider-gradient.less
@@ -3,6 +3,8 @@
     background-color: transparent;
 
     .thumb {
+        width: 13px;
+        height: 15px;
         top: 18px;
         background: none;
 
diff --git a/apps/common/main/resources/less/scroller.less b/apps/common/main/resources/less/scroller.less
index 0929d2cf5..6d94e4a7f 100644
--- a/apps/common/main/resources/less/scroller.less
+++ b/apps/common/main/resources/less/scroller.less
@@ -90,6 +90,12 @@
                 .background-ximage('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAQAAAAz1Zf0AAAAIUlEQVR42mNgAILz/0GQAQo+/gdBBqLAqE5ydH5k+sgEANHgUH2JtDRHAAAAAElFTkSuQmCC',
                         'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAaAgMAAADZOtQaAAAACVBMVEUAAADPz8/x8fFVrc9qAAAAAXRSTlMAQObYZgAAABZJREFUeNpjYAgNYOBaxcDEgAsMLXkA/sUJfm1m4l8AAAAASUVORK5CYII=', 14px);
 
+                .pixel-ratio__1_5 & {
+                    //background-image: ~"url(@{common-image-const-path}/controls/Scroll_center@1.5x.png)";
+                    background-image: data-uri('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAATAgMAAAACIK4YAAAACVBMVEUAAADPz8/x8fFVrc9qAAAAAXRSTlMAQObYZgAAABRJREFUeNpjYAxl4FrBwYAK6CwIAOsnB3Hkb0WyAAAAAElFTkSuQmCC');
+                    background-size: 14px auto;
+                }
+
                 background-repeat: no-repeat;
                 background-position: 0 center;
                 .border-radius(2px);
diff --git a/apps/common/main/resources/less/synchronize-tip.less b/apps/common/main/resources/less/synchronize-tip.less
index 64ebe4bc6..63cad1831 100644
--- a/apps/common/main/resources/less/synchronize-tip.less
+++ b/apps/common/main/resources/less/synchronize-tip.less
@@ -360,6 +360,16 @@
     color: @text-link-ie;
     color: @text-link;
     cursor: pointer;
+
+    &:hover:not(:disabled) {
+        color: @text-link-hover;
+        border-bottom-color: dotted @text-link-hover;
+    }
+
+    &:active {
+        color: @text-link-active;
+        border-bottom-color: dotted @text-link-hover;
+    }
 }
 
 .asc-synchronizetip .close {
diff --git a/apps/common/main/resources/less/table-styler.less b/apps/common/main/resources/less/table-styler.less
index 3399084bb..ad979147e 100644
--- a/apps/common/main/resources/less/table-styler.less
+++ b/apps/common/main/resources/less/table-styler.less
@@ -1,4 +1,6 @@
 .table-styler {
+    background-color: @canvas-content-background;
+
     table {
         &.transparent {
             background-color: @canvas-content-background !important;
diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less
index 89479f749..1efe12759 100644
--- a/apps/common/main/resources/less/toolbar.less
+++ b/apps/common/main/resources/less/toolbar.less
@@ -216,6 +216,14 @@
         &:last-child {
             padding-right: 6px;
         }
+
+        &.small {
+            padding-left: 10px;
+
+            + .separator {
+                margin-left: 10px;
+            }
+        }
     }
 
     .elset {
@@ -523,10 +531,15 @@
             box-shadow: inset 0 0 0 @scaled-one-px-value @border-regular-control;
         }
 
-        &, .icon {
+        & {
             width: 21px;
             height: 21px;
         }
+
+        .icon {
+            width: 22px;
+            height: 22px;
+        }
     }
 }
 
@@ -560,6 +573,7 @@
 
     .equation-icon {
         .background-ximage-v2('toolbar/math.png', 1500px, @commonimage: true);
+        opacity: @component-normal-icon-opacity;
 
         .theme-dark & {
             -webkit-filter: @img-equition-filter;
diff --git a/apps/common/main/resources/less/treeview.less b/apps/common/main/resources/less/treeview.less
index cd7e0e002..6a14d2827 100644
--- a/apps/common/main/resources/less/treeview.less
+++ b/apps/common/main/resources/less/treeview.less
@@ -40,6 +40,8 @@
     &.selected {
       background-color: @highlight-button-pressed-ie;
       background-color: @highlight-button-pressed;
+      color: @text-normal-pressed-ie;
+      color: @text-normal-pressed;
     }
 
     &.selected .empty {
diff --git a/apps/documenteditor/embed/js/ApplicationController.js b/apps/documenteditor/embed/js/ApplicationController.js
index 799312960..ccef76d46 100644
--- a/apps/documenteditor/embed/js/ApplicationController.js
+++ b/apps/documenteditor/embed/js/ApplicationController.js
@@ -213,7 +213,7 @@ DE.ApplicationController = new(function(){
 
     function onPrint() {
         if ( permissions.print!==false )
-            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
     }
 
     function onPrintUrl(url) {
@@ -278,7 +278,7 @@ DE.ApplicationController = new(function(){
                         common.utils.openLink(embedConfig.saveUrl);
                     } else
                     if (api && permissions.print!==false){
-                        api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                        api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                     }
 
                     Common.Analytics.trackEvent('Save');
@@ -286,7 +286,7 @@ DE.ApplicationController = new(function(){
 
         DE.ApplicationView.tools.get('#idt-print')
             .on('click', function(){
-                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                 Common.Analytics.trackEvent('Print');
             });
 
diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js
index 41bd29531..dddf680f1 100644
--- a/apps/documenteditor/main/app/controller/FormsTab.js
+++ b/apps/documenteditor/main/app/controller/FormsTab.js
@@ -212,7 +212,7 @@ define([
 
         onNoControlsColor: function(item) {
             if (!item.isChecked())
-                this.api.asc_SetSpecialFormsHighlightColor(255, 192, 0);
+                this.api.asc_SetSpecialFormsHighlightColor(201, 200, 255);
             else
                 this.api.asc_SetSpecialFormsHighlightColor();
             Common.NotificationCenter.trigger('edit:complete', this.toolbar);
diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js
index 9dbcb6a48..462d33f26 100644
--- a/apps/documenteditor/main/app/controller/LeftMenu.js
+++ b/apps/documenteditor/main/app/controller/LeftMenu.js
@@ -236,7 +236,7 @@ define([
                 if ( isopts ) close_menu = false;
                 else this.clickSaveCopyAsFormat(undefined);
                 break;
-            case 'print': this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); break;
+            case 'print': this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); break;
             case 'exit': Common.NotificationCenter.trigger('goback'); break;
             case 'edit':
                 this.getApplication().getController('Statusbar').setStatusCaption(this.requestEditRightsText);
diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js
index d83c38d90..4267414d6 100644
--- a/apps/documenteditor/main/app/controller/Main.js
+++ b/apps/documenteditor/main/app/controller/Main.js
@@ -102,7 +102,7 @@ define([
                 var me = this,
                     styleNames = ['Normal', 'No Spacing', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'Heading 5',
                                   'Heading 6', 'Heading 7', 'Heading 8', 'Heading 9', 'Title', 'Subtitle', 'Quote', 'Intense Quote', 'List Paragraph', 'footnote text',
-                                  'Caption'],
+                                  'Caption', 'endnote text'],
                 translate = {
                     'Series': this.txtSeries,
                     'Diagram Title': this.txtDiagramTitle,
@@ -143,6 +143,9 @@ define([
                     "Type equation here": this.txtTypeEquation,
                     "Click to load image": this.txtClickToLoad,
                     "None": this.txtNone
+                    "No table of figures entries found.": this.txtNoTableOfFigures,
+                    "table of figures": this.txtTableOfFigures,
+                    "TOC Heading": this.txtTOCHeading
                 };
                 styleNames.forEach(function(item){
                     translate[item] = me['txtStyle_' + item.replace(/ /g, '_')] || item;
@@ -1346,7 +1349,7 @@ define([
 
                 this.appOptions.canRename && appHeader.setCanRename(true);
                 this.appOptions.canBrandingExt = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object' || this.editorConfig.plugins);
-                this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions);
+                this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions, this.api);
 
                 if (this.appOptions.canComments)
                     Common.NotificationCenter.on('comments:cleardummy', _.bind(this.onClearDummyComment, this));
@@ -2330,7 +2333,7 @@ define([
                 if (!this.appOptions.canPrint || Common.Utils.ModalWindow.isVisible()) return;
                 
                 if (this.api)
-                    this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                    this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
                 Common.component.Analytics.trackEvent('Print');
             },
 
@@ -2895,6 +2898,10 @@ define([
             leavePageTextOnClose: 'All unsaved changes in this document will be lost.<br> Click \'Cancel\' then \'Save\' to save them. Click \'OK\' to discard all the unsaved changes.',
             textTryUndoRedoWarn: 'The Undo/Redo functions are disabled for the Fast co-editing mode.',
             txtNone: 'None'
+            txtNoTableOfFigures: "No table of figures entries found.",
+            txtTableOfFigures: 'Table of figures',
+            txtStyle_endnote_text: 'Endnote Text',
+            txtTOCHeading: 'TOC Heading'
         }
     })(), DE.Controllers.Main || {}))
 });
\ No newline at end of file
diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js
index f55c19cdd..58dcd0367 100644
--- a/apps/documenteditor/main/app/controller/Toolbar.js
+++ b/apps/documenteditor/main/app/controller/Toolbar.js
@@ -305,6 +305,9 @@ define([
             toolbar.mnuNumberChangeLevel && toolbar.mnuNumberChangeLevel.menu &&
             toolbar.mnuNumberChangeLevel.menu.on('show:after',          _.bind(this.onChangeLevelShowAfter, this, 1));
             toolbar.mnuNumberChangeLevel.menu.on('item:click',          _.bind(this.onChangeLevelClick, this, 1));
+            toolbar.mnuMultiChangeLevel && toolbar.mnuMultiChangeLevel.menu &&
+            toolbar.mnuMultiChangeLevel.menu.on('show:after',           _.bind(this.onChangeLevelShowAfter, this, 2));
+            toolbar.mnuMultiChangeLevel.menu.on('item:click',           _.bind(this.onChangeLevelClick, this, 2));
             toolbar.btnHighlightColor.on('click',                       _.bind(this.onBtnHighlightColor, this));
             toolbar.btnFontColor.on('click',                            _.bind(this.onBtnFontColor, this));
             toolbar.btnParagraphColor.on('click',                       _.bind(this.onBtnParagraphColor, this));
@@ -530,6 +533,7 @@ define([
                         this.toolbar.mnuMarkerSettings && this.toolbar.mnuMarkerSettings.setDisabled(this._state.bullets.subtype<0);
                         this.toolbar.mnuMarkerChangeLevel && this.toolbar.mnuMarkerChangeLevel.setDisabled(this._state.bullets.subtype<0);
                         this.toolbar.mnuMultilevelSettings && this.toolbar.mnuMultilevelSettings.setDisabled(this._state.bullets.subtype<0);
+                        this.toolbar.mnuMultiChangeLevel && this.toolbar.mnuMultiChangeLevel.setDisabled(this._state.bullets.subtype<0);
                         break;
                     case 1:
                         var idx;
@@ -565,6 +569,7 @@ define([
                         this.toolbar.mnuNumberSettings && this.toolbar.mnuNumberSettings.setDisabled(idx==0);
                         this.toolbar.mnuNumberChangeLevel && this.toolbar.mnuNumberChangeLevel.setDisabled(idx==0);
                         this.toolbar.mnuMultilevelSettings && this.toolbar.mnuMultilevelSettings.setDisabled(idx==0);
+                        this.toolbar.mnuMultiChangeLevel && this.toolbar.mnuMultiChangeLevel.setDisabled(idx==0);
                         break;
                     case 2:
                         this.toolbar.btnMultilevels.toggle(true, true);
@@ -1059,7 +1064,7 @@ define([
 
         onPrint: function(e) {
             if (this.api)
-                this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
 
             Common.NotificationCenter.trigger('edit:complete', this.toolbar);
 
@@ -1426,6 +1431,9 @@ define([
             var listId = me.api.asc_GetCurrentNumberingId(),
                 level = me.api.asc_GetCurrentNumberingLvl(),
                 props = (listId !== null) ? me.api.asc_GetNumberingPr(listId) : null;
+            var item = _.find(menu.items, function(item) { return item.options.level == level; });
+            menu.clearAll();
+            item && item.setChecked(true);
             if (props) {
                 this.api.SetDrawImagePreviewBulletChangeListLevel(menu.options.previewIds, props);
             }
@@ -2411,6 +2419,7 @@ define([
             this.toolbar.mnuMultilevelSettings && this.toolbar.mnuMultilevelSettings.setDisabled(true);
             this.toolbar.mnuMarkerChangeLevel && this.toolbar.mnuMarkerChangeLevel.setDisabled(true);
             this.toolbar.mnuNumberChangeLevel && this.toolbar.mnuNumberChangeLevel.setDisabled(true);
+            this.toolbar.mnuMultiChangeLevel && this.toolbar.mnuMultiChangeLevel.setDisabled(true);
         },
 
         _getApiTextSize: function () {
diff --git a/apps/documenteditor/main/app/template/Toolbar.template b/apps/documenteditor/main/app/template/Toolbar.template
index 1c6b32745..f58295e4f 100644
--- a/apps/documenteditor/main/app/template/Toolbar.template
+++ b/apps/documenteditor/main/app/template/Toolbar.template
@@ -6,7 +6,7 @@
     </div>
     <section class="box-controls">
         <section class="panel static">
-            <div class="group no-mask">
+            <div class="group no-mask small">
                 <div class="elset">
                     <span class="btn-slot" id="slot-btn-print"></span>
                 </div>
@@ -15,7 +15,7 @@
                 </div>
             </div>
             <div class="separator long"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-copy"></span>
                     <span class="btn-slot" id="slot-btn-paste"></span>
@@ -29,7 +29,7 @@
         </section>
         <section class="box-panels">
             <section class="panel" data-tab="home">
-                <div class="group">
+                <div class="group small">
                     <div class="elset" style="width:208px;">
                         <span class="btn-slot" id="slot-field-fontname"></span>
                         <span class="btn-slot" id="slot-field-fontsize"></span>
@@ -49,7 +49,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-markers"></span>
                         <span class="btn-slot split" id="slot-btn-numbering"></span>
@@ -68,7 +68,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-clearstyle"></span>
                         <span class="btn-slot split" id="slot-btn-colorschemas"></span>
@@ -78,7 +78,7 @@
                         <span class="btn-slot" id="slot-btn-mailrecepients"></span>
                     </div>
                 </div>
-                <div class="group" id="slot-field-styles"></div>
+                <div class="group small" id="slot-field-styles"></div>
             </section>
             <section class="panel" data-tab="ins">
                 <div class="group">
@@ -165,7 +165,7 @@
                     <span class="btn-slot text x-huge" id="slot-btn-caption"></span>
                     <span class="btn-slot text x-huge" id="slot-btn-crossref"></span>
                 </div>
-                <div class="group sheet-views" style="padding-left: 5px;">
+                <div class="group sheet-views small">
                     <div class="elset">
                         <span class="btn-slot text" id="slot-btn-tof"></span>
                     </div>
diff --git a/apps/documenteditor/main/app/view/BookmarksDialog.js b/apps/documenteditor/main/app/view/BookmarksDialog.js
index 3db375679..8bea73e6d 100644
--- a/apps/documenteditor/main/app/view/BookmarksDialog.js
+++ b/apps/documenteditor/main/app/view/BookmarksDialog.js
@@ -174,7 +174,7 @@ define([
                 el: $('#bookmarks-list', this.$window),
                 store: new Common.UI.DataViewStore(),
                 tabindex: 1,
-                itemTemplate: _.template('<div id="<%= id %>" class="list-item" style="pointer-events:none;overflow: hidden; text-overflow: ellipsis;"><%= value %></div>')
+                itemTemplate: _.template('<div id="<%= id %>" class="list-item" style="pointer-events:none;overflow: hidden; text-overflow: ellipsis;"><%= Common.Utils.String.htmlEncode(value) %></div>')
             });
             this.bookmarksList.store.comparator = function(rec) {
                 return (me.radioName.getValue() ? rec.get("value") : rec.get("location"));
diff --git a/apps/documenteditor/main/app/view/ControlSettingsDialog.js b/apps/documenteditor/main/app/view/ControlSettingsDialog.js
index 0e9babb1f..537918e74 100644
--- a/apps/documenteditor/main/app/view/ControlSettingsDialog.js
+++ b/apps/documenteditor/main/app/view/ControlSettingsDialog.js
@@ -168,8 +168,8 @@ define([ 'text!documenteditor/main/app/template/ControlSettingsDialog.template',
                 template: _.template(['<div class="listview inner" style=""></div>'].join('')),
                 itemTemplate: _.template([
                     '<div id="<%= id %>" class="list-item" style="width: 100%;display:inline-block;">',
-                    '<div style="width:90px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;margin-right: 5px;"><%= name %></div>',
-                    '<div style="width:90px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= value %></div>',
+                    '<div style="width:90px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;margin-right: 5px;"><%= Common.Utils.String.htmlEncode(name) %></div>',
+                    '<div style="width:90px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= Common.Utils.String.htmlEncode(value) %></div>',
                     '</div>'
                 ].join('')),
                 tabindex: 1
diff --git a/apps/documenteditor/main/app/view/CrossReferenceDialog.js b/apps/documenteditor/main/app/view/CrossReferenceDialog.js
index f2a436813..e5934cf3b 100644
--- a/apps/documenteditor/main/app/view/CrossReferenceDialog.js
+++ b/apps/documenteditor/main/app/view/CrossReferenceDialog.js
@@ -183,7 +183,7 @@ define([
             this.refList = new Common.UI.ListView({
                 el: $window.find('#id-dlg-cross-list'),
                 store: new Common.UI.DataViewStore(),
-                itemTemplate: _.template('<div id="<%= id %>" class="list-item" style="pointer-events:none;overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= value %></div>')
+                itemTemplate: _.template('<div id="<%= id %>" class="list-item" style="pointer-events:none;overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= Common.Utils.String.htmlEncode(value) %></div>')
             });
             this.refList.on('entervalue', _.bind(this.onPrimary, this))
                         .on('item:dblclick', _.bind(this.onPrimary, this));
diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js
index c036c4063..97ad0f1bd 100644
--- a/apps/documenteditor/main/app/view/DocumentHolder.js
+++ b/apps/documenteditor/main/app/view/DocumentHolder.js
@@ -1857,7 +1857,7 @@ define([
             if (this.api){
                 var printopt = new Asc.asc_CAdjustPrint();
                 printopt.asc_setPrintType(Asc.c_oAscPrintType.Selection);
-                var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
                 opts.asc_setAdvancedOptions(printopt);
                 this.api.asc_Print(opts);
                 this.fireEvent('editcomplete', this);
@@ -4319,7 +4319,12 @@ define([
                 for (var i=0; i<count; i++) {
                     (specProps.get_ItemValue(i)!=='' || !isForm) && menu.addItem(new Common.UI.MenuItem({
                         caption     : specProps.get_ItemDisplayText(i),
-                        value       : specProps.get_ItemValue(i)
+                        value       : specProps.get_ItemValue(i),
+                        template    : _.template([
+                            '<a id="<%= id %>" style="<%= style %>" tabindex="-1" type="menuitem">',
+                            '<%= Common.Utils.String.htmlEncode(caption) %>',
+                            '</a>'
+                        ].join(''))
                     }));
                 }
                 if (!isForm && menu.items.length<1) {
diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js
index 62dd996f8..953950816 100644
--- a/apps/documenteditor/main/app/view/FileMenuPanels.js
+++ b/apps/documenteditor/main/app/view/FileMenuPanels.js
@@ -464,10 +464,6 @@ define([
                 style       : 'width: 160px;',
                 editable    : false,
                 cls         : 'input-group-nr',
-                data        : [
-                    { value: Common.UI.Themes.THEME_LIGHT_ID, displayValue: this.txtThemeLight },
-                    { value: Common.UI.Themes.THEME_DARK_ID, displayValue: this.txtThemeDark }
-                ]
             });
 
             $markup.find('.btn.primary').each(function(index, el){
@@ -604,8 +600,16 @@ define([
 
             this.chPaste.setValue(Common.Utils.InternalSettings.get("de-settings-paste-button"));
 
-            item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.current()});
-            this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.THEME_LIGHT_ID);
+            var data = [];
+            for (var t in Common.UI.Themes.map()) {
+                data.push({value: t, displayValue: Common.UI.Themes.get(t).text});
+            }
+
+            if ( data.length ) {
+                this.cmbTheme.setData(data);
+                item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()});
+                this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId());
+            }
         },
 
         applySettings: function() {
@@ -734,8 +738,6 @@ define([
         strPasteButton: 'Show Paste Options button when content is pasted',
         txtProofing: 'Proofing',
         strTheme: 'Theme',
-        txtThemeLight: 'Light',
-        txtThemeDark: 'Dark',
         txtAutoCorrect: 'AutoCorrect options...'
     }, DE.Views.FileMenuPanels.Settings || {}));
 
diff --git a/apps/documenteditor/main/app/view/FormSettings.js b/apps/documenteditor/main/app/view/FormSettings.js
index 57d504f9b..443f84bf2 100644
--- a/apps/documenteditor/main/app/view/FormSettings.js
+++ b/apps/documenteditor/main/app/view/FormSettings.js
@@ -224,7 +224,7 @@ define([
                 itemTemplate: _.template([
                     '<div id="<%= id %>" class="list-item" style="width: 100%;display:inline-block;">',
                     // '<div style="width:65px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;margin-right: 5px;"><%= name %></div>',
-                    '<div style="width:145px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= name %></div>',
+                    '<div style="width:145px;display: inline-block;vertical-align: middle; overflow: hidden; text-overflow: ellipsis;white-space: pre;"><%= Common.Utils.String.htmlEncode(name) %></div>',
                     '</div>'
                 ].join(''))
             });
@@ -389,7 +389,6 @@ define([
                 formTextPr.put_MaxCharacters(checked ? (field.getNumberValue() || 10) : checked);
                 props.put_TextFormPr(formTextPr);
                 this.api.asc_SetContentControlProperties(props, this.internalId);
-                this.fireEvent('editcomplete', this);
             }
         },
 
@@ -408,7 +407,7 @@ define([
                     formTextPr.put_MaxCharacters(this.spnMaxChars.getNumberValue() || 10);
                     if (this.spnWidth.getValue()) {
                         var value = this.spnWidth.getNumberValue();
-                        formTextPr.put_Width(value<=0 ? 0 : parseInt(Common.Utils.Metric.fnRecalcToMM(value) * 72 * 20 / 25.4 + 0.1));
+                        formTextPr.put_Width(value<=0 ? 0 : parseInt(Common.Utils.Metric.fnRecalcToMM(value) * 72 * 20 / 25.4 + 0.5));
                     } else
                         formTextPr.put_Width(0);
                 }
@@ -424,13 +423,12 @@ define([
                 var formTextPr = this._originalTextFormProps || new AscCommon.CSdtTextFormPr();
                 if (this.spnWidth.getValue()) {
                     var value = this.spnWidth.getNumberValue();
-                    formTextPr.put_Width(value<=0 ? 0 : parseInt(Common.Utils.Metric.fnRecalcToMM(value) * 72 * 20 / 25.4 + 0.1));
+                    formTextPr.put_Width(value<=0 ? 0 : parseInt(Common.Utils.Metric.fnRecalcToMM(value) * 72 * 20 / 25.4 + 0.5));
                 } else
                     formTextPr.put_Width(0);
 
                 props.put_TextFormPr(formTextPr);
                 this.api.asc_SetContentControlProperties(props, this.internalId);
-                this.fireEvent('editcomplete', this);
             }
         },
 
@@ -727,7 +725,7 @@ define([
 
                     val = this.api.asc_GetTextFormAutoWidth();
                     if ( (this._state.WidthPlaceholder!==val) || Math.abs(this._state.WidthPlaceholder-val)>0.01) {
-                        this.spnWidth.setDefaultValue(val!==undefined && val!==null ? Common.Utils.Metric.fnRecalcFromMM(val) : this.spnWidth.options.minValue);
+                        this.spnWidth.setDefaultValue(val!==undefined && val!==null ? Common.Utils.Metric.fnRecalcFromMM((val+1) * 25.4 / 20 / 72.0) : this.spnWidth.options.minValue);
                         this._state.WidthPlaceholder=val;
                     }
 
diff --git a/apps/documenteditor/main/app/view/FormsTab.js b/apps/documenteditor/main/app/view/FormsTab.js
index f5ef8f2a2..fa93c0802 100644
--- a/apps/documenteditor/main/app/view/FormsTab.js
+++ b/apps/documenteditor/main/app/view/FormsTab.js
@@ -58,7 +58,7 @@ define([
                 '<span class="btn-slot text x-huge" id="slot-btn-form-image"></span>' +
             '</div>' +
             '<div class="separator long forms" style="display: none;"></div>' +
-            '<div class="group no-group-mask form-view" style="display: none;">' +
+            '<div class="group no-group-mask form-view small" style="display: none;">' +
                 '<div class="elset">' +
                     '<span class="btn-slot text" id="slot-form-clear-fields"></span>' +
                 '</div>' +
diff --git a/apps/documenteditor/main/app/view/ListSettingsDialog.js b/apps/documenteditor/main/app/view/ListSettingsDialog.js
index 8ffe8dcb8..0f1777653 100644
--- a/apps/documenteditor/main/app/view/ListSettingsDialog.js
+++ b/apps/documenteditor/main/app/view/ListSettingsDialog.js
@@ -131,7 +131,7 @@ define([
                             '</td>',
                             '<td>',
                                 '<label>' + this.textPreview + '</label>',
-                                '<div id="bulleted-list-preview" style="margin-top: 2px; height:208px; width: 100%; border: 1px solid #cfcfcf;"></div>',
+                                '<div id="bulleted-list-preview"></div>',
                             '</td>',
                         '</tr>',
                     '</table>',
@@ -195,7 +195,7 @@ define([
                 '<div class="input-group combobox input-group-nr <%= cls %>" id="<%= id %>" style="<%= style %>">',
                 '<div class="form-control" style="padding-top:3px; line-height: 14px; cursor: pointer; <%= style %>"></div>',
                 '<div style="display: table-cell;"></div>',
-                '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret img-commonctrl"></span></button>',
+                '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>',
                     '<ul class="dropdown-menu <%= menuCls %>" style="<%= menuStyle %>" role="menu">'].concat(itemsTemplate).concat([
                     '</ul>',
                 '</div>'
diff --git a/apps/documenteditor/main/app/view/PageMarginsDialog.js b/apps/documenteditor/main/app/view/PageMarginsDialog.js
index 9cacd6a63..cdb98130c 100644
--- a/apps/documenteditor/main/app/view/PageMarginsDialog.js
+++ b/apps/documenteditor/main/app/view/PageMarginsDialog.js
@@ -305,6 +305,8 @@ define([
             this.window = this.getChild();
             this.window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this));
 
+            this.on('animate:after', _.bind(this.onAnimateAfter, this));
+
             this.updateMetricUnit();
         },
 
@@ -316,6 +318,12 @@ define([
             return this.spnTop;
         },
 
+        onAnimateAfter: function() {
+            if (this.api && this.properties) {
+                this.api.SetDrawImagePreviewMargins('page-margins-preview', this.properties);
+            }
+        },
+
         _handleInput: function(state) {
             if (this.options.handler) {
                 if (state == 'ok') {
@@ -374,10 +382,6 @@ define([
                     this.cmbGutterPosition.setValue(0);
                 }
                 this.cmbGutterPosition.setDisabled(mirrorMargins);
-
-                if (this.api) {
-                    this.api.SetDrawImagePreviewMargins('page-margins-preview', this.properties);
-                }
             }
         },
 
diff --git a/apps/documenteditor/main/app/view/ParagraphSettings.js b/apps/documenteditor/main/app/view/ParagraphSettings.js
index dcb530521..56dbef023 100644
--- a/apps/documenteditor/main/app/view/ParagraphSettings.js
+++ b/apps/documenteditor/main/app/view/ParagraphSettings.js
@@ -247,7 +247,9 @@ define([
             this.numIndentsRight.on('change', this.onNumIndentsRightChange.bind(this));
             this.numSpecialBy.on('change', this.onFirstLineChange.bind(this));
             this.cmbSpecial.on('selected', _.bind(this.onSpecialSelect, this));
-
+            this.numIndentsLeft.on('inputleave', function(){ me.fireEvent('editcomplete', me);});
+            this.numIndentsRight.on('inputleave', function(){ me.fireEvent('editcomplete', me);});
+            this.numSpecialBy.on('inputleave', function(){ me.fireEvent('editcomplete', me);});
 
             this.linkAdvanced = $markup.findById('#paragraph-advanced-link');
             this.linkAdvanced.toggleClass('disabled', this._locked);
@@ -363,6 +365,13 @@ define([
             var props = new Asc.asc_CParagraphProperty();
             props.put_Ind(new Asc.asc_CParagraphInd());
             props.get_Ind().put_FirstLine(specialBy);
+            if (specialBy<0 || this._state.FirstLine<0) {
+                var left = this._state.LeftIndent;
+                if (left !== undefined && left !== null) {
+                    props.get_Ind().put_Left(specialBy<0 ? left-specialBy : left);
+                }
+            }
+
             if (this.api)
                 this.api.paraApply(props);
             this.fireEvent('editcomplete', this);
@@ -377,22 +386,27 @@ define([
             var props = new Asc.asc_CParagraphProperty();
             props.put_Ind(new Asc.asc_CParagraphInd());
             props.get_Ind().put_FirstLine(specialBy);
+            if (specialBy<0 || this._state.FirstLine<0) {
+                var left = this._state.LeftIndent;
+                if (left !== undefined && left !== null) {
+                    props.get_Ind().put_Left(specialBy<0 ? left-specialBy : left);
+                }
+            }
+
             if (this.api)
                 this.api.paraApply(props);
-            this.fireEvent('editcomplete', this);
         },
 
         onNumIndentsLeftChange: function(field, newValue, oldValue, eOpts){
-            var left = field.getNumberValue();
+            var left = Common.Utils.Metric.fnRecalcToMM(field.getNumberValue());
             if (this._state.FirstLine<0) {
                 left = left-this._state.FirstLine;
             }
             var props = new Asc.asc_CParagraphProperty();
             props.put_Ind(new Asc.asc_CParagraphInd());
-            props.get_Ind().put_Left(Common.Utils.Metric.fnRecalcToMM(left));
+            props.get_Ind().put_Left(left);
             if (this.api)
                 this.api.paraApply(props);
-            this.fireEvent('editcomplete', this);
         },
 
         onNumIndentsRightChange: function(field, newValue, oldValue, eOpts){
@@ -401,7 +415,6 @@ define([
             props.get_Ind().put_Right(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
             if (this.api)
                 this.api.paraApply(props);
-            this.fireEvent('editcomplete', this);
         },
 
         ChangeSettings: function(prop) {
@@ -539,7 +552,10 @@ define([
                 for (var i=0; i<this.spinners.length; i++) {
                     var spinner = this.spinners[i];
                     spinner.setDefaultUnit(Common.Utils.Metric.getCurrentMetricName());
-                    spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.01);
+                    if (spinner.el.id == 'paragraphadv-spin-position' || spinner.el.id == 'paragraph-spin-spacing-before' || spinner.el.id == 'paragraph-spin-spacing-after')
+                        spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.01);
+                    else
+                        spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1);
                 }
             }
             this._arrLineRule[2].defaultUnit =  this._arrLineRule[0].defaultUnit = Common.Utils.Metric.getCurrentMetricName();
diff --git a/apps/documenteditor/main/app/view/ParagraphSettingsAdvanced.js b/apps/documenteditor/main/app/view/ParagraphSettingsAdvanced.js
index 03d8ceca4..0ec4e69c2 100644
--- a/apps/documenteditor/main/app/view/ParagraphSettingsAdvanced.js
+++ b/apps/documenteditor/main/app/view/ParagraphSettingsAdvanced.js
@@ -688,7 +688,7 @@ define([    'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
             ];
         },
 
-        onCategoryClick: function(btn, index) {
+        onCategoryClick: function(btn, index, cmp, e) {
             Common.Views.AdvancedSettingsWindow.prototype.onCategoryClick.call(this, btn, index);
 
             var me = this;
@@ -702,6 +702,8 @@ define([    'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
                         break;
                     case 3:
                         me.chStrike.focus();
+                        if (e && (e instanceof jQuery.Event))
+                            me.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', me._originalProps || new Asc.asc_CParagraphProperty());
                         break;
                     case 4:
                         me.numDefaultTab.focus();
@@ -713,6 +715,10 @@ define([    'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
             }, 10);
         },
 
+        onAnimateAfter: function() {
+            (this.getActiveCategory()==3) && this.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps || new Asc.asc_CParagraphProperty());
+        },
+
         getSettings: function() {
             if ( this.ChangedBorders === null ) {
                 this._changedProps.put_Borders(this.Borders);
@@ -896,8 +902,6 @@ define([    'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
                 this.numSpacing.setValue((props.get_TextSpacing() !== null && props.get_TextSpacing() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(props.get_TextSpacing()) : '', true);
                 this.numPosition.setValue((props.get_Position() !== null && props.get_Position() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(props.get_Position()) : '', true);
 
-                this.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps);
-
                 // Tabs
                 this.numDefaultTab.setValue((props.get_DefaultTab() !== null && props.get_DefaultTab() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(parseFloat(props.get_DefaultTab().toFixed(1))) : '', true);
 
diff --git a/apps/documenteditor/main/app/view/ShapeSettings.js b/apps/documenteditor/main/app/view/ShapeSettings.js
index bce04d508..1f0788b83 100644
--- a/apps/documenteditor/main/app/view/ShapeSettings.js
+++ b/apps/documenteditor/main/app/view/ShapeSettings.js
@@ -607,14 +607,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                me.fireEvent('editcomplete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    me.fireEvent('editcomplete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
diff --git a/apps/documenteditor/main/app/view/TableSettings.js b/apps/documenteditor/main/app/view/TableSettings.js
index 51ed6ddce..559a27e54 100644
--- a/apps/documenteditor/main/app/view/TableSettings.js
+++ b/apps/documenteditor/main/app/view/TableSettings.js
@@ -486,7 +486,7 @@ define([
                     this.mnuTableTemplatePicker.selectRecord(rec, true);
                     this.btnTableTemplate.resumeEvents();
 
-                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '52px', 'width': '72px', 'background-position': 'center', 'background-size': 'cover'});
+                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '52px', 'width': '72px', 'background-position': 'center', 'background-size': 'auto 50px'});
 
                     this._state.TemplateId = value;
                 }
diff --git a/apps/documenteditor/main/app/view/TextArtSettings.js b/apps/documenteditor/main/app/view/TextArtSettings.js
index 868ebc5a9..a375b7b6d 100644
--- a/apps/documenteditor/main/app/view/TextArtSettings.js
+++ b/apps/documenteditor/main/app/view/TextArtSettings.js
@@ -89,7 +89,8 @@ define([
                 GradColor: '000000',
                 GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR,
                 FormId: null,
-                DisabledControls: false
+                DisabledControls: false,
+                applicationPixelRatio: Common.Utils.applicationPixelRatio()
             };
             this.lockedControls = [];
             this._locked = false;
@@ -121,6 +122,8 @@ define([
             this.FillColorContainer = $('#textart-panel-color-fill');
             this.FillGradientContainer = $('#textart-panel-gradient-fill');
             this.TransparencyContainer = $('#textart-panel-transparent-fill');
+
+            $(window).on('resize', _.bind(this.onWindowResize, this));
         },
 
         setApi: function(api) {
@@ -474,14 +477,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                me.fireEvent('editcomplete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    me.fireEvent('editcomplete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
@@ -1126,22 +1131,17 @@ define([
         },
 
         fillTransform: function(transforms) {
-            if (transforms && transforms.length>1 && transforms[1]){
-                var me = this,
-                    artStore = [],
-                    arrTransforms = transforms[1];
-                for (var i=0; i<arrTransforms.length; i++) {
-                    var arr = arrTransforms[i];
-                    if (arr && arr.length>0)
-                        _.each(arr, function(item){
-                            artStore.push({
-                                imageUrl: item.Image,
-                                type    : item.Type,
-                                selected: false
-                            });
-                        });
+            if (transforms){
+                var artStore = [];
+                for (var i=0; i<transforms.length; i++) {
+                    var item = transforms[i];
+                    artStore.push({
+                        imageUrl: item.Image,
+                        type    : item.Type,
+                        selected: false
+                    });
                 }
-                this.cmbTransform.menuPicker.store.add(artStore);
+                this.cmbTransform.menuPicker.store.reset(artStore);
                 if (this.cmbTransform.menuPicker.store.length > 0) {
                     this.cmbTransform.fillComboView(this.cmbTransform.menuPicker.store.at(0),true);
                 }
@@ -1294,6 +1294,13 @@ define([
             }
         },
 
+        onWindowResize: function() {
+            if (!this._initSettings && this._state.applicationPixelRatio !== Common.Utils.applicationPixelRatio())
+                this.fillTransform(this.api.asc_getPropertyEditorTextArts());
+
+            this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio();
+        },
+
         txtNoBorders            : 'No Line',
         strStroke               : 'Stroke',
         strColor                : 'Color',
diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js
index c78469654..76b0d9fe5 100644
--- a/apps/documenteditor/main/app/view/Toolbar.js
+++ b/apps/documenteditor/main/app/view/Toolbar.js
@@ -1700,7 +1700,7 @@ define([
                 var items = [], ids = [];
                 for (var i=0; i<9; i++) {
                     ids.push('id-toolbar-menu-markers-level-' + i);
-                    items.push({template: levelTemplate, previewId: ids[i], level: i });
+                    items.push({template: levelTemplate, previewId: ids[i], level: i, checkable: true });
                 }
                 this.btnMarkers.setMenu(
                     new Common.UI.Menu({
@@ -1708,6 +1708,7 @@ define([
                         style: 'min-width: 139px',
                         items: [
                             {template: _.template('<div id="id-toolbar-menu-markers" class="menu-markers" style="width: 139px; margin: 0 9px;"></div>')},
+                            {caption: '--'},
                             this.mnuMarkerChangeLevel = new Common.UI.MenuItem({
                                 caption: this.textChangeLevel,
                                 style: 'padding-right:20px;',
@@ -1728,16 +1729,17 @@ define([
                     })
                 );
 
-                items = [], ids = [];
+                items = []; ids = [];
                 for (var i=0; i<9; i++) {
                     ids.push('id-toolbar-menu-numbering-level-' + i);
-                    items.push({template: levelTemplate, previewId: ids[i], level: i });
+                    items.push({template: levelTemplate, previewId: ids[i], level: i, checkable: true });
                 }
                 this.btnNumbers.setMenu(
                     new Common.UI.Menu({
                         cls: 'shifted-left',
                         items: [
                             {template: _.template('<div id="id-toolbar-menu-numbering" class="menu-markers" style="width: 353px; margin: 0 9px;"></div>')},
+                            {caption: '--'},
                             this.mnuNumberChangeLevel = new Common.UI.MenuItem({
                                 caption: this.textChangeLevel,
                                 style: 'padding-right:20px;',
@@ -1757,13 +1759,29 @@ define([
                         ]
                     })
                 );
-
+                items = []; ids = [];
+                for (var i=0; i<9; i++) {
+                    ids.push('id-toolbar-menu-multilevels-level-' + i);
+                    items.push({template: levelTemplate, previewId: ids[i], level: i, checkable: true });
+                }
                 this.btnMultilevels.setMenu(
                     new Common.UI.Menu({
                         cls: 'shifted-left',
                         style: 'min-width: 177px',
                         items: [
-                            {template: _.template('<div id="id-toolbar-menu-multilevels" class="menu-markers" style="width: 177px; margin: 0 9px;"></div>')},
+                            {template: _.template('<div id="id-toolbar-menu-multilevels" class="menu-markers" style="width: 185px; margin: 0 9px;"></div>')},
+                            {caption: '--'},
+                            this.mnuMultiChangeLevel = new Common.UI.MenuItem({
+                                caption: this.textChangeLevel,
+                                style: 'padding-right:20px;',
+                                disabled: (this.mnuMultilevelPicker.conf.index || 0)==0,
+                                menu: new Common.UI.Menu({
+                                    cls: 'list-settings-level',
+                                    menuAlign: 'tl-tr',
+                                    items: items,
+                                    previewIds: ids
+                                })
+                            }),
                             this.mnuMultilevelSettings = new Common.UI.MenuItem({
                                 caption: this.textListSettings,
                                 disabled: (this.mnuMultilevelPicker.conf.index || 0)==0,
diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html
index 25689a90d..4b44c621a 100644
--- a/apps/documenteditor/main/index.html
+++ b/apps/documenteditor/main/index.html
@@ -14,12 +14,16 @@
             --toolbar-header-document: #2a2a2a;
             --background-toolbar: #404040;
             --border-toolbar: #2a2a2a;
-            --highlight-button-pressed: #606060;
+            --highlight-button-hover: #e0e0e0;
             --canvas-background: #666666;
             /*--canvas-content-background: #fff;*/
             --canvas-page-border: #555;
         }
 
+        .theme-classic-light {
+            --highlight-button-hover: #d8dadc;
+        }
+
         .loadmask {
             left: 0;
             top: 0;
@@ -91,7 +95,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/documenteditor/main/index.html.deploy b/apps/documenteditor/main/index.html.deploy
index c69e97577..70a90f658 100644
--- a/apps/documenteditor/main/index.html.deploy
+++ b/apps/documenteditor/main/index.html.deploy
@@ -82,7 +82,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/documenteditor/main/locale/da.json b/apps/documenteditor/main/locale/da.json
index b260f12ba..968652305 100644
--- a/apps/documenteditor/main/locale/da.json
+++ b/apps/documenteditor/main/locale/da.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Avancerede indstillinger",
   "Common.Views.Header.textBack": "Gå til dokumentplacering",
   "Common.Views.Header.textCompactView": "Skjul værktøjslinie",
-  "Common.Views.Header.textDarkTheme": "Mørkt tema",
   "Common.Views.Header.textHideLines": "Skjul lineal",
   "Common.Views.Header.textHideStatusBar": "Skjul statuslinie",
   "Common.Views.Header.textRemoveFavorite": "Fjern fra Favoritter",
@@ -1716,8 +1715,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Stavekontrol",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Deaktiver Alle",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Deaktivér alle makroer uden besked",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Mørk",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Lys",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Vis besked",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Deaktiver alle makroer med en besked",
   "DE.Views.FileMenuPanels.Settings.txtWin": "som Windows",
@@ -2605,7 +2602,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Tilpas til højre",
   "DE.Views.Toolbar.tipBack": "Tilbage",
   "DE.Views.Toolbar.tipBlankPage": "Indsæt tom side",
-  "DE.Views.Toolbar.tipChangeCase:": "Ændre store/små bogstaver",
+  "DE.Views.Toolbar.tipChangeCase": "Ændre store/små bogstaver",
   "DE.Views.Toolbar.tipChangeChart": "Skift diagramtype",
   "DE.Views.Toolbar.tipClearStyle": "Ryd formatering",
   "DE.Views.Toolbar.tipColorSchemas": "Skift farveskema",
diff --git a/apps/documenteditor/main/locale/de.json b/apps/documenteditor/main/locale/de.json
index 5cd18887a..2ac2f3932 100644
--- a/apps/documenteditor/main/locale/de.json
+++ b/apps/documenteditor/main/locale/de.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Erweiterte Einstellungen",
   "Common.Views.Header.textBack": "Dateispeicherort öffnen",
   "Common.Views.Header.textCompactView": "Symbolleiste ausblenden",
-  "Common.Views.Header.textDarkTheme": "Dunkelmodus",
   "Common.Views.Header.textHideLines": "Lineale verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusleiste verbergen",
   "Common.Views.Header.textRemoveFavorite": "Aus Favoriten entfernen",
@@ -613,6 +612,7 @@
   "DE.Controllers.Main.txtMissOperator": "Fehlender Operator",
   "DE.Controllers.Main.txtNeedSynchronize": "Änderungen wurden vorgenommen",
   "DE.Controllers.Main.txtNoTableOfContents": "Dieses Dokument enthält keine Überschriften. Wenden Sie ein Überschriftenformat auf den Text an, damit es im Inhaltsverzeichnis angezeigt wird.",
+  "DE.Controllers.Main.txtNoTableOfFigures": "Es konnten keine Einträge für ein Abbildungsverzeichnis gefunden werden.",
   "DE.Controllers.Main.txtNoText": "Fehler! Im Dokument gibt es keinen Text des angegebenen Stils.",
   "DE.Controllers.Main.txtNotInTable": "Nicht in Tabelle",
   "DE.Controllers.Main.txtNotValidBookmark": "Fehler! Ungültiger Lesezeichen-Link.",
@@ -795,6 +795,7 @@
   "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Abgerundete rechteckige Legende",
   "DE.Controllers.Main.txtStarsRibbons": "Sterne und Bänder",
   "DE.Controllers.Main.txtStyle_Caption": "Beschriftung",
+  "DE.Controllers.Main.txtStyle_endnote_text": "Endnotentext",
   "DE.Controllers.Main.txtStyle_footnote_text": "Fußnotentext",
   "DE.Controllers.Main.txtStyle_Heading_1": "Überschrift 1",
   "DE.Controllers.Main.txtStyle_Heading_2": "Überschrift 2",
@@ -815,6 +816,8 @@
   "DE.Controllers.Main.txtSyntaxError": "Syntaxfehler",
   "DE.Controllers.Main.txtTableInd": "Tabellenindex darf nicht Null sein",
   "DE.Controllers.Main.txtTableOfContents": "Inhaltsverzeichnis",
+  "DE.Controllers.Main.txtTableOfFigures": "Abbildungsverzeichnis",
+  "DE.Controllers.Main.txtTOCHeading": "Inhaltsverzeichnisüberschrift",
   "DE.Controllers.Main.txtTooLarge": "Nummer zu groß zum Formatieren",
   "DE.Controllers.Main.txtTypeEquation": "Hier die Gleichung eingeben.",
   "DE.Controllers.Main.txtUndefBookmark": "Undefiniertes Lesezeichen",
@@ -1716,8 +1719,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Rechtschreibprüfung",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Alle deaktivieren",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Alle Makros ohne Benachrichtigung deaktivieren",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Dunkel",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Hell",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Benachrichtigung anzeigen",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Alle Makros mit einer Benachrichtigung deaktivieren",
   "DE.Views.FileMenuPanels.Settings.txtWin": "wie Windows",
@@ -2605,7 +2606,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Rechtsbündig ausrichten",
   "DE.Views.Toolbar.tipBack": "Zurück",
   "DE.Views.Toolbar.tipBlankPage": "Leere Seite einlegen",
-  "DE.Views.Toolbar.tipChangeCase:": "Groß-/Kleinschreibung",
+  "DE.Views.Toolbar.tipChangeCase": "Groß-/Kleinschreibung",
   "DE.Views.Toolbar.tipChangeChart": "Diagrammtyp ändern",
   "DE.Views.Toolbar.tipClearStyle": "Formatierung löschen",
   "DE.Views.Toolbar.tipColorSchemas": "Farbschema ändern",
diff --git a/apps/documenteditor/main/locale/el.json b/apps/documenteditor/main/locale/el.json
index bb4843a50..9050ab43d 100644
--- a/apps/documenteditor/main/locale/el.json
+++ b/apps/documenteditor/main/locale/el.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Προηγμένες ρυθμίσεις",
   "Common.Views.Header.textBack": "Άνοιγμα τοποθεσίας αρχείου",
   "Common.Views.Header.textCompactView": "Απόκρυψη Γραμμής Εργαλείων",
-  "Common.Views.Header.textDarkTheme": "Σκούρο θέμα",
   "Common.Views.Header.textHideLines": "Απόκρυψη Χαράκων",
   "Common.Views.Header.textHideStatusBar": "Απόκρυψη Γραμμής Κατάστασης",
   "Common.Views.Header.textRemoveFavorite": "Αφαίρεση από τα Αγαπημένα",
@@ -1716,8 +1715,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Έλεγχος Ορθογραφίας",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Απενεργοποίηση Όλων",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Σκούρο",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Ανοιχτό",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Εμφάνιση Ειδοποίησης",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών με ειδοποίηση",
   "DE.Views.FileMenuPanels.Settings.txtWin": "ως Windows",
@@ -2605,7 +2602,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Στοίχιση δεξιά",
   "DE.Views.Toolbar.tipBack": "Πίσω",
   "DE.Views.Toolbar.tipBlankPage": "Εισαγωγή κενής σελίδας",
-  "DE.Views.Toolbar.tipChangeCase:": "Αλλαγή πεζών-κεφαλαίων",
+  "DE.Views.Toolbar.tipChangeCase": "Αλλαγή πεζών-κεφαλαίων",
   "DE.Views.Toolbar.tipChangeChart": "Αλλαγή τύπου γραφήματος",
   "DE.Views.Toolbar.tipClearStyle": "Εκκαθάριση τεχνοτροπίας",
   "DE.Views.Toolbar.tipColorSchemas": "Αλλαγή χρωματικού σχεδίου",
diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json
index d4a26b59d..d9b09ff73 100644
--- a/apps/documenteditor/main/locale/en.json
+++ b/apps/documenteditor/main/locale/en.json
@@ -182,6 +182,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "The document has been changed by another user.<br>Please click to save your changes and reload the updates.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Standard Colors",
   "Common.UI.ThemeColorPalette.textThemeColors": "Theme Colors",
+  "Common.UI.Themes.txtThemeClassicLight": "Classic Light",
+  "Common.UI.Themes.txtThemeDark": "Dark",
+  "Common.UI.Themes.txtThemeLight": "Light",
   "Common.UI.Window.cancelButtonText": "Cancel",
   "Common.UI.Window.closeButtonText": "Close",
   "Common.UI.Window.noButtonText": "No",
@@ -260,7 +263,6 @@
   "Common.Views.Header.textAdvSettings": "Advanced settings",
   "Common.Views.Header.textBack": "Open file location",
   "Common.Views.Header.textCompactView": "Hide Toolbar",
-  "Common.Views.Header.textDarkTheme": "Dark theme",
   "Common.Views.Header.textHideLines": "Hide Rulers",
   "Common.Views.Header.textHideStatusBar": "Hide Status Bar",
   "Common.Views.Header.textRemoveFavorite": "Remove from Favorites",
@@ -623,6 +625,7 @@
   "DE.Controllers.Main.txtNeedSynchronize": "You have updates",
   "DE.Controllers.Main.txtNone": "None",
   "DE.Controllers.Main.txtNoTableOfContents": "There are no headings in the document. Apply a heading style to the text so that it appears in the table of contents.",
+  "DE.Controllers.Main.txtNoTableOfFigures": "No table of figures entries found.",
   "DE.Controllers.Main.txtNoText": "Error! No text of specified style in document.",
   "DE.Controllers.Main.txtNotInTable": "Is Not In Table",
   "DE.Controllers.Main.txtNotValidBookmark": "Error! Not a valid bookmark self-reference.",
@@ -805,6 +808,7 @@
   "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Rounded Rectangular Callout",
   "DE.Controllers.Main.txtStarsRibbons": "Stars & Ribbons",
   "DE.Controllers.Main.txtStyle_Caption": "Caption",
+  "DE.Controllers.Main.txtStyle_endnote_text": "Endnote Text",
   "DE.Controllers.Main.txtStyle_footnote_text": "Footnote Text",
   "DE.Controllers.Main.txtStyle_Heading_1": "Heading 1",
   "DE.Controllers.Main.txtStyle_Heading_2": "Heading 2",
@@ -825,6 +829,8 @@
   "DE.Controllers.Main.txtSyntaxError": "Syntax Error",
   "DE.Controllers.Main.txtTableInd": "Table Index Cannot be Zero",
   "DE.Controllers.Main.txtTableOfContents": "Table of Contents",
+  "DE.Controllers.Main.txtTableOfFigures": "Table of figures",
+  "DE.Controllers.Main.txtTOCHeading": "TOC Heading",
   "DE.Controllers.Main.txtTooLarge": "Number Too Large To Format",
   "DE.Controllers.Main.txtTypeEquation": "Type an equation here.",
   "DE.Controllers.Main.txtUndefBookmark": "Undefined Bookmark",
@@ -1726,8 +1732,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spell Checking",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Disable All",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Disable all macros without a notification",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Dark",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Light",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Show Notification",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Disable all macros with a notification",
   "DE.Views.FileMenuPanels.Settings.txtWin": "as Windows",
@@ -2640,7 +2644,8 @@
   "DE.Views.Toolbar.tipAlignRight": "Align right",
   "DE.Views.Toolbar.tipBack": "Back",
   "DE.Views.Toolbar.tipBlankPage": "Insert blank page",
-  "DE.Views.Toolbar.tipChangeCase:": "Change case",
+  "del_DE.Views.Toolbar.tipChangeCase:": "Change case",
+  "DE.Views.Toolbar.tipChangeCase": "Change case",
   "DE.Views.Toolbar.tipChangeChart": "Change chart type",
   "DE.Views.Toolbar.tipClearStyle": "Clear style",
   "DE.Views.Toolbar.tipColorSchemas": "Change color scheme",
diff --git a/apps/documenteditor/main/locale/es.json b/apps/documenteditor/main/locale/es.json
index 99ed4400e..d5a88daa3 100644
--- a/apps/documenteditor/main/locale/es.json
+++ b/apps/documenteditor/main/locale/es.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Ajustes avanzados",
   "Common.Views.Header.textBack": "Abrir ubicación del archivo",
   "Common.Views.Header.textCompactView": "Esconder barra de herramientas",
-  "Common.Views.Header.textDarkTheme": "Tema oscuro",
   "Common.Views.Header.textHideLines": "Ocultar reglas",
   "Common.Views.Header.textHideStatusBar": "Ocultar barra de estado",
   "Common.Views.Header.textRemoveFavorite": "Eliminar de Favoritos",
@@ -613,6 +612,7 @@
   "DE.Controllers.Main.txtMissOperator": "Falta operador",
   "DE.Controllers.Main.txtNeedSynchronize": "Usted tiene actualizaciones",
   "DE.Controllers.Main.txtNoTableOfContents": "No hay títulos en el documento. Aplique un estilo de título al texto para que aparezca en la tabla de contenido.",
+  "DE.Controllers.Main.txtNoTableOfFigures": "No se han encontrado los elementos de tabla de ilustraciones.",
   "DE.Controllers.Main.txtNoText": "¡Error! No hay texto del estilo especificado en el documento.",
   "DE.Controllers.Main.txtNotInTable": "No está en la tabla",
   "DE.Controllers.Main.txtNotValidBookmark": "¡Error! No es una auto-referencia de marcador válida.",
@@ -795,6 +795,7 @@
   "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Llamada rectangular redondeada",
   "DE.Controllers.Main.txtStarsRibbons": "Cintas y estrellas",
   "DE.Controllers.Main.txtStyle_Caption": "Leyenda",
+  "DE.Controllers.Main.txtStyle_endnote_text": "Texto de nota al final",
   "DE.Controllers.Main.txtStyle_footnote_text": "Texto a pie de página",
   "DE.Controllers.Main.txtStyle_Heading_1": "Título 1",
   "DE.Controllers.Main.txtStyle_Heading_2": "Título 2",
@@ -815,6 +816,8 @@
   "DE.Controllers.Main.txtSyntaxError": "Error de sintaxis",
   "DE.Controllers.Main.txtTableInd": "El índice de la tabla no puede ser cero",
   "DE.Controllers.Main.txtTableOfContents": "Tabla de contenidos",
+  "DE.Controllers.Main.txtTableOfFigures": "Tabla de ilustraciones",
+  "DE.Controllers.Main.txtTOCHeading": "Título TDC",
   "DE.Controllers.Main.txtTooLarge": "El número es demasiado grande para darle formato",
   "DE.Controllers.Main.txtTypeEquation": "Escribir una ecuación aquí.",
   "DE.Controllers.Main.txtUndefBookmark": "Marcador no definido",
@@ -1716,8 +1719,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Сorrección ortográfica",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Deshabilitar todo",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Deshabilitar todas las macros sin notificación",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Oscuro",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Claro",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Mostrar notificación",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Deshabilitar todas las macros con notificación",
   "DE.Views.FileMenuPanels.Settings.txtWin": "como Windows",
@@ -2605,7 +2606,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Alinear a la derecha",
   "DE.Views.Toolbar.tipBack": "Atrás",
   "DE.Views.Toolbar.tipBlankPage": "Insertar página en blanco",
-  "DE.Views.Toolbar.tipChangeCase:": "Cambiar mayúsculas y minúsculas",
+  "DE.Views.Toolbar.tipChangeCase": "Cambiar mayúsculas y minúsculas",
   "DE.Views.Toolbar.tipChangeChart": "Cambiar tipo de gráfico",
   "DE.Views.Toolbar.tipClearStyle": "Borrar estilo",
   "DE.Views.Toolbar.tipColorSchemas": "Cambiar combinación de colores",
diff --git a/apps/documenteditor/main/locale/fr.json b/apps/documenteditor/main/locale/fr.json
index 7c94b7be9..b68477ac0 100644
--- a/apps/documenteditor/main/locale/fr.json
+++ b/apps/documenteditor/main/locale/fr.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Paramètres avancés",
   "Common.Views.Header.textBack": "Ouvrir l'emplacement du fichier",
   "Common.Views.Header.textCompactView": "Masquer la barre d'outils",
-  "Common.Views.Header.textDarkTheme": "Thème sombre",
   "Common.Views.Header.textHideLines": "Masquer les règles",
   "Common.Views.Header.textHideStatusBar": "Masquer la barre d'état",
   "Common.Views.Header.textRemoveFavorite": "Enlever des favoris",
@@ -613,6 +612,7 @@
   "DE.Controllers.Main.txtMissOperator": "Operateur Manquant",
   "DE.Controllers.Main.txtNeedSynchronize": "Vous avez des mises à jour",
   "DE.Controllers.Main.txtNoTableOfContents": "Aucune entrée de table des matières trouvée. L'application d'un style de titre sur une sélection de texte permettra l'affichage dans la table des matières. ",
+  "DE.Controllers.Main.txtNoTableOfFigures": "Aucune entrée de table d'illustration n'a été trouvée.",
   "DE.Controllers.Main.txtNoText": "Erreur ! Il n'y a pas de texte répondant à ce style dans ce document.",
   "DE.Controllers.Main.txtNotInTable": "n'est pas dans le tableau",
   "DE.Controllers.Main.txtNotValidBookmark": "Erreur ! Référence non valide pour un signet.",
@@ -795,6 +795,7 @@
   "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Rectangle à coins arrondis",
   "DE.Controllers.Main.txtStarsRibbons": "Étoiles et rubans",
   "DE.Controllers.Main.txtStyle_Caption": "Légende",
+  "DE.Controllers.Main.txtStyle_endnote_text": "Texte de note de fin",
   "DE.Controllers.Main.txtStyle_footnote_text": "Texte de la note de bas de page",
   "DE.Controllers.Main.txtStyle_Heading_1": "Titre 1",
   "DE.Controllers.Main.txtStyle_Heading_2": "Titre 2",
@@ -815,6 +816,8 @@
   "DE.Controllers.Main.txtSyntaxError": "Erreur de Syntaxe",
   "DE.Controllers.Main.txtTableInd": "Index d'un Tableau Ne Peut Pas Être Zero",
   "DE.Controllers.Main.txtTableOfContents": "Table des matières",
+  "DE.Controllers.Main.txtTableOfFigures": "Table des figures",
+  "DE.Controllers.Main.txtTOCHeading": "En-tête de table des matières",
   "DE.Controllers.Main.txtTooLarge": "Nom Trop Grand Pour Formater",
   "DE.Controllers.Main.txtTypeEquation": "Saisissez une équation ici.",
   "DE.Controllers.Main.txtUndefBookmark": "Signet indéterminé ",
@@ -1716,8 +1719,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Vérification de l'orthographe",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Désactiver tout",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Désactiver toutes les macros sans notification",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Sombre",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Clair",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Montrer  la notification",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Désactiver toutes les macros avec notification",
   "DE.Views.FileMenuPanels.Settings.txtWin": "comme Windows",
@@ -2605,7 +2606,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Aligner à droite",
   "DE.Views.Toolbar.tipBack": "Arrière",
   "DE.Views.Toolbar.tipBlankPage": "Insérer page vide",
-  "DE.Views.Toolbar.tipChangeCase:": "Changer de cas",
+  "DE.Views.Toolbar.tipChangeCase": "Changer de cas",
   "DE.Views.Toolbar.tipChangeChart": "Modifier le type de graphique",
   "DE.Views.Toolbar.tipClearStyle": "Effacer le style",
   "DE.Views.Toolbar.tipColorSchemas": "Modifier le jeu de couleurs",
diff --git a/apps/documenteditor/main/locale/hu.json b/apps/documenteditor/main/locale/hu.json
index 1341491d4..22f07e375 100644
--- a/apps/documenteditor/main/locale/hu.json
+++ b/apps/documenteditor/main/locale/hu.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Haladó beállítások",
   "Common.Views.Header.textBack": "Fájl helyének megnyitása",
   "Common.Views.Header.textCompactView": "Eszköztár elrejtése",
-  "Common.Views.Header.textDarkTheme": "Sötét téma",
   "Common.Views.Header.textHideLines": "Vonalzók elrejtése",
   "Common.Views.Header.textHideStatusBar": "Állapotsor elrejtése",
   "Common.Views.Header.textRemoveFavorite": "Eltávolítás a kedvencekből",
@@ -1714,8 +1713,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Helyesírás-ellenőrzés",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Összes letiltása",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Minden értesítés nélküli makró letiltása",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Sötét",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Világos",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Értesítés mutatása",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Minden értesítéssel rendelkező makró letiltása",
   "DE.Views.FileMenuPanels.Settings.txtWin": "Windows-ként",
@@ -2602,7 +2599,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Jobbra rendez",
   "DE.Views.Toolbar.tipBack": "Vissza",
   "DE.Views.Toolbar.tipBlankPage": "Üres oldal beillesztése",
-  "DE.Views.Toolbar.tipChangeCase:": "Kis- és nagybetűk megváltoztatása",
+  "DE.Views.Toolbar.tipChangeCase": "Kis- és nagybetűk megváltoztatása",
   "DE.Views.Toolbar.tipChangeChart": "Diagramtípus módosítása",
   "DE.Views.Toolbar.tipClearStyle": "Stílus törlése",
   "DE.Views.Toolbar.tipColorSchemas": "Színséma módosítása",
diff --git a/apps/documenteditor/main/locale/ja.json b/apps/documenteditor/main/locale/ja.json
index b2a374258..5a4b0fa03 100644
--- a/apps/documenteditor/main/locale/ja.json
+++ b/apps/documenteditor/main/locale/ja.json
@@ -252,7 +252,6 @@
   "Common.Views.Header.textAdvSettings": "詳細設定",
   "Common.Views.Header.textBack": "ファイルのURLを開く",
   "Common.Views.Header.textCompactView": "ツールバーを隠す",
-  "Common.Views.Header.textDarkTheme": "ダークテーマ",
   "Common.Views.Header.textHideLines": "ルーラを隠す",
   "Common.Views.Header.textHideStatusBar": "ステータスバーを表示しない",
   "Common.Views.Header.textRemoveFavorite": "お気に入りから削除",
@@ -1699,8 +1698,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "スペル チェック",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "全てを無効にする",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "マクロを無効にして、通知しない",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "ダーク",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "ライト",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "通知を表示する",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "マクロを無効にして、通知する",
   "DE.Views.FileMenuPanels.Settings.txtWin": "Windowsのような",
diff --git a/apps/documenteditor/main/locale/nl.json b/apps/documenteditor/main/locale/nl.json
index 03e2b3e8e..a48440332 100644
--- a/apps/documenteditor/main/locale/nl.json
+++ b/apps/documenteditor/main/locale/nl.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Geavanceerde instellingen",
   "Common.Views.Header.textBack": "Open bestandslocatie",
   "Common.Views.Header.textCompactView": "Werkbalk Verbergen",
-  "Common.Views.Header.textDarkTheme": "Donker thema ",
   "Common.Views.Header.textHideLines": "Linialen verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusbalk verbergen",
   "Common.Views.Header.textRemoveFavorite": "Verwijder uit favorieten",
@@ -1714,8 +1713,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spellingcontrole",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Alles uitschakelen",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Schakel alle macro's uit zonder melding",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Donker",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "licht",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Weergeef notificatie",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Schakel alle macro's uit met een melding",
   "DE.Views.FileMenuPanels.Settings.txtWin": "als Windows",
@@ -2602,7 +2599,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Rechts uitlijnen",
   "DE.Views.Toolbar.tipBack": "Terug",
   "DE.Views.Toolbar.tipBlankPage": "Invoegen nieuwe pagina",
-  "DE.Views.Toolbar.tipChangeCase:": "Verander lettertype",
+  "DE.Views.Toolbar.tipChangeCase": "Verander lettertype",
   "DE.Views.Toolbar.tipChangeChart": "Grafiektype wijzigen",
   "DE.Views.Toolbar.tipClearStyle": "Stijl wissen",
   "DE.Views.Toolbar.tipColorSchemas": "Kleurenschema wijzigen",
diff --git a/apps/documenteditor/main/locale/pt.json b/apps/documenteditor/main/locale/pt.json
index b38d548bb..8a66e8df3 100644
--- a/apps/documenteditor/main/locale/pt.json
+++ b/apps/documenteditor/main/locale/pt.json
@@ -236,7 +236,6 @@
   "Common.Views.Header.textAdvSettings": "Configurações avançadas",
   "Common.Views.Header.textBack": "Local do arquivo aberto",
   "Common.Views.Header.textCompactView": "Ocultar Barra de Ferramentas",
-  "Common.Views.Header.textDarkTheme": "Tema Dark",
   "Common.Views.Header.textHideLines": "Ocultar Réguas",
   "Common.Views.Header.textHideStatusBar": "Ocultar Barra de Status",
   "Common.Views.Header.textZoom": "Zoom",
diff --git a/apps/documenteditor/main/locale/ro.json b/apps/documenteditor/main/locale/ro.json
index 742bbe620..a3c2fe6b4 100644
--- a/apps/documenteditor/main/locale/ro.json
+++ b/apps/documenteditor/main/locale/ro.json
@@ -260,7 +260,6 @@
   "Common.Views.Header.textAdvSettings": "Setări avansate",
   "Common.Views.Header.textBack": "Deschidere locația fișierului",
   "Common.Views.Header.textCompactView": "Ascundere bară de instrumente",
-  "Common.Views.Header.textDarkTheme": "Tema întunecată",
   "Common.Views.Header.textHideLines": "Ascundere rigle",
   "Common.Views.Header.textHideStatusBar": "Ascundere bară de stare",
   "Common.Views.Header.textRemoveFavorite": "Eliminare din Preferințe",
@@ -1714,8 +1713,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Verificarea ortografică",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Se dezactivează toate",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Se dezactivează toate macrocomenzile, fără notificare",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Întunecat",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Luminozitate",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Afișare notificări",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Se dezactivează toate macrocomenzile, cu notificare   ",
   "DE.Views.FileMenuPanels.Settings.txtWin": "ca Windows",
@@ -2602,7 +2599,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Aliniere la dreapta",
   "DE.Views.Toolbar.tipBack": "Înapoi",
   "DE.Views.Toolbar.tipBlankPage": "Inserare pagină necompletată",
-  "DE.Views.Toolbar.tipChangeCase:": "Modificarea scrierii cu majuscule sau minuscule",
+  "DE.Views.Toolbar.tipChangeCase": "Modificarea scrierii cu majuscule sau minuscule",
   "DE.Views.Toolbar.tipChangeChart": "Modificare tip diagramă",
   "DE.Views.Toolbar.tipClearStyle": "Golire stil",
   "DE.Views.Toolbar.tipColorSchemas": "Modificare schemă de culori",
diff --git a/apps/documenteditor/main/locale/ru.json b/apps/documenteditor/main/locale/ru.json
index e0a1300a1..cb2b213e9 100644
--- a/apps/documenteditor/main/locale/ru.json
+++ b/apps/documenteditor/main/locale/ru.json
@@ -182,6 +182,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "Документ изменен другим пользователем.<br>Нажмите, чтобы сохранить свои изменения и загрузить обновления.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Стандартные цвета",
   "Common.UI.ThemeColorPalette.textThemeColors": "Цвета темы",
+  "Common.UI.Themes.txtThemeClassicLight": "Светлая классическая",
+  "Common.UI.Themes.txtThemeDark": "Темная",
+  "Common.UI.Themes.txtThemeLight": "Светлая",
   "Common.UI.Window.cancelButtonText": "Отмена",
   "Common.UI.Window.closeButtonText": "Закрыть",
   "Common.UI.Window.noButtonText": "Нет",
@@ -260,7 +263,6 @@
   "Common.Views.Header.textAdvSettings": "Дополнительные параметры",
   "Common.Views.Header.textBack": "Открыть расположение файла",
   "Common.Views.Header.textCompactView": "Скрыть панель инструментов",
-  "Common.Views.Header.textDarkTheme": "Темная тема",
   "Common.Views.Header.textHideLines": "Скрыть линейки",
   "Common.Views.Header.textHideStatusBar": "Скрыть строку состояния",
   "Common.Views.Header.textRemoveFavorite": "Удалить из избранного",
@@ -614,6 +616,7 @@
   "DE.Controllers.Main.txtNeedSynchronize": "Есть обновления",
   "DE.Controllers.Main.txtNone": "Нет",
   "DE.Controllers.Main.txtNoTableOfContents": "В документе нет заголовков. Примените стиль заголовка к тексту, чтобы он появился в оглавлении.",
+  "DE.Controllers.Main.txtNoTableOfFigures": "Элементы списка иллюстраций не найдены.",
   "DE.Controllers.Main.txtNoText": "Ошибка! В документе отсутствует текст указанного стиля.",
   "DE.Controllers.Main.txtNotInTable": "Не в таблице",
   "DE.Controllers.Main.txtNotValidBookmark": "Ошибка! Неверная ссылка закладки.",
@@ -796,6 +799,7 @@
   "DE.Controllers.Main.txtShape_wedgeRoundRectCallout": "Скругленная прямоугольная выноска",
   "DE.Controllers.Main.txtStarsRibbons": "Звезды и ленты",
   "DE.Controllers.Main.txtStyle_Caption": "Название",
+  "DE.Controllers.Main.txtStyle_endnote_text": "Текст концевой сноски",
   "DE.Controllers.Main.txtStyle_footnote_text": "Текст сноски",
   "DE.Controllers.Main.txtStyle_Heading_1": "Заголовок 1",
   "DE.Controllers.Main.txtStyle_Heading_2": "Заголовок 2",
@@ -816,6 +820,8 @@
   "DE.Controllers.Main.txtSyntaxError": "Синтаксическая ошибка",
   "DE.Controllers.Main.txtTableInd": "Индекс таблицы не может быть нулевым",
   "DE.Controllers.Main.txtTableOfContents": "Оглавление",
+  "DE.Controllers.Main.txtTableOfFigures": "Список иллюстраций",
+  "DE.Controllers.Main.txtTOCHeading": "Заголовок оглавления",
   "DE.Controllers.Main.txtTooLarge": "Число слишком большое для форматирования",
   "DE.Controllers.Main.txtTypeEquation": "Место для уравнения.",
   "DE.Controllers.Main.txtUndefBookmark": "Закладка не определена",
@@ -1717,8 +1723,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Проверка орфографии",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Отключить все",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Отключить все макросы без уведомления",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Темная",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Светлая",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Показывать уведомление",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Отключить все макросы с уведомлением",
   "DE.Views.FileMenuPanels.Settings.txtWin": "как Windows",
@@ -2606,7 +2610,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Выравнивание по правому краю",
   "DE.Views.Toolbar.tipBack": "Назад",
   "DE.Views.Toolbar.tipBlankPage": "Вставить пустую страницу",
-  "DE.Views.Toolbar.tipChangeCase:": "Изменить регистр",
+  "DE.Views.Toolbar.tipChangeCase": "Изменить регистр",
   "DE.Views.Toolbar.tipChangeChart": "Изменить тип диаграммы",
   "DE.Views.Toolbar.tipClearStyle": "Очистить стиль",
   "DE.Views.Toolbar.tipColorSchemas": "Изменение цветовой схемы",
diff --git a/apps/documenteditor/main/locale/sk.json b/apps/documenteditor/main/locale/sk.json
index bd0d69238..a015d51f6 100644
--- a/apps/documenteditor/main/locale/sk.json
+++ b/apps/documenteditor/main/locale/sk.json
@@ -240,7 +240,6 @@
   "Common.Views.Header.textAdvSettings": "Pokročilé nastavenia",
   "Common.Views.Header.textBack": "Otvoriť umiestnenie súboru",
   "Common.Views.Header.textCompactView": "Skryť panel s nástrojmi",
-  "Common.Views.Header.textDarkTheme": "Tmavá téma",
   "Common.Views.Header.textHideLines": "Skryť pravítka",
   "Common.Views.Header.textHideStatusBar": "Schovať stavový riadok",
   "Common.Views.Header.textZoom": "Priblíženie",
@@ -1587,8 +1586,6 @@
   "DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Kontrola pravopisu",
   "DE.Views.FileMenuPanels.Settings.txtStopMacros": "Zablokovať všetko",
   "DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Zablokovať všetky makrá bez upozornenia",
-  "DE.Views.FileMenuPanels.Settings.txtThemeDark": "Tmavý",
-  "DE.Views.FileMenuPanels.Settings.txtThemeLight": "Svetlý",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Ukázať oznámenie",
   "DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Zablokovať všetky makrá s upozornením",
   "DE.Views.FileMenuPanels.Settings.txtWin": "ako Windows",
@@ -2424,7 +2421,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Zarovnať doprava",
   "DE.Views.Toolbar.tipBack": "Späť",
   "DE.Views.Toolbar.tipBlankPage": "Vložiť prázdnu stranu",
-  "DE.Views.Toolbar.tipChangeCase:": "Zmeniť púzdro",
+  "DE.Views.Toolbar.tipChangeCase": "Zmeniť púzdro",
   "DE.Views.Toolbar.tipChangeChart": "Zmeniť typ grafu",
   "DE.Views.Toolbar.tipClearStyle": "Vymazať štýl",
   "DE.Views.Toolbar.tipColorSchemas": "Zmeniť farebnú schému",
diff --git a/apps/documenteditor/main/locale/sl.json b/apps/documenteditor/main/locale/sl.json
index 8e1ad0fef..68ef7f146 100644
--- a/apps/documenteditor/main/locale/sl.json
+++ b/apps/documenteditor/main/locale/sl.json
@@ -1885,7 +1885,7 @@
   "DE.Views.Toolbar.tipAlignRight": "Poravnaj desno",
   "DE.Views.Toolbar.tipBack": "Nazaj",
   "DE.Views.Toolbar.tipBlankPage": "Vstavi prazno stran",
-  "DE.Views.Toolbar.tipChangeCase:": "Zamenjaj velikost črk",
+  "DE.Views.Toolbar.tipChangeCase": "Zamenjaj velikost črk",
   "DE.Views.Toolbar.tipChangeChart": "Spremeni vrsto razpredelnice",
   "DE.Views.Toolbar.tipClearStyle": "Počisti stil",
   "DE.Views.Toolbar.tipColorSchemas": "Spremeni barvno shemo",
diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-drop-one.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-drop-one.png
deleted file mode 100644
index d34c7c1e9..000000000
Binary files a/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-drop-one.png and /dev/null differ
diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topanddown.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topbottom.png
similarity index 100%
rename from apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topanddown.png
rename to apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topbottom.png
diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topdown.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topdown.png
deleted file mode 100644
index 8018364d9..000000000
Binary files a/apps/documenteditor/main/resources/img/toolbar/1.5x/huge/btn-wrap-topdown.png and /dev/null differ
diff --git a/apps/documenteditor/main/resources/less/advanced-settings.less b/apps/documenteditor/main/resources/less/advanced-settings.less
index 31a68d081..94b2a2c09 100644
--- a/apps/documenteditor/main/resources/less/advanced-settings.less
+++ b/apps/documenteditor/main/resources/less/advanced-settings.less
@@ -61,4 +61,11 @@
     background-color: #fff;
 }
 
-
+#bulleted-list-preview {
+    margin-top: 2px;
+    height:208px;
+    width: 100%;
+    border: @scaled-one-px-value-ie solid @border-regular-control-ie;
+    border: @scaled-one-px-value solid @border-regular-control;
+    background-color: @canvas-content-background;
+}
diff --git a/apps/documenteditor/main/resources/less/app.less b/apps/documenteditor/main/resources/less/app.less
index 07982a8c8..7e9bf70d3 100644
--- a/apps/documenteditor/main/resources/less/app.less
+++ b/apps/documenteditor/main/resources/less/app.less
@@ -10,6 +10,7 @@
 // Bootstrap overwrite
 @import "../../../../common/main/resources/less/variables.less";
 @import "../../../../common/main/resources/less/colors-table.less";
+@import "../../../../common/main/resources/less/colors-table-classic.less";
 @import "../../../../common/main/resources/less/colors-table-dark.less";
 
 //
diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less
index ad6824616..27de5cba2 100644
--- a/apps/documenteditor/main/resources/less/toolbar.less
+++ b/apps/documenteditor/main/resources/less/toolbar.less
@@ -218,13 +218,20 @@
     .menu-list-preview {
         .box-shadow(0 0 0 @scaled-one-px-value-ie @border-regular-control-ie);
         .box-shadow(0 0 0 @scaled-one-px-value @border-regular-control);
+
+        background-color: @canvas-content-background;
     }
 
-    a:hover {
+    a:hover, a:focus, a.checked {
         background-color: transparent;
         .menu-list-preview {
             .box-shadow(0 0 0 2px @border-control-focus-ie);
             .box-shadow(0 0 0 @scaled-two-px-value @border-control-focus);
         }
     }
+    a.checked {
+        &:before {
+            display: none !important;
+        }
+    }
 }
diff --git a/apps/documenteditor/mobile/app/controller/edit/EditChart.js b/apps/documenteditor/mobile/app/controller/edit/EditChart.js
index bf18a3fcc..90b5fddd2 100644
--- a/apps/documenteditor/mobile/app/controller/edit/EditChart.js
+++ b/apps/documenteditor/mobile/app/controller/edit/EditChart.js
@@ -489,7 +489,7 @@ define([
 
             onBorderColor: function (palette, color) {
                 var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                    currentShape = _shapeObject ? _shapeObject.get_ShapeProperties() : null;
 
                 $('#edit-chart-bordercolor .color-preview').css('background-color', ('transparent' == color) ? color : ('#' + (_.isObject(color) ? color.color : color)));
                 _borderColor = color;
diff --git a/apps/documenteditor/mobile/app/controller/edit/EditShape.js b/apps/documenteditor/mobile/app/controller/edit/EditShape.js
index 171396166..996c13543 100644
--- a/apps/documenteditor/mobile/app/controller/edit/EditShape.js
+++ b/apps/documenteditor/mobile/app/controller/edit/EditShape.js
@@ -449,8 +449,7 @@ define([
             },
 
             onFillColor: function(palette, color) {
-                var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                var me = this;
 
                 if (me.api) {
                     var image = new Asc.asc_CImgProperty(),
@@ -475,7 +474,7 @@ define([
 
             onBorderColor: function (palette, color) {
                 var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                    currentShape = _shapeObject ? _shapeObject.get_ShapeProperties() : null;
 
                 $('#edit-shape-bordercolor .color-preview').css('background-color', ('transparent' == color) ? color : ('#' + (_.isObject(color) ? color.color : color)));
                 _borderColor = color;
diff --git a/apps/presentationeditor/embed/js/ApplicationController.js b/apps/presentationeditor/embed/js/ApplicationController.js
index 9875494fd..1fbfa83cd 100644
--- a/apps/presentationeditor/embed/js/ApplicationController.js
+++ b/apps/presentationeditor/embed/js/ApplicationController.js
@@ -210,7 +210,7 @@ PE.ApplicationController = new(function(){
 
     function onPrint() {
         if (permissions.print!==false)
-            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
     }
 
     function onPrintUrl(url) {
@@ -286,7 +286,7 @@ PE.ApplicationController = new(function(){
                     common.utils.openLink(embedConfig.saveUrl);
                 } else
                 if (api && permissions.print!==false){
-                    api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                    api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                 }
 
                 Common.Analytics.trackEvent('Save');
@@ -294,7 +294,7 @@ PE.ApplicationController = new(function(){
 
         PE.ApplicationView.tools.get('#idt-print')
             .on('click', function(){
-                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                 Common.Analytics.trackEvent('Print');
             });
 
diff --git a/apps/presentationeditor/main/app.reporter.js b/apps/presentationeditor/main/app.reporter.js
index 0b0fcacf9..0c69433aa 100644
--- a/apps/presentationeditor/main/app.reporter.js
+++ b/apps/presentationeditor/main/app.reporter.js
@@ -93,7 +93,7 @@ require([
     var api = new Asc.asc_docs_api({
         'id-view'  : 'editor_sdk',
         using      : 'reporter',
-        skin       : (localStorage.getItem("ui-theme") == "theme-dark") ? "flatDark" : "flat"
+        skin       : localStorage.getItem("ui-theme")
     });
 
     var setDocumentTitle = function(title) {
diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js
index c96ed5458..db68fe1ec 100644
--- a/apps/presentationeditor/main/app/controller/LeftMenu.js
+++ b/apps/presentationeditor/main/app/controller/LeftMenu.js
@@ -227,7 +227,7 @@ define([
             case 'back': break;
             case 'save': this.api.asc_Save(); break;
             case 'save-desktop': this.api.asc_DownloadAs(); break;
-            case 'print': this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); break;
+            case 'print': this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); break;
             case 'exit': Common.NotificationCenter.trigger('goback'); break;
             case 'edit':
                 this.getApplication().getController('Statusbar').setStatusCaption(this.requestEditRightsText);
diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js
index 0ff33b1cf..899b15388 100644
--- a/apps/presentationeditor/main/app/controller/Main.js
+++ b/apps/presentationeditor/main/app/controller/Main.js
@@ -1987,7 +1987,7 @@ define([
                 if (!this.appOptions.canPrint || Common.Utils.ModalWindow.isVisible()) return;
                 
                 if (this.api)
-                    this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                    this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
                 Common.component.Analytics.trackEvent('Print');
             },
 
diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js
index df15c6c1e..b737ea8cf 100644
--- a/apps/presentationeditor/main/app/controller/Toolbar.js
+++ b/apps/presentationeditor/main/app/controller/Toolbar.js
@@ -955,7 +955,7 @@ define([
         
         onPrint: function(e) {
             if (this.api)
-                this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
 
             Common.NotificationCenter.trigger('edit:complete', this.toolbar);
 
diff --git a/apps/presentationeditor/main/app/template/Toolbar.template b/apps/presentationeditor/main/app/template/Toolbar.template
index 46b612cd6..f967bcac2 100644
--- a/apps/presentationeditor/main/app/template/Toolbar.template
+++ b/apps/presentationeditor/main/app/template/Toolbar.template
@@ -6,7 +6,7 @@
     </section>
     <section class="box-controls">
         <section class="panel static">
-            <div class="group no-mask">
+            <div class="group no-mask small">
                 <div class="elset">
                     <span class="btn-slot" id="slot-btn-print"></span>
                 </div>
@@ -15,7 +15,7 @@
                 </div>
             </div>
             <div class="separator long"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-copy"></span>
                     <span class="btn-slot" id="slot-btn-paste"></span>
@@ -33,7 +33,7 @@
                     <span class="btn-slot text x-huge slot-addslide"></span>
                 </div>
                 <div class="group" style="display:none;"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-changeslide"></span>
                     </div>
@@ -42,7 +42,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset" style="width:208px;">
                         <span class="btn-slot" style="float: left; width: 89px;" id="slot-field-fontname"></span>
                         <span class="btn-slot" style="float: left; width: 40px; margin-left: 2px;" id="slot-field-fontsize"></span>
@@ -62,7 +62,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-markers"></span>
                         <span class="btn-slot split" id="slot-btn-numbering"></span>
@@ -82,7 +82,7 @@
                     <span class="btn-slot text x-huge slot-insertimg"></span>
                     <span class="btn-slot text x-huge slot-insertshape"></span>
                 </div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-arrange-shape"></span>
                     </div>
@@ -91,7 +91,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-clearstyle"></span>
                         <span class="btn-slot split" id="slot-btn-colorschemas"></span>
@@ -101,7 +101,7 @@
                         <span class="btn-slot split" id="slot-btn-slidesize"></span>
                     </div>
                 </div>
-                <div class="group flex" id="slot-field-styles" style="width: 100%; min-width: 140px;" data-group-width="100%"></div>
+                <div class="group flex small" id="slot-field-styles" style="width: 100%; min-width: 140px;" data-group-width="100%"></div>
             </section>
             <section class="panel" data-tab="ins">
                 <div class="group">
diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js
index a14ff95b4..71a7fc834 100644
--- a/apps/presentationeditor/main/app/view/DocumentHolder.js
+++ b/apps/presentationeditor/main/app/view/DocumentHolder.js
@@ -1856,7 +1856,7 @@ define([
                 if (me.api){
                     var printopt = new Asc.asc_CAdjustPrint();
                     printopt.asc_setPrintType(Asc.c_oAscPrintType.Selection);
-                    var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                    var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
                     opts.asc_setAdvancedOptions(printopt);
                     me.api.asc_Print(opts);
                     me.fireEvent('editcomplete', me);
@@ -1962,7 +1962,7 @@ define([
                 if (me.api){
                     var printopt = new Asc.asc_CAdjustPrint();
                     printopt.asc_setPrintType(Asc.c_oAscPrintType.Selection);
-                    var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
+                    var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86); // if isChrome or isSafari or isOpera == true use asc_onPrintUrl event
                     opts.asc_setAdvancedOptions(printopt);
                     me.api.asc_Print(opts);
                     me.fireEvent('editcomplete', me);
diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js
index 29e362480..b648d0d15 100644
--- a/apps/presentationeditor/main/app/view/FileMenuPanels.js
+++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js
@@ -403,10 +403,6 @@ define([
                 style       : 'width: 160px;',
                 editable    : false,
                 cls         : 'input-group-nr',
-                data        : [
-                    { value: Common.UI.Themes.THEME_LIGHT_ID, displayValue: this.txtThemeLight },
-                    { value: Common.UI.Themes.THEME_DARK_ID, displayValue: this.txtThemeDark }
-                ]
             });
 
             $markup.find('.btn.primary').each(function(index, el){
@@ -532,8 +528,16 @@ define([
 
             this.chPaste.setValue(Common.Utils.InternalSettings.get("pe-settings-paste-button"));
 
-            item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.current()});
-            this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.THEME_LIGHT_ID);
+            var data = [];
+            for (var t in Common.UI.Themes.map()) {
+                data.push({value: t, displayValue: Common.UI.Themes.get(t).text});
+            }
+
+            if ( data.length ) {
+                this.cmbTheme.setData(data);
+                item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()});
+                this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId());
+            }
         },
 
         applySettings: function() {
diff --git a/apps/presentationeditor/main/app/view/ParagraphSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ParagraphSettingsAdvanced.js
index 67b734935..5e33c00fe 100644
--- a/apps/presentationeditor/main/app/view/ParagraphSettingsAdvanced.js
+++ b/apps/presentationeditor/main/app/view/ParagraphSettingsAdvanced.js
@@ -414,7 +414,7 @@ define([    'text!presentationeditor/main/app/template/ParagraphSettingsAdvanced
             ];
         },
 
-        onCategoryClick: function(btn, index) {
+        onCategoryClick: function(btn, index, cmp, e) {
             Common.Views.AdvancedSettingsWindow.prototype.onCategoryClick.call(this, btn, index);
 
             var me = this;
@@ -425,6 +425,8 @@ define([    'text!presentationeditor/main/app/template/ParagraphSettingsAdvanced
                         break;
                     case 1:
                         me.chStrike.focus();
+                        if (e && (e instanceof jQuery.Event))
+                            me.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', me._originalProps || new Asc.asc_CParagraphProperty());
                         break;
                     case 2:
                         me.numDefaultTab.focus();
@@ -433,6 +435,10 @@ define([    'text!presentationeditor/main/app/template/ParagraphSettingsAdvanced
             }, 10);
         },
 
+        onAnimateAfter: function() {
+            (this.getActiveCategory()==1) && this.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps || new Asc.asc_CParagraphProperty());
+        },
+
         getSettings: function() {
             if ( this._tabListChanged ) {
                 if (this._changedProps.get_Tabs()===null || this._changedProps.get_Tabs()===undefined)
@@ -494,8 +500,6 @@ define([    'text!presentationeditor/main/app/template/ParagraphSettingsAdvanced
 
                 this.numSpacing.setValue((props.get_TextSpacing() !== null && props.get_TextSpacing() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(props.get_TextSpacing()) : '', true);
 
-                this.api.SetDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps);
-
                 // Tabs
                 this.numDefaultTab.setValue((props.get_DefaultTab() !== null && props.get_DefaultTab() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(parseFloat(props.get_DefaultTab().toFixed(1))) : '', true);
 
diff --git a/apps/presentationeditor/main/app/view/ShapeSettings.js b/apps/presentationeditor/main/app/view/ShapeSettings.js
index 9a7270677..b0cd3306c 100644
--- a/apps/presentationeditor/main/app/view/ShapeSettings.js
+++ b/apps/presentationeditor/main/app/view/ShapeSettings.js
@@ -587,14 +587,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                me.fireEvent('editcomplete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    me.fireEvent('editcomplete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
diff --git a/apps/presentationeditor/main/app/view/TableSettings.js b/apps/presentationeditor/main/app/view/TableSettings.js
index 72d1b50b4..b2b167674 100644
--- a/apps/presentationeditor/main/app/view/TableSettings.js
+++ b/apps/presentationeditor/main/app/view/TableSettings.js
@@ -437,7 +437,7 @@ define([
                     this.mnuTableTemplatePicker.selectRecord(rec, true);
                     this.btnTableTemplate.resumeEvents();
 
-                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '52px', 'width': '72px', 'background-position': 'center', 'background-size': 'cover'});
+                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '52px', 'width': '72px', 'background-position': 'center', 'background-size': 'auto 50px'});
 
                     this._state.TemplateId = value;
                 }
diff --git a/apps/presentationeditor/main/app/view/TextArtSettings.js b/apps/presentationeditor/main/app/view/TextArtSettings.js
index cc71d911c..bb159c568 100644
--- a/apps/presentationeditor/main/app/view/TextArtSettings.js
+++ b/apps/presentationeditor/main/app/view/TextArtSettings.js
@@ -93,7 +93,8 @@ define([
                 GradColor: '000000',
                 GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR,
                 FormId: null,
-                DisabledControls: false
+                DisabledControls: false,
+                applicationPixelRatio: Common.Utils.applicationPixelRatio()
             };
             this.lockedControls = [];
             this._locked = false;
@@ -134,6 +135,7 @@ define([
             el.html(this.template({
                 scope: this
             }));
+            $(window).on('resize', _.bind(this.onWindowResize, this));
         },
 
         setApi: function(api) {
@@ -594,14 +596,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                me.fireEvent('editcomplete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    me.fireEvent('editcomplete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
@@ -1538,22 +1542,17 @@ define([
         },
 
         fillTransform: function(transforms) {
-            if (transforms && transforms.length>1 && transforms[1]){
-                var me = this,
-                    artStore = [],
-                    arrTransforms = transforms[1];
-                for (var i=0; i<arrTransforms.length; i++) {
-                    var arr = arrTransforms[i];
-                    if (arr && arr.length>0)
-                        _.each(arr, function(item){
-                            artStore.push({
-                                imageUrl: item.Image,
-                                type    : item.Type,
-                                selected: false
-                            });
-                        });
+            if (transforms){
+                var artStore = [];
+                for (var i=0; i<transforms.length; i++) {
+                    var item = transforms[i];
+                    artStore.push({
+                        imageUrl: item.Image,
+                        type    : item.Type,
+                        selected: false
+                    });
                 }
-                this.cmbTransform.menuPicker.store.add(artStore);
+                this.cmbTransform.menuPicker.store.reset(artStore);
                 if (this.cmbTransform.menuPicker.store.length > 0) {
                     this.cmbTransform.fillComboView(this.cmbTransform.menuPicker.store.at(0),true);
                 }
@@ -1727,6 +1726,13 @@ define([
             }
         },
 
+        onWindowResize: function() {
+            if (!this._initSettings && this._state.applicationPixelRatio !== Common.Utils.applicationPixelRatio())
+                this.fillTransform(this.api.asc_getPropertyEditorTextArts());
+
+            this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio();
+        },
+
         txtNoBorders            : 'No Line',
         strStroke               : 'Stroke',
         strColor                : 'Color',
diff --git a/apps/presentationeditor/main/app_dev.reporter.js b/apps/presentationeditor/main/app_dev.reporter.js
index e232230a8..77687a322 100644
--- a/apps/presentationeditor/main/app_dev.reporter.js
+++ b/apps/presentationeditor/main/app_dev.reporter.js
@@ -94,7 +94,7 @@ require([
     var api = new Asc.asc_docs_api({
         'id-view'  : 'editor_sdk',
         using      : 'reporter',
-        skin       : (localStorage.getItem("ui-theme") == "theme-dark") ? "flatDark" : "flat"
+        skin       : localStorage.getItem("ui-theme")
     });
 
     var setDocumentTitle = function(title) {
diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html
index 9847f2341..cd541ff81 100644
--- a/apps/presentationeditor/main/index.html
+++ b/apps/presentationeditor/main/index.html
@@ -13,12 +13,16 @@
             --toolbar-header-presentation: #2a2a2a;
             --background-toolbar: #404040;
             --border-toolbar: #2a2a2a;
-            --highlight-button-pressed: #606060;
+            --highlight-button-hover: #606060;
             --canvas-background: #666666;
             /*--canvas-content-background: #fff;*/
             --canvas-page-border: #555;
         }
 
+        .theme-classic-light {
+            --highlight-button-hover: #d8dadc;
+        }
+
         .loadmask {
             left: 0;
             top: 0;
@@ -90,7 +94,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/presentationeditor/main/index.html.deploy b/apps/presentationeditor/main/index.html.deploy
index b4e367fa3..b3daac5dc 100644
--- a/apps/presentationeditor/main/index.html.deploy
+++ b/apps/presentationeditor/main/index.html.deploy
@@ -82,7 +82,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/presentationeditor/main/locale/da.json b/apps/presentationeditor/main/locale/da.json
index 6609f5b40..9a35d40fc 100644
--- a/apps/presentationeditor/main/locale/da.json
+++ b/apps/presentationeditor/main/locale/da.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Avancerede indstillinger",
   "Common.Views.Header.textBack": "Gå til dokumentplacering",
   "Common.Views.Header.textCompactView": "Vis kompakt værktøjslinie ",
-  "Common.Views.Header.textDarkTheme": "Mørkt tema",
   "Common.Views.Header.textHideLines": "Skjul lineal",
   "Common.Views.Header.textHideStatusBar": "Skjul statuslinie",
   "Common.Views.Header.textRemoveFavorite": "Fjern fra Favoritter",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Stavekontrol",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Deaktiver Alle",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Deaktivér alle makroer uden besked",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Mørk",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Lys",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Vis besked",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Deaktiver alle makroer med en besked",
   "PE.Views.FileMenuPanels.Settings.txtWin": "som Windows",
@@ -1904,7 +1901,7 @@
   "PE.Views.Toolbar.textUnderline": "Understreg",
   "PE.Views.Toolbar.tipAddSlide": "Tilføj dias",
   "PE.Views.Toolbar.tipBack": "Tilbage",
-  "PE.Views.Toolbar.tipChangeCase:": "Ændre store/små bogstaver",
+  "PE.Views.Toolbar.tipChangeCase": "Ændre store/små bogstaver",
   "PE.Views.Toolbar.tipChangeChart": "Skift diagramtype",
   "PE.Views.Toolbar.tipChangeSlide": "Skift dias layout",
   "PE.Views.Toolbar.tipClearStyle": "Ryd formatering",
diff --git a/apps/presentationeditor/main/locale/de.json b/apps/presentationeditor/main/locale/de.json
index a90e64319..205fed73d 100644
--- a/apps/presentationeditor/main/locale/de.json
+++ b/apps/presentationeditor/main/locale/de.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Erweiterte Einstellungen",
   "Common.Views.Header.textBack": "Dateispeicherort öffnen",
   "Common.Views.Header.textCompactView": "Symbolleiste ausblenden",
-  "Common.Views.Header.textDarkTheme": "Dunkelmodus",
   "Common.Views.Header.textHideLines": "Lineale verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusleiste verbergen",
   "Common.Views.Header.textRemoveFavorite": "Aus Favoriten entfernen",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Rechtschreibprüfung",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Alle deaktivieren",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Alle Makros ohne Benachrichtigung deaktivieren",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Dunkel",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Hell",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Benachrichtigung anzeigen",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Alle Makros mit einer Benachrichtigung deaktivieren",
   "PE.Views.FileMenuPanels.Settings.txtWin": "wie Windows",
@@ -1904,7 +1901,7 @@
   "PE.Views.Toolbar.textUnderline": "Unterstrichen",
   "PE.Views.Toolbar.tipAddSlide": "Folie hinzufügen",
   "PE.Views.Toolbar.tipBack": "Zurück",
-  "PE.Views.Toolbar.tipChangeCase:": "Groß-/Kleinschreibung",
+  "PE.Views.Toolbar.tipChangeCase": "Groß-/Kleinschreibung",
   "PE.Views.Toolbar.tipChangeChart": "Diagrammtyp ändern",
   "PE.Views.Toolbar.tipChangeSlide": "Folienlayout ändern",
   "PE.Views.Toolbar.tipClearStyle": "Formatierung löschen",
diff --git a/apps/presentationeditor/main/locale/el.json b/apps/presentationeditor/main/locale/el.json
index 4fa91e514..4cdb130b4 100644
--- a/apps/presentationeditor/main/locale/el.json
+++ b/apps/presentationeditor/main/locale/el.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Προηγμένες ρυθμίσεις",
   "Common.Views.Header.textBack": "Άνοιγμα τοποθεσίας αρχείου",
   "Common.Views.Header.textCompactView": "Απόκρυψη Γραμμής Εργαλείων",
-  "Common.Views.Header.textDarkTheme": "Σκούρο Θέμα",
   "Common.Views.Header.textHideLines": "Απόκρυψη Χαράκων",
   "Common.Views.Header.textHideStatusBar": "Απόκρυψη Γραμμής Κατάστασης",
   "Common.Views.Header.textRemoveFavorite": "Αφαίρεση από τα Αγαπημένα",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Έλεγχος Ορθογραφίας",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Απενεργοποίηση Όλων",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Σκούρο",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Ανοιχτό",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Εμφάνιση Ειδοποίησης",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών με ειδοποίηση",
   "PE.Views.FileMenuPanels.Settings.txtWin": "ως Windows",
@@ -1904,7 +1901,7 @@
   "PE.Views.Toolbar.textUnderline": "Υπογράμμιση",
   "PE.Views.Toolbar.tipAddSlide": "Προσθήκη διαφάνειας",
   "PE.Views.Toolbar.tipBack": "Πίσω",
-  "PE.Views.Toolbar.tipChangeCase:": "Αλλαγή πεζών-κεφαλαίων",
+  "PE.Views.Toolbar.tipChangeCase": "Αλλαγή πεζών-κεφαλαίων",
   "PE.Views.Toolbar.tipChangeChart": "Αλλαγή τύπου γραφήματος",
   "PE.Views.Toolbar.tipChangeSlide": "Αλλαγή διάταξης διαφάνειας",
   "PE.Views.Toolbar.tipClearStyle": "Εκκαθάριση τεχνοτροπίας",
diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json
index b1929f7c0..a326343c1 100644
--- a/apps/presentationeditor/main/locale/en.json
+++ b/apps/presentationeditor/main/locale/en.json
@@ -48,6 +48,8 @@
   "Common.define.chartData.textStock": "Stock",
   "Common.define.chartData.textSurface": "Surface",
   "Common.Translation.warnFileLocked": "The file is being edited in another app. You can continue editing and save it as a copy.",
+  "Common.Translation.warnFileLockedBtnEdit": "Create a copy",
+  "Common.Translation.warnFileLockedBtnView": "Open for viewing",
   "Common.UI.ColorButton.textAutoColor": "Automatic",
   "Common.UI.ColorButton.textNewColor": "Add New Custom Color",
   "Common.UI.ComboBorderSize.txtNoBorders": "No borders",
@@ -73,6 +75,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "The document has been changed by another user.<br>Please click to save your changes and reload the updates.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Standard Colors",
   "Common.UI.ThemeColorPalette.textThemeColors": "Theme Colors",
+  "Common.UI.Themes.txtThemeClassicLight": "Classic Light",
+  "Common.UI.Themes.txtThemeDark": "Dark",
+  "Common.UI.Themes.txtThemeLight": "Light",
   "Common.UI.Window.cancelButtonText": "Cancel",
   "Common.UI.Window.closeButtonText": "Close",
   "Common.UI.Window.noButtonText": "No",
@@ -148,7 +153,6 @@
   "Common.Views.Header.textAdvSettings": "Advanced settings",
   "Common.Views.Header.textBack": "Open file location",
   "Common.Views.Header.textCompactView": "Hide Toolbar",
-  "Common.Views.Header.textDarkTheme": "Dark theme",
   "Common.Views.Header.textHideLines": "Hide Rulers",
   "Common.Views.Header.textHideStatusBar": "Hide Status Bar",
   "Common.Views.Header.textRemoveFavorite": "Remove from Favorites",
@@ -1367,8 +1371,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spell Checking",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Disable All",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Disable all macros without a notification",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Dark",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Light",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Show Notification",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Disable all macros with a notification",
   "PE.Views.FileMenuPanels.Settings.txtWin": "as Windows",
@@ -1919,7 +1921,8 @@
   "PE.Views.Toolbar.textUnderline": "Underline",
   "PE.Views.Toolbar.tipAddSlide": "Add slide",
   "PE.Views.Toolbar.tipBack": "Back",
-  "PE.Views.Toolbar.tipChangeCase:": "Change case",
+  "del_PE.Views.Toolbar.tipChangeCase:": "Change case",
+  "PE.Views.Toolbar.tipChangeCase": "Change case",
   "PE.Views.Toolbar.tipChangeChart": "Change chart type",
   "PE.Views.Toolbar.tipChangeSlide": "Change slide layout",
   "PE.Views.Toolbar.tipClearStyle": "Clear style",
diff --git a/apps/presentationeditor/main/locale/es.json b/apps/presentationeditor/main/locale/es.json
index f1d351929..f4b8ab3cc 100644
--- a/apps/presentationeditor/main/locale/es.json
+++ b/apps/presentationeditor/main/locale/es.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Ajustes avanzados",
   "Common.Views.Header.textBack": "Abrir ubicación del archivo",
   "Common.Views.Header.textCompactView": "Esconder barra de herramientas",
-  "Common.Views.Header.textDarkTheme": "Tema oscuro",
   "Common.Views.Header.textHideLines": "Ocultar reglas",
   "Common.Views.Header.textHideStatusBar": "Ocultar barra de estado",
   "Common.Views.Header.textRemoveFavorite": "Eliminar de Favoritos",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Сorrección ortográfica",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Deshabilitar todo",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Deshabilitar todas las macros sin notificación",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Oscuro",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Claro",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Mostrar notificación",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Deshabilitar todas las macros con notificación",
   "PE.Views.FileMenuPanels.Settings.txtWin": "como Windows",
@@ -1904,7 +1901,7 @@
   "PE.Views.Toolbar.textUnderline": "Subrayar",
   "PE.Views.Toolbar.tipAddSlide": "Añadir diapositiva",
   "PE.Views.Toolbar.tipBack": "Atrás",
-  "PE.Views.Toolbar.tipChangeCase:": "Cambiar mayúsculas y minúsculas",
+  "PE.Views.Toolbar.tipChangeCase": "Cambiar mayúsculas y minúsculas",
   "PE.Views.Toolbar.tipChangeChart": "Cambiar tipo de gráfico",
   "PE.Views.Toolbar.tipChangeSlide": "Cambiar diseño de diapositiva",
   "PE.Views.Toolbar.tipClearStyle": "Limpiar estilo",
diff --git a/apps/presentationeditor/main/locale/fr.json b/apps/presentationeditor/main/locale/fr.json
index 48b5fd557..0e3ba8f7e 100644
--- a/apps/presentationeditor/main/locale/fr.json
+++ b/apps/presentationeditor/main/locale/fr.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Paramètres avancés",
   "Common.Views.Header.textBack": "Ouvrir l'emplacement du fichier",
   "Common.Views.Header.textCompactView": "Masquer la barre d'outils",
-  "Common.Views.Header.textDarkTheme": "Thème sombre",
   "Common.Views.Header.textHideLines": "Masquer les règles",
   "Common.Views.Header.textHideStatusBar": "Masquer la barre d'état",
   "Common.Views.Header.textRemoveFavorite": "Enlever des favoris",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Vérification de l'orthographe",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Désactiver tout",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Désactiver toutes les macros sans notification",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Sombre",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Clair",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Montrer  la notification",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Désactiver toutes les macros avec notification",
   "PE.Views.FileMenuPanels.Settings.txtWin": "comme Windows",
@@ -1904,7 +1901,7 @@
   "PE.Views.Toolbar.textUnderline": "Souligné",
   "PE.Views.Toolbar.tipAddSlide": "Ajouter diapositive",
   "PE.Views.Toolbar.tipBack": "En arrière",
-  "PE.Views.Toolbar.tipChangeCase:": "Changer de cas",
+  "PE.Views.Toolbar.tipChangeCase": "Changer de cas",
   "PE.Views.Toolbar.tipChangeChart": "Modifier le type de graphique",
   "PE.Views.Toolbar.tipChangeSlide": "Modifier la disposition de diapositive",
   "PE.Views.Toolbar.tipClearStyle": "Effacer le style",
diff --git a/apps/presentationeditor/main/locale/hu.json b/apps/presentationeditor/main/locale/hu.json
index 17b5a8c30..d544aad51 100644
--- a/apps/presentationeditor/main/locale/hu.json
+++ b/apps/presentationeditor/main/locale/hu.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Haladó beállítások",
   "Common.Views.Header.textBack": "Fájl helyének megnyitása",
   "Common.Views.Header.textCompactView": "Eszköztár elrejtése",
-  "Common.Views.Header.textDarkTheme": "Sötét téma",
   "Common.Views.Header.textHideLines": "Vonalzók elrejtése",
   "Common.Views.Header.textHideStatusBar": "Állapotsor elrejtése",
   "Common.Views.Header.textRemoveFavorite": "Eltávolítás a kedvencekből",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Helyesírás-ellenőrzés",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Összes letiltása",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Minden értesítés nélküli makró letiltása",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Sötét",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Világos",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Értesítés mutatása",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Minden értesítéssel rendelkező makró letiltása",
   "PE.Views.FileMenuPanels.Settings.txtWin": "Windows-ként",
@@ -1903,7 +1900,7 @@
   "PE.Views.Toolbar.textUnderline": "Aláhúzott",
   "PE.Views.Toolbar.tipAddSlide": "Minden dia",
   "PE.Views.Toolbar.tipBack": "Vissza",
-  "PE.Views.Toolbar.tipChangeCase:": "Kis- és nagybetűk megváltoztatása",
+  "PE.Views.Toolbar.tipChangeCase": "Kis- és nagybetűk megváltoztatása",
   "PE.Views.Toolbar.tipChangeChart": "Diagramtípus módosítása",
   "PE.Views.Toolbar.tipChangeSlide": "Dia elrendezés módosítása",
   "PE.Views.Toolbar.tipClearStyle": "Stílus törlése",
diff --git a/apps/presentationeditor/main/locale/it.json b/apps/presentationeditor/main/locale/it.json
index 6310c12dc..4b1fc13f4 100644
--- a/apps/presentationeditor/main/locale/it.json
+++ b/apps/presentationeditor/main/locale/it.json
@@ -99,7 +99,6 @@
   "Common.Views.Header.textAdvSettings": "Impostazioni avanzate",
   "Common.Views.Header.textBack": "Apri percorso file",
   "Common.Views.Header.textCompactView": "Nascondi barra degli strumenti",
-  "Common.Views.Header.textDarkTheme": "‎Tema scuro‎",
   "Common.Views.Header.textHideLines": "Nascondi righelli",
   "Common.Views.Header.textHideStatusBar": "Nascondi barra di stato",
   "Common.Views.Header.textSaveBegin": "Salvataggio in corso...",
@@ -1290,7 +1289,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Controllo ortografia",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Disabilita tutto",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Disabilita tutte le macro senza notifica",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Scuro",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Mostra notifica",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Disabilita tutte le macro con notifica",
   "PE.Views.FileMenuPanels.Settings.txtWin": "come Windows",
diff --git a/apps/presentationeditor/main/locale/ja.json b/apps/presentationeditor/main/locale/ja.json
index 74a630f95..01987b2b7 100644
--- a/apps/presentationeditor/main/locale/ja.json
+++ b/apps/presentationeditor/main/locale/ja.json
@@ -146,7 +146,6 @@
   "Common.Views.Header.textAdvSettings": "詳細設定",
   "Common.Views.Header.textBack": "ドキュメントに移動",
   "Common.Views.Header.textCompactView": "ツールバーを表示しない",
-  "Common.Views.Header.textDarkTheme": "ダークテーマ",
   "Common.Views.Header.textHideLines": "ルーラーを表示しない",
   "Common.Views.Header.textHideStatusBar": "ステータスバーを表示しない",
   "Common.Views.Header.textRemoveFavorite": "お気に入りから削除",
@@ -1350,8 +1349,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "スペル・チェック",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "全てを無効にする",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "マクロを無効にして、通知しない",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "ダーク",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "ライト",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "通知を表示する",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "マクロを無効にして、通知する",
   "PE.Views.FileMenuPanels.Settings.txtWin": "Windowsのように",
@@ -1901,7 +1898,7 @@
   "PE.Views.Toolbar.textUnderline": "下線",
   "PE.Views.Toolbar.tipAddSlide": "スライドの追加",
   "PE.Views.Toolbar.tipBack": "戻る",
-  "PE.Views.Toolbar.tipChangeCase:": "大文字小文字を変更",
+  "PE.Views.Toolbar.tipChangeCase": "大文字小文字を変更",
   "PE.Views.Toolbar.tipChangeChart": "グラフの種類を変更",
   "PE.Views.Toolbar.tipChangeSlide": "レイアウトスライドの変更",
   "PE.Views.Toolbar.tipClearStyle": "スタイルのクリア",
diff --git a/apps/presentationeditor/main/locale/nl.json b/apps/presentationeditor/main/locale/nl.json
index c7517b446..0d6080230 100644
--- a/apps/presentationeditor/main/locale/nl.json
+++ b/apps/presentationeditor/main/locale/nl.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Geavanceerde instellingen",
   "Common.Views.Header.textBack": "Naar documenten",
   "Common.Views.Header.textCompactView": "Werkbalk Verbergen",
-  "Common.Views.Header.textDarkTheme": "Donker thema ",
   "Common.Views.Header.textHideLines": "Linialen verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusbalk verbergen",
   "Common.Views.Header.textRemoveFavorite": "Verwijder uit favorieten",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spellingcontrole",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Alles uitschakelen",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Schakel alle macro's uit zonder melding",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Donker",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "licht",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Weergeef notificatie",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Schakel alle macro's uit met een melding",
   "PE.Views.FileMenuPanels.Settings.txtWin": "als Windows",
@@ -1903,7 +1900,7 @@
   "PE.Views.Toolbar.textUnderline": "Onderstrepen",
   "PE.Views.Toolbar.tipAddSlide": "Dia toevoegen",
   "PE.Views.Toolbar.tipBack": "Terug",
-  "PE.Views.Toolbar.tipChangeCase:": "Verander lettertype",
+  "PE.Views.Toolbar.tipChangeCase": "Verander lettertype",
   "PE.Views.Toolbar.tipChangeChart": "Grafiektype wijzigen",
   "PE.Views.Toolbar.tipChangeSlide": "Dia-indeling wijzigen",
   "PE.Views.Toolbar.tipClearStyle": "Stijl wissen",
diff --git a/apps/presentationeditor/main/locale/ro.json b/apps/presentationeditor/main/locale/ro.json
index 371401c3d..805499313 100644
--- a/apps/presentationeditor/main/locale/ro.json
+++ b/apps/presentationeditor/main/locale/ro.json
@@ -148,7 +148,6 @@
   "Common.Views.Header.textAdvSettings": "Setări avansate",
   "Common.Views.Header.textBack": "Deschidere locația fișierului",
   "Common.Views.Header.textCompactView": "Ascundere bară de instrumente",
-  "Common.Views.Header.textDarkTheme": "Tema întunecată",
   "Common.Views.Header.textHideLines": "Ascundere rigle",
   "Common.Views.Header.textHideStatusBar": "Ascundere bară de stare",
   "Common.Views.Header.textRemoveFavorite": "Eliminare din Preferințe",
@@ -1352,8 +1351,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Verificarea ortografică",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Se dezactivează toate",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Se dezactivează toate macrocomenzile, fără notificare",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Întunecat",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Luminozitate",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Afișare notificări",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Se dezactivează toate macrocomenzile, cu notificare   ",
   "PE.Views.FileMenuPanels.Settings.txtWin": "ca Windows",
@@ -1903,7 +1900,7 @@
   "PE.Views.Toolbar.textUnderline": "Subliniat",
   "PE.Views.Toolbar.tipAddSlide": "Adăugare diapozitiv",
   "PE.Views.Toolbar.tipBack": "Înapoi",
-  "PE.Views.Toolbar.tipChangeCase:": "Modificarea scrierii cu majuscule sau minuscule",
+  "PE.Views.Toolbar.tipChangeCase": "Modificarea scrierii cu majuscule sau minuscule",
   "PE.Views.Toolbar.tipChangeChart": "Modificare tip diagramă",
   "PE.Views.Toolbar.tipChangeSlide": "Modificare aspect diapozitiv",
   "PE.Views.Toolbar.tipClearStyle": "Golire stil",
diff --git a/apps/presentationeditor/main/locale/ru.json b/apps/presentationeditor/main/locale/ru.json
index 8b39752c3..fe50d29de 100644
--- a/apps/presentationeditor/main/locale/ru.json
+++ b/apps/presentationeditor/main/locale/ru.json
@@ -48,6 +48,8 @@
   "Common.define.chartData.textStock": "Биржевая",
   "Common.define.chartData.textSurface": "Поверхность",
   "Common.Translation.warnFileLocked": "Файл редактируется в другом приложении. Вы можете продолжить редактирование и сохранить его как копию.",
+  "Common.Translation.warnFileLockedBtnEdit": "Создать копию",
+  "Common.Translation.warnFileLockedBtnView": "Открыть на просмотр",
   "Common.UI.ColorButton.textAutoColor": "Автоматический",
   "Common.UI.ColorButton.textNewColor": "Пользовательский цвет",
   "Common.UI.ComboBorderSize.txtNoBorders": "Без границ",
@@ -73,6 +75,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "Документ изменен другим пользователем.<br/>Нажмите, чтобы сохранить свои изменения и загрузить обновления.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Стандартные цвета",
   "Common.UI.ThemeColorPalette.textThemeColors": "Цвета темы",
+  "Common.UI.Themes.txtThemeClassicLight": "Светлая классическая",
+  "Common.UI.Themes.txtThemeDark": "Темная",
+  "Common.UI.Themes.txtThemeLight": "Светлая",
   "Common.UI.Window.cancelButtonText": "Отмена",
   "Common.UI.Window.closeButtonText": "Закрыть",
   "Common.UI.Window.noButtonText": "Нет",
@@ -148,7 +153,6 @@
   "Common.Views.Header.textAdvSettings": "Дополнительные параметры",
   "Common.Views.Header.textBack": "Открыть расположение файла",
   "Common.Views.Header.textCompactView": "Скрыть панель инструментов",
-  "Common.Views.Header.textDarkTheme": "Темная тема",
   "Common.Views.Header.textHideLines": "Скрыть линейки",
   "Common.Views.Header.textHideStatusBar": "Скрыть строку состояния",
   "Common.Views.Header.textRemoveFavorite": "Удалить из избранного",
@@ -1352,8 +1356,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Проверка орфографии",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Отключить все",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Отключить все макросы без уведомления",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Темная",
-  "PE.Views.FileMenuPanels.Settings.txtThemeLight": "Светлая",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Показывать уведомление",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Отключить все макросы с уведомлением",
   "PE.Views.FileMenuPanels.Settings.txtWin": "как Windows",
@@ -1904,7 +1906,7 @@
   "PE.Views.Toolbar.textUnderline": "Подчеркнутый",
   "PE.Views.Toolbar.tipAddSlide": "Добавить слайд",
   "PE.Views.Toolbar.tipBack": "Назад",
-  "PE.Views.Toolbar.tipChangeCase:": "Изменить регистр",
+  "PE.Views.Toolbar.tipChangeCase": "Изменить регистр",
   "PE.Views.Toolbar.tipChangeChart": "Изменить тип диаграммы",
   "PE.Views.Toolbar.tipChangeSlide": "Изменить макет слайда",
   "PE.Views.Toolbar.tipClearStyle": "Очистить стиль",
diff --git a/apps/presentationeditor/main/locale/sk.json b/apps/presentationeditor/main/locale/sk.json
index 53197aed7..4d80f2919 100644
--- a/apps/presentationeditor/main/locale/sk.json
+++ b/apps/presentationeditor/main/locale/sk.json
@@ -106,7 +106,6 @@
   "Common.Views.Header.textAdvSettings": "Pokročilé nastavenia",
   "Common.Views.Header.textBack": "Prejsť do Dokumentov",
   "Common.Views.Header.textCompactView": "Skryť panel s nástrojmi",
-  "Common.Views.Header.textDarkTheme": "Tmavá téma",
   "Common.Views.Header.textHideLines": "Skryť pravítka",
   "Common.Views.Header.textHideStatusBar": "Schovať stavový riadok",
   "Common.Views.Header.textSaveBegin": "Ukladanie ...",
@@ -1128,7 +1127,6 @@
   "PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Kontrola pravopisu",
   "PE.Views.FileMenuPanels.Settings.txtStopMacros": "Zablokovať všetko",
   "PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Zablokovať všetky makrá bez upozornenia",
-  "PE.Views.FileMenuPanels.Settings.txtThemeDark": "Tmavý",
   "PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Zablokovať všetky makrá s upozornením",
   "PE.Views.FileMenuPanels.Settings.txtWin": "ako Windows",
   "PE.Views.HeaderFooterDialog.applyAllText": "Použiť na všetko",
diff --git a/apps/presentationeditor/main/resources/less/app.less b/apps/presentationeditor/main/resources/less/app.less
index 5b82f595b..7ec5f06f5 100644
--- a/apps/presentationeditor/main/resources/less/app.less
+++ b/apps/presentationeditor/main/resources/less/app.less
@@ -10,6 +10,7 @@
 // Bootstrap overwrite
 @import "../../../../common/main/resources/less/variables.less";
 @import "../../../../common/main/resources/less/colors-table.less";
+@import "../../../../common/main/resources/less/colors-table-classic.less";
 @import "../../../../common/main/resources/less/colors-table-dark.less";
 
 //
diff --git a/apps/presentationeditor/main/resources/less/document-preview.less b/apps/presentationeditor/main/resources/less/document-preview.less
index 96bdb1379..97729c3db 100644
--- a/apps/presentationeditor/main/resources/less/document-preview.less
+++ b/apps/presentationeditor/main/resources/less/document-preview.less
@@ -20,7 +20,8 @@
 
     #preview-label-slides {
         font: bold 11px Helvetica, Arial, Verdana, sans-serif;
-        color: #666666;
+        color: @text-normal-ie;
+        color: @text-normal;
         text-shadow: none;
         white-space: nowrap;
         cursor: pointer;
diff --git a/apps/spreadsheeteditor/embed/js/ApplicationController.js b/apps/spreadsheeteditor/embed/js/ApplicationController.js
index 6833f554a..fd7407ce2 100644
--- a/apps/spreadsheeteditor/embed/js/ApplicationController.js
+++ b/apps/spreadsheeteditor/embed/js/ApplicationController.js
@@ -165,7 +165,7 @@ SSE.ApplicationController = new(function(){
 
     function onPrint() {
         if ( permissions.print!==false )
-            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+            api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
     }
 
     function onPrintUrl(url) {
@@ -223,7 +223,7 @@ SSE.ApplicationController = new(function(){
                     common.utils.openLink(embedConfig.saveUrl);
                 } else
                 if (permissions.print!==false){
-                    api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                    api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                 }
 
                 Common.Analytics.trackEvent('Save');
@@ -231,7 +231,7 @@ SSE.ApplicationController = new(function(){
 
         SSE.ApplicationView.tools.get('#idt-print')
             .on('click', function(){
-                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera));
+                api.asc_Print(new Asc.asc_CDownloadOptions(null, $.browser.chrome || $.browser.safari || $.browser.opera || $.browser.mozilla && $.browser.versionNumber>86));
                 Common.Analytics.trackEvent('Print');
             });
 
diff --git a/apps/spreadsheeteditor/main/app/controller/CellEditor.js b/apps/spreadsheeteditor/main/app/controller/CellEditor.js
index 085c417e0..8a9beecf1 100644
--- a/apps/spreadsheeteditor/main/app/controller/CellEditor.js
+++ b/apps/spreadsheeteditor/main/app/controller/CellEditor.js
@@ -190,11 +190,15 @@ define([
         onLayoutResize: function(o, r) {
             if (r == 'cell:edit') {
                 if (Math.floor(this.editor.$el.height()) > 19) {
-                    if (!this.editor.$btnexpand.hasClass('btn-collapse'))
+                    if (!this.editor.$btnexpand.hasClass('btn-collapse')) {
+                        this.editor.$el.addClass('expanded');
                         this.editor.$btnexpand['addClass']('btn-collapse');
+                    }
+
                     o && Common.localStorage.setItem('sse-celleditor-height', this.editor.$el.height());
                     o && Common.localStorage.setBool('sse-celleditor-expand', true);
                 } else {
+                    this.editor.$el.removeClass('expanded');
                     this.editor.$btnexpand['removeClass']('btn-collapse');
                     o && Common.localStorage.setBool('sse-celleditor-expand', false);
                 }
@@ -232,10 +236,12 @@ define([
             if ( Math.floor(this.editor.$el.height()) > 19) {
                 this.editor.keep_height = this.editor.$el.height();
                 this.editor.$el.height(19);
+                this.editor.$el.removeClass('expanded');
                 this.editor.$btnexpand['removeClass']('btn-collapse');
                 Common.localStorage.setBool('sse-celleditor-expand', false);
             } else {
                 this.editor.$el.height(this.editor.keep_height);
+                this.editor.$el.addClass('expanded');
                 this.editor.$btnexpand['addClass']('btn-collapse');
                 Common.localStorage.setBool('sse-celleditor-expand', true);
             }
diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js
index fa9ab1001..987d50054 100644
--- a/apps/spreadsheeteditor/main/app/controller/Main.js
+++ b/apps/spreadsheeteditor/main/app/controller/Main.js
@@ -142,7 +142,9 @@ define([
                         'Days': this.txtDays,
                         'Months': this.txtMonths,
                         'Quarters': this.txtQuarters,
-                        'Years': this.txtYears
+                        'Years': this.txtYears,
+                        '%1 or %2': this.txtOr,
+                        'Qtr': this.txtQuarter
                     };
 
                 styleNames.forEach(function(item){
@@ -2919,7 +2921,9 @@ define([
             leavePageTextOnClose: 'All unsaved changes in this document will be lost.<br> Click \'Cancel\' then \'Save\' to save them. Click \'OK\' to discard all the unsaved changes.',
             errorPasteMultiSelect: 'This action cannot be done on a multiple range selection.<br>Select a single range and try again.',
             textTryUndoRedoWarn: 'The Undo/Redo functions are disabled for the Fast co-editing mode.',
-            errorPivotWithoutUnderlying: 'The Pivot Table report was saved without the underlying data.<br>Use the \'Refresh\' button to update the report.'
+            errorPivotWithoutUnderlying: 'The Pivot Table report was saved without the underlying data.<br>Use the \'Refresh\' button to update the report.',
+            txtQuarter: 'Qtr',
+            txtOr: '%1 or %2'
         }
     })(), SSE.Controllers.Main || {}))
 });
diff --git a/apps/spreadsheeteditor/main/app/controller/Print.js b/apps/spreadsheeteditor/main/app/controller/Print.js
index db4168a58..6f22a4959 100644
--- a/apps/spreadsheeteditor/main/app/controller/Print.js
+++ b/apps/spreadsheeteditor/main/app/controller/Print.js
@@ -310,7 +310,7 @@ define([
                     Common.localStorage.setItem("sse-print-settings-range", printtype);
 
                     if ( this.printSettingsDlg.type=='print' ) {
-                        var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera);
+                        var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isSafari || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86);
                         opts.asc_setAdvancedOptions(this.adjPrintParams);
                         this.api.asc_Print(opts);
                     } else {
diff --git a/apps/spreadsheeteditor/main/app/controller/ViewTab.js b/apps/spreadsheeteditor/main/app/controller/ViewTab.js
index b4c07e636..80c9e29a4 100644
--- a/apps/spreadsheeteditor/main/app/controller/ViewTab.js
+++ b/apps/spreadsheeteditor/main/app/controller/ViewTab.js
@@ -156,7 +156,12 @@ define([
                     caption : item.asc_getName(),
                     checkable: true,
                     allowDepress: false,
-                    checked : item.asc_getIsActive()
+                    checked : item.asc_getIsActive(),
+                    template    : _.template([
+                        '<a id="<%= id %>" style="<%= style %>" tabindex="-1" type="menuitem">',
+                        '<%= Common.Utils.String.htmlEncode(caption) %>',
+                        '</a>'
+                    ].join(''))
                 }));
                 if (item.asc_getIsActive())
                     active = true;
diff --git a/apps/spreadsheeteditor/main/app/template/Toolbar.template b/apps/spreadsheeteditor/main/app/template/Toolbar.template
index 624f73351..d78278a2d 100644
--- a/apps/spreadsheeteditor/main/app/template/Toolbar.template
+++ b/apps/spreadsheeteditor/main/app/template/Toolbar.template
@@ -6,7 +6,7 @@
     </section>
     <section class="box-controls">
         <section class="panel static">
-            <div class="group no-mask">
+            <div class="group no-mask small">
                 <div class="elset">
                     <span class="btn-slot" id="slot-btn-print"></span>
                 </div>
@@ -15,7 +15,7 @@
                 </div>
             </div>
             <div class="separator long"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-copy"></span>
                     <span class="btn-slot" id="slot-btn-paste"></span>
@@ -29,7 +29,7 @@
         </section>
         <section class="box-panels">
             <section class="panel" data-tab="home">
-                <div class="group">
+                <div class="group small">
                     <div class="elset font-attr-top">
                         <span class="btn-slot" id="slot-field-fontname"></span>
                         <span class="btn-slot" id="slot-field-fontsize"></span>
@@ -48,7 +48,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split-small" id="slot-btn-top"></span>
                         <span class="btn-slot split-small" id="slot-btn-middle"></span>
@@ -65,7 +65,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-formula"></span>
                     </div>
@@ -74,7 +74,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split slot-sortdesc"></span>
                         <span class="btn-slot slot-sortasc"></span>
@@ -85,7 +85,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot" id="slot-btn-format" style="width: 100%"></span>
                     </div>
@@ -97,7 +97,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-cell-ins"></span>
                     </div>
@@ -106,7 +106,7 @@
                     </div>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot split" id="slot-btn-clear"></span>
                         <span class="btn-slot split" id="slot-btn-condformat"></span>
@@ -116,7 +116,7 @@
                         <span class="btn-slot split" id="slot-btn-table-tpl"></span>
                     </div>
                 </div>
-                <div class="group" id="slot-field-styles" style="width: 100%; min-width: 168px;"></div>
+                <div class="group small" id="slot-field-styles" style="width: 100%; min-width: 168px;"></div>
             </section>
             <section class="panel" data-tab="ins">
                 <div class="group">
@@ -213,7 +213,7 @@
                         <span class="btn-slot slot-sortasc"></span>
                     </div>
                 </div>
-                <div class="group" style="padding-left: 0;">
+                <div class="group">
                     <span class="btn-slot text x-huge" id="slot-btn-custom-sort"></span>
                 </div>
                 <div class="separator long"></div>
@@ -240,7 +240,7 @@
                 <div class="group sheet-views">
                     <span class="btn-slot text x-huge" id="slot-btn-sheet-view"></span>
                 </div>
-                <div class="group sheet-views" style="padding-left: 5px;">
+                <div class="group sheet-views small">
                     <div class="elset">
                         <span class="btn-slot text" id="slot-createview"></span>
                     </div>
@@ -249,7 +249,7 @@
                     </div>
                 </div>
                 <div class="separator long sheet-views"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset" style="display: flex;">
                         <span class="btn-slot" id="slot-field-zoom" style="flex-grow: 1;"></span>
                     </div>
@@ -262,7 +262,7 @@
                     <span class="btn-slot text x-huge" id="slot-btn-freeze"></span>
                 </div>
                 <div class="separator long"></div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot text" id="slot-chk-formula"></span>
                     </div>
@@ -270,7 +270,7 @@
                         <span class="btn-slot text" id="slot-chk-heading"></span>
                     </div>
                 </div>
-                <div class="group">
+                <div class="group small">
                     <div class="elset">
                         <span class="btn-slot text" id="slot-chk-gridlines"></span>
                     </div>
diff --git a/apps/spreadsheeteditor/main/app/template/ToolbarAnother.template b/apps/spreadsheeteditor/main/app/template/ToolbarAnother.template
index 7bced25b7..cc642b5ad 100644
--- a/apps/spreadsheeteditor/main/app/template/ToolbarAnother.template
+++ b/apps/spreadsheeteditor/main/app/template/ToolbarAnother.template
@@ -4,7 +4,7 @@
         <!-- Edit diagram mode -->
         <!----------------------->
         <section class="simple-bar">
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-copy"></span>
                     <span class="btn-slot split" id="slot-btn-paste"></span>
@@ -13,13 +13,13 @@
                 </div>
             </div>
             <div class="separator short"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-formula"></span>
                 </div>
             </div>
             <div class="separator short"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-digit-dec"></span>
                     <span class="btn-slot split" id="slot-btn-digit-inc"></span>
@@ -27,7 +27,7 @@
                 </div>
             </div>
             <div class="separator short"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot text" id="slot-btn-chart-data"></span>
                     <span class="btn-slot text" id="slot-btn-chart-type" style="margin-left: 12px;"></span>
@@ -41,7 +41,7 @@
         <!-- Edit mail merge mode -->
         <!----------------------->
         <section class="simple-bar">
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-copy"></span>
                     <span class="btn-slot split" id="slot-btn-paste"></span>
@@ -50,21 +50,21 @@
                 </div>
             </div>
             <div class="separator short"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-sortdesc"></span>
                     <span class="btn-slot" id="slot-btn-sortasc"></span>
                 </div>
             </div>
             <div class="separator short" style="margin-left: 5px;"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot split" id="slot-btn-setfilter"></span>
                     <span class="btn-slot" id="slot-btn-clear-filter"></span>
                 </div>
             </div>
             <div class="separator short"></div>
-            <div class="group">
+            <div class="group small">
                 <div class="elset">
                     <span class="btn-slot" id="slot-btn-search"></span>
                 </div>
diff --git a/apps/spreadsheeteditor/main/app/view/ChartSettings.js b/apps/spreadsheeteditor/main/app/view/ChartSettings.js
index 3ca5d4ed0..bf2b95ec4 100644
--- a/apps/spreadsheeteditor/main/app/view/ChartSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/ChartSettings.js
@@ -1128,14 +1128,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0.01 || value>1584) {
                     this._state.LineWeight = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                Common.NotificationCenter.trigger('edit:complete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    Common.NotificationCenter.trigger('edit:complete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
diff --git a/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js b/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js
index 3a231213e..dd9f3ce11 100644
--- a/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js
+++ b/apps/spreadsheeteditor/main/app/view/ChartSettingsDlg.js
@@ -394,10 +394,10 @@ define([    'text!spreadsheeteditor/main/app/template/ChartSettingsDlg.template'
                         var value;
                         switch (record.value) {
                             case Asc.c_oAscCrossesRule.minValue:
-                                me.spnVAxisCrosses[i].setValue(me.spnMinValue.getNumberValue(), true);
+                                me.spnVAxisCrosses[i].setValue(me.spnMinValue[i].getNumberValue(), true);
                                 break;
                             case Asc.c_oAscCrossesRule.maxValue:
-                                me.spnVAxisCrosses[i].setValue(me.spnMaxValue.getNumberValue(), true);
+                                me.spnVAxisCrosses[i].setValue(me.spnMaxValue[i].getNumberValue(), true);
                                 break;
                             case Asc.c_oAscCrossesRule.auto:
                                 me.spnVAxisCrosses[i].setValue(me._originalAxisVValues[i].crossesAuto, true);
diff --git a/apps/spreadsheeteditor/main/app/view/ChartTypeDialog.js b/apps/spreadsheeteditor/main/app/view/ChartTypeDialog.js
index 0fdeeef17..ba3f190ee 100644
--- a/apps/spreadsheeteditor/main/app/view/ChartTypeDialog.js
+++ b/apps/spreadsheeteditor/main/app/view/ChartTypeDialog.js
@@ -193,7 +193,7 @@ define([
                     '<div class="list-item" style="width: 100%;" id="chart-type-dlg-item-<%= seriesIndex %>">',
                         '<div style="width:8px;height:12px;display: inline-block;vertical-align: middle;" id="chart-type-dlg-series-preview-<%= seriesIndex %>"></div>',
                         '<div style="width:95px;padding-left: 5px;display: inline-block;vertical-align: middle;overflow: hidden; text-overflow: ellipsis;white-space: nowrap;"><%= value %></div>',
-                        '<div style="width: 110px;padding-left: 5px;display: inline-block;vertical-align: middle;color: initial;"><div id="chart-type-dlg-cmb-series-<%= seriesIndex %>" class="input-group-nr" style=""></div></div>',
+                        '<div style="width: 110px;padding-left: 5px;display: inline-block;vertical-align: middle;"><div id="chart-type-dlg-cmb-series-<%= seriesIndex %>" class="input-group-nr" style=""></div></div>',
                         '<div style="padding-left: 55px;display: inline-block;vertical-align: middle;"><div id="chart-type-dlg-chk-series-<%= seriesIndex %>" style=""></div></div>',
                     '</div>'
                 ].join(''))
@@ -285,14 +285,19 @@ define([
                 return;
             }
 
-            this.btnChartType.setIconCls('svgicon ' + 'chart-' + rawData.iconCls);
-            this.currentChartType = rawData.type;
-            this.chartSettings.changeType(this.currentChartType);
-            this.ShowHideSettings(this.currentChartType);
-            if (isCombo)
-                this.updateSeriesList(this.chartSettings.getSeries());
-            else
-                this.updateChartStyles(this.api.asc_getChartPreviews(this.currentChartType));
+            var res = this.chartSettings.changeType(rawData.type);
+            if (res) {
+                this.btnChartType.setIconCls('svgicon ' + 'chart-' + rawData.iconCls);
+                this.currentChartType = rawData.type;
+                this.ShowHideSettings(this.currentChartType);
+                if (isCombo)
+                    this.updateSeriesList(this.chartSettings.getSeries());
+                else
+                    this.updateChartStyles(this.api.asc_getChartPreviews(this.currentChartType));
+            } else {
+                picker.selectRecord(picker.store.findWhere({type: this.currentChartType}), true);
+            }
+
         },
 
         updateChartStyles: function(styles) {
@@ -388,7 +393,7 @@ define([
                 template: _.template([
                     '<span class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle no-highlighted" tabindex="0" data-toggle="dropdown">',
                         '<input type="text" class="form-control" spellcheck="false">',
-                        '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" data-target="' + id + '"><span class="caret img-commonctrl"></span></button>',
+                        '<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" data-target="' + id + '"><span class="caret"></span></button>',
                     '</span>'
                 ].join(''))
             });
diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
index 020579857..50ea207fa 100644
--- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
+++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
@@ -1009,10 +1009,6 @@ define([
                 style       : 'width: 160px;',
                 editable    : false,
                 cls         : 'input-group-nr',
-                data        : [
-                    { value: Common.UI.Themes.THEME_LIGHT_ID, displayValue: this.txtThemeLight },
-                    { value: Common.UI.Themes.THEME_DARK_ID, displayValue: this.txtThemeDark }
-                ]
             });
 
             $markup.find('.btn.primary').each(function(index, el){
@@ -1178,8 +1174,16 @@ define([
 
             this.chPaste.setValue(Common.Utils.InternalSettings.get("sse-settings-paste-button"));
 
-            item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.current()});
-            this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.THEME_LIGHT_ID);
+            var data = [];
+            for (var t in Common.UI.Themes.map()) {
+                data.push({value: t, displayValue: Common.UI.Themes.get(t).text});
+            }
+
+            if ( data.length ) {
+                this.cmbTheme.setData(data);
+                item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()});
+                this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId());
+            }
         },
 
         applySettings: function() {
diff --git a/apps/spreadsheeteditor/main/app/view/FormulaWizard.js b/apps/spreadsheeteditor/main/app/view/FormulaWizard.js
index 212f6eaf8..63dfe88be 100644
--- a/apps/spreadsheeteditor/main/app/view/FormulaWizard.js
+++ b/apps/spreadsheeteditor/main/app/view/FormulaWizard.js
@@ -292,7 +292,7 @@ define([
             var res = me.api.asc_insertArgumentsInFormula(me.getArgumentsValue(), index, arg.argType, this.funcprops ? this.funcprops.origin : undefined),
                 argres = res ? res.asc_getArgumentsResult() : undefined;
             argres = argres ? argres[index] : undefined;
-            arg.lblValue.html('= '+ (argres!==null && argres !==undefined ? argres : '<span style="opacity: 0.5; font-weight: bold;">' + arg.argTypeName + '</span>' ));
+            arg.lblValue.html('= '+ (argres!==null && argres !==undefined ? argres : '<span style="opacity: 0.6; font-weight: bold;">' + arg.argTypeName + '</span>' ));
 
             var result = res ? res.asc_getFunctionResult() : undefined;
             me.lblFunctionResult.html('= ' + ((result!==undefined && result!==null)? result : ''));
diff --git a/apps/spreadsheeteditor/main/app/view/HyperlinkSettingsDialog.js b/apps/spreadsheeteditor/main/app/view/HyperlinkSettingsDialog.js
index e1d31ad34..b8eb52361 100644
--- a/apps/spreadsheeteditor/main/app/view/HyperlinkSettingsDialog.js
+++ b/apps/spreadsheeteditor/main/app/view/HyperlinkSettingsDialog.js
@@ -504,6 +504,7 @@ define([
                     this.inputDisplay.setValue(name);
                 } else {
                     var val = this.inputRange.getValue();
+                    name = this.api.asc_getEscapeSheetName(name);
                     name = (name + ((name!=='' && val!=='') ? '!' : '') + val);
                 }
                 name && Common.Gateway.requestMakeActionLink({
diff --git a/apps/spreadsheeteditor/main/app/view/NameManagerDlg.js b/apps/spreadsheeteditor/main/app/view/NameManagerDlg.js
index 2b73ebff3..30c353c5c 100644
--- a/apps/spreadsheeteditor/main/app/view/NameManagerDlg.js
+++ b/apps/spreadsheeteditor/main/app/view/NameManagerDlg.js
@@ -123,7 +123,7 @@ define([  'text!spreadsheeteditor/main/app/template/NameManagerDlg.template',
                 itemTemplate: _.template([
                         '<div id="<%= id %>" class="list-item" style="width: 100%;display:inline-block;<% if (!lock) { %>pointer-events:none;<% } %>">',
                             '<div class="listitem-icon toolbar__icon <% print(isTable?"btn-menu-table":(isSlicer ? "btn-slicer" : "btn-named-range")) %>"></div>',
-                            '<div style="width:141px;padding-right: 5px;"><%= name %></div>',
+                            '<div style="width:141px;padding-right: 5px;"><%= Common.Utils.String.htmlEncode(name) %></div>',
                             '<div style="width:117px;padding-right: 5px;"><%= scopeName %></div>',
                             '<div style="width:204px;"><%= range %></div>',
                             '<% if (lock) { %>',
diff --git a/apps/spreadsheeteditor/main/app/view/NamedRangePasteDlg.js b/apps/spreadsheeteditor/main/app/view/NamedRangePasteDlg.js
index a977ac207..50fc84325 100644
--- a/apps/spreadsheeteditor/main/app/view/NamedRangePasteDlg.js
+++ b/apps/spreadsheeteditor/main/app/view/NamedRangePasteDlg.js
@@ -95,7 +95,7 @@ define([
                     '<div style="pointer-events:none;">',
                         '<div id="<%= id %>" class="list-item" style="pointer-events:none;width: 100%;display:inline-block;">',
                             '<div class="listitem-icon toolbar__icon <% print(isTable?"btn-menu-table":(isSlicer ? "btn-slicer" : "btn-named-range")) %>"></div>',
-                            '<div style="width:186px;padding-right: 5px;"><%= name %></div>',
+                            '<div style="width:186px;padding-right: 5px;"><%= Common.Utils.String.htmlEncode(name) %></div>',
                         '</div>',
                     '</div>'
                 ].join(''))
diff --git a/apps/spreadsheeteditor/main/app/view/ParagraphSettingsAdvanced.js b/apps/spreadsheeteditor/main/app/view/ParagraphSettingsAdvanced.js
index 3d06cc453..06775e9c6 100644
--- a/apps/spreadsheeteditor/main/app/view/ParagraphSettingsAdvanced.js
+++ b/apps/spreadsheeteditor/main/app/view/ParagraphSettingsAdvanced.js
@@ -412,7 +412,7 @@ define([    'text!spreadsheeteditor/main/app/template/ParagraphSettingsAdvanced.
             ];
         },
 
-        onCategoryClick: function(btn, index) {
+        onCategoryClick: function(btn, index, cmp, e) {
             Common.Views.AdvancedSettingsWindow.prototype.onCategoryClick.call(this, btn, index);
 
             var me = this;
@@ -423,6 +423,8 @@ define([    'text!spreadsheeteditor/main/app/template/ParagraphSettingsAdvanced.
                         break;
                     case 1:
                         me.chStrike.focus();
+                        if (e && (e instanceof jQuery.Event))
+                            me.api.asc_setDrawImagePlaceParagraph('paragraphadv-font-img', me._originalProps || new Asc.asc_CParagraphProperty());
                         break;
                     case 2:
                         me.numDefaultTab.focus();
@@ -431,6 +433,10 @@ define([    'text!spreadsheeteditor/main/app/template/ParagraphSettingsAdvanced.
             }, 10);
         },
 
+        onAnimateAfter: function() {
+            (this.getActiveCategory()==1) && this.api.asc_setDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps || new Asc.asc_CParagraphProperty());
+        },
+
         getSettings: function() {
             if ( this._tabListChanged ) {
                 if (this._changedProps.asc_getTabs()===null || this._changedProps.asc_getTabs()===undefined)
@@ -489,8 +495,6 @@ define([    'text!spreadsheeteditor/main/app/template/ParagraphSettingsAdvanced.
 
                 this.numSpacing.setValue((props.asc_getTextSpacing() !== null && props.asc_getTextSpacing() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(props.asc_getTextSpacing()) : '', true);
 
-                this.api.asc_setDrawImagePlaceParagraph('paragraphadv-font-img', this._originalProps);
-
                 // Tabs
                 this.numDefaultTab.setValue((props.asc_getDefaultTab() !== null && props.asc_getDefaultTab() !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(parseFloat(props.asc_getDefaultTab().toFixed(1))) : '', true);
 
diff --git a/apps/spreadsheeteditor/main/app/view/PivotGroupDialog.js b/apps/spreadsheeteditor/main/app/view/PivotGroupDialog.js
index efa5bc6db..5a5dee0ea 100644
--- a/apps/spreadsheeteditor/main/app/view/PivotGroupDialog.js
+++ b/apps/spreadsheeteditor/main/app/view/PivotGroupDialog.js
@@ -242,9 +242,11 @@ define([
             if (rangePr) {
                 this.chStart.setValue(rangePr.asc_getAutoStart(), true);
                 this.chEnd.setValue(rangePr.asc_getAutoEnd(), true);
-                this.inputStart.setValue((dateTypes ? rangePr.asc_getStartDateText() : rangePr.asc_getStartNum()) || '');
-                this.inputEnd.setValue((dateTypes ? rangePr.asc_getEndDateText() : rangePr.asc_getEndNum()) || '');
-                !dateTypes && this.inputBy.setValue(rangePr.asc_getGroupInterval() || '');
+                var value = dateTypes ? rangePr.asc_getStartDateText() : rangePr.asc_getStartNum();
+                this.inputStart.setValue(value!==null && value!==undefined ? value : '');
+                value = dateTypes ? rangePr.asc_getEndDateText() : rangePr.asc_getEndNum();
+                this.inputEnd.setValue(value!==null && value!==undefined ? value : '');
+                !dateTypes && this.inputBy.setValue(rangePr.asc_getGroupInterval());
                 this.rangePr = rangePr;
                 if (defRangePr) {
                     this.defRangePr = {start: dateTypes ? defRangePr.asc_getStartDateText() : defRangePr.asc_getStartNum(), end: dateTypes ? defRangePr.asc_getEndDateText() : defRangePr.asc_getEndNum()};
@@ -259,7 +261,7 @@ define([
                     if (item == Asc.c_oAscGroupBy.Days)
                         isDays = true;
                 });
-                this.spnDays.setValue(rangePr.asc_getGroupInterval() || '');
+                this.spnDays.setValue(rangePr.asc_getGroupInterval());
                 this.spnDays.setDisabled(!isDays || dateTypes.length>1);
                 this.btnOk.setDisabled(dateTypes.length<1);
                 this.dateTypes = dateTypes;
diff --git a/apps/spreadsheeteditor/main/app/view/PivotTable.js b/apps/spreadsheeteditor/main/app/view/PivotTable.js
index 0598af43e..0b6be6938 100644
--- a/apps/spreadsheeteditor/main/app/view/PivotTable.js
+++ b/apps/spreadsheeteditor/main/app/view/PivotTable.js
@@ -71,7 +71,7 @@ define([
                     '<span id="slot-btn-select-pivot" class="btn-slot text x-huge"></span>' +
                 '</div>' +
                 '<div class="separator long"></div>' +
-                '<div class="group">' +
+                '<div class="group small">' +
                     '<div class="elset">' +
                         '<span class="btn-slot text" id="slot-chk-header-row"></span>' +
                     '</div>' +
@@ -79,7 +79,7 @@ define([
                         '<span class="btn-slot text" id="slot-chk-header-column"></span>' +
                     '</div>' +
                 '</div>' +
-                '<div class="group">' +
+                '<div class="group small">' +
                     '<div class="elset">' +
                         '<span class="btn-slot text" id="slot-chk-banded-row"></span>' +
                     '</div>' +
@@ -87,7 +87,7 @@ define([
                         '<span class="btn-slot text" id="slot-chk-banded-column"></span>' +
                     '</div>' +
                 '</div>' +
-                '<div class="group flex" id="slot-field-pivot-styles" style="width: 336px;max-width: 336px;min-width: 115px;" data-group-width="336px">' +
+                '<div class="group flex small" id="slot-field-pivot-styles" style="width: 336px;max-width: 336px;min-width: 115px;" data-group-width="336px">' +
                 '</div>' +
             '</section>';
 
diff --git a/apps/spreadsheeteditor/main/app/view/ShapeSettings.js b/apps/spreadsheeteditor/main/app/view/ShapeSettings.js
index 6fb27fc46..0b5a3b1b9 100644
--- a/apps/spreadsheeteditor/main/app/view/ShapeSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/ShapeSettings.js
@@ -604,14 +604,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                Common.NotificationCenter.trigger('edit:complete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    Common.NotificationCenter.trigger('edit:complete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js
index 12cae8351..53f4e456f 100644
--- a/apps/spreadsheeteditor/main/app/view/TableSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js
@@ -452,7 +452,7 @@ define([
                     this.mnuTableTemplatePicker.selectRecord(rec, true);
                     this.btnTableTemplate.resumeEvents();
 
-                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '48px', 'width': '63px', 'background-position': 'center', 'background-size': 'cover'});
+                    this.$el.find('.icon-template-table').css({'background-image': 'url(' + rec.get("imageUrl") + ')', 'height': '48px', 'width': '63px', 'background-position': 'center', 'background-size': 'auto 50px'});
 
                     this._state.TemplateName=value;
                 }
diff --git a/apps/spreadsheeteditor/main/app/view/TextArtSettings.js b/apps/spreadsheeteditor/main/app/view/TextArtSettings.js
index b0b4b315c..4ac500887 100644
--- a/apps/spreadsheeteditor/main/app/view/TextArtSettings.js
+++ b/apps/spreadsheeteditor/main/app/view/TextArtSettings.js
@@ -94,7 +94,8 @@ define([
                 GradColor: '000000',
                 GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR,
                 FormId: null,
-                DisabledControls: false
+                DisabledControls: false,
+                applicationPixelRatio: Common.Utils.applicationPixelRatio()
             };
             this.lockedControls = [];
             this._locked = false;
@@ -135,6 +136,7 @@ define([
             el.html(this.template({
                 scope: this
             }));
+            $(window).on('resize', _.bind(this.onWindowResize, this));
         },
 
         setApi: function(api) {
@@ -595,14 +597,16 @@ define([
                     expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$');
                 if (!(expr.exec(record.value)) || value<0 || value>1584) {
                     this._state.StrokeType = this._state.StrokeWidth = -1;
-                    Common.UI.error({
-                        msg: this.textBorderSizeErr,
-                        callback: function() {
-                            _.defer(function(btn) {
-                                Common.NotificationCenter.trigger('edit:complete', me);
-                            })
-                        }
-                    });
+                    setTimeout( function() {
+                        Common.UI.error({
+                            msg: me.textBorderSizeErr,
+                            callback: function() {
+                                _.defer(function(btn) {
+                                    Common.NotificationCenter.trigger('edit:complete', me);
+                                })
+                            }
+                        });
+                    }, 10);
                 }
             } else
                 this.applyBorderSize(record.value);
@@ -1543,22 +1547,17 @@ define([
         },
 
         fillTransform: function(transforms) {
-            if (transforms && transforms.length>1 && transforms[1]){
-                var me = this,
-                    artStore = [],
-                    arrTransforms = transforms[1];
-                for (var i=0; i<arrTransforms.length; i++) {
-                    var arr = arrTransforms[i];
-                    if (arr && arr.length>0)
-                        _.each(arr, function(item){
-                            artStore.push({
-                                imageUrl: item.Image,
-                                type    : item.Type,
-                                selected: false
-                            });
-                        });
+            if (transforms){
+                var artStore = [];
+                for (var i=0; i<transforms.length; i++) {
+                    var item = transforms[i];
+                    artStore.push({
+                        imageUrl: item.Image,
+                        type    : item.Type,
+                        selected: false
+                    });
                 }
-                this.cmbTransform.menuPicker.store.add(artStore);
+                this.cmbTransform.menuPicker.store.reset(artStore);
                 if (this.cmbTransform.menuPicker.store.length > 0) {
                     this.cmbTransform.fillComboView(this.cmbTransform.menuPicker.store.at(0),true);
                 }
@@ -1730,6 +1729,13 @@ define([
             }
         },
 
+        onWindowResize: function() {
+            if (!this._initSettings && this._state.applicationPixelRatio !== Common.Utils.applicationPixelRatio())
+                this.fillTransform(this.api.asc_getPropertyEditorTextArts());
+
+            this._state.applicationPixelRatio = Common.Utils.applicationPixelRatio();
+        },
+
         txtNoBorders            : 'No Line',
         strStroke               : 'Stroke',
         strColor                : 'Color',
diff --git a/apps/spreadsheeteditor/main/app/view/ViewManagerDlg.js b/apps/spreadsheeteditor/main/app/view/ViewManagerDlg.js
index b60151eb9..b9ba13f3f 100644
--- a/apps/spreadsheeteditor/main/app/view/ViewManagerDlg.js
+++ b/apps/spreadsheeteditor/main/app/view/ViewManagerDlg.js
@@ -118,7 +118,7 @@ define([
                 template: _.template(['<div class="listview inner" style=""></div>'].join('')),
                 itemTemplate: _.template([
                         '<div id="<%= id %>" class="list-item" style="width: 100%;height: 20px;display:inline-block;<% if (!lock) { %>pointer-events:none;<% } %>">',
-                            '<div style="width:100%;"><%= name %></div>',
+                            '<div style="width:100%;"><%= Common.Utils.String.htmlEncode(name) %></div>',
                             '<% if (lock) { %>',
                                 '<div class="lock-user"><%=lockuser%></div>',
                             '<% } %>',
diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html
index 4480d5f39..26e58915b 100644
--- a/apps/spreadsheeteditor/main/index.html
+++ b/apps/spreadsheeteditor/main/index.html
@@ -13,12 +13,16 @@
             --background-toolbar: #404040;
             --background-normal: #333;
             --border-toolbar: #2a2a2a;
-            --highlight-button-pressed: #606060;
+            --highlight-button-hover: #606060;
             --canvas-background: #666666;
             /*--canvas-content-background: #fff;*/
             --canvas-page-border: #555;
         }
 
+        .theme-classic-light {
+            --highlight-button-hover: #d8dadc;
+        }
+
         .loadmask {
             left: 0;
             top: 0;
@@ -88,7 +92,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/spreadsheeteditor/main/index.html.deploy b/apps/spreadsheeteditor/main/index.html.deploy
index f23b742c2..7a0e5eb6f 100644
--- a/apps/spreadsheeteditor/main/index.html.deploy
+++ b/apps/spreadsheeteditor/main/index.html.deploy
@@ -79,7 +79,7 @@
 
         .loadmask > .sktoolbar li {
             background: #ccc;
-            background: var(--highlight-button-pressed, #ccc);
+            background: var(--highlight-button-hover, #ccc);
             border-radius: 3px;
             width: 20px;
             height: 20px;
diff --git a/apps/spreadsheeteditor/main/locale/da.json b/apps/spreadsheeteditor/main/locale/da.json
index ac1b080ae..1bbb3e916 100644
--- a/apps/spreadsheeteditor/main/locale/da.json
+++ b/apps/spreadsheeteditor/main/locale/da.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Avancerede indstillinger",
   "Common.Views.Header.textBack": "Gå til dokumentplacering",
   "Common.Views.Header.textCompactView": "Skjul værktøjslinie",
-  "Common.Views.Header.textDarkTheme": "Mørkt tema",
   "Common.Views.Header.textHideLines": "Skjul lineal",
   "Common.Views.Header.textHideStatusBar": "Skjul statuslinie",
   "Common.Views.Header.textRemoveFavorite": "Fjern fra Favoritter",
@@ -1936,8 +1935,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Aktivér alle makroer uden meddelelse",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Deaktivér alle",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Deaktivér alle makroer uden meddelelse",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Mørk",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Lys",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Vis besked",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Deaktivér alle makroer med",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "som Windows",
diff --git a/apps/spreadsheeteditor/main/locale/de.json b/apps/spreadsheeteditor/main/locale/de.json
index 5da6a2e93..0d99f523c 100644
--- a/apps/spreadsheeteditor/main/locale/de.json
+++ b/apps/spreadsheeteditor/main/locale/de.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Erweiterte Einstellungen",
   "Common.Views.Header.textBack": "Dateispeicherort öffnen",
   "Common.Views.Header.textCompactView": "Symbolleiste ausblenden",
-  "Common.Views.Header.textDarkTheme": "Dunkelmodus",
   "Common.Views.Header.textHideLines": "Lineale verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusleiste verbergen",
   "Common.Views.Header.textRemoveFavorite": "Aus Favoriten entfernen",
@@ -1938,8 +1937,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Aktivieren aller Makros ohne Benachrichtigung",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Alle deaktivieren.",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Alle Makros ohne Benachrichtigung deaktivieren",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Dunkel",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Hell",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Benachrichtigungen anzeigen",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Alle Makros mit einer Benachrichtigung deaktivieren",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "wie Windows",
diff --git a/apps/spreadsheeteditor/main/locale/el.json b/apps/spreadsheeteditor/main/locale/el.json
index 677d5be68..34db83037 100644
--- a/apps/spreadsheeteditor/main/locale/el.json
+++ b/apps/spreadsheeteditor/main/locale/el.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Προηγμένες ρυθμίσεις",
   "Common.Views.Header.textBack": "Άνοιγμα τοποθεσίας αρχείου",
   "Common.Views.Header.textCompactView": "Απόκρυψη Γραμμής Εργαλείων",
-  "Common.Views.Header.textDarkTheme": "Σκούρο θέμα",
   "Common.Views.Header.textHideLines": "Απόκρυψη Χαράκων",
   "Common.Views.Header.textHideStatusBar": "Απόκρυψη Γραμμής Κατάστασης",
   "Common.Views.Header.textRemoveFavorite": "Αφαίρεση από τα Αγαπημένα",
@@ -1936,8 +1935,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Ενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Απενεργοποίηση όλων",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών χωρίς ειδοποίηση",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Σκούρο",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Ανοιχτό",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Εμφάνιση Ειδοποίησης",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Απενεργοποίηση όλων των μακροεντολών με μια ειδοποίηση",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "ως Windows",
diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json
index 12c179574..d26688949 100644
--- a/apps/spreadsheeteditor/main/locale/en.json
+++ b/apps/spreadsheeteditor/main/locale/en.json
@@ -100,6 +100,8 @@
   "Common.define.conditionalData.textValue": "Value is",
   "Common.define.conditionalData.textYesterday": "Yesterday",
   "Common.Translation.warnFileLocked": "The file is being edited in another app. You can continue editing and save it as a copy.",
+  "Common.Translation.warnFileLockedBtnEdit": "Create a copy",
+  "Common.Translation.warnFileLockedBtnView": "Open for viewing",
   "Common.UI.ColorButton.textAutoColor": "Automatic",
   "Common.UI.ColorButton.textNewColor": "Add New Custom Color",
   "Common.UI.ComboBorderSize.txtNoBorders": "No borders",
@@ -125,6 +127,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "The document has been changed by another user.<br>Please click to save your changes and reload the updates.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Standard Colors",
   "Common.UI.ThemeColorPalette.textThemeColors": "Theme Colors",
+  "Common.UI.Themes.txtThemeClassicLight": "Classic Light",
+  "Common.UI.Themes.txtThemeDark": "Dark",
+  "Common.UI.Themes.txtThemeLight": "Light",
   "Common.UI.Window.cancelButtonText": "Cancel",
   "Common.UI.Window.closeButtonText": "Close",
   "Common.UI.Window.noButtonText": "No",
@@ -195,7 +200,6 @@
   "Common.Views.Header.textAdvSettings": "Advanced settings",
   "Common.Views.Header.textBack": "Open file location",
   "Common.Views.Header.textCompactView": "Hide Toolbar",
-  "Common.Views.Header.textDarkTheme": "Dark theme",
   "Common.Views.Header.textHideLines": "Hide Rulers",
   "Common.Views.Header.textHideStatusBar": "Hide Status Bar",
   "Common.Views.Header.textRemoveFavorite": "Remove from Favorites",
@@ -766,6 +770,8 @@
   "SSE.Controllers.Main.txtPreparedBy": "Prepared by",
   "SSE.Controllers.Main.txtPrintArea": "Print_Area",
   "SSE.Controllers.Main.txtQuarters": "Quarters",
+  "SSE.Controllers.Main.txtQuarter": "Qtr",
+  "SSE.Controllers.Main.txtOr": "%1 or %2",
   "SSE.Controllers.Main.txtRectangles": "Rectangles",
   "SSE.Controllers.Main.txtRow": "Row",
   "SSE.Controllers.Main.txtRowLbls": "Row Labels",
@@ -2032,8 +2038,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Enable all macros without a notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Disable All",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Disable all macros without a notification",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Dark",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Light",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Show Notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Disable all macros with a notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "as Windows",
diff --git a/apps/spreadsheeteditor/main/locale/es.json b/apps/spreadsheeteditor/main/locale/es.json
index 4a3367fa8..6591d6e05 100644
--- a/apps/spreadsheeteditor/main/locale/es.json
+++ b/apps/spreadsheeteditor/main/locale/es.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Ajustes avanzados",
   "Common.Views.Header.textBack": "Abrir ubicación del archivo",
   "Common.Views.Header.textCompactView": "Esconder barra de herramientas",
-  "Common.Views.Header.textDarkTheme": "Tema oscuro",
   "Common.Views.Header.textHideLines": "Ocultar reglas",
   "Common.Views.Header.textHideStatusBar": "Ocultar barra de estado",
   "Common.Views.Header.textRemoveFavorite": "Eliminar de Favoritos",
@@ -1938,8 +1937,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Habilitar todas las macros sin notificación ",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Deshabilitar todo",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Deshabilitar todas las macros sin notificación",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Oscuro",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Claro",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Mostrar notificación",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Deshabilitar todas las macros con notificación",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "como Windows",
diff --git a/apps/spreadsheeteditor/main/locale/fr.json b/apps/spreadsheeteditor/main/locale/fr.json
index 57b5c97c3..0d220bae8 100644
--- a/apps/spreadsheeteditor/main/locale/fr.json
+++ b/apps/spreadsheeteditor/main/locale/fr.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Paramètres avancés",
   "Common.Views.Header.textBack": "Ouvrir l'emplacement du fichier",
   "Common.Views.Header.textCompactView": "Masquer la barre d'outils",
-  "Common.Views.Header.textDarkTheme": "Thème sombre",
   "Common.Views.Header.textHideLines": "Masquer les règles",
   "Common.Views.Header.textHideStatusBar": "Masquer la barre d'état",
   "Common.Views.Header.textRemoveFavorite": "Enlever des favoris",
@@ -1938,8 +1937,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Activer tous les macros sans notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Désactiver tout",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Désactiver tous les macros sans notification",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Sombre",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Clair",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Montrer  la notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Désactiver tous les macros avec notification",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "comme Windows",
diff --git a/apps/spreadsheeteditor/main/locale/hu.json b/apps/spreadsheeteditor/main/locale/hu.json
index 98d7fe71a..53513adbe 100644
--- a/apps/spreadsheeteditor/main/locale/hu.json
+++ b/apps/spreadsheeteditor/main/locale/hu.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Haladó beállítások",
   "Common.Views.Header.textBack": "Fájl helyének megnyitása",
   "Common.Views.Header.textCompactView": "Eszköztár elrejtése",
-  "Common.Views.Header.textDarkTheme": "Sötét téma",
   "Common.Views.Header.textHideLines": "Vonalzók elrejtése",
   "Common.Views.Header.textHideStatusBar": "Állapotsor elrejtése",
   "Common.Views.Header.textRemoveFavorite": "Eltávolítás a kedvencekből",
@@ -1936,8 +1935,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Minden értesítés nélküli makró engedélyezése",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Összes letiltása",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Minden értesítés nélküli makró letiltása",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Sötét",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Világos",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Értesítés mutatása",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Minden értesítéssel rendelkező makró letiltása",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "Windows-ként",
diff --git a/apps/spreadsheeteditor/main/locale/ja.json b/apps/spreadsheeteditor/main/locale/ja.json
index 2a5f39804..f595967cc 100644
--- a/apps/spreadsheeteditor/main/locale/ja.json
+++ b/apps/spreadsheeteditor/main/locale/ja.json
@@ -142,7 +142,6 @@
   "Common.Views.Header.textAdvSettings": "詳細設定",
   "Common.Views.Header.textBack": "文書URLを開く",
   "Common.Views.Header.textCompactView": "ツールバーを表示しない",
-  "Common.Views.Header.textDarkTheme": "ダークテーマ",
   "Common.Views.Header.textHideLines": "ルーラーを表示しない",
   "Common.Views.Header.textHideStatusBar": "ステータスバーを表示しない",
   "Common.Views.Header.textRemoveFavorite": "お気に入りから削除",
@@ -1928,8 +1927,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "マクロを有効にして、通知しない",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "全てを無効にする",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "マクロを無効にして、通知しない",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "ダーク",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "ライト",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "通知を表示する",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "マクロを無効にして、通知する",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "Windowsのような",
diff --git a/apps/spreadsheeteditor/main/locale/nl.json b/apps/spreadsheeteditor/main/locale/nl.json
index 65626a0d3..e7672af67 100644
--- a/apps/spreadsheeteditor/main/locale/nl.json
+++ b/apps/spreadsheeteditor/main/locale/nl.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Geavanceerde instellingen",
   "Common.Views.Header.textBack": "Open bestandlocatie",
   "Common.Views.Header.textCompactView": "Werkbalk Verbergen",
-  "Common.Views.Header.textDarkTheme": "Donker thema ",
   "Common.Views.Header.textHideLines": "Linialen verbergen",
   "Common.Views.Header.textHideStatusBar": "Statusbalk verbergen",
   "Common.Views.Header.textRemoveFavorite": "Verwijder uit favorieten",
@@ -1936,8 +1935,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Schakel alle macro's in zonder een notificatie",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Alles uitschakelen",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Schakel alle macro's uit zonder melding",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Donker",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "licht",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Weergeef notificatie",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Schakel alle macro's uit met een melding",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "als Windows",
diff --git a/apps/spreadsheeteditor/main/locale/ro.json b/apps/spreadsheeteditor/main/locale/ro.json
index f082b1383..7ad964997 100644
--- a/apps/spreadsheeteditor/main/locale/ro.json
+++ b/apps/spreadsheeteditor/main/locale/ro.json
@@ -144,7 +144,6 @@
   "Common.Views.Header.textAdvSettings": "Setări avansate",
   "Common.Views.Header.textBack": "Deschidere locația fișierului",
   "Common.Views.Header.textCompactView": "Ascundere bară de instrumente",
-  "Common.Views.Header.textDarkTheme": "Tema întunecată",
   "Common.Views.Header.textHideLines": "Ascundere rigle",
   "Common.Views.Header.textHideStatusBar": "Ascundere bară de stare",
   "Common.Views.Header.textRemoveFavorite": "Eliminare din Preferințe",
@@ -1936,8 +1935,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Se activează toate macrocomenzile, fără notificare",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Se dezactivează toate",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Se dezactivează toate macrocomenzile, fără notificare",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Întunecat",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Luminozitate",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Afișare notificări",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Se dezactivează toate macrocomenzile, cu notificare   ",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "ca Windows",
diff --git a/apps/spreadsheeteditor/main/locale/ru.json b/apps/spreadsheeteditor/main/locale/ru.json
index 17906a470..70d747319 100644
--- a/apps/spreadsheeteditor/main/locale/ru.json
+++ b/apps/spreadsheeteditor/main/locale/ru.json
@@ -49,6 +49,8 @@
   "Common.define.chartData.textSurface": "Поверхность",
   "Common.define.chartData.textWinLossSpark": "Выигрыш/проигрыш",
   "Common.Translation.warnFileLocked": "Файл редактируется в другом приложении. Вы можете продолжить редактирование и сохранить его как копию.",
+  "Common.Translation.warnFileLockedBtnEdit": "Создать копию",
+  "Common.Translation.warnFileLockedBtnView": "Открыть на просмотр",
   "Common.UI.ColorButton.textAutoColor": "Автоматический",
   "Common.UI.ColorButton.textNewColor": "Пользовательский цвет",
   "Common.UI.ComboBorderSize.txtNoBorders": "Без границ",
@@ -74,6 +76,9 @@
   "Common.UI.SynchronizeTip.textSynchronize": "Документ изменен другим пользователем.<br/>Нажмите, чтобы сохранить свои изменения и загрузить обновления.",
   "Common.UI.ThemeColorPalette.textStandartColors": "Стандартные цвета",
   "Common.UI.ThemeColorPalette.textThemeColors": "Цвета темы",
+  "Common.UI.Themes.txtThemeClassicLight": "Светлая классическая",
+  "Common.UI.Themes.txtThemeDark": "Темная",
+  "Common.UI.Themes.txtThemeLight": "Светлая",
   "Common.UI.Window.cancelButtonText": "Отмена",
   "Common.UI.Window.closeButtonText": "Закрыть",
   "Common.UI.Window.noButtonText": "Нет",
@@ -144,7 +149,6 @@
   "Common.Views.Header.textAdvSettings": "Дополнительные параметры",
   "Common.Views.Header.textBack": "Открыть расположение файла",
   "Common.Views.Header.textCompactView": "Скрыть панель инструментов",
-  "Common.Views.Header.textDarkTheme": "Темная тема",
   "Common.Views.Header.textHideLines": "Скрыть линейки",
   "Common.Views.Header.textHideStatusBar": "Скрыть строку состояния",
   "Common.Views.Header.textRemoveFavorite": "Удалить из избранного",
@@ -687,7 +691,9 @@
   "SSE.Controllers.Main.txtFiguredArrows": "Фигурные стрелки",
   "SSE.Controllers.Main.txtFile": "Файл",
   "SSE.Controllers.Main.txtGrandTotal": "Общий итог",
-  "SSE.Controllers.Main.txtGroup": "Сгруппировать",
+  "SSE.Controllers.Main.txtGroup": "Группа",
+  "SSE.Controllers.Main.txtQuarter": "Кв-л",
+  "SSE.Controllers.Main.txtOr": "%1 или %2",
   "SSE.Controllers.Main.txtHours": "Часы",
   "SSE.Controllers.Main.txtLines": "Линии",
   "SSE.Controllers.Main.txtMath": "Математические знаки",
@@ -1938,8 +1944,6 @@
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacrosDesc": "Включить все макросы без уведомления",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Отключить все",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Отключить все макросы без уведомления",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeDark": "Темная",
-  "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtThemeLight": "Светлая",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Показывать уведомление",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Отключить все макросы с уведомлением",
   "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "как Windows",
diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar/BorderSize@1.5x.png b/apps/spreadsheeteditor/main/resources/img/toolbar/BorderSize@1.5x.png
new file mode 100644
index 000000000..18d70bd14
Binary files /dev/null and b/apps/spreadsheeteditor/main/resources/img/toolbar/BorderSize@1.5x.png differ
diff --git a/apps/spreadsheeteditor/main/resources/less/app.less b/apps/spreadsheeteditor/main/resources/less/app.less
index fed2e5b4c..d0cd39be2 100644
--- a/apps/spreadsheeteditor/main/resources/less/app.less
+++ b/apps/spreadsheeteditor/main/resources/less/app.less
@@ -10,6 +10,7 @@
 // Bootstrap overwrite
 @import "../../../../common/main/resources/less/variables.less";
 @import "../../../../common/main/resources/less/colors-table.less";
+@import "../../../../common/main/resources/less/colors-table-classic.less";
 @import "../../../../common/main/resources/less/colors-table-dark.less";
 
 //
diff --git a/apps/spreadsheeteditor/main/resources/less/celleditor.less b/apps/spreadsheeteditor/main/resources/less/celleditor.less
index 1cf73a6e6..90fb81afc 100644
--- a/apps/spreadsheeteditor/main/resources/less/celleditor.less
+++ b/apps/spreadsheeteditor/main/resources/less/celleditor.less
@@ -4,20 +4,21 @@
     border-left: solid @scaled-one-px-value-ie @border-toolbar-ie;
     border-left: solid @scaled-one-px-value @border-toolbar;
     min-height: 20px;
-    background-color: @background-normal-ie;
-    background-color: @background-normal;
+    background-color: @background-toolbar-ie;
+    background-color: @background-toolbar;
 
     .ce-group-name {
         float: left;
         height: 20px;
-        border-bottom: @scaled-one-px-value-ie solid @border-toolbar-ie;
-        border-bottom: @scaled-one-px-value solid @border-toolbar;
+        //border-bottom: @scaled-one-px-value-ie solid @border-toolbar-ie;
+        //border-bottom: @scaled-one-px-value solid @border-toolbar;
         background-color: @background-toolbar-ie;
         background-color: @background-toolbar;
 
         #ce-cell-name {
             width: 100px;
             height: 19px;
+            height: calc(19px + (1px - 1px/var(--pixel-ratio-factor,1)));
             padding: 0px 19px 0 4px;
             vertical-align: top;
             display: inline-block;
@@ -26,6 +27,8 @@
             border-right: @scaled-one-px-value solid @border-toolbar;
             transition: none;
             -webkit-transition: none;
+            box-shadow: 0 @scaled-one-px-value-ie 0 0 @border-toolbar-ie;
+            box-shadow: 0 @scaled-one-px-value 0 0 @border-toolbar;
 
             &[disabled] {
                 color: @border-preview-select-ie;
@@ -53,7 +56,7 @@
                 &:active:not(.disabled),
                 &.active:not(.disabled){
                     .caret {
-                        background-position: @arrow-small-offset-x @arrow-small-offset-y;
+                        border-color: @icon-normal;
                     }
                 }
             }
@@ -75,9 +78,19 @@
         }
     }
 
+    &:not(.expanded) {
+        #ce-func-label {
+            border-bottom: @scaled-one-px-value-ie solid @border-toolbar-ie;
+            border-bottom: @scaled-one-px-value solid @border-toolbar;
+        }
+    }
+
     .ce-group-expand {
         float: right;
-        height: 20px;
+        //height: 20px;
+        height: 100%;
+        background-color: @background-normal-ie;
+        background-color: @background-normal;
     }
 
     .ce-group-content {
@@ -130,8 +143,8 @@
     padding: 0 2px 0;
 
     .caret {
-        background-position: @arrow-small-offset-x @arrow-small-offset-y;
         transition: transform .2s;
+        border-color: @icon-normal;
     }
 
     &.btn-collapse {
diff --git a/apps/spreadsheeteditor/main/resources/less/rightmenu.less b/apps/spreadsheeteditor/main/resources/less/rightmenu.less
index c9619e6cf..8daedd91f 100644
--- a/apps/spreadsheeteditor/main/resources/less/rightmenu.less
+++ b/apps/spreadsheeteditor/main/resources/less/rightmenu.less
@@ -208,23 +208,14 @@
 .combo-border-size.cell-border-type {
     img, .image {
         background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize.png)";
+        background-size: 60px auto;
 
-        @media only screen {
-          //@media (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 1.9),
-          //        (min-resolution: 1.5dppx) and (max-resolution: 1.9dppx),
-          //        (min-resolution: 144dpi) and (max-resolution: 191dpi)
-          //{
-          //    background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@1.5x.png)";
-          //    background-size:  60px auto;
-          //}
+        .pixel-ratio__1_5 & {
+            background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@1.5x.png)";
+        }
 
-            @media (-webkit-min-device-pixel-ratio: 2),
-            (min-resolution: 2dppx),
-            (min-resolution: 192dpi)
-            {
-                background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@2x.png)";
-                background-size: 60px auto;
-            }
+        .pixel-ratio__2 & {
+            background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@2x.png)";
         }
     }
 }
diff --git a/apps/spreadsheeteditor/main/resources/less/toolbar.less b/apps/spreadsheeteditor/main/resources/less/toolbar.less
index 1f6f0b9eb..e3a19c398 100644
--- a/apps/spreadsheeteditor/main/resources/less/toolbar.less
+++ b/apps/spreadsheeteditor/main/resources/less/toolbar.less
@@ -78,26 +78,19 @@
 #format-rules-borders-border-width {
     .border-size-item {
         background: ~"url(@{app-image-const-path}/toolbar/BorderSize.png) no-repeat scroll 0 0";
+        background-size: 60px auto;
         width: 60px;
         height: 20px;
         margin: -3px 10px -2px;
+        filter: @img-border-type-filter;
 
-        @media only screen {
-            //@media (-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 1.9),
-            //        (min-resolution: 1.5dppx) and (max-resolution: 1.9dppx),
-            //        (min-resolution: 144dpi) and (max-resolution: 191dpi)
-            //{
-            //    background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@1.5x.png)";
-            //    background-size:  60px auto;
-            //}
+        .pixel-ratio__1_5 & {
+            background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@1.5x.png)";
+            //background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@1.5x.png)";
+        }
 
-            @media (-webkit-min-device-pixel-ratio: 2),
-            (min-resolution: 2dppx),
-            (min-resolution: 192dpi)
-            {
-                background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@2x.png)";
-                background-size: 60px auto;
-            }
+        .pixel-ratio__2 & {
+            background-image: ~"url(@{app-image-const-path}/toolbar/BorderSize@2x.png)";
         }
     }
 }
@@ -159,6 +152,6 @@
 
 .combo-styles {
     .view, .dropdown-menu {
-        background-color: @canvas-content-background;
+        //background-color: @canvas-content-background;
     }
 }
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/mobile/app/controller/Main.js b/apps/spreadsheeteditor/mobile/app/controller/Main.js
index 009aac0d6..08872692e 100644
--- a/apps/spreadsheeteditor/mobile/app/controller/Main.js
+++ b/apps/spreadsheeteditor/mobile/app/controller/Main.js
@@ -1154,6 +1154,10 @@ define([
                         config.msg = errData && errData.asc_getError() ? Common.Utils.String.htmlEncode(errData.asc_getError()) : this.errorDataValidate;
                         break;
 
+                    case Asc.c_oAscError.ID.LockedCellPivot:
+                        config.msg = this.errorLockedCellPivot;
+                        break;
+
                     default:
                         config.msg = this.errorDefaultMessage.replace('%1', id);
                         break;
@@ -1195,6 +1199,7 @@ define([
                     config.buttons = [{ text: 'OK' }, { text: this.textCancel, onClick: config.callback }];
                 } else {
                     config.buttons = [{ text: 'OK', onClick: config.callback }];
+                    $('#ce-cell-content').blur();
                 }
                 uiApp.modal({
                     title   : config.title,
@@ -1796,7 +1801,8 @@ define([
             warnLicenseLimitedRenewed: 'License needs to be renewed.<br>You have a limited access to document editing functionality.<br>Please contact your administrator to get full access',
             warnLicenseLimitedNoAccess: 'License expired.<br>You have no access to document editing functionality.<br>Please contact your administrator.',
             textGuest: 'Guest',
-            errorDataValidate: 'The value you entered is not valid.<br>A user has restricted values that can be entered into this cell.'
+            errorDataValidate: 'The value you entered is not valid.<br>A user has restricted values that can be entered into this cell.',
+            errorLockedCellPivot: 'You cannot change data inside a pivot table.'
         }
     })(), SSE.Controllers.Main || {}))
 });
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/mobile/app/controller/edit/EditChart.js b/apps/spreadsheeteditor/mobile/app/controller/edit/EditChart.js
index 53872aa79..e81b34ca7 100644
--- a/apps/spreadsheeteditor/mobile/app/controller/edit/EditChart.js
+++ b/apps/spreadsheeteditor/mobile/app/controller/edit/EditChart.js
@@ -626,7 +626,7 @@ define([
 
             onBorderColor: function (palette, color) {
                 var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                    currentShape = _shapeObject ? _shapeObject.get_ShapeProperties() : null;
 
                 $('#edit-chart-bordercolor .color-preview').css('background-color', ('transparent' == color) ? color : ('#' + (_.isObject(color) ? color.color : color)));
                 _borderInfo.color = color;
diff --git a/apps/spreadsheeteditor/mobile/app/controller/edit/EditShape.js b/apps/spreadsheeteditor/mobile/app/controller/edit/EditShape.js
index b60c14f71..83e225529 100644
--- a/apps/spreadsheeteditor/mobile/app/controller/edit/EditShape.js
+++ b/apps/spreadsheeteditor/mobile/app/controller/edit/EditShape.js
@@ -301,8 +301,7 @@ define([
             },
 
             onFillColor: function(palette, color) {
-                var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                var me = this;
 
                 if (me.api) {
                     var image = new Asc.asc_CImgProperty(),
@@ -327,7 +326,7 @@ define([
 
             onBorderColor: function (palette, color) {
                 var me = this,
-                    currentShape = _shapeObject.get_ShapeProperties();
+                    currentShape = _shapeObject ? _shapeObject.get_ShapeProperties() : null;
 
                 $('#edit-shape-bordercolor .color-preview').css('background-color', ('transparent' == color) ? color : ('#' + (_.isObject(color) ? color.color : color)));
                 _borderInfo.color = color;
diff --git a/apps/spreadsheeteditor/mobile/locale/de.json b/apps/spreadsheeteditor/mobile/locale/de.json
index 3079822e1..3d7b14a19 100644
--- a/apps/spreadsheeteditor/mobile/locale/de.json
+++ b/apps/spreadsheeteditor/mobile/locale/de.json
@@ -170,6 +170,7 @@
   "SSE.Controllers.Main.errorDatabaseConnection": "Externer Fehler.<br>Datenbank-Verbindungsfehler. Wenden Sie sich an den Support.",
   "SSE.Controllers.Main.errorDataEncrypted": "Änderungen wurden verschlüsselt. Sie können nicht entschlüsselt werden.",
   "SSE.Controllers.Main.errorDataRange": "Falscher Datenbereich.",
+  "SSE.Controllers.Main.errorDataValidate": "Der eingegebene Wert ist ungültig.<br>Die Werte, die in diese Zelle eingegeben werden können, sind begrenzt.",
   "SSE.Controllers.Main.errorDefaultMessage": "Fehlercode: %1",
   "SSE.Controllers.Main.errorEditingDownloadas": "Bei der Arbeit mit dem Dokument ist ein Fehler aufgetreten. <br> Verwenden Sie die Option \"Herunterladen\", um die Sicherungskopie der Datei auf der Festplatte Ihres Computers zu speichern.",
   "SSE.Controllers.Main.errorFilePassProtect": "Das Dokument ist kennwortgeschützt und kann nicht geöffnet werden.",
@@ -187,6 +188,7 @@
   "SSE.Controllers.Main.errorKeyEncrypt": "Unbekannter Schlüsseldeskriptor",
   "SSE.Controllers.Main.errorKeyExpire": "Der Schlüsseldeskriptor ist abgelaufen",
   "SSE.Controllers.Main.errorLockedAll": "Die Operation kann nicht durchgeführt werden, weil das Blatt von einem anderen Benutzer gesperrt ist.",
+  "SSE.Controllers.Main.errorLockedCellPivot": "Die Daten innerhalb einer Pivot-Tabelle können nicht geändert werden.",
   "SSE.Controllers.Main.errorLockedWorksheetRename": "Umbenennen des Sheets ist derzeit nicht möglich, denn es wird gleichzeitig von einem anderen Benutzer umbenannt.",
   "SSE.Controllers.Main.errorMailMergeLoadFile": "Fehler beim Laden des Dokuments. Bitte wählen Sie eine andere Datei.",
   "SSE.Controllers.Main.errorMailMergeSaveFile": "Verbinden ist fehlgeschlagen.",
diff --git a/apps/spreadsheeteditor/mobile/locale/en.json b/apps/spreadsheeteditor/mobile/locale/en.json
index fe0e79487..813663528 100644
--- a/apps/spreadsheeteditor/mobile/locale/en.json
+++ b/apps/spreadsheeteditor/mobile/locale/en.json
@@ -170,6 +170,7 @@
   "SSE.Controllers.Main.errorDatabaseConnection": "External error.<br>Database connection error. Please contact support in case the error persists.",
   "SSE.Controllers.Main.errorDataEncrypted": "Encrypted changes have been received, they cannot be deciphered.",
   "SSE.Controllers.Main.errorDataRange": "Incorrect data range.",
+  "SSE.Controllers.Main.errorDataValidate": "The value you entered is not valid.<br>A user has restricted values that can be entered into this cell.",
   "SSE.Controllers.Main.errorDefaultMessage": "Error code: %1",
   "SSE.Controllers.Main.errorEditingDownloadas": "An error occurred during the work with the document.<br>Use the 'Download' option to save the file backup copy to your computer hard drive.",
   "SSE.Controllers.Main.errorFilePassProtect": "The file is password protected and cannot be opened.",
@@ -187,6 +188,7 @@
   "SSE.Controllers.Main.errorKeyEncrypt": "Unknown key descriptor",
   "SSE.Controllers.Main.errorKeyExpire": "Key descriptor expired",
   "SSE.Controllers.Main.errorLockedAll": "The operation could not be done as the sheet has been locked by another user.",
+  "SSE.Controllers.Main.errorLockedCellPivot": "You cannot change data inside a pivot table.",
   "SSE.Controllers.Main.errorLockedWorksheetRename": "The sheet cannot be renamed at the moment as it is being renamed by another user",
   "SSE.Controllers.Main.errorMailMergeLoadFile": "Loading the document failed. Please select a different file.",
   "SSE.Controllers.Main.errorMailMergeSaveFile": "Merge failed.",
diff --git a/apps/spreadsheeteditor/mobile/locale/es.json b/apps/spreadsheeteditor/mobile/locale/es.json
index f0384e412..b620b4fff 100644
--- a/apps/spreadsheeteditor/mobile/locale/es.json
+++ b/apps/spreadsheeteditor/mobile/locale/es.json
@@ -170,6 +170,7 @@
   "SSE.Controllers.Main.errorDatabaseConnection": "Error externo.<br>Error de conexión a la base de datos. Por favor, póngase en contacto con soporte si el error persiste.",
   "SSE.Controllers.Main.errorDataEncrypted": "Se han recibido cambios cifrados, ellos no pueden ser descifrados.",
   "SSE.Controllers.Main.errorDataRange": "Rango de datos incorrecto.",
+  "SSE.Controllers.Main.errorDataValidate": "El valor que ha introducido no es válido.<br>Un usuario ha restringido los valores que pueden ser introducidos en esta celda.",
   "SSE.Controllers.Main.errorDefaultMessage": "Código de error: %1",
   "SSE.Controllers.Main.errorEditingDownloadas": "Se produjo un error durante el trabajo con el documento.<br>Use la opción 'Descargar' para guardar la copia de seguridad de archivo en el disco duro de su computadora.",
   "SSE.Controllers.Main.errorFilePassProtect": "El archivo está protegido por una contraseña y no puede ser abierto.",
@@ -187,6 +188,7 @@
   "SSE.Controllers.Main.errorKeyEncrypt": "Descriptor de clave desconocido",
   "SSE.Controllers.Main.errorKeyExpire": "Descriptor de clave ha expirado",
   "SSE.Controllers.Main.errorLockedAll": "No se puede realizar la operación porque la hoja ha sido bloqueado por otro usuario.",
+  "SSE.Controllers.Main.errorLockedCellPivot": "No puede modificar datos dentro de una tabla dinámica.",
   "SSE.Controllers.Main.errorLockedWorksheetRename": "No se puede cambiar el nombre de la hoja en este momento, porque se está cambiando el nombre por otro usuario",
   "SSE.Controllers.Main.errorMailMergeLoadFile": "Error al cargar el archivo. Por favor seleccione uno distinto.",
   "SSE.Controllers.Main.errorMailMergeSaveFile": "Error de fusión.",
diff --git a/apps/spreadsheeteditor/mobile/locale/fr.json b/apps/spreadsheeteditor/mobile/locale/fr.json
index 2bc1bea56..011c6b08d 100644
--- a/apps/spreadsheeteditor/mobile/locale/fr.json
+++ b/apps/spreadsheeteditor/mobile/locale/fr.json
@@ -170,6 +170,7 @@
   "SSE.Controllers.Main.errorDatabaseConnection": "Erreur externe.<br>Erreur de connexion base de données. Contactez l'assistance technique si le problême persiste.",
   "SSE.Controllers.Main.errorDataEncrypted": "Modifications encodées reçues, mais ne peuvent pas être déchiffrées.",
   "SSE.Controllers.Main.errorDataRange": "Plage de données incorrecte.",
+  "SSE.Controllers.Main.errorDataValidate": "La valeur saisie est incorrecte.<br>Un utilisateur a restreint les valeurs pouvant être saisies dans cette cellule.",
   "SSE.Controllers.Main.errorDefaultMessage": "Code d'erreur : %1",
   "SSE.Controllers.Main.errorEditingDownloadas": "Une erreure s'est produite lors du travail sur le document.<br>Utilisez l'option « Télécharger » pour enregistrer une copie de sauvegarde sur le disque dur de votre système.",
   "SSE.Controllers.Main.errorFilePassProtect": "Le fichier est protégé par le mot de passe et ne peut pas être ouvert.",
@@ -187,6 +188,7 @@
   "SSE.Controllers.Main.errorKeyEncrypt": "Descripteur de clés inconnu",
   "SSE.Controllers.Main.errorKeyExpire": "Descripteur de clés expiré",
   "SSE.Controllers.Main.errorLockedAll": "L'opération ne peut pas être faite car la feuille a été verrouillée par un autre utilisateur.",
+  "SSE.Controllers.Main.errorLockedCellPivot": "Impossible de modifier les données d'un tableau croisé dynamique.",
   "SSE.Controllers.Main.errorLockedWorksheetRename": "La feuille ne peut pas être renommée pour l'instant puisque elle est renommée par un autre utilisateur",
   "SSE.Controllers.Main.errorMailMergeLoadFile": "Échec du chargement. Merci de choisir un autre fichier",
   "SSE.Controllers.Main.errorMailMergeSaveFile": "Fusion a échoué.",
diff --git a/apps/spreadsheeteditor/mobile/locale/ru.json b/apps/spreadsheeteditor/mobile/locale/ru.json
index 8f3cb4a36..05a06bf8b 100644
--- a/apps/spreadsheeteditor/mobile/locale/ru.json
+++ b/apps/spreadsheeteditor/mobile/locale/ru.json
@@ -170,6 +170,7 @@
   "SSE.Controllers.Main.errorDatabaseConnection": "Внешняя ошибка.<br>Ошибка подключения к базе данных. Если ошибка повторяется, пожалуйста, обратитесь в службу поддержки.",
   "SSE.Controllers.Main.errorDataEncrypted": "Получены зашифрованные изменения, их нельзя расшифровать.",
   "SSE.Controllers.Main.errorDataRange": "Некорректный диапазон данных.",
+  "SSE.Controllers.Main.errorDataValidate": "Введенное значение недопустимо.<br>Значения, которые можно ввести в эту ячейку, ограничены.",
   "SSE.Controllers.Main.errorDefaultMessage": "Код ошибки: %1",
   "SSE.Controllers.Main.errorEditingDownloadas": "В ходе работы с документом произошла ошибка.<br>Используйте опцию 'Скачать', чтобы сохранить резервную копию файла на жестком диске компьютера.",
   "SSE.Controllers.Main.errorFilePassProtect": "Файл защищен паролем и не может быть открыт.",
@@ -187,6 +188,7 @@
   "SSE.Controllers.Main.errorKeyEncrypt": "Неизвестный дескриптор ключа",
   "SSE.Controllers.Main.errorKeyExpire": "Срок действия дескриптора ключа истек",
   "SSE.Controllers.Main.errorLockedAll": "Операция не может быть произведена, так как лист заблокирован другим пользователем.",
+  "SSE.Controllers.Main.errorLockedCellPivot": "Нельзя изменить данные в сводной таблице.",
   "SSE.Controllers.Main.errorLockedWorksheetRename": "В настоящее время лист нельзя переименовать, так как его переименовывает другой пользователь",
   "SSE.Controllers.Main.errorMailMergeLoadFile": "Загрузка документа не удалась. Выберите другой файл.",
   "SSE.Controllers.Main.errorMailMergeSaveFile": "Не удалось выполнить слияние.",