You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2020/04/09 09:57:41 UTC

[syncope] branch master updated: [SYNCOPE-1258][SYNCOPE-1435][SYNCOPE-1497] Upgrading to Wicket 9, Bootstrap 4, AdminLTE 3 and Font Awesome 5

This is an automated email from the ASF dual-hosted git repository.

ilgrosso pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new cede180  [SYNCOPE-1258][SYNCOPE-1435][SYNCOPE-1497] Upgrading to Wicket 9, Bootstrap 4, AdminLTE 3 and Font Awesome 5
cede180 is described below

commit cede180f19517f3b3dc658608b50ee47ac8e2c63
Author: Francesco Chicchiriccò <il...@apache.org>
AuthorDate: Thu Apr 9 11:56:13 2020 +0200

    [SYNCOPE-1258][SYNCOPE-1435][SYNCOPE-1497] Upgrading to Wicket 9, Bootstrap 4, AdminLTE 3 and Font Awesome 5
---
 .../main/resources/archetype-resources/wa/pom.xml  |    1 -
 .../syncope/client/console/pages/Gateway.java      |    2 +-
 .../syncope/client/console/pages/Gateway.html      |   26 +-
 .../console/panels/GatewayRouteFilterPanel.html    |    6 +-
 .../console/panels/GatewayRoutePredicatePanel.html |    6 +-
 .../console/panels/LinkedAccountModalPanel.java    |    2 +-
 .../syncope/client/console/topology/Topology.java  |   35 +-
 .../console/topology/TopologyTogglePanel.java      |    4 +-
 .../console/widgets/ItemTransformerWidget.java     |    5 +-
 .../console/widgets/JEXLTransformerWidget.java     |    5 +-
 .../client/console/widgets/RemediationsWidget.java |   12 +-
 .../console/wizards/CSVPullWizardBuilder.java      |    2 +
 .../wizards/any/LinkedAccountDetailsPanel.java     |    6 +-
 .../syncope/client/console/pages/Remediations.html |   26 +-
 .../console/panels/ConnObjectListViewPanel.html    |    2 +-
 .../client/console/status/ReconTaskPanel.html      |    4 +-
 .../console/topology/TopologyTogglePanel.html      |    8 +-
 .../wizards/resources/AbstractMappingPanel.html    |    8 +-
 .../wizards/resources/MappingPurposePanel.html     |    2 +-
 .../wizards/resources/ResourceDetailsPanel.html    |    2 +-
 .../syncope/client/ui/commons/BaseLogin.java       |    4 +-
 .../syncope/client/ui/commons/Constants.java       |   10 +-
 .../syncope/client/ui/commons/DomainDropDown.java  |    4 +-
 .../markup/html/form/AjaxDropDownChoicePanel.java  |    5 +-
 .../commons/markup/html/form/AjaxPalettePanel.java |    2 +-
 .../markup/html/form/AjaxSpinnerFieldPanel.java    |    4 +-
 .../css/accessibility/accessibilityFont.scss       |    7 +-
 .../css/accessibility/accessibilityHC.scss         |   18 +-
 .../resources/ui-commons/css/syncopeUI.scss        |   25 +-
 .../resources/ui-commons/js/accessibility.js       |    9 -
 .../markup/html/form/AjaxDateFieldPanel.html       |    5 +-
 .../markup/html/form/AjaxDateTimeFieldPanel.html   |    5 +-
 .../markup/html/form/AjaxDropDownChoicePanel.html  |    4 +-
 .../commons/markup/html/form/AjaxPalettePanel.html |    4 +-
 .../markup/html/form/AjaxPasswordFieldPanel.html   |    4 +-
 .../markup/html/form/AjaxSpinnerFieldPanel.html    |    5 +-
 .../markup/html/form/AjaxTextFieldPanel.html       |    7 +-
 .../markup/html/form/EncryptedFieldPanel.html      |    4 +-
 .../commons/markup/html/form/NonI18nPalette.html   |   12 +-
 .../markup/html/form/preview/DefaultPreviewer.html |    2 +-
 .../markup/html/bootstrap/tabs/Accordion.html      |    8 +-
 client/idrepo/console/pom.xml                      |   98 +-
 .../client/console/SyncopeWebApplication.java      |    1 +
 ...AnyDirectoryPanelAdditionalActionsProvider.java |   21 +-
 .../commons/IdRepoImplementationInfoProvider.java  |   21 +-
 .../client/console/events/EventCategoryPanel.java  |   33 +-
 .../client/console/events/EventSelectionPanel.java |   33 +-
 .../client/console/events/SelectedEventsPanel.java |   23 +-
 .../notifications/MailTemplateDirectoryPanel.java  |    4 +-
 .../notifications/NotificationWizardBuilder.java   |    9 +-
 .../syncope/client/console/pages/BasePage.java     |  178 +-
 .../syncope/client/console/pages/LogViewer.java    |   17 +-
 .../syncope/client/console/pages/Realms.java       |    2 +-
 .../client/console/panels/AbstractLogsPanel.java   |    3 +-
 .../client/console/panels/AjaxDataTablePanel.java  |    4 +-
 .../client/console/panels/AnyDirectoryPanel.java   |    4 +-
 .../syncope/client/console/panels/AnyPanel.java    |    7 -
 .../console/panels/ApplicationDirectoryPanel.java  |    2 +-
 .../console/panels/DashboardOverviewPanel.java     |    7 +-
 .../client/console/panels/DirectoryPanel.java      |    8 +-
 .../console/panels/DynRealmDirectoryPanel.java     |    4 +-
 .../panels/ImplementationDirectoryPanel.java       |    4 +-
 .../client/console/panels/LogStatementPanel.java   |    5 +-
 .../panels/NetworkServiceDirectoryPanel.java       |    4 +-
 .../console/panels/ParametersDirectoryPanel.java   |    2 +-
 .../client/console/panels/RealmChoicePanel.java    |   64 +-
 .../client/console/panels/SchemasPanel.java        |    2 +-
 .../console/panels/SecurityQuestionsPanel.java     |    4 +-
 .../client/console/panels/UserDirectoryPanel.java  |    4 +-
 .../console/policies/PolicyDirectoryPanel.java     |    4 +-
 .../console/reports/ReportDirectoryPanel.java      |    7 +-
 .../reports/ReportTemplateDirectoryPanel.java      |    4 +-
 .../tasks/ProvisioningTaskDirectoryPanel.java      |    4 +-
 .../console/tasks/SchedTaskDirectoryPanel.java     |    5 +-
 .../console/tasks/SchedTaskWizardBuilder.java      |    2 -
 .../wicket/ajax/IndicatorAjaxTimerBehavior.java    |    2 +-
 .../wicket/ajax/form/AjaxDownloadBehavior.java     |    4 +-
 .../repeater/data/table/BooleanPropertyColumn.java |    2 +-
 .../markup/html/bootstrap/dialog/BaseModal.java    |   17 +-
 .../markup/html/form/ActionLinksTogglePanel.java   |    4 +-
 .../markup/html/form/BinaryFieldDownload.java      |    4 +-
 .../wicket/markup/html/form/BinaryFieldPanel.java  |    2 +
 .../html/form/preview/BinaryPDFPreviewer.java      |    4 +-
 .../client/console/widgets/AlertWidget.java        |   15 +-
 .../syncope/client/console/widgets/JobWidget.java  |   13 +-
 .../client/console/widgets/NumberWidget.java       |    2 +-
 .../console/widgets/ReconciliationWidget.java      |   10 +-
 .../client/console/wizards/any/Ownership.java      |    2 -
 .../client/console/wizards/any/PlainAttrs.java     |    7 +-
 .../client/console/wizards/any/Relationships.java  |    2 -
 .../client/console/wizards/any/UserDetails.java    |    7 -
 .../AdminLTE_plugins/dataTables.bootstrap4.min.css |    1 +
 .../dataTables/dataTables.bootstrap.css            |  372 --
 .../resources/css/AdminLTE_skins/_all-skins.css    | 1770 -------
 .../css/AdminLTE_skins/skin-black-light.css        |  173 -
 .../resources/css/AdminLTE_skins/skin-black.css    |  158 -
 .../css/AdminLTE_skins/skin-blue-light.css         |  164 -
 .../resources/css/AdminLTE_skins/skin-blue.css     |  139 -
 .../css/AdminLTE_skins/skin-green-light.css        |  153 -
 .../resources/css/AdminLTE_skins/skin-green.css    |  131 -
 .../css/AdminLTE_skins/skin-purple-light.css       |  153 -
 .../resources/css/AdminLTE_skins/skin-purple.css   |  131 -
 .../css/AdminLTE_skins/skin-red-light.css          |  153 -
 .../resources/css/AdminLTE_skins/skin-red.css      |  131 -
 .../css/AdminLTE_skins/skin-yellow-light.css       |  153 -
 .../resources/css/AdminLTE_skins/skin-yellow.css   |  131 -
 .../META-INF/resources/css/syncopeConsole.scss     |    1 -
 .../client/console/events/EventCategoryPanel.html  |    6 +-
 .../client/console/events/EventSelectionPanel.html |    2 +-
 .../client/console/events/SelectedEventsPanel.html |    2 +-
 .../apache/syncope/client/console/pages/Audit.html |   32 +-
 .../syncope/client/console/pages/BasePage.html     |  380 +-
 .../client/console/pages/BasePage.properties       |    5 +
 .../client/console/pages/BasePage_it.properties    |    7 +-
 .../client/console/pages/BasePage_ja.properties    |    5 +
 .../client/console/pages/BasePage_pt_BR.properties |    5 +
 .../client/console/pages/BasePage_ru.properties    |    5 +
 .../syncope/client/console/pages/Dashboard.html    |    6 +-
 .../syncope/client/console/pages/Domains.html      |   30 +-
 .../client/console/pages/Implementations.html      |   28 +-
 .../apache/syncope/client/console/pages/Login.html |   18 +-
 .../apache/syncope/client/console/pages/Logs.html  |   28 +-
 .../client/console/pages/MustChangePassword.html   |    6 +-
 .../client/console/pages/NetworkServices.html      |   30 +-
 .../client/console/pages/Notifications.html        |   28 +-
 .../syncope/client/console/pages/Parameters.html   |   30 +-
 .../syncope/client/console/pages/Policies.html     |   33 +-
 .../syncope/client/console/pages/Realms.html       |   32 +-
 .../syncope/client/console/pages/Reports.html      |   28 +-
 .../syncope/client/console/pages/Security.html     |   28 +-
 .../apache/syncope/client/console/pages/Types.html |   28 +-
 .../client/console/panels/AjaxDataTablePanel.html  |    2 +-
 .../client/console/panels/AnyDirectoryPanel.html   |    4 +-
 .../console/panels/AnyTypeClassDetailsPanel.html   |   24 +-
 .../client/console/panels/AnyTypeDetailsPanel.html |    8 +-
 .../client/console/panels/BeanReflectionModal.html |    2 +-
 .../client/console/panels/CoreLogPanel.html        |    4 +-
 .../console/panels/DashboardOverviewPanel.html     |    8 +-
 .../client/console/panels/DerSchemaDetails.html    |    2 +-
 .../client/console/panels/DirectoryPanel.html      |   36 +-
 .../panels/DisplayAttributesModalPanel.html        |   24 +-
 .../panels/ImplementationEngineTogglePanel.html    |    8 +-
 .../client/console/panels/ListViewPanel.html       |   64 +-
 .../client/console/panels/LogStatementPanel.html   |    2 +-
 .../client/console/panels/MembersTogglePanel.html  |    2 +-
 .../client/console/panels/MultilevelPanel.html     |   10 +-
 .../client/console/panels/PlainSchemaDetails.html  |    2 +-
 .../client/console/panels/RealmChoicePanel.html    |    6 +-
 .../client/console/panels/RealmDetails.html        |    4 +-
 .../panels/SchemaTypeWizardBuilder$Labels.html     |    4 +-
 .../client/console/panels/SchemasPanel.html        |    4 +-
 .../client/console/panels/StartAtTogglePanel.html  |    4 +-
 .../syncope/client/console/panels/TogglePanel.html |   13 +-
 .../console/panels/search/SearchClausePanel.html   |    2 +-
 .../client/console/status/ChangePasswordModal.html |    4 +-
 .../tasks/SchedTaskWizardBuilder$Profile.html      |    2 +-
 .../console/tasks/TaskStartAtTogglePanel.html      |    4 +-
 .../client/console/tasks/TemplatesTogglePanel.html |    2 +-
 .../syncope/client/console/themes/css/AdminLTE.css | 4951 +-------------------
 .../client/console/themes/js/AdminLTE-app.min.js   |   18 +-
 .../markup/html/bootstrap/dialog/BaseModal.html    |    4 +-
 .../markup/html/form/ActionsPanel.properties       |   72 +-
 .../markup/html/form/ActionsPanel_fr_CA.properties |   71 +-
 .../markup/html/form/ActionsPanel_it.properties    |   73 +-
 .../markup/html/form/ActionsPanel_ja.properties    |   73 +-
 .../markup/html/form/ActionsPanel_pt_BR.properties |   73 +-
 .../markup/html/form/ActionsPanel_ru.properties    |   73 +-
 .../markup/html/form/AjaxCharacterFieldPanel.html  |    4 +-
 .../markup/html/form/AjaxNumberFieldPanel.html     |    9 +-
 .../markup/html/form/AjaxSearchFieldPanel.html     |    4 +-
 .../wicket/markup/html/form/BinaryFieldPanel.html  |    6 +-
 .../wicket/markup/html/form/MultiFieldPanel.html   |   73 +-
 .../wicket/markup/html/form/MultiPanel.html        |    8 +-
 .../html/form/preview/BinaryPDFPreviewer.html      |    2 +-
 .../client/console/widgets/AlertWidget.html        |   23 +-
 .../client/console/widgets/AnyByRealmWidget.html   |   14 +-
 .../client/console/widgets/CompletenessWidget.html |   35 +-
 .../client/console/widgets/JobActionPanel.html     |    2 +-
 .../syncope/client/console/widgets/JobWidget.html  |   16 +-
 .../syncope/client/console/widgets/LoadWidget.html |   14 +-
 .../client/console/widgets/NumberWidget.html       |    4 +-
 .../console/widgets/ReconciliationWidget.html      |   29 +-
 .../console/widgets/UsersByStatusWidget.html       |   14 +-
 .../client/console/wizards/WizardMgtPanel.html     |   22 +-
 .../console/wizards/any/AnnotatedBeanPanel.html    |   73 +-
 .../console/wizards/any/ConsoleAuxClasses.html     |   18 +-
 .../syncope/client/console/wizards/any/Groups.html |   50 +-
 .../wizards/any/LinkedAccountCredentialsPanel.html |    8 +-
 .../wizards/any/LinkedAccountDetailsPanel.html     |    8 +-
 .../wizards/any/LinkedAccountPrivilegesPanel.html  |    8 +-
 .../client/console/wizards/any/Ownership.html      |    4 +-
 .../syncope/client/console/wizards/any/Roles.html  |   34 +-
 .../any/TypeExtensionWizardBuilder$Details.html    |   16 +-
 .../any/UserDetails$EditUserPasswordPanel.html     |    4 +-
 .../console/wizards/any/UserInformationPanel.html  |   60 +-
 .../client/ui/commons/wizards/AjaxWizard.html      |   49 +-
 .../ui/commons/wizards/AjaxWizardMgtButtonBar.html |    2 +-
 .../test/resources/application-debug.properties    |    4 +-
 client/idrepo/enduser/pom.xml                      |   69 +
 .../client/enduser/SyncopeWebApplication.java      |    1 +
 .../enduser/markup/html/form/AjaxDownload.java     |    4 +-
 .../enduser/markup/html/form/BinaryFieldPanel.java |    1 +
 .../enduser/markup/html/form/BinaryFieldPanel.html |    6 +-
 .../syncope/client/enduser/navigation/Navbar.html  |    4 +-
 .../client/enduser/pages/BaseEnduserWebPage.html   |    2 +-
 .../apache/syncope/client/enduser/pages/Login.html |   16 +-
 .../client/enduser/pages/MustChangePassword.html   |    4 +-
 .../enduser/pages/SelfConfirmPasswordReset.html    |    2 +-
 .../client/enduser/pages/WizardMgtPanel.html       |    6 +-
 .../client/enduser/panels/SelfPwdResetPanel.html   |    2 +-
 .../client/enduser/wizards/any/CaptchaPanel.html   |    2 +-
 .../any/UserDetails$EditUserPasswordPanel.html     |    5 +-
 .../ui/commons/wizards/AjaxWizardMgtButtonBar.html |    2 +-
 .../test/resources/application-debug.properties    |    4 +-
 .../syncope/common/lib/types/AuditLoggerName.java  |   18 +-
 .../jpa/content/XMLContentExporter.java            |    6 +-
 .../jpa/outer/XMLContentExporterTest.java          |    7 +-
 core/spring/pom.xml                                |    4 -
 docker/wa/pom.xml                                  |    1 -
 .../syncope/client/console/pages/CamelRoutes.java  |    2 +-
 .../client/console/widgets/CamelMetricsWidget.java |    5 +-
 .../syncope/client/console/pages/CamelRoutes.html  |   28 +-
 .../client/console/widgets/CamelMetricsWidget.html |   14 +-
 .../provisioning/camel/SyncopeCamelContext.java    |    6 +-
 .../common/ui/panels/UserRequestFormPanel.html     |    4 +-
 .../syncope/client/console/pages/Flowable.java     |    2 +-
 .../console/panels/BpmnProcessDirectoryPanel.java  |    4 +-
 .../panels/UserRequestFormDirectoryPanel.java      |    4 +-
 .../console/widgets/UserRequestFormsWidget.java    |   10 +-
 .../src/main/resources/dropdown.diff               |    8 +-
 .../syncope/client/console/pages/Flowable.html     |   28 +-
 .../syncope/client/console/pages/UserRequests.html |   26 +-
 .../client/console/panels/NewBpmnProcess.html      |    4 +-
 .../src/main/resources/save-model.html             |   12 +-
 .../enduser/pages/Flowable$UserRequestDetails.html |    4 +-
 .../syncope/client/console/pages/OIDCClient.java   |    2 +-
 .../panels/OIDCProvidersDirectoryPanel.java        |    4 +-
 .../syncope/client/console/pages/OIDCClient.html   |   28 +-
 .../syncope/client/console/pages/SAML2SP.java      |    3 +-
 .../client/console/panels/ImportMetadata.java      |    4 +-
 .../console/panels/SAML2IdPsDirectoryPanel.java    |    6 +-
 .../syncope/client/console/pages/SAML2SP.html      |   28 +-
 .../client/console/panels/ImportMetadata.html      |    2 +-
 .../client/console/panels/SAML2SPPanel.html        |    2 +-
 .../syncope/client/console/pages/SCIMConfPage.java |    2 +-
 .../syncope/client/console/pages/SCIMConf.html     |   41 -
 .../syncope/client/console/pages/SCIMConfPage.html |   27 +-
 .../client/console/panels/SCIMConfPanel.html       |    4 +-
 fit/core-reference/pom.xml                         |    7 -
 .../syncope/fit/console/AbstractConsoleITCase.java |   25 +-
 .../syncope/fit/console/AnyObjectsITCase.java      |    3 +-
 .../syncope/fit/console/LinkedAccountsITCase.java  |    8 +-
 .../syncope/fit/console/NotificationsITCase.java   |    2 +-
 .../org/apache/syncope/fit/ui/AbstractUITCase.java |   20 +-
 fit/wa-reference/pom.xml                           |    1 -
 pom.xml                                            |   39 +-
 wa/pom.xml                                         |    1 -
 wa/starter/pom.xml                                 |    5 -
 258 files changed, 1988 insertions(+), 10598 deletions(-)

diff --git a/archetype/src/main/resources/archetype-resources/wa/pom.xml b/archetype/src/main/resources/archetype-resources/wa/pom.xml
index 538ae17..044806d 100644
--- a/archetype/src/main/resources/archetype-resources/wa/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/wa/pom.xml
@@ -34,7 +34,6 @@ under the License.
 
   <properties>
     <opensaml.version>3.4.5</opensaml.version>
-    <bootstrap.version>4.4.1</bootstrap.version>
   </properties>
 
   <dependencies>
diff --git a/client/am/console/src/main/java/org/apache/syncope/client/console/pages/Gateway.java b/client/am/console/src/main/java/org/apache/syncope/client/console/pages/Gateway.java
index 5d79158..9c45b73 100644
--- a/client/am/console/src/main/java/org/apache/syncope/client/console/pages/Gateway.java
+++ b/client/am/console/src/main/java/org/apache/syncope/client/console/pages/Gateway.java
@@ -33,7 +33,7 @@ import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
-@AMPage(label = "Gateway", icon = "fa-share-alt", listEntitlement = "", priority = 0)
+@AMPage(label = "Gateway", icon = "fas fa-share-alt", listEntitlement = "", priority = 0)
 public class Gateway extends BasePage {
 
     private static final long serialVersionUID = 9200112197134882164L;
diff --git a/client/am/console/src/main/resources/org/apache/syncope/client/console/pages/Gateway.html b/client/am/console/src/main/resources/org/apache/syncope/client/console/pages/Gateway.html
index 1123afa..940f20e 100644
--- a/client/am/console/src/main/resources/org/apache/syncope/client/console/pages/Gateway.html
+++ b/client/am/console/src/main/resources/org/apache/syncope/client/console/pages/Gateway.html
@@ -19,16 +19,28 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard">[DASHBOARD]</wicket:message></a></li>
-        <li class="active"><wicket:message key="gateway"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="gateway"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRouteFilterPanel.html b/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRouteFilterPanel.html
index 947fb29..a078ad3 100644
--- a/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRouteFilterPanel.html
+++ b/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRouteFilterPanel.html
@@ -27,7 +27,7 @@ under the License.
           <tr>
             <th>
               <wicket:message key="factory"/>
-              <span id="factoryInfo" wicket:id="factoryInfo" class="glyphicon glyphicon-info-sign"></span>
+              <span id="factoryInfo" wicket:id="factoryInfo" class="fas fa-info-circle"></span>
             </th>
             <th class="col-sm-6"><wicket:message key="args"/></th>
             <th class="col-sm-2"></th>
@@ -50,8 +50,8 @@ under the License.
         <tfoot>
           <tr>
             <td colspan="10" style="padding: 5px; text-align: right">
-              <button type="submit" class="btn btn-primary btn-circle btn-lg" wicket:id="addFilterBtn">
-                <i class="glyphicon glyphicon-plus"></i>
+              <button type="submit" class="btn btn-success btn-circle btn-lg" wicket:id="addFilterBtn">
+                <i class="fa fa-plus"></i>
               </button>
             </td>
           </tr>
diff --git a/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRoutePredicatePanel.html b/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRoutePredicatePanel.html
index 1b6def7..5840692 100644
--- a/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRoutePredicatePanel.html
+++ b/client/am/console/src/main/resources/org/apache/syncope/client/console/panels/GatewayRoutePredicatePanel.html
@@ -28,7 +28,7 @@ under the License.
             <th><wicket:message key="negate"/></th>
             <th>
               <wicket:message key="factory"/>
-              <span id="factoryInfo" wicket:id="factoryInfo" class="glyphicon glyphicon-info-sign"></span>
+              <span id="factoryInfo" wicket:id="factoryInfo" class="fas fa-info-circle"></span>
             </th>
             <th class="col-sm-6"><wicket:message key="args"/></th>
             <th><wicket:message key="cond"/></th>
@@ -58,8 +58,8 @@ under the License.
         <tfoot>
           <tr>
             <td colspan="10" style="padding: 5px; text-align: right">
-              <button type="submit" class="btn btn-primary btn-circle btn-lg" wicket:id="addPredicateBtn">
-                <i class="glyphicon glyphicon-plus"></i>
+              <button type="submit" class="btn btn-success btn-circle btn-lg" wicket:id="addPredicateBtn">
+                <i class="fa fa-plus"></i>
               </button>
             </td>
           </tr>
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
index e167a26..fe87678 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/panels/LinkedAccountModalPanel.java
@@ -142,7 +142,7 @@ public class LinkedAccountModalPanel extends Panel implements ModalPanel {
                 if ("suspended".equalsIgnoreCase(key)) {
                     Label label = new Label("field", StringUtils.EMPTY);
                     if (bean.isSuspended()) {
-                        label.add(new AttributeModifier("class", "glyphicon glyphicon-ok"));
+                        label.add(new AttributeModifier("class", "fa fa-check"));
                         label.add(new AttributeModifier("style", "display: table-cell; text-align: center;"));
                     }
                     return label;
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
index a424311..97fe802 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/Topology.java
@@ -21,6 +21,8 @@ package org.apache.syncope.client.console.topology;
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import java.io.Serializable;
 import java.net.URI;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -44,6 +46,7 @@ import org.apache.syncope.client.console.rest.ConnectorRestClient;
 import org.apache.syncope.client.console.rest.ResourceRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.WebMarkupContainerNoVeil;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.common.lib.to.ConnInstanceTO;
@@ -56,16 +59,14 @@ import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.Behavior;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.list.ListItem;
 import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.LoadableDetachableModel;
-import org.apache.wicket.util.time.Duration;
 
-@IdMPage(label = "Topology", icon = "fa-plug", listEntitlement = IdMEntitlement.RESOURCE_LIST, priority = 0)
+@IdMPage(label = "Topology", icon = "fas fa-plug", listEntitlement = IdMEntitlement.RESOURCE_LIST, priority = 0)
 public class Topology extends BasePage {
 
     private static final long serialVersionUID = -1100228004207271272L;
@@ -151,7 +152,7 @@ public class Topology extends BasePage {
     public Topology() {
         modal = new BaseModal<>("resource-modal");
         body.add(modal.size(Modal.Size.Large));
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
@@ -474,7 +475,7 @@ public class Topology extends BasePage {
             }
         });
 
-        jsPlace.add(new AbstractAjaxTimerBehavior(Duration.seconds(2)) {
+        jsPlace.add(new AbstractAjaxTimerBehavior(Duration.of(2, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = -4426283634345968585L;
 
@@ -486,18 +487,18 @@ public class Topology extends BasePage {
 
                 target.appendJavaScript("checkConnection()");
 
-                if (getUpdateInterval().seconds() < 5.0) {
-                    setUpdateInterval(Duration.seconds(5));
-                } else if (getUpdateInterval().seconds() < 10.0) {
-                    setUpdateInterval(Duration.seconds(10));
-                } else if (getUpdateInterval().seconds() < 15.0) {
-                    setUpdateInterval(Duration.seconds(15));
-                } else if (getUpdateInterval().seconds() < 20.0) {
-                    setUpdateInterval(Duration.seconds(20));
-                } else if (getUpdateInterval().seconds() < 30.0) {
-                    setUpdateInterval(Duration.seconds(30));
-                } else if (getUpdateInterval().seconds() < 60.0) {
-                    setUpdateInterval(Duration.seconds(60));
+                if (getUpdateInterval().getSeconds() < 5.0) {
+                    setUpdateInterval(Duration.of(5, ChronoUnit.SECONDS));
+                } else if (getUpdateInterval().getSeconds() < 10.0) {
+                    setUpdateInterval(Duration.of(10, ChronoUnit.SECONDS));
+                } else if (getUpdateInterval().getSeconds() < 15.0) {
+                    setUpdateInterval(Duration.of(15, ChronoUnit.SECONDS));
+                } else if (getUpdateInterval().getSeconds() < 20.0) {
+                    setUpdateInterval(Duration.of(20, ChronoUnit.SECONDS));
+                } else if (getUpdateInterval().getSeconds() < 30.0) {
+                    setUpdateInterval(Duration.of(30, ChronoUnit.SECONDS));
+                } else if (getUpdateInterval().getSeconds() < 60.0) {
+                    setUpdateInterval(Duration.of(60, ChronoUnit.SECONDS));
                 }
             }
         });
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
index 17056f5..e941250 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/topology/TopologyTogglePanel.java
@@ -40,6 +40,7 @@ import org.apache.syncope.client.console.tasks.PushTasks;
 import org.apache.syncope.client.console.tasks.SchedTasks;
 import org.apache.syncope.client.console.tasks.PullTasks;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.IndicatingOnConfirmAjaxLink;
 import org.apache.syncope.client.ui.commons.wizards.AjaxWizard;
 import org.apache.syncope.client.console.wizards.resources.AbstractResourceWizardBuilder;
@@ -60,7 +61,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxLink;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.CompoundPropertyModel;
@@ -127,7 +127,7 @@ public class TopologyTogglePanel extends TogglePanel<Serializable> {
     public void toggleWithContent(final AjaxRequestTarget target, final TopologyNode node) {
         setHeader(target, node.getDisplayName());
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
index 690538c..7719984 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/ItemTransformerWidget.java
@@ -19,7 +19,7 @@
 package org.apache.syncope.client.console.widgets;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome5IconType;
 import java.util.List;
 import org.apache.syncope.client.console.wizards.resources.ItemTransformersTogglePanel;
 import org.apache.syncope.common.lib.to.ItemTO;
@@ -77,7 +77,6 @@ public class ItemTransformerWidget extends AlertWidget<String> {
 
     @Override
     protected Icon getIcon(final String iconid) {
-        return new Icon(iconid,
-                FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.magic).build());
+        return new Icon(iconid, FontAwesome5IconType.magic_s);
     }
 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
index 1e2fd80..63cc6e5 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/JEXLTransformerWidget.java
@@ -19,7 +19,7 @@
 package org.apache.syncope.client.console.widgets;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome5IconType;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.commons.lang3.StringUtils;
@@ -89,7 +89,6 @@ public class JEXLTransformerWidget extends AlertWidget<String> {
 
     @Override
     protected Icon getIcon(final String iconid) {
-        return new Icon(iconid,
-                FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.repeat).build());
+        return new Icon(iconid, FontAwesome5IconType.redo_s);
     }
 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
index c471e99..be5bbcb 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/widgets/RemediationsWidget.java
@@ -19,7 +19,9 @@
 package org.apache.syncope.client.console.widgets;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.image.Icon;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesomeIconTypeBuilder;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome5IconType;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
@@ -39,7 +41,6 @@ import org.apache.wicket.markup.html.link.AbstractLink;
 import org.apache.wicket.markup.html.link.BookmarkablePageLink;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.util.time.Duration;
 
 @ExtWidget(priority = 0)
 public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
@@ -52,7 +53,7 @@ public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
         super(id);
         setOutputMarkupId(true);
 
-        latestAlertsList.add(new IndicatorAjaxTimerBehavior(Duration.seconds(30)) {
+        latestAlertsList.add(new IndicatorAjaxTimerBehavior(Duration.of(30, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = 7298597675929755960L;
 
@@ -103,7 +104,7 @@ public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
                         && SyncopeConsoleSession.get().owns(IdMEntitlement.REMEDIATION_READ)) {
 
                     updatedRemediations = RemediationRestClient.getRemediations(1,
-                        MAX_SIZE, new SortParam<>("instant", true));
+                            MAX_SIZE, new SortParam<>("instant", true));
                 } else {
                     updatedRemediations = List.of();
                 }
@@ -122,7 +123,6 @@ public class RemediationsWidget extends ExtAlertWidget<RemediationTO> {
 
     @Override
     protected Icon getIcon(final String iconid) {
-        return new Icon(iconid,
-                FontAwesomeIconTypeBuilder.on(FontAwesomeIconTypeBuilder.FontAwesomeGraphic.medkit).build());
+        return new Icon(iconid, FontAwesome5IconType.medkit_s);
     }
 }
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
index 99fb6b1..b5ceed5 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/CSVPullWizardBuilder.java
@@ -122,6 +122,8 @@ public class CSVPullWizardBuilder extends BaseAjaxWizardBuilder<CSVPullSpec> {
             csvFile.showUpload(false);
             csvFile.showRemove(false);
             csvFile.showPreview(false);
+            csvFile.browseClass("btn btn-success");
+            csvFile.browseIcon("<i class=\"fas fa-folder-open\"></i> &nbsp;");
             BootstrapFileInputField csvUpload =
                     new BootstrapFileInputField("csvUpload", new ListModel<>(new ArrayList<>()), csvFile);
             csvUpload.setRequired(true);
diff --git a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
index 3639847..290d67d 100644
--- a/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
+++ b/client/idm/console/src/main/java/org/apache/syncope/client/console/wizards/any/LinkedAccountDetailsPanel.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.client.console.wizards.any;
 
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.List;
 import java.util.stream.Collectors;
 import org.apache.commons.lang3.StringUtils;
@@ -42,7 +44,6 @@ import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
 import org.apache.wicket.extensions.wizard.WizardStep;
 import org.apache.wicket.model.PropertyModel;
-import org.apache.wicket.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import java.util.concurrent.atomic.AtomicReference;
@@ -144,7 +145,8 @@ public class LinkedAccountDetailsPanel extends WizardStep {
                     }
                 };
                 attributes.getAjaxCallListeners().add(listener);
-                attributes.setThrottlingSettings(new ThrottlingSettings("id", Duration.seconds(1.2), true));
+                attributes.setThrottlingSettings(
+                        new ThrottlingSettings("id", Duration.of(1, ChronoUnit.SECONDS), true));
             }
         });
     }
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/pages/Remediations.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/pages/Remediations.html
index 24934ce..8adc057 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/pages/Remediations.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/pages/Remediations.html
@@ -19,16 +19,28 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard">[DASHBOARD]</wicket:message></a></li>
-        <li class="active"><wicket:message key="remediations"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="remediations"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="remediations"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="remediations"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.html
index b3a7578..45de093 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/panels/ConnObjectListViewPanel.html
@@ -21,7 +21,7 @@ under the License.
     <div wicket:id="accordionPanel"></div>
     <span wicket:id="objs"/>
     <div wicket:id="arrows">
-      <a href="#" class="btn btn-primary btn-circle btn-lg pull-right" wicket:id="next"><i class="fa fa-chevron-right"></i></a>
+      <a href="#" class="btn btn-success btn-circle btn-lg pull-right" wicket:id="next"><i class="fa fa-chevron-right"></i></a>
     </div>
   </wicket:panel>
 </html>
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/status/ReconTaskPanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/status/ReconTaskPanel.html
index 7ec28d6..8c7a2b0 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/status/ReconTaskPanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/status/ReconTaskPanel.html
@@ -20,7 +20,7 @@ under the License.
   <wicket:panel>
     <form wicket:id="form">
       <div class="form-group form-palette">
-        <span wicket:id="actions">[actions]</span>
+        <div class="row" wicket:id="actions">[actions]</div>
       </div>
       <div class="form-group"><span wicket:id="realm">[realm]</span></div>
       <div class="form-group"><span wicket:id="matchingRule">[matchingRule]</span></div>
@@ -31,7 +31,7 @@ under the License.
       <div class="form-group"><span wicket:id="syncStatus">[syncStatus]</span></div>
 
       <div style="float: right;">
-        <a href="#" wicket:id="reconcile" class="btn btn-primary btn-circle btn-lg"><i class="fa fa-recycle" alt="reconcile" title="Reconcile"></i></a>
+        <a href="#" wicket:id="reconcile" class="btn btn-success btn-circle btn-lg"><i class="fa fa-recycle" alt="reconcile" title="Reconcile"></i></a>
       </div>
     </form>
   </wicket:panel>
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/TopologyTogglePanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/TopologyTogglePanel.html
index 839fce0..8794ecb 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/TopologyTogglePanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/TopologyTogglePanel.html
@@ -35,7 +35,7 @@ under the License.
           <li><a href="#" wicket:id="create"><i class="fa fa-plus"></i><wicket:message key="resource.menu.add"/></a></li>
         </wicket:enclosure>
         <wicket:enclosure child="edit">
-          <li><a href="#" wicket:id="edit"><i class="fa fa-pencil"></i><wicket:message key="connector.menu.edit"/></a></li>
+          <li><a href="#" wicket:id="edit"><i class="fas fa-pencil-alt"></i><wicket:message key="connector.menu.edit"/></a></li>
         </wicket:enclosure>
         <wicket:enclosure child="history">
           <li><a href="#" wicket:id="history"><i class="fa fa-history"></i><wicket:message key="connector.menu.history"/></a></li>
@@ -49,10 +49,10 @@ under the License.
     <wicket:fragment wicket:id="resourceActions">
       <ul class="menu">
         <wicket:enclosure child="edit">
-          <li><a href="#" wicket:id="edit"><i class="fa fa-pencil"></i><wicket:message key="resource.menu.edit"/></a></li>
+          <li><a href="#" wicket:id="edit"><i class="fas fa-pencil-alt"></i><wicket:message key="resource.menu.edit"/></a></li>
         </wicket:enclosure>
         <wicket:enclosure child="provision">
-          <li><a href="#" wicket:id="provision"><i class="fa fa-exchange"></i><wicket:message key="resource.menu.provision"/></a></li>
+          <li><a href="#" wicket:id="provision"><i class="fas fa-exchange-alt"></i><wicket:message key="resource.menu.provision"/></a></li>
         </wicket:enclosure>
         <wicket:enclosure child="explore">
           <li><a href="#" wicket:id="explore"><i class="fa fa-eye"></i><wicket:message key="resource.menu.explore"/></a></li>
@@ -92,7 +92,7 @@ under the License.
     <wicket:fragment wicket:id="syncopeActions">
       <ul class="menu">
         <wicket:enclosure child="reload">
-          <li><a href="#" wicket:id="reload"><i class="fa fa-refresh"></i><wicket:message key="connectors.reload"/></a></li>
+          <li><a href="#" wicket:id="reload"><i class="fa fa-sync"></i><wicket:message key="connectors.reload"/></a></li>
         </wicket:enclosure>
         <wicket:enclosure child="tasks">
           <li><a href="#" wicket:id="tasks"><i class="fa fa-tasks"></i><wicket:message key="task.custom.list"/></a></li>
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractMappingPanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractMappingPanel.html
index 3b9dbc9..8869794 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractMappingPanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/AbstractMappingPanel.html
@@ -27,14 +27,14 @@ under the License.
           <tr>
             <th>
               <wicket:message key="intAttrName"/>
-              <span id="intAttrNameInfo" wicket:id="intAttrNameInfo" class="glyphicon glyphicon-info-sign"></span>
+              <span id="intAttrNameInfo" wicket:id="intAttrNameInfo" class="fas fa-info-circle"></span>
             </th>
             <th><wicket:message key="extAttrName"/></th>
             <th><i class="fa fa-repeat"></i></th>
             <th><i class="fa fa-magic"></i></th>
             <th>
               <wicket:message key="mandatoryCondition"/>
-              <span id="jexlInfo" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
+              <span id="jexlInfo" wicket:id="jexlInfo" class="fas fa-info-circle"></span>
             </th>
             <th><wicket:message key="connObjectKey"/></th>
             <th><label wicket:id="passwordLabel"/></th>
@@ -83,8 +83,8 @@ under the License.
         <tfoot>
           <tr>
             <td colspan="10" style="padding: 5px; text-align: right">
-              <button type="submit" class="btn btn-primary btn-circle btn-lg" wicket:id="addMappingBtn">
-                <i class="glyphicon glyphicon-plus"></i>
+              <button type="submit" class="btn btn-success btn-circle btn-lg" wicket:id="addMappingBtn">
+                <i class="fa fa-plus"></i>
               </button>
             </td>
           </tr>
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/MappingPurposePanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/MappingPurposePanel.html
index 46be9d4..739aa69 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/MappingPurposePanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/MappingPurposePanel.html
@@ -23,7 +23,7 @@ under the License.
 
     <a href="#" wicket:id="pullPurposeLink"><i class="fa fa-arrow-circle-o-left"></i></a>
 
-    <a href="#" wicket:id="bothPurposeLink"><i class="fa fa-exchange"></i></a>
+    <a href="#" wicket:id="bothPurposeLink"><i class="fas fa-exchange-alt"></i></a>
 
     <a href="#" wicket:id="nonePurposeLink"><i class="fa fa-chain-broken"></i></a>
 
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
index 6dd792c..081b5d8 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/wizards/resources/ResourceDetailsPanel.html
@@ -40,7 +40,7 @@ under the License.
       </div>
 
       <div class="form-group form-palette">
-        <span wicket:id="propagationActions">[propagationActions]</span>
+        <div class="row" wicket:id="propagationActions">[propagationActions]</div>
       </div>
 
       <div class="form-group">
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
index 2a8ad07..f03f20a 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/BaseLogin.java
@@ -19,7 +19,6 @@
 package org.apache.syncope.client.ui.commons;
 
 import com.googlecode.wicket.kendo.ui.widget.notification.Notification;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.select.BootstrapSelect;
 import java.security.AccessControlException;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -41,6 +40,7 @@ import org.apache.wicket.markup.head.OnLoadHeaderItem;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.form.ChoiceRenderer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.markup.html.form.StatelessForm;
 import org.apache.wicket.markup.html.form.TextField;
@@ -230,7 +230,7 @@ public abstract class BaseLogin extends WebPage {
     /**
      * Inner class which implements (custom) Locale DropDownChoice component.
      */
-    private class LocaleDropDown extends BootstrapSelect<Locale> {
+    private class LocaleDropDown extends DropDownChoice<Locale> {
 
         private static final long serialVersionUID = 2349382679992357202L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/Constants.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/Constants.java
index bb8b52f..44258e5 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/Constants.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/Constants.java
@@ -97,15 +97,15 @@ public final class Constants {
 
     public static final String PREF_ANY_DER_ATTRS_VIEW = "any.%s.der.attrs.view";
 
-    public static final String CREATED_ICON = "glyphicon glyphicon-ok-circle";
+    public static final String CREATED_ICON = "far fa-check-circle";
 
-    public static final String SUSPENDED_ICON = "glyphicon glyphicon-ban-circle";
+    public static final String SUSPENDED_ICON = "fas fa-ban";
 
-    public static final String ACTIVE_ICON = "glyphicon glyphicon-ok-circle";
+    public static final String ACTIVE_ICON = "far fa-check-circle";
 
-    public static final String UNDEFINED_ICON = "glyphicon glyphicon-question-sign";
+    public static final String UNDEFINED_ICON = "fas fa-question-circle";
 
-    public static final String NOT_FOUND_ICON = "glyphicon glyphicon-remove-circle";
+    public static final String NOT_FOUND_ICON = "fas fa-minus-circle";
 
     public static final int MAX_GROUP_LIST_SIZE = 30;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
index 17a9de7..0aa2e99 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/DomainDropDown.java
@@ -18,16 +18,16 @@
  */
 package org.apache.syncope.client.ui.commons;
 
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.select.BootstrapSelect;
 import java.util.List;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.wicket.Session;
+import org.apache.wicket.markup.html.form.DropDownChoice;
 import org.apache.wicket.model.IModel;
 
 /**
  * Implements (custom) Domain DropDownChoice component.
  */
-public class DomainDropDown extends BootstrapSelect<String> {
+public class DomainDropDown extends DropDownChoice<String> {
 
     private static final long serialVersionUID = -7401167913360133325L;
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.java
index 33e618f..0281bc8 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.java
@@ -19,7 +19,6 @@
 package org.apache.syncope.client.ui.commons.markup.html.form;
 
 import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
-import de.agilecoders.wicket.extensions.markup.html.bootstrap.form.select.BootstrapSelect;
 import java.io.Serializable;
 import java.util.List;
 import org.apache.syncope.client.ui.commons.Constants;
@@ -43,7 +42,7 @@ public class AjaxDropDownChoicePanel<T extends Serializable> extends FieldPanel<
 
         super(id, name, model);
 
-        field = new BootstrapSelect<>("dropDownChoiceField", model, List.of(), new ChoiceRenderer<>());
+        field = new DropDownChoice<>("dropDownChoiceField", model, List.of(), new ChoiceRenderer<>());
         add(field.setLabel(new ResourceModel(name, name)).setOutputMarkupId(true));
 
         if (enableOnBlur) {
@@ -94,7 +93,7 @@ public class AjaxDropDownChoicePanel<T extends Serializable> extends FieldPanel<
     }
 
     public final AjaxDropDownChoicePanel<T> setNullValid(final boolean validity) {
-        BootstrapSelect.class.cast(field).setNullValid(validity);
+        DropDownChoice.class.cast(field).setNullValid(validity);
         return this;
     }
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
index 98c96d3..1e48f35 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.java
@@ -181,7 +181,7 @@ public class AjaxPalettePanel<T extends Serializable> extends AbstractFieldPanel
 
         queryFilter.setObject(builder.filter);
         AjaxTextFieldPanel filter = new AjaxTextFieldPanel("filter", "filter", queryFilter, false);
-        form.add(filter.hideLabel().setOutputMarkupId(true));
+        form.add(filter.hideLabel().setOutputMarkupId(true).setRenderBodyOnly(true));
 
         AjaxButton search = new AjaxButton("search") {
 
diff --git a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
index acb92a3..bdf756e 100644
--- a/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
+++ b/client/idrepo/common-ui/src/main/java/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.java
@@ -18,7 +18,6 @@
  */
 package org.apache.syncope.client.ui.commons.markup.html.form;
 
-import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
 import com.googlecode.wicket.jquery.core.Options;
 import com.googlecode.wicket.jquery.ui.JQueryUIBehavior;
 import com.googlecode.wicket.jquery.ui.form.spinner.AjaxSpinner;
@@ -27,10 +26,10 @@ import com.googlecode.wicket.jquery.ui.form.spinner.SpinnerBehavior;
 import java.io.Serializable;
 import java.util.List;
 import java.util.Optional;
-
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.math.NumberUtils;
 import org.apache.syncope.client.ui.commons.Constants;
+import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
 import org.apache.syncope.common.lib.Attributable;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.list.ListItem;
@@ -277,5 +276,4 @@ public final class AjaxSpinnerFieldPanel<T extends Number> extends FieldPanel<T>
             return new AjaxSpinnerFieldPanel<>(id, name, reference, model, options, enableOnChange);
         }
     }
-
 }
diff --git a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
index 7f9d2f3..3ccec5c 100644
--- a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
+++ b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
@@ -29,7 +29,8 @@ p {
 }
 
 .box-header > .fa, 
-.box-header > .glyphicon, 
+.box-header > .far, 
+.box-header > .fas, 
 .box-header > .ion, .box-header .box-title,
 .dropdown-toggle .filter-option,
 .dropdown-menu a,
@@ -43,7 +44,9 @@ p {
 .alert h4,
 #mappings .fa,
 .popover-content,
-.box .dropdown-toggle .glyphicon,
+.box .dropdown-toggle .fa,
+.box .dropdown-toggle .far,
+.box .dropdown-toggle .fas,
 .box-header button,
 .toggle .toggle-group .btn,
 .input-group .form-control label {
diff --git a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
index d52aaac..6ff8b86 100644
--- a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
+++ b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
@@ -153,18 +153,9 @@ img,
 .input-group input[disabled],
 .control-sidebar-dark .control-sidebar-menu > li > a:hover,
 .table-hover > tbody > tr:hover,
-.skin-blue .main-header .navbar .sidebar-toggle:hover,
 .main-header .navbar .sidebar-toggle:hover,
-.skin-blue .main-header .logo:hover,
 .main-header .logo:hover,
 div.toggle-menu ul li:hover,
-.skin-blue .main-header .navbar .nav > li > a:hover, 
-.skin-blue .main-header .navbar .nav > li > a:active, 
-.skin-blue .main-header .navbar .nav > li > a:focus, 
-.skin-blue .main-header .navbar .nav .open > a:hover, 
-.skin-blue .main-header .navbar .nav .open > a:focus,
-.skin-blue .sidebar-menu > li:hover > a, 
-.skin-blue .sidebar-menu > li.active > a,
 .dropdown-menu > li > a:hover,
 .dropdown-menu > li > a:focus, 
 .dropdown-menu > li > a:hover,
@@ -184,13 +175,12 @@ div.toggle-menu ul li:hover,
 
 
 .sidebar-mini .main-header .navbar {
-  background-color: #222d32; /* color from 'skin-blue' */
+  background-color: #222d32;
   border-bottom: 1px white solid;
   box-sizing: border-box;
 }
 .sidebar-mini .main-header .logo,
-div.toggle-menu,
-.skin-blue .main-header li.user-header {
+div.toggle-menu {
   background-color: #222d32;
 }
 
@@ -250,7 +240,7 @@ div.infolabel,
 .modal-success .modal-body {
   background-color: #005C32 !important;
 }
-.bg-aqua {
+.bg-info {
   background-color: #004E61 !important;
 }
 .bg-yellow, 
@@ -310,4 +300,4 @@ div.infolabel,
 .dark-theme .alert-error, .dark-theme .alert-warning, .dark-theme .alert-info, .dark-theme .label-danger, 
 .dark-theme .label-info, .dark-theme .label-warning, .dark-theme .label-primary {
   color: #fff !important;
-}
\ No newline at end of file
+}
diff --git a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
index 125632d..dc36abb 100644
--- a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
+++ b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
@@ -602,6 +602,7 @@ div.listview-actions a {
   padding: 6px 0;
   text-align: center;
   width: 30px;
+  color: white !important;
 }
 
 .circular-actions a {
@@ -613,9 +614,9 @@ div.listview-actions a {
   text-align: center;
   width: 30px;
   &.btn {
-    background-color: #3c8dbc;
-    border-color: #367fa9;
-    color: #fff;
+    background-color: #28a745;
+    border-color: #28a745;
+    color: white !important;
   }
 }
 
@@ -664,16 +665,6 @@ div.listview-actions a {
   padding: 0px 4px 0px 4px;
 }
 
-.left {
-  float: left;
-  width: 50%;
-}
-
-.right {
-  float: right;
-  width: 50%;
-}
-
 span.highlight .attribute label {
   color: red;
 }
@@ -727,7 +718,6 @@ span.highlight .attribute label {
 .clause {
   display: block;
   line-height: 34px;
-  width: 100%;
   .operator {
     width: 65px !important;
     .checkbox {
@@ -808,6 +798,7 @@ li.todoitem a {
 
 .popover {
   max-width: 100%;
+  z-index: 7000;
 }
 
 #popover:hover {
@@ -820,7 +811,7 @@ li.todoitem a {
 
 .form-palette {
   display: inline-block;
-  width: 119%;
+  width: 110%;
 }
 
 .form-group-inline {
@@ -975,7 +966,6 @@ div#userFilter {
 
 .selectedEvents {
   display: inline-block;
-  height: 100px;
   margin: 10px 10px 0 10px;
   overflow-y: auto;
 }
@@ -1106,6 +1096,7 @@ ul.menu {
 .toggle-menu ul.menu li a {
   padding: 0px;
   text-align: left;
+  color: white !important;
 }
 
 div#tablehandling ul.menu li a {
@@ -1118,7 +1109,7 @@ div#tablehandling ul.menu li a {
 }
 
 .realm-choice #realm-choice-folder {
-  color: #3c8dbc;
+  color: #28a745;
 }
 
 /* Form wrappers
diff --git a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
index 36247f7..8a2d99d 100644
--- a/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
+++ b/client/idrepo/common-ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
@@ -96,13 +96,10 @@ $(document).ready(function () {
     ];
 
     var darkThemeFiles = [
-      locationDomain + '/css/AdminLTE_skins/skin-blue.css',
       locationDomain + '/ui-commons/css/accessibility/accessibilityHC.css'
     ];
 
     var darkThemeMainClass = 'dark-theme';
-    var darkThemeSkinClass = 'skin-blue';
-    var defaultThemeMainClass = 'skin-green-light';
 
     var doSwitch = function (check, files) {
       if (!check) {
@@ -118,12 +115,6 @@ $(document).ready(function () {
 
     var doSwitchTheme = function (check, files) {
       doSwitch(check, files);
-
-      if ($('body').hasClass(defaultThemeMainClass) && check) {
-        $('body').removeClass(defaultThemeMainClass).addClass(darkThemeMainClass).addClass(darkThemeSkinClass);
-      } else {
-        $('body').addClass(defaultThemeMainClass).removeClass(darkThemeMainClass).removeClass(darkThemeSkinClass);
-      }
     };
 
     var savePreference = function (key, value) {
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateFieldPanel.html
index 084c8a9..c0d9616 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateFieldPanel.html
@@ -22,8 +22,7 @@ under the License.
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <div class="input-group">
-      <input wicket:id="field" type="text"></input>
-    </div>
+
+    <input wicket:id="field" type="text"></input>
   </wicket:extend>
 </html>
\ No newline at end of file
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.html
index 1b11685..8a40ebc 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDateTimeFieldPanel.html
@@ -29,8 +29,7 @@ under the License.
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <div class="input-group">
-      <span wicket:id="field"/>
-    </div>
+
+    <span wicket:id="field"/>
   </wicket:extend>
 </html>
\ No newline at end of file
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.html
index c4b3da7..fe17ea2 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxDropDownChoicePanel.html
@@ -22,8 +22,6 @@ under the License.
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <fieldset class="input-group">
-      <select wicket:id="dropDownChoiceField" />
-    </fieldset>
+    <select class="form-control select2bs4 select2-hidden-accessible" wicket:id="dropDownChoiceField"/>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.html
index 907ab8a..8deafdc 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPalettePanel.html
@@ -24,7 +24,7 @@ under the License.
         <span wicket:id="filter">[FILTER]</span>
         <span class="input-group-btn">
           <button type="button" class="btn btn-default btn-flat" wicket:id="search">
-            <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
+            <span class="fas fa-search" aria-hidden="true"></span>
           </button>
         </span>
       </div>
@@ -35,7 +35,7 @@ under the License.
     </wicket:enclosure>
     <fieldset class="input-group">
       <div class="form-group form-palette">
-        <span wicket:id="paletteField">[Palette]</span>
+        <div class="row" wicket:id="paletteField">[Palette]</div>
       </div>
     </fieldset>
   </wicket:extend>
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPasswordFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPasswordFieldPanel.html
index 2d22038..f83c16a 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPasswordFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxPasswordFieldPanel.html
@@ -26,9 +26,7 @@ under the License.
         <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
         <span wicket:id="externalAction"/>
       </wicket:enclosure>
-      <fieldset class="input-group">
-        <input type="password" class="form-control" wicket:id="passwordField" />
-      </fieldset>
+      <input type="password" class="form-control" wicket:id="passwordField" />
     </wicket:extend>
   </body>
 </html>
\ No newline at end of file
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.html
index 9cd7a96..3587e3f 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxSpinnerFieldPanel.html
@@ -22,8 +22,7 @@ under the License.
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <fieldset class="input-group">
-      <input wicket:id="spinner"/>
-    </fieldset>
+
+    <input wicket:id="spinner"/>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.html
index 2c1b7bb..d500c79 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxTextFieldPanel.html
@@ -20,11 +20,10 @@ under the License.
   <wicket:extend>
     <wicket:enclosure child="field-label">
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
-      <span wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign" style="cursor: pointer"></span>
+      <span wicket:id="jexlInfo" class="fas fa-info-circle" style="cursor: pointer"></span>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <fieldset class="input-group">
-      <input type="text" class="form-control" wicket:id="textField" placeholder=""/>
-    </fieldset>
+
+    <input type="text" class="form-control" wicket:id="textField" placeholder=""/>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.html
index 632307d..cb15cae 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/EncryptedFieldPanel.html
@@ -22,7 +22,7 @@ under the License.
       <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
       <span wicket:id="externalAction"/>
     </wicket:enclosure>
-    <div class="input-group input-group-sm">
+    <div class="input-group">
       <span class="input-group-btn">  
         <button type="button" class="btn btn-warning btn-flat"
                 wicket:message="confirm:confirmMessage"
@@ -48,7 +48,7 @@ under the License.
       </span>
       <input type="password" class="form-control" wicket:id="encryptedField" readonly="true"/>
       <span class="input-group-btn">  
-        <button type="button" class="btn btn-primary btn-flat"
+        <button type="button" class="btn btn-success btn-flat"
                 onmousedown="var pwd = $(this).parent().prev('input');
                     if (!pwd.is('[readonly]')) {
                       pwd.attr('type', 'text');
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/NonI18nPalette.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/NonI18nPalette.html
index 79728da..bbe6efa 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/NonI18nPalette.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/NonI18nPalette.html
@@ -27,22 +27,22 @@
     </div>
     <div style="width: 20px; float: left; padding-top: 30px; text-align: center">
       <div style="padding-top: 2px;">
-        <a wicket:id="addAllButton"><i class="glyphicon glyphicon-forward"></i></a>
+        <a wicket:id="addAllButton"><i class="fas fa-forward"></i></a>
       </div>
       <div style="padding-top: 2px;">
-        <a wicket:id="removeAllButton"><i class="glyphicon glyphicon-backward"></i></a>
+        <a wicket:id="removeAllButton"><i class="fas fa-backward"></i></a>
       </div>
       <div style="padding-top: 2px;">
-        <a wicket:id="addButton"><i class="glyphicon glyphicon-triangle-right"></i></a>
+        <a wicket:id="addButton"><i class="fas fa-caret-right"></i></a>
       </div>
       <div style="padding-top: 2px;">
-        <a wicket:id="removeButton"><i class="glyphicon glyphicon-triangle-left"></i></a>
+        <a wicket:id="removeButton"><i class="fas fa-caret-left"></i></a>
       </div>
       <div style="padding-top: 2px;">
-        <a wicket:id="moveUpButton"><i class="glyphicon glyphicon-triangle-top"></i></a>
+        <a wicket:id="moveUpButton"><i class="fas fa-caret-up"></i></a>
       </div>
       <div style="padding-top: 2px;">
-        <a wicket:id="moveDownButton"><i class="glyphicon glyphicon-triangle-bottom"></i></a>
+        <a wicket:id="moveDownButton"><i class="fas fa-caret-down"></i></a>
       </div>          
     </div>
     <div class="col-md-5">
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.html
index 7471fed..f82fea4 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/preview/DefaultPreviewer.html
@@ -19,7 +19,7 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" >
   <wicket:extend>
     <div style="padding: 8px 0px 1px 10px">
-      <i class=" glyphicon glyphicon-paperclip fa-2x" title="Preview not available" alt="Default preview icon"></i>
+      <i class="fas fa-paperclip fa-2x" title="Preview not available" alt="Default preview icon"></i>
     </div>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/wicket/markup/html/bootstrap/tabs/Accordion.html b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/wicket/markup/html/bootstrap/tabs/Accordion.html
index 76ba597..faa02b6 100644
--- a/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/wicket/markup/html/bootstrap/tabs/Accordion.html
+++ b/client/idrepo/common-ui/src/main/resources/org/apache/syncope/client/ui/commons/wicket/markup/html/bootstrap/tabs/Accordion.html
@@ -18,14 +18,14 @@ under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:panel>
-    <div class="panel box box-primary" wicket:id="tabs">
-      <div class="box-header with-border">
-        <h4  class="box-title">
+    <div class="card card-outline" wicket:id="tabs">
+      <div class="card-header">
+        <h4 class="card-title">
           <a wicket:id="title" class="accordion-toggle" data-toggle="collapse">Title</a>
         </h4>
       </div>
       <div wicket:id="body" class="panel-collapse collapse">
-        <div class="box-body" wicket:id="content">Content</div>
+        <div class="card-body" wicket:id="content">Content</div>
       </div>
     </div>
   </wicket:panel>
diff --git a/client/idrepo/console/pom.xml b/client/idrepo/console/pom.xml
index c3e0e99..1a897b3 100644
--- a/client/idrepo/console/pom.xml
+++ b/client/idrepo/console/pom.xml
@@ -130,13 +130,6 @@ under the License.
 
     <!-- required by wicket tester -->
     <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>4.12</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
       <groupId>org.mockito</groupId>
       <artifactId>mockito-core</artifactId>
       <scope>test</scope>
@@ -249,5 +242,96 @@ under the License.
         </plugins>
       </build>
     </profile>
+    
+    <profile>
+      <id>debug</id>
+
+      <properties>
+        <skipTests>true</skipTests>
+      </properties>
+
+      <build>
+        <defaultGoal>clean package spring-boot:run</defaultGoal>
+
+        <plugins>
+          <plugin>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-maven-plugin</artifactId>
+            <configuration>
+              <jvmArguments>
+                -Dwicket.core.settings.general.configuration-type=development
+                -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n
+              </jvmArguments>
+              <profiles>
+                <profile>debug</profile>
+              </profiles>
+            </configuration>
+          </plugin>
+        </plugins>
+
+        <resources>
+          <resource>
+            <directory>${basedir}/src/test/resources</directory>
+            <filtering>true</filtering>
+            <includes>
+              <include>*.properties</include>
+            </includes>
+          </resource>
+        </resources>
+      </build>
+      
+      <dependencies>
+        <dependency>
+          <groupId>org.springframework.boot</groupId>
+          <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.ext.self-keymaster</groupId>
+          <artifactId>syncope-ext-self-keymaster-client</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.client.idm</groupId>
+          <artifactId>syncope-client-idm-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.syncope.client.am</groupId>
+          <artifactId>syncope-client-am-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.ext.flowable</groupId>
+          <artifactId>syncope-ext-flowable-client-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.ext.camel</groupId>
+          <artifactId>syncope-ext-camel-client-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.ext.saml2sp</groupId>
+          <artifactId>syncope-ext-saml2sp-client-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+          <groupId>org.apache.syncope.ext.scimv2</groupId>
+          <artifactId>syncope-ext-scimv2-client-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+        <dependency>
+          <groupId>org.apache.syncope.ext.oidcclient</groupId>
+          <artifactId>syncope-ext-oidcclient-client-console</artifactId>
+          <version>${project.version}</version>
+        </dependency>
+      </dependencies>
+    </profile>
   </profiles>
 </project>
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
index e015d03..efad81c 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SyncopeWebApplication.java
@@ -267,6 +267,7 @@ public class SyncopeWebApplication extends WicketBootSecuredWebApplication {
                 }
             }
         });
+        getCspSettings().blocking().unsafeInline();
 
         mountPage("/login", getSignInPageClass());
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java
index e88b670..e034836 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoAnyDirectoryPanelAdditionalActionsProvider.java
@@ -22,6 +22,8 @@ import java.util.List;
 import org.apache.syncope.client.console.panels.AnyDirectoryPanel;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.wicket.PageReference;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 
 public class IdRepoAnyDirectoryPanelAdditionalActionsProvider implements AnyDirectoryPanelAdditionalActionsProvider {
@@ -41,7 +43,24 @@ public class IdRepoAnyDirectoryPanelAdditionalActionsProvider implements AnyDire
             final List<String> dSchemaNames,
             final PageReference pageRef) {
 
-        // nothing to do
+        panel.addInnerObject(new AjaxLink<Void>("csvPush") {
+
+            private static final long serialVersionUID = -817438685948164787L;
+
+            @Override
+            public void onClick(final AjaxRequestTarget target) {
+                // nothing to do
+            }
+        }.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true).setVisible(false).setEnabled(false));
+        panel.addInnerObject(new AjaxLink<Void>("csvPull") {
+
+            private static final long serialVersionUID = -817438685948164787L;
+
+            @Override
+            public void onClick(final AjaxRequestTarget target) {
+                // nothing to do
+            }
+        }.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true).setVisible(false).setEnabled(false));
     }
 
     @Override
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
index e61e195..ea08367 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/commons/IdRepoImplementationInfoProvider.java
@@ -21,12 +21,10 @@ package org.apache.syncope.client.console.commons;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Optional;
 import java.util.stream.Collectors;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
 import org.apache.syncope.client.console.rest.ImplementationRestClient;
-import org.apache.syncope.common.lib.info.JavaImplInfo;
 import org.apache.syncope.common.lib.to.EntityTO;
 import org.apache.syncope.common.lib.to.ImplementationTO;
 import org.apache.syncope.common.lib.types.IdRepoImplementationType;
@@ -57,31 +55,28 @@ public class IdRepoImplementationInfoProvider implements ImplementationInfoProvi
     public List<String> getClasses(final ImplementationTO implementation, final ViewMode viewMode) {
         List<String> classes = List.of();
         if (viewMode == ViewMode.JAVA_CLASS) {
-            Optional<JavaImplInfo> javaClasses = SyncopeConsoleSession.get().getPlatformInfo().
-                    getJavaImplInfo(implementation.getType());
-            classes = javaClasses.map(javaImplInfo -> new ArrayList<>(javaImplInfo.getClasses()))
-                    .orElseGet(ArrayList::new);
+            classes = SyncopeConsoleSession.get().getPlatformInfo().getJavaImplInfo(implementation.getType()).
+                    map(javaImplInfo -> new ArrayList<>(javaImplInfo.getClasses())).orElseGet(ArrayList::new);
         } else if (viewMode == ViewMode.JSON_BODY) {
             switch (implementation.getType()) {
                 case IdRepoImplementationType.REPORTLET:
-                    classes = lookup.getReportletConfs().keySet().stream().
-                            collect(Collectors.toList());
+                    classes = new ArrayList<>(lookup.getReportletConfs().keySet());
                     break;
 
                 case IdRepoImplementationType.ACCOUNT_RULE:
-                    classes = lookup.getAccountRuleConfs().keySet().stream().
-                            collect(Collectors.toList());
+                    classes = new ArrayList<>(lookup.getAccountRuleConfs().keySet());
                     break;
 
                 case IdRepoImplementationType.PASSWORD_RULE:
-                    classes = lookup.getPasswordRuleConfs().keySet().stream().
-                            collect(Collectors.toList());
+                    classes = new ArrayList<>(lookup.getPasswordRuleConfs().keySet());
                     break;
 
                 default:
             }
         }
-        Collections.sort(classes);
+        if (!classes.isEmpty()) {
+            Collections.sort(classes);
+        }
 
         return classes;
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
index 9904684..8f64ac9 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventCategoryPanel.java
@@ -18,13 +18,12 @@
  */
 package org.apache.syncope.client.console.events;
 
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.client.console.events.SelectedEventsPanel.EventSelectionChanged;
@@ -108,7 +107,6 @@ public abstract class EventCategoryPanel extends Panel {
                 new PropertyModel<>(eventCategoryTO, "type"),
                 false);
         type.setChoices(List.of(EventCategoryType.values()));
-        type.setStyleSheet("ui-widget-content ui-corner-all");
         type.setChoiceRenderer(new IChoiceRenderer<EventCategoryType>() {
 
             private static final long serialVersionUID = 2317134950949778735L;
@@ -207,7 +205,7 @@ public abstract class EventCategoryPanel extends Panel {
                     custom.setModelObject(StringUtils.EMPTY);
                     send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
                             target,
-                            Collections.<String>singleton(eventString),
+                            Set.of(eventString),
                             Set.of()));
                     target.add(categoryContainer);
                 }
@@ -235,7 +233,7 @@ public abstract class EventCategoryPanel extends Panel {
                     send(EventCategoryPanel.this.getPage(), Broadcast.BREADTH, new EventSelectionChanged(
                             target,
                             Set.of(),
-                            Collections.<String>singleton(eventString)));
+                            Set.of(eventString)));
                     target.add(categoryContainer);
                 }
             }
@@ -265,13 +263,11 @@ public abstract class EventCategoryPanel extends Panel {
                 -> type == eventCategory.getType() && StringUtils.isNotEmpty(eventCategory.getCategory())).
                 forEachOrdered(eventCategory -> res.add(eventCategory.getCategory()));
 
-        List<String> filtered = new ArrayList<>(res);
-        Collections.sort(filtered);
-        return filtered;
+        return res.stream().sorted().collect(Collectors.toList());
     }
 
     private static List<String> filter(
-        final List<EventCategory> eventCategoryTOs, final EventCategoryType type, final String category) {
+            final List<EventCategory> eventCategoryTOs, final EventCategoryType type, final String category) {
 
         Set<String> res = new HashSet<>();
 
@@ -280,9 +276,7 @@ public abstract class EventCategoryPanel extends Panel {
                 && StringUtils.isNotEmpty(eventCategory.getSubcategory())).
                 forEachOrdered(eventCategory -> res.add(eventCategory.getSubcategory()));
 
-        List<String> filtered = new ArrayList<>(res);
-        Collections.sort(filtered);
-        return filtered;
+        return res.stream().sorted().collect(Collectors.toList());
     }
 
     @Override
@@ -341,10 +335,10 @@ public abstract class EventCategoryPanel extends Panel {
             // update objects ....
             eventCategoryTO.getEvents().clear();
 
-            final InspectSelectedEvent inspectSelectedEvent = (InspectSelectedEvent) event.getPayload();
+            InspectSelectedEvent inspectSelectedEvent = (InspectSelectedEvent) event.getPayload();
 
-            final Map.Entry<EventCategory, AuditElements.Result> categoryEvent = AuditLoggerName.parseEventCategory(
-                    inspectSelectedEvent.getEvent());
+            Map.Entry<EventCategory, AuditElements.Result> categoryEvent =
+                    AuditLoggerName.parseEventCategory(inspectSelectedEvent.getEvent());
 
             eventCategoryTO.setType(categoryEvent.getKey().getType());
             category.setChoices(filter(eventCategoryTOs, type.getModelObject()));
@@ -384,14 +378,15 @@ public abstract class EventCategoryPanel extends Panel {
     }
 
     private void setEvents() {
-        final Iterator<EventCategory> itor = eventCategoryTOs.iterator();
-        while (itor.hasNext() && eventCategoryTO.getEvents().isEmpty()) {
-            final EventCategory eventCategory = itor.next();
+        for (Iterator<EventCategory> itor = eventCategoryTOs.iterator();
+                itor.hasNext() && eventCategoryTO.getEvents().isEmpty();) {
+
+            EventCategory eventCategory = itor.next();
             if (eventCategory.getType() == eventCategoryTO.getType()
                     && StringUtils.equals(eventCategory.getCategory(), eventCategoryTO.getCategory())
                     && StringUtils.equals(eventCategory.getSubcategory(), eventCategoryTO.getSubcategory())) {
-                eventCategoryTO.getEvents().addAll(eventCategory.getEvents());
 
+                eventCategoryTO.getEvents().addAll(eventCategory.getEvents());
             }
         }
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
index 8518e86..1d78eee 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/EventSelectionPanel.java
@@ -28,6 +28,7 @@ import org.apache.syncope.common.lib.log.EventCategory;
 import org.apache.syncope.common.lib.types.AuditElements;
 import org.apache.syncope.common.lib.types.AuditLoggerName;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.markup.html.basic.Label;
@@ -47,8 +48,7 @@ public abstract class EventSelectionPanel extends Panel {
 
     private final Set<String> selected = new HashSet<>();
 
-    public EventSelectionPanel(
-            final String id, final EventCategory eventCategoryTO, final IModel<List<String>> model) {
+    public EventSelectionPanel(final String id, final EventCategory eventCategoryTO, final IModel<List<String>> model) {
         super(id);
         setOutputMarkupId(true);
 
@@ -57,18 +57,17 @@ public abstract class EventSelectionPanel extends Panel {
         // needed to avoid model reset: model have to be managed into SelectedEventsPanel
         selected.addAll(model.getObject());
 
-        final CheckGroup<String> successGroup = new CheckGroup<>("successGroup", selected);
-        successGroup.add(new IndicatorAjaxFormChoiceComponentUpdatingBehavior() {
+        CheckGroup<String> successGroup = new CheckGroup<>("successGroup", selected);
+        successGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() {
 
             private static final long serialVersionUID = -151291731388673682L;
 
             @Override
             protected void onUpdate(final AjaxRequestTarget target) {
+                Set<String> toBeRemoved = new HashSet<>();
+                Set<String> toBeAdded = new HashSet<>();
 
-                final Set<String> toBeRemoved = new HashSet<>();
-                final Set<String> toBeAdded = new HashSet<>();
-
-                for (String event : getEvents(eventCategoryTO)) {
+                getEvents(eventCategoryTO).forEach(event -> {
                     String eventString = AuditLoggerName.buildEvent(
                             eventCategoryTO.getType(),
                             eventCategoryTO.getCategory(),
@@ -81,7 +80,7 @@ public abstract class EventSelectionPanel extends Panel {
                     } else {
                         toBeRemoved.add(eventString);
                     }
-                }
+                });
 
                 send(EventSelectionPanel.this.getPage(), Broadcast.BREADTH,
                         new SelectedEventsPanel.EventSelectionChanged(target, toBeAdded, toBeRemoved));
@@ -102,9 +101,7 @@ public abstract class EventSelectionPanel extends Panel {
 
             @Override
             protected void populateItem(final ListItem<String> item) {
-                final String subcategory = item.getModelObject();
-
-                item.add(new Label("subcategory", new ResourceModel(subcategory, subcategory)));
+                item.add(new Label("subcategory", Model.of(item.getModelObject())));
             }
         };
         add(categoryView);
@@ -127,18 +124,18 @@ public abstract class EventSelectionPanel extends Panel {
         };
         successGroup.add(successView);
 
-        final CheckGroup<String> failureGroup = new CheckGroup<>("failureGroup", selected);
+        CheckGroup<String> failureGroup = new CheckGroup<>("failureGroup", selected);
         failureGroup.add(new IndicatorAjaxFormChoiceComponentUpdatingBehavior() {
 
             private static final long serialVersionUID = -151291731388673682L;
 
             @Override
             protected void onUpdate(final AjaxRequestTarget target) {
-                final Set<String> toBeRemoved = new HashSet<>();
-                final Set<String> toBeAdded = new HashSet<>();
+                Set<String> toBeRemoved = new HashSet<>();
+                Set<String> toBeAdded = new HashSet<>();
 
-                for (String event : getEvents(eventCategoryTO)) {
-                    final String eventString = AuditLoggerName.buildEvent(
+                getEvents(eventCategoryTO).forEach(event -> {
+                    String eventString = AuditLoggerName.buildEvent(
                             eventCategoryTO.getType(),
                             eventCategoryTO.getCategory(),
                             eventCategoryTO.getSubcategory(),
@@ -150,7 +147,7 @@ public abstract class EventSelectionPanel extends Panel {
                     } else {
                         toBeRemoved.add(eventString);
                     }
-                }
+                });
 
                 send(EventSelectionPanel.this.getPage(), Broadcast.BREADTH,
                         new SelectedEventsPanel.EventSelectionChanged(target, toBeAdded, toBeRemoved));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
index 2d71ebd..b9857ea 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/events/SelectedEventsPanel.java
@@ -39,8 +39,6 @@ public class SelectedEventsPanel extends Panel {
 
     private final WebMarkupContainer selectionContainer;
 
-    private ListMultipleChoice<String> selectedEvents;
-
     private final IModel<List<String>> model;
 
     public SelectedEventsPanel(final String id, final IModel<List<String>> model) {
@@ -52,7 +50,8 @@ public class SelectedEventsPanel extends Panel {
         selectionContainer.setOutputMarkupId(true);
         add(selectionContainer);
 
-        selectedEvents = new ListMultipleChoice<String>("selectedEvents", new ListModel<String>(), model) {
+        ListMultipleChoice<String> selectedEvents =
+                new ListMultipleChoice<String>("selectedEvents", new ListModel<String>(), model) {
 
             private static final long serialVersionUID = 1226677544225737338L;
 
@@ -64,7 +63,6 @@ public class SelectedEventsPanel extends Panel {
                 tag.put("size", 5);
             }
         };
-
         selectedEvents.setMaxRows(5);
         selectedEvents.setChoiceRenderer(new IChoiceRenderer<String>() {
 
@@ -85,7 +83,6 @@ public class SelectedEventsPanel extends Panel {
                 return id;
             }
         });
-
         selectedEvents.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) {
 
             private static final long serialVersionUID = -151291731388673682L;
@@ -97,24 +94,20 @@ public class SelectedEventsPanel extends Panel {
                         new InspectSelectedEvent(target, selectedEvents.getModelValue()));
             }
         });
-
         selectionContainer.add(selectedEvents);
     }
 
     @Override
     public void onEvent(final IEvent<?> event) {
         if (event.getPayload() instanceof EventSelectionChanged) {
-            final EventSelectionChanged eventSelectionChanged = (EventSelectionChanged) event.getPayload();
+            EventSelectionChanged eventSelectionChanged = (EventSelectionChanged) event.getPayload();
 
-            for (String toBeRemoved : eventSelectionChanged.getToBeRemoved()) {
-                model.getObject().remove(toBeRemoved);
-            }
+            eventSelectionChanged.getToBeRemoved().
+                    forEach(toBeRemoved -> model.getObject().remove(toBeRemoved));
 
-            for (String toBeAdded : eventSelectionChanged.getToBeAdded()) {
-                if (!model.getObject().contains(toBeAdded)) {
-                    model.getObject().add(toBeAdded);
-                }
-            }
+            eventSelectionChanged.getToBeAdded().stream().
+                    filter(toBeAdded -> !model.getObject().contains(toBeAdded)).
+                    forEach(toBeAdded -> model.getObject().add(toBeAdded));
 
             eventSelectionChanged.getTarget().add(selectionContainer);
         }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
index b42e8b2..fa4642f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/MailTemplateDirectoryPanel.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.DirectoryPanel;
 import org.apache.syncope.client.console.rest.NotificationRestClient;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.ui.commons.wizards.AbstractModalPanelBuilder;
 import org.apache.syncope.client.ui.commons.wizards.AjaxWizard;
@@ -54,7 +55,6 @@ import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.panels.WizardModalPanel;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.model.PropertyModel;
 
 public class MailTemplateDirectoryPanel
@@ -72,7 +72,7 @@ public class MailTemplateDirectoryPanel
         modal.addSubmitButton();
         setFooterVisibility(true);
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
index 2593167..8ed8760 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/notifications/NotificationWizardBuilder.java
@@ -181,7 +181,6 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
                 }
             });
         }
-
     }
 
     public static class About extends Panel {
@@ -228,7 +227,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
 
             };
 
-            final WebMarkupContainer searchContainer = new WebMarkupContainer("search");
+            WebMarkupContainer searchContainer = new WebMarkupContainer("search");
             add(searchContainer.setOutputMarkupId(true));
 
             searchContainer.add(getClauseBuilder(model.getObject().getLeft(), clauseModel).build("clauses"));
@@ -240,8 +239,8 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
                 @Override
                 protected void onUpdate(final AjaxRequestTarget target) {
                     clauseModel.getObject().clear();
-                    searchContainer.addOrReplace(getClauseBuilder(type.getModelObject(), clauseModel).build("clauses").
-                            setRenderBodyOnly(true));
+                    searchContainer.addOrReplace(getClauseBuilder(type.getModelObject(), clauseModel).
+                            build("clauses").setRenderBodyOnly(true));
                     target.add(searchContainer);
                 }
             });
@@ -392,7 +391,7 @@ public class NotificationWizardBuilder extends BaseAjaxWizardBuilder<Notificatio
         }
 
         String[] anyTypeClasses = Optional.ofNullable(type)
-            .map(anyTypeTO -> anyTypeTO.getClasses().toArray(new String[]{})).orElseGet(() -> new String[0]);
+                .map(anyTypeTO -> anyTypeTO.getClasses().toArray(new String[] {})).orElseGet(() -> new String[0]);
 
         List<String> result = new ArrayList<>();
         result.add("username");
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
index d2c1e32..6919a01 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/BasePage.java
@@ -20,6 +20,7 @@ package org.apache.syncope.client.console.pages;
 
 import java.io.Serializable;
 import java.lang.reflect.Constructor;
+import java.time.Duration;
 import java.util.List;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
@@ -31,7 +32,6 @@ import org.apache.syncope.client.ui.commons.HttpResourceStream;
 import org.apache.syncope.client.console.init.ClassPathScanImplementationLookup;
 import org.apache.syncope.client.console.rest.SyncopeRestClient;
 import org.apache.syncope.client.console.wicket.markup.head.MetaHeaderItem;
-import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
 import org.apache.syncope.client.console.widgets.ExtAlertWidget;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
@@ -51,10 +51,10 @@ import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.behavior.AttributeAppender;
 import org.apache.wicket.behavior.Behavior;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
@@ -67,16 +67,11 @@ import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.request.resource.ContentDisposition;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class BasePage extends BaseWebPage {
 
     private static final long serialVersionUID = 1571997737305598502L;
 
-    protected static final Logger LOG = LoggerFactory.getLogger(BasePage.class);
-
     protected static final HeaderItem META_IE_EDGE = new MetaHeaderItem("X-UA-Compatible", "IE=edge");
 
     @SpringBean
@@ -130,7 +125,7 @@ public class BasePage extends BaseWebPage {
                             ? SyncopeConsoleSession.get().getDomain() + "Content.xml"
                             : stream.getFilename());
                     rsrh.setContentDisposition(ContentDisposition.ATTACHMENT);
-                    rsrh.setCacheDuration(Duration.NONE);
+                    rsrh.setCacheDuration(Duration.ZERO);
 
                     getRequestCycle().scheduleRequestHandlerAfterCurrent(rsrh);
                 } catch (Exception e) {
@@ -170,29 +165,29 @@ public class BasePage extends BaseWebPage {
             protected void populateItem(final ListItem<Class<? extends BasePage>> item) {
                 WebMarkupContainer containingLI = new WebMarkupContainer("idmPageLI");
                 item.add(containingLI);
+
+                IdMPage ann = item.getModelObject().getAnnotation(IdMPage.class);
+
+                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("idmPage", item.getModelObject());
+                link.add(new Label("idmPageLabel", ann.label()));
+                if (StringUtils.isNotBlank(ann.listEntitlement())) {
+                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
+                }
                 if (item.getModelObject().equals(BasePage.this.getClass())) {
-                    containingLI.add(new Behavior() {
+                    link.add(new Behavior() {
 
                         private static final long serialVersionUID = 1469628524240283489L;
 
                         @Override
                         public void onComponentTag(final Component component, final ComponentTag tag) {
-                            tag.put("class", "active");
+                            tag.append("class", "active", " ");
                         }
                     });
                 }
-
-                IdMPage ann = item.getModelObject().getAnnotation(IdMPage.class);
-
-                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("idmPage", item.getModelObject());
-                link.add(new Label("idmPageLabel", ann.label()));
-                if (StringUtils.isNotBlank(ann.listEntitlement())) {
-                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
-                }
                 containingLI.add(link);
 
                 Label idmPageIcon = new Label("idmPageIcon");
-                idmPageIcon.add(new AttributeModifier("class", "fa " + ann.icon()));
+                idmPageIcon.add(new AttributeModifier("class", "nav-icon " + ann.icon()));
                 link.add(idmPageIcon);
             }
         };
@@ -210,29 +205,29 @@ public class BasePage extends BaseWebPage {
             protected void populateItem(final ListItem<Class<? extends BasePage>> item) {
                 WebMarkupContainer containingLI = new WebMarkupContainer("amPageLI");
                 item.add(containingLI);
+
+                AMPage ann = item.getModelObject().getAnnotation(AMPage.class);
+
+                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("amPage", item.getModelObject());
+                link.add(new Label("amPageLabel", ann.label()));
+                if (StringUtils.isNotBlank(ann.listEntitlement())) {
+                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
+                }
                 if (item.getModelObject().equals(BasePage.this.getClass())) {
-                    containingLI.add(new Behavior() {
+                    link.add(new Behavior() {
 
                         private static final long serialVersionUID = 1469628524240283489L;
 
                         @Override
                         public void onComponentTag(final Component component, final ComponentTag tag) {
-                            tag.put("class", "active");
+                            tag.append("class", "active", " ");
                         }
                     });
                 }
-
-                AMPage ann = item.getModelObject().getAnnotation(AMPage.class);
-
-                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("amPage", item.getModelObject());
-                link.add(new Label("amPageLabel", ann.label()));
-                if (StringUtils.isNotBlank(ann.listEntitlement())) {
-                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
-                }
                 containingLI.add(link);
 
                 Label amPageIcon = new Label("amPageIcon");
-                amPageIcon.add(new AttributeModifier("class", "fa " + ann.icon()));
+                amPageIcon.add(new AttributeModifier("class", "nav-icon " + ann.icon()));
                 link.add(amPageIcon);
             }
         };
@@ -245,18 +240,24 @@ public class BasePage extends BaseWebPage {
         WebMarkupContainer keymasterULContainer = new WebMarkupContainer(getULContainerId("keymaster"));
         keymasterLIContainer.add(keymasterULContainer);
 
+        liContainer = new WebMarkupContainer(getLIContainerId("domains"));
+        keymasterULContainer.add(liContainer);
+        link = BookmarkablePageLinkBuilder.build("domains", Domains.class);
+        liContainer.add(link);
         if (SyncopeConstants.MASTER_DOMAIN.equals(SyncopeConsoleSession.get().getDomain())) {
-            liContainer = new WebMarkupContainer(getLIContainerId("domains"));
-            keymasterULContainer.add(liContainer);
-            link = BookmarkablePageLinkBuilder.build("domains", Domains.class);
             MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, IdRepoEntitlement.KEYMASTER);
-            liContainer.add(link);
+        } else {
+            link.setOutputMarkupPlaceholderTag(true).setEnabled(false).setVisible(false);
+        }
 
-            liContainer = new WebMarkupContainer(getLIContainerId("networkservices"));
-            keymasterULContainer.add(liContainer);
-            link = BookmarkablePageLinkBuilder.build("networkservices", NetworkServices.class);
+        liContainer = new WebMarkupContainer(getLIContainerId("networkservices"));
+        keymasterULContainer.add(liContainer);
+        link = BookmarkablePageLinkBuilder.build("networkservices", NetworkServices.class);
+        liContainer.add(link);
+        if (SyncopeConstants.MASTER_DOMAIN.equals(SyncopeConsoleSession.get().getDomain())) {
             MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, IdRepoEntitlement.KEYMASTER);
-            liContainer.add(link);
+        } else {
+            link.setOutputMarkupPlaceholderTag(true).setEnabled(false).setVisible(false);
         }
 
         liContainer = new WebMarkupContainer(getLIContainerId("parameters"));
@@ -358,26 +359,33 @@ public class BasePage extends BaseWebPage {
 
         // set 'active' menu item for everything but extensions
         // 1. check if current class is set to top-level menu
-        Component containingLI = body.get(getLIContainerId(getClass().getSimpleName().toLowerCase()));
+        WebMarkupContainer containingLI = (WebMarkupContainer) body.get(
+                getLIContainerId(getClass().getSimpleName().toLowerCase()));
         // 2. if not, check if it is under 'Keymaster'
         if (containingLI == null) {
-            containingLI = keymasterULContainer.get(getLIContainerId(getClass().getSimpleName().toLowerCase()));
+            containingLI = (WebMarkupContainer) keymasterULContainer.get(
+                    getLIContainerId(getClass().getSimpleName().toLowerCase()));
         }
         // 3. if not, check if it is under 'Configuration'
         if (containingLI == null) {
-            containingLI = confULContainer.get(getLIContainerId(getClass().getSimpleName().toLowerCase()));
+            containingLI = (WebMarkupContainer) confULContainer.get(
+                    getLIContainerId(getClass().getSimpleName().toLowerCase()));
         }
         // 4. when found, set CSS coordinates for menu
         if (containingLI != null) {
-            containingLI.add(new Behavior() {
+            for (Component child : containingLI) {
+                if (child instanceof Link) {
+                    child.add(new Behavior() {
 
-                private static final long serialVersionUID = 1469628524240283489L;
+                        private static final long serialVersionUID = -5775607340182293596L;
 
-                @Override
-                public void onComponentTag(final Component component, final ComponentTag tag) {
-                    tag.put("class", "active");
+                        @Override
+                        public void onComponentTag(final Component component, final ComponentTag tag) {
+                            tag.append("class", "active", " ");
+                        }
+                    });
                 }
-            });
+            }
 
             if (keymasterULContainer.getId().equals(containingLI.getParent().getId())) {
                 keymasterULContainer.add(new Behavior() {
@@ -385,11 +393,16 @@ public class BasePage extends BaseWebPage {
                     private static final long serialVersionUID = -5775607340182293596L;
 
                     @Override
+                    public void renderHead(final Component component, final IHeaderResponse response) {
+                        response.render(OnDomReadyHeaderItem.forScript(
+                                "$('#keymasterLink').addClass('active')"));
+                    }
+
+                    @Override
                     public void onComponentTag(final Component component, final ComponentTag tag) {
-                        tag.put("class", "treeview-menu menu-open");
+                        tag.put("class", "nav nav-treeview");
                         tag.put("style", "display: block;");
                     }
-
                 });
 
                 keymasterLIContainer.add(new Behavior() {
@@ -398,7 +411,7 @@ public class BasePage extends BaseWebPage {
 
                     @Override
                     public void onComponentTag(final Component component, final ComponentTag tag) {
-                        tag.put("class", "treeview active");
+                        tag.put("class", "nav-item has-treeview menu-open");
                     }
                 });
             } else if (confULContainer.getId().equals(containingLI.getParent().getId())) {
@@ -407,11 +420,16 @@ public class BasePage extends BaseWebPage {
                     private static final long serialVersionUID = 3109256773218160485L;
 
                     @Override
+                    public void renderHead(final Component component, final IHeaderResponse response) {
+                        response.render(OnDomReadyHeaderItem.forScript(
+                                "$('#configurationLink').addClass('active')"));
+                    }
+
+                    @Override
                     public void onComponentTag(final Component component, final ComponentTag tag) {
-                        tag.put("class", "treeview-menu menu-open");
+                        tag.put("class", "nav nav-treeview");
                         tag.put("style", "display: block;");
                     }
-
                 });
 
                 confLIContainer.add(new Behavior() {
@@ -420,7 +438,7 @@ public class BasePage extends BaseWebPage {
 
                     @Override
                     public void onComponentTag(final Component component, final ComponentTag tag) {
-                        tag.put("class", "treeview active");
+                        tag.put("class", "nav-item has-treeview menu-open");
                     }
                 });
             }
@@ -466,32 +484,39 @@ public class BasePage extends BaseWebPage {
             protected void populateItem(final ListItem<Class<? extends BaseExtPage>> item) {
                 WebMarkupContainer containingLI = new WebMarkupContainer("extPageLI");
                 item.add(containingLI);
+
+                ExtPage ann = item.getModelObject().getAnnotation(ExtPage.class);
+
+                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("extPage", item.getModelObject());
+                link.add(new Label("extPageLabel", ann.label()));
+                if (StringUtils.isNotBlank(ann.listEntitlement())) {
+                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
+                }
                 if (item.getModelObject().equals(BasePage.this.getClass())) {
-                    containingLI.add(new Behavior() {
+                    link.add(new Behavior() {
 
                         private static final long serialVersionUID = 1469628524240283489L;
 
                         @Override
+                        public void renderHead(final Component component, final IHeaderResponse response) {
+                            response.render(OnDomReadyHeaderItem.forScript(
+                                    "$('#extensionsLink').addClass('active')"));
+                        }
+
+                        @Override
                         public void onComponentTag(final Component component, final ComponentTag tag) {
-                            tag.put("class", "active");
+                            tag.append("class", "active", " ");
                         }
                     });
                 }
-
-                ExtPage ann = item.getModelObject().getAnnotation(ExtPage.class);
-
-                BookmarkablePageLink<Page> link = new BookmarkablePageLink<>("extPage", item.getModelObject());
-                link.add(new Label("extPageLabel", ann.label()));
-                if (StringUtils.isNotBlank(ann.listEntitlement())) {
-                    MetaDataRoleAuthorizationStrategy.authorize(link, WebPage.RENDER, ann.listEntitlement());
-                }
                 containingLI.add(link);
 
                 Label extPageIcon = new Label("extPageIcon");
-                extPageIcon.add(new AttributeModifier("class", "fa " + ann.icon()));
+                extPageIcon.add(new AttributeModifier("class", "nav-icon " + ann.icon()));
                 link.add(extPageIcon);
             }
         };
+        extPages.setRenderBodyOnly(true);
         extPages.setOutputMarkupId(true);
         extensionsLI.add(extPages);
 
@@ -502,10 +527,9 @@ public class BasePage extends BaseWebPage {
 
                 @Override
                 public void onComponentTag(final Component component, final ComponentTag tag) {
-                    tag.put("class", "treeview-menu menu-open");
+                    tag.put("class", "nav nav-treeview");
                     tag.put("style", "display: block;");
                 }
-
             });
 
             extensionsLI.add(new Behavior() {
@@ -514,7 +538,7 @@ public class BasePage extends BaseWebPage {
 
                 @Override
                 public void onComponentTag(final Component component, final ComponentTag tag) {
-                    tag.put("class", "treeview active");
+                    tag.put("class", "nav-item has-treeview menu-open");
                 }
             });
         }
@@ -533,24 +557,4 @@ public class BasePage extends BaseWebPage {
     private static String getULContainerId(final String linkId) {
         return linkId + "UL";
     }
-
-    /**
-     * Set a WindowClosedCallback for a Modal instance.
-     *
-     * @param modal window
-     * @param container container
-     */
-    public static void setWindowClosedCallback(final BaseModal<?> modal, final WebMarkupContainer container) {
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
-
-            private static final long serialVersionUID = 8804221891699487139L;
-
-            @Override
-            public void onClose(final AjaxRequestTarget target) {
-                if (container != null) {
-                    target.add(container);
-                }
-            }
-        });
-    }
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/LogViewer.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/LogViewer.java
index f8e533a..5f59e98 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/LogViewer.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/LogViewer.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.client.console.pages;
 
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.List;
 import org.apache.commons.collections4.list.SetUniqueList;
@@ -38,7 +40,6 @@ import org.apache.wicket.markup.html.list.ListView;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.util.ListModel;
-import org.apache.wicket.util.time.Duration;
 
 public class LogViewer extends WebPage {
 
@@ -47,23 +48,23 @@ public class LogViewer extends WebPage {
     private static final long serialVersionUID = -7578329899052708105L;
 
     public LogViewer() {
-        final WebMarkupContainer viewer = new WebMarkupContainer("viewer");
+        WebMarkupContainer viewer = new WebMarkupContainer("viewer");
         viewer.setOutputMarkupId(true);
         add(viewer);
 
-        final AjaxDropDownChoicePanel<String> appenders = new AjaxDropDownChoicePanel<>(
+        AjaxDropDownChoicePanel<String> appenders = new AjaxDropDownChoicePanel<>(
                 "appenders", "Appender", new Model<>(), false);
         MetaDataRoleAuthorizationStrategy.authorize(appenders, ENABLE, IdRepoEntitlement.LOG_READ);
         appenders.setChoices(LoggerRestClient.listMemoryAppenders());
         viewer.add(appenders);
 
-        final WebMarkupContainer stContainer = new WebMarkupContainer("stContainer");
+        WebMarkupContainer stContainer = new WebMarkupContainer("stContainer");
         stContainer.setOutputMarkupId(true);
         viewer.add(stContainer);
 
-        final Model<Long> lastTimeInMillis = Model.of(0L);
-        final IModel<List<LogStatement>> statementViewModel = new ListModel<>(new ArrayList<>());
-        final ListView<LogStatement> statementView = new ListView<LogStatement>("statements", statementViewModel) {
+        Model<Long> lastTimeInMillis = Model.of(0L);
+        IModel<List<LogStatement>> statementViewModel = new ListModel<>(new ArrayList<>());
+        ListView<LogStatement> statementView = new ListView<LogStatement>("statements", statementViewModel) {
 
             private static final long serialVersionUID = -9180479401817023838L;
 
@@ -76,7 +77,7 @@ public class LogViewer extends WebPage {
         };
         statementView.setOutputMarkupId(true);
         stContainer.add(statementView);
-        stContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.seconds(10)) {
+        stContainer.add(new AjaxSelfUpdatingTimerBehavior(Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = 7298597675929755960L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
index b33e456..7860a69 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/pages/Realms.java
@@ -30,6 +30,7 @@ import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.Bas
 import org.apache.syncope.client.ui.commons.wizards.AjaxWizard;
 import org.apache.syncope.client.console.wizards.any.ResultPage;
 import org.apache.syncope.client.console.BookmarkablePageLinkBuilder;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.ui.commons.Constants;
 import org.apache.syncope.client.ui.commons.pages.BaseWebPage;
 import org.apache.syncope.client.ui.commons.panels.WizardModalPanel;
@@ -40,7 +41,6 @@ import org.apache.syncope.common.lib.to.TemplatableTO;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.WindowClosedCallback;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.CompoundPropertyModel;
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java
index 19e0e66..1a1ac60 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AbstractLogsPanel.java
@@ -66,7 +66,7 @@ public abstract class AbstractLogsPanel<T extends Serializable> extends Panel {
             @Override
             protected Component getValueComponent(final String key, final LoggerTO loggerTO) {
                 if ("level".equalsIgnoreCase(key)) {
-                    final AjaxDropDownChoicePanel<LoggerLevel> loggerTOs = new AjaxDropDownChoicePanel<>(
+                    AjaxDropDownChoicePanel<LoggerLevel> loggerTOs = new AjaxDropDownChoicePanel<>(
                             "field", getString("level"), Model.of(loggerTO.getLevel()), false);
                     MetaDataRoleAuthorizationStrategy.authorize(loggerTOs, ENABLE, IdRepoEntitlement.LOG_SET_LEVEL);
 
@@ -102,6 +102,7 @@ public abstract class AbstractLogsPanel<T extends Serializable> extends Panel {
                 setModel(new ListModel<>(loggerTOs)).
                 includes(Constants.KEY_FIELD_NAME, "level").
                 withChecks(ListViewPanel.CheckAvailability.NONE).
+                setCaptionVisible(false).
                 setReuseItem(false);
 
         loggerContainer.add(builder.build("logger"));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
index 06e3218..90b1c8b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AjaxDataTablePanel.java
@@ -34,6 +34,7 @@ import org.apache.syncope.client.ui.commons.rest.RestClient;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CheckGroupColumn;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.AjaxFallbackDataTable;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.wicket.AttributeModifier;
@@ -41,7 +42,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.extensions.ajax.markup.html.IndicatingAjaxButton;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.ISortableDataProvider;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -173,7 +173,7 @@ public final class AjaxDataTablePanel<T extends Serializable, S> extends DataTab
         batchModal.size(Modal.Size.Large);
         add(batchModal);
 
-        batchModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        batchModal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487149L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
index 4b61cc8..c81dab8 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyDirectoryPanel.java
@@ -38,6 +38,7 @@ import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.TokenColumn;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wizards.any.ResultPage;
 import org.apache.syncope.client.console.wizards.any.StatusPanel;
@@ -53,7 +54,6 @@ import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.panel.Panel;
@@ -115,7 +115,7 @@ public abstract class AnyDirectoryPanel<A extends AnyTO, E extends AbstractAnyRe
 
         modal.size(Modal.Size.Large);
         // change close callback in order to update header after model update
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
index 799e8e0..f9594b1 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/AnyPanel.java
@@ -52,7 +52,6 @@ import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDa
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
-import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.panel.Panel;
@@ -229,12 +228,6 @@ public class AnyPanel extends Panel implements ModalPanel {
                     protected static final long serialVersionUID = 6250423506463465679L;
 
                     @Override
-                    protected void onComponentTag(final ComponentTag tag) {
-                        super.onComponentTag(tag);
-                        tag.put("style", "color: #337ab7");
-                    }
-
-                    @Override
                     public void onClick(final AjaxRequestTarget target) {
                         model.setObject(model.getObject() == 0 ? -1 : 0);
                     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
index 5e1a105..fa0e574 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ApplicationDirectoryPanel.java
@@ -83,7 +83,7 @@ public class ApplicationDirectoryPanel extends
         disableCheckBoxes();
         setShowResultPage(true);
 
-        modal.size(Modal.Size.Medium);
+        modal.size(Modal.Size.Default);
         modal.addSubmitButton();
         setFooterVisibility(true);
         modal.setWindowClosedCallback(target -> {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java
index 7588971..2d49f0f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DashboardOverviewPanel.java
@@ -18,6 +18,8 @@
  */
 package org.apache.syncope.client.console.panels;
 
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import org.apache.commons.lang3.tuple.Triple;
 import org.apache.syncope.client.console.rest.SyncopeRestClient;
 import org.apache.syncope.client.console.wicket.ajax.IndicatorAjaxTimerBehavior;
@@ -31,7 +33,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.util.time.Duration;
 
 public class DashboardOverviewPanel extends Panel {
 
@@ -77,7 +78,7 @@ public class DashboardOverviewPanel extends Panel {
 
         built = buildTotalAny2OrResources(numbers);
         totalAny2OrResources = new NumberWidget(
-                "totalAny2OrResources", "bg-aqua", built.getLeft(), built.getMiddle(), built.getRight());
+                "totalAny2OrResources", "bg-info", built.getLeft(), built.getMiddle(), built.getRight());
         container.add(totalAny2OrResources);
 
         usersByStatus = new UsersByStatusWidget("usersByStatus", numbers.getUsersByStatus());
@@ -99,7 +100,7 @@ public class DashboardOverviewPanel extends Panel {
         load = new LoadWidget("load", SyncopeRestClient.system());
         container.add(load);
 
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(60)) {
+        container.add(new IndicatorAjaxTimerBehavior(Duration.of(60, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = -4426283634345968585L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
index 4766d6f..7b97927 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DirectoryPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.ui.commons.rest.RestClient;
 import org.apache.syncope.client.ui.commons.ajax.form.IndicatorAjaxFormComponentUpdatingBehavior;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -40,7 +41,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.DropDownChoice;
@@ -171,7 +171,7 @@ public abstract class DirectoryPanel<
         setWindowClosedReloadCallback(altDefaultModal);
         setWindowClosedReloadCallback(displayAttributeModal);
 
-        displayAttributeModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        displayAttributeModal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
@@ -187,8 +187,8 @@ public abstract class DirectoryPanel<
             }
         });
 
-        altDefaultModal.size(Modal.Size.Medium);
-        displayAttributeModal.size(Modal.Size.Medium);
+        altDefaultModal.size(Modal.Size.Default);
+        displayAttributeModal.size(Modal.Size.Default);
         displayAttributeModal.addSubmitButton();
     }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
index 58e5137..087e5de 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/DynRealmDirectoryPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.DynRealmDirectoryPanel.DynRealmDataProvider;
 import org.apache.syncope.client.console.rest.DynRealmRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wizards.DynRealmWrapper;
@@ -42,7 +43,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.markup.html.WebMarkupContainer;
@@ -67,7 +67,7 @@ public class DynRealmDirectoryPanel extends
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
         setFooterVisibility(true);
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
index 502d7b6..884a46f 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ImplementationDirectoryPanel.java
@@ -31,6 +31,7 @@ import org.apache.syncope.client.console.commons.SortableDataProviderComparator;
 import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.ImplementationDirectoryPanel.ImplementationProvider;
 import org.apache.syncope.client.console.rest.ImplementationRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -43,7 +44,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -70,7 +70,7 @@ public class ImplementationDirectoryPanel extends DirectoryPanel<
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogStatementPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogStatementPanel.java
index 6c3cdad..b1ab069 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogStatementPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/LogStatementPanel.java
@@ -63,7 +63,7 @@ public class LogStatementPanel extends Panel {
             default:
                 type = Alert.Type.Info;
         }
-        labelCssClass = "label-" + type.name().toLowerCase();
+        labelCssClass = "alert-" + type.name().toLowerCase();
 
         add(new Label("logger", Model.of(statement.getLoggerName())));
         add(new Label("instant", Model.of(FORMAT.format(statement.getTimeMillis()))));
@@ -74,7 +74,7 @@ public class LogStatementPanel extends Panel {
         collapse.setOutputMarkupPlaceholderTag(true);
         collapse.setVisible(StringUtils.isNotBlank(statement.getStackTrace()));
         collapse.add(new JQueryUIBehavior(
-            '#' + collapse.getMarkupId(), "accordion", new Options("active", false).set("collapsible", true)));
+                '#' + collapse.getMarkupId(), "accordion", new Options("active", false).set("collapsible", true)));
         add(collapse);
 
         Label stacktrace = new Label("stacktrace", Model.of(statement.getStackTrace()));
@@ -89,5 +89,4 @@ public class LogStatementPanel extends Panel {
         checkComponentTag(tag, "div");
         Attributes.addClass(tag, labelCssClass);
     }
-
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
index ece172a..b242a51 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/NetworkServiceDirectoryPanel.java
@@ -27,13 +27,13 @@ import org.apache.syncope.client.ui.commons.DirectoryDataProvider;
 import org.apache.syncope.client.console.commons.IdRepoConstants;
 import org.apache.syncope.client.console.panels.NetworkServiceDirectoryPanel.NetworkServiceProvider;
 import org.apache.syncope.client.console.rest.SyncopeRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.common.keymaster.client.api.model.NetworkService;
 import org.apache.syncope.common.keymaster.client.api.ServiceOps;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -62,7 +62,7 @@ public class NetworkServiceDirectoryPanel extends DirectoryPanel<
 
         modal.size(Modal.Size.Large);
         modal.addSubmitButton();
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
index 744c161..4993f6b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/ParametersDirectoryPanel.java
@@ -88,7 +88,7 @@ public class ParametersDirectoryPanel
                 return new ParametersModalPanel(modal, newModelObject(), confParamOps, mode, pageRef);
             }
         }, true);
-        modal.size(Modal.Size.Medium);
+        modal.size(Modal.Size.Default);
         initResultTable();
     }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
index 9523b45..28c24ab 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/RealmChoicePanel.java
@@ -18,13 +18,12 @@
  */
 package org.apache.syncope.client.console.panels;
 
-import de.agilecoders.wicket.core.markup.html.bootstrap.behavior.AlignmentBehavior;
 import de.agilecoders.wicket.core.markup.html.bootstrap.button.BootstrapAjaxLink;
 import de.agilecoders.wicket.core.markup.html.bootstrap.button.ButtonList;
 import de.agilecoders.wicket.core.markup.html.bootstrap.button.Buttons;
+import de.agilecoders.wicket.core.markup.html.bootstrap.button.dropdown.DropDownAlignmentBehavior;
 import de.agilecoders.wicket.core.markup.html.bootstrap.button.dropdown.DropDownButton;
-import de.agilecoders.wicket.core.markup.html.bootstrap.image.GlyphIconType;
-import de.agilecoders.wicket.core.markup.html.bootstrap.image.IconType;
+import de.agilecoders.wicket.extensions.markup.html.bootstrap.icon.FontAwesome5IconType;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Comparator;
@@ -34,7 +33,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.syncope.client.console.SyncopeConsoleSession;
 import org.apache.syncope.client.console.commons.RealmsUtils;
@@ -105,30 +103,22 @@ public class RealmChoicePanel extends Panel {
 
             private static final long serialVersionUID = -7688359318035249200L;
 
-            private void getChildren(
-                    final List<Pair<String, RealmTO>> full,
-                    final String key,
-                    final Map<String, Pair<RealmTO, List<RealmTO>>> tree,
-                    final String indent) {
-
-                if (tree.containsKey(key)) {
-                    Pair<RealmTO, List<RealmTO>> subtree = tree.get(key);
-                    subtree.getValue().forEach(child -> {
-                        full.add(Pair.of(indent + child.getName(), child));
-                        getChildren(full, child.getKey(), tree, "     " + indent + (indent.isEmpty() ? "|--- " : ""));
-                    });
-                }
-            }
-
             @Override
             protected List<Pair<String, RealmTO>> load() {
                 Map<String, Pair<RealmTO, List<RealmTO>>> map = reloadRealmParentMap();
-                List<Pair<String, RealmTO>> full = new ArrayList<>();
+                List<Pair<String, RealmTO>> full;
                 if (isSearchEnabled) {
-                    full = map.entrySet().stream().map(
-                            el -> Pair.of(el.getKey(), el.getValue().getKey())).collect(Collectors.toList());
+                    full = map.entrySet().stream().map(el -> Pair.of(
+                            el.getKey(),
+                            el.getValue().getLeft())).
+                            collect(Collectors.toList());
                 } else {
-                    getChildren(full, null, map, StringUtils.EMPTY);
+                    full = map.entrySet().stream().
+                            map(el -> Pair.of(
+                            el.getValue().getLeft().getFullPath(),
+                            el.getValue().getKey())).
+                            sorted(Comparator.comparing(Pair::getLeft)).
+                            collect(Collectors.toList());
                 }
                 return full.stream().filter(realm -> availableRealms.stream().anyMatch(
                         availableRealm -> realm.getValue().getFullPath().startsWith(availableRealm))).
@@ -254,8 +244,8 @@ public class RealmChoicePanel extends Panel {
             fragment.addOrReplace(searchRealms);
             container.addOrReplace(fragment);
         } else {
-            final DropDownButton realms = new DropDownButton(
-                    "realms", new ResourceModel("select", ""), new Model<IconType>(GlyphIconType.folderopen)) {
+            DropDownButton realms = new DropDownButton(
+                    "realms", new ResourceModel("select", ""), new Model<>(FontAwesome5IconType.folder_open_r)) {
 
                 private static final long serialVersionUID = -5560086780455361131L;
 
@@ -266,7 +256,7 @@ public class RealmChoicePanel extends Panel {
                 }
             };
             realms.setOutputMarkupId(true);
-            realms.setAlignment(AlignmentBehavior.Alignment.RIGHT);
+            realms.setAlignment(DropDownAlignmentBehavior.Alignment.RIGHT);
             realms.setType(Buttons.Type.Menu);
 
             MetaDataRoleAuthorizationStrategy.authorize(realms, ENABLE, IdRepoEntitlement.REALM_LIST);
@@ -297,28 +287,26 @@ public class RealmChoicePanel extends Panel {
 
             @Override
             protected void onComponentTag(final ComponentTag tag) {
-                tag.put("class", "panel box box-primary box-header with-border");
-                tag.put("style", "margin: 20px 5px 0px 5px; width: 90%");
+                tag.put("class", "dropdown-header disabled");
             }
         });
 
         realmTree.getObject().forEach(link -> {
-            RealmTO realmTO = link.getValue();
             RealmChoicePanel.this.links.add(new BootstrapAjaxLink<RealmTO>(
                     ButtonList.getButtonMarkupId(),
-                    Model.of(realmTO),
+                    Model.of(link.getRight()),
                     Buttons.Type.Link,
-                    new Model<>(link.getKey())) {
+                    new Model<>(link.getLeft())) {
 
                 private static final long serialVersionUID = -7978723352517770644L;
 
                 @Override
                 public void onClick(final AjaxRequestTarget target) {
-                    model.setObject(realmTO);
+                    model.setObject(link.getRight());
                     label.setDefaultModelObject(model.getObject().getFullPath());
                     realmLabel.setDefaultModel(new ResourceModel("realmLabel", "Realm"));
                     target.add(label);
-                    send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(realmTO, target));
+                    send(pageRef.getPage(), Broadcast.EXACT, new ChosenRealm<>(link.getRight(), target));
                 }
             });
         });
@@ -344,8 +332,7 @@ public class RealmChoicePanel extends Panel {
 
                 @Override
                 protected void onComponentTag(final ComponentTag tag) {
-                    tag.put("class", "panel box box-primary box-header with-border");
-                    tag.put("style", "margin: 20px 5px 0px 5px; width: 90%");
+                    tag.put("class", "dropdown-header disabled");
                 }
             });
 
@@ -400,14 +387,11 @@ public class RealmChoicePanel extends Panel {
 
     private Map<String, Pair<RealmTO, List<RealmTO>>> reloadRealmParentMap(final List<RealmTO> realms) {
         tree.clear();
-        if (!isSearchEnabled) {
-            tree.put(null, Pair.<RealmTO, List<RealmTO>>of(realms.get(0), new ArrayList<>()));
-        }
 
-        final Map<String, List<RealmTO>> cache = new HashMap<>();
+        Map<String, List<RealmTO>> cache = new HashMap<>();
 
         realms.forEach(realm -> {
-            final List<RealmTO> children = new ArrayList<>();
+            List<RealmTO> children = new ArrayList<>();
             tree.put(realm.getKey(), Pair.<RealmTO, List<RealmTO>>of(realm, children));
 
             if (cache.containsKey(realm.getKey())) {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
index 24c4970..4b558e2 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SchemasPanel.java
@@ -55,7 +55,7 @@ public class SchemasPanel extends Panel {
         searchBoxContainer.add(form);
 
         AjaxTextFieldPanel filter = new AjaxTextFieldPanel("filter", "filter", keywordModel, true);
-        form.add(filter.hideLabel().setOutputMarkupId(true));
+        form.add(filter.hideLabel().setOutputMarkupId(true).setRenderBodyOnly(true));
 
         AjaxButton search = new AjaxButton("search") {
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
index 5db6990..5543271 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/SecurityQuestionsPanel.java
@@ -32,6 +32,7 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.panels.SecurityQuestionsPanel.SecurityQuestionsProvider;
 import org.apache.syncope.client.console.rest.SecurityQuestionRestClient;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.ui.commons.wizards.AbstractModalPanelBuilder;
@@ -44,7 +45,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
 import org.apache.wicket.model.CompoundPropertyModel;
@@ -68,7 +68,7 @@ public class SecurityQuestionsPanel extends DirectoryPanel<
             }
         }.disableCheckBoxes());
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
index 9b2745d..fcce6d5 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
@@ -33,6 +33,7 @@ import org.apache.syncope.client.console.pages.BasePage;
 import org.apache.syncope.client.console.rest.UserRestClient;
 import org.apache.syncope.client.console.status.ChangePasswordModal;
 import org.apache.syncope.client.console.tasks.AnyPropagationTasks;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -53,7 +54,6 @@ import org.apache.syncope.common.rest.api.service.UserSelfService;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
@@ -71,7 +71,7 @@ public class UserDirectoryPanel extends AnyDirectoryPanel<UserTO, UserRestClient
     protected UserDirectoryPanel(final String id, final Builder builder, final boolean wizardInModal) {
         super(id, builder, wizardInModal);
 
-        altDefaultModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        altDefaultModal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
index 4dd7441..8d2069a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/policies/PolicyDirectoryPanel.java
@@ -35,6 +35,7 @@ import org.apache.syncope.client.console.rest.PolicyRestClient;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.CollectionPropertyColumn;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.KeyPropertyColumn;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
@@ -46,7 +47,6 @@ import org.apache.syncope.common.lib.types.PolicyType;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.Broadcast;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.PropertyColumn;
@@ -94,7 +94,7 @@ public abstract class PolicyDirectoryPanel<T extends PolicyTO>
         setWindowClosedReloadCallback(policySpecModal);
         addOuterObject(policySpecModal);
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487129L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
index 199c583..8e5521a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportDirectoryPanel.java
@@ -19,6 +19,8 @@
 package org.apache.syncope.client.console.reports;
 
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -64,7 +66,6 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.util.time.Duration;
 
 /**
  * Reports page.
@@ -86,7 +87,7 @@ public abstract class ReportDirectoryPanel
         modal.size(Modal.Size.Large);
         initResultTable();
 
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(10)) {
+        container.add(new IndicatorAjaxTimerBehavior(Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = -4661303265651934868L;
 
@@ -223,7 +224,7 @@ public abstract class ReportDirectoryPanel
             public void onClick(final AjaxRequestTarget target, final ReportTO ignore) {
                 viewReport(model.getObject(), target);
             }
-        }, ActionLink.ActionType.VIEW, IdRepoEntitlement.REPORT_READ);
+        }, ActionLink.ActionType.VIEW_EXECUTIONS, IdRepoEntitlement.REPORT_READ);
 
         panel.add(new ActionLink<ReportTO>() {
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
index de221e7..950060e 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/reports/ReportTemplateDirectoryPanel.java
@@ -51,11 +51,11 @@ import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
 import org.apache.syncope.client.console.reports.ReportTemplateDirectoryPanel.ReportTemplateProvider;
 import org.apache.syncope.client.console.rest.ReportRestClient;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionsPanel;
 import org.apache.syncope.client.console.wicket.markup.html.form.XMLEditorPanel;
 import org.apache.syncope.client.ui.commons.panels.WizardModalPanel;
 import org.apache.syncope.common.lib.types.ReportTemplateFormat;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.model.PropertyModel;
 
 public class ReportTemplateDirectoryPanel
@@ -73,7 +73,7 @@ public class ReportTemplateDirectoryPanel
         modal.addSubmitButton();
         setFooterVisibility(true);
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
index b45e6ea..d31aefa 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/ProvisioningTaskDirectoryPanel.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.client.console.tasks;
 
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -51,7 +52,6 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.util.time.Duration;
 
 /**
  * Tasks page.
@@ -81,7 +81,7 @@ public abstract class ProvisioningTaskDirectoryPanel<T extends ProvisioningTaskT
         // super in order to call the parent implementation
         super.initResultTable();
 
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(10)) {
+        container.add(new IndicatorAjaxTimerBehavior(java.time.Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = -4661303265651934868L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
index b365328..15b63e2 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskDirectoryPanel.java
@@ -19,6 +19,8 @@
 package org.apache.syncope.client.console.tasks;
 
 import java.io.Serializable;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -66,7 +68,6 @@ import org.apache.wicket.markup.repeater.Item;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.util.time.Duration;
 
 /**
  * Tasks page.
@@ -114,7 +115,7 @@ public abstract class SchedTaskDirectoryPanel<T extends SchedTaskTO>
 
         initResultTable();
 
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(10)) {
+        container.add(new IndicatorAjaxTimerBehavior(Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = -4661303265651934868L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
index 1b0a3e0..ed2c880 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder.java
@@ -140,7 +140,6 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends BaseAjaxWizar
             jobDelegate.setChoices(taskJobDelegates.getObject());
             jobDelegate.addRequiredLabel();
             jobDelegate.setEnabled(taskTO.getKey() == null);
-            jobDelegate.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");
             add(jobDelegate);
 
             // ------------------------------
@@ -169,7 +168,6 @@ public class SchedTaskWizardBuilder<T extends SchedTaskTO> extends BaseAjaxWizar
                     "reconFilterBuilder", "reconFilterBuilder",
                     new PropertyModel<>(taskTO, "reconFilterBuilder"), false);
             reconFilterBuilder.setChoices(reconFilterBuilders.getObject());
-            reconFilterBuilder.setStyleSheet("ui-widget-content ui-corner-all long_dynamicsize");
             reconFilterBuilder.setEnabled(isFiltered);
             reconFilterBuilder.setRequired(isFiltered);
             pullTaskSpecifics.add(reconFilterBuilder);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/IndicatorAjaxTimerBehavior.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/IndicatorAjaxTimerBehavior.java
index 6026ecf..db68996 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/IndicatorAjaxTimerBehavior.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/IndicatorAjaxTimerBehavior.java
@@ -18,10 +18,10 @@
  */
 package org.apache.syncope.client.console.wicket.ajax;
 
+import java.time.Duration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
 import org.apache.wicket.ajax.IAjaxIndicatorAware;
-import org.apache.wicket.util.time.Duration;
 
 /**
  * An {@link AbstractAjaxTimerBehavior} not showing veil.
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
index 3a38e91..e78b739 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/ajax/form/AjaxDownloadBehavior.java
@@ -18,12 +18,12 @@
  */
 package org.apache.syncope.client.console.wicket.ajax.form;
 
+import java.time.Duration;
 import org.apache.syncope.client.ui.commons.HttpResourceStream;
 import org.apache.syncope.client.ui.commons.rest.ResponseHolder;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
-import org.apache.wicket.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,7 +67,7 @@ public class AjaxDownloadBehavior extends AbstractAjaxBehavior {
             if (resourceStream != null) {
                 getComponent().getRequestCycle().scheduleRequestHandlerAfterCurrent(
                         new ResourceStreamRequestHandler(
-                                resourceStream, resourceStream.getFilename()).setCacheDuration(Duration.NONE));
+                                resourceStream, resourceStream.getFilename()).setCacheDuration(Duration.ZERO));
             }
         } catch (Exception e) {
             // cannot be notifies beacause the use of scheduleRequestHandlerAfterCurrent
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BooleanPropertyColumn.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BooleanPropertyColumn.java
index 6a033b5..23bd500 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BooleanPropertyColumn.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/extensions/markup/html/repeater/data/table/BooleanPropertyColumn.java
@@ -50,7 +50,7 @@ public class BooleanPropertyColumn<T> extends PropertyColumn<T, String> {
 
         item.add(new Label(componentId, StringUtils.EMPTY));
         if (obj != null && Boolean.valueOf(obj.toString())) {
-            item.add(new AttributeModifier("class", "glyphicon glyphicon-ok"));
+            item.add(new AttributeModifier("class", "fa fa-check"));
             item.add(new AttributeModifier("style", "display: table-cell; text-align: center;"));
         }
     }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
index a30ca95..4bdf2cd 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/bootstrap/dialog/BaseModal.java
@@ -31,7 +31,6 @@ import org.apache.wicket.WicketRuntimeException;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink;
 import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow.WindowClosedCallback;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.list.ListItem;
@@ -49,6 +48,7 @@ import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.event.IEvent;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
+import org.apache.wicket.util.io.IClusterable;
 
 public class BaseModal<T extends Serializable> extends Modal<T> {
 
@@ -376,4 +376,19 @@ public class BaseModal<T extends Serializable> extends Modal<T> {
         return script;
     }
     //--------------------------------------------------------
+
+    /**
+     * Callback called after the window has been closed. If no callback instance is specified using
+     * {@link BaseModal#setWindowClosedCallback(BaseModal.WindowClosedCallback)}, no ajax
+     * request will be fired.
+     */
+    public interface WindowClosedCallback extends IClusterable {
+
+        /**
+         * Called after the window has been closed.
+         *
+         * @param target {@link org.apache.wicket.ajax.AjaxRequestTarget} instance bound with the ajax request.
+         */
+        void onClose(AjaxRequestTarget target);
+    }
 }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
index 4d258da..dd7a991 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/ActionLinksTogglePanel.java
@@ -43,11 +43,11 @@ import org.apache.syncope.common.lib.to.JobTO;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.syncope.client.console.panels.ToggleableTarget;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.common.keymaster.client.api.model.Domain;
 import org.apache.syncope.common.lib.to.NamedEntityTO;
 
@@ -132,7 +132,7 @@ public class ActionLinksTogglePanel<T extends Serializable> extends TogglePanel<
 
         updateHeader(target, modelObject);
 
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
index db035e2..a84b080 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldDownload.java
@@ -18,6 +18,7 @@
  */
 package org.apache.syncope.client.console.wicket.markup.html.form;
 
+import java.time.Duration;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.syncope.client.console.init.MIMETypesLoader;
 import org.apache.syncope.client.ui.commons.HttpResourceStream;
@@ -26,7 +27,6 @@ import org.apache.wicket.behavior.AbstractAjaxBehavior;
 import org.apache.wicket.request.handler.resource.ResourceStreamRequestHandler;
 import org.apache.wicket.request.resource.ContentDisposition;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.apache.wicket.util.time.Duration;
 
 public abstract class BinaryFieldDownload extends AbstractAjaxBehavior {
 
@@ -80,7 +80,7 @@ public abstract class BinaryFieldDownload extends AbstractAjaxBehavior {
 
         handler.setFileName(fileName);
         handler.setContentDisposition(ContentDisposition.ATTACHMENT);
-        handler.setCacheDuration(Duration.NONE);
+        handler.setCacheDuration(Duration.ZERO);
         getComponent().getRequestCycle().scheduleRequestHandlerAfterCurrent(handler);
     }
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
index ee4ff43..0372cb5 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/BinaryFieldPanel.java
@@ -182,6 +182,8 @@ public class BinaryFieldPanel extends BaseBinaryFieldPanel {
         config.showUpload(false);
         config.showRemove(false);
         config.showPreview(false);
+        config.browseClass("btn btn-success");
+        config.browseIcon("<i class=\"fas fa-folder-open\"></i> &nbsp;");
 
         fileUpload = new BootstrapFileInputField("fileUpload", new ListModel<>(new ArrayList<>()), config);
         fileUpload.setOutputMarkupId(true);
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java
index 6efdec6..f815904 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wicket/markup/html/form/preview/BinaryPDFPreviewer.java
@@ -26,6 +26,7 @@ import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Serializable;
+import java.time.Instant;
 import org.apache.pdfbox.cos.COSObject;
 import org.apache.pdfbox.io.MemoryUsageSetting;
 import org.apache.pdfbox.pdmodel.DefaultResourceCache;
@@ -40,7 +41,6 @@ import org.apache.wicket.markup.html.image.NonCachingImage;
 import org.apache.wicket.markup.html.panel.Fragment;
 import org.apache.wicket.request.resource.DynamicImageResource;
 import org.apache.wicket.request.resource.IResource;
-import org.apache.wicket.util.time.Time;
 
 @BinaryPreview(mimeTypes = { "application/pdf" })
 public class BinaryPDFPreviewer extends AbstractBinaryPreviewer {
@@ -112,7 +112,7 @@ public class BinaryPDFPreviewer extends AbstractBinaryPreviewer {
         protected byte[] getImageData(final IResource.Attributes attributes) {
             if (thumbnail == null) {
                 thumbnail = toImageData(getScaledImageInstance());
-                setLastModifiedTime(Time.now());
+                setLastModifiedTime(Instant.now());
             }
             return thumbnail;
         }
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
index f564ac8..904303e 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/AlertWidget.java
@@ -63,17 +63,6 @@ public abstract class AlertWidget<T extends Serializable> extends Panel {
             }
         };
 
-        final LoadableDetachableModel<List<T>> items = new LoadableDetachableModel<List<T>>() {
-
-            private static final long serialVersionUID = 7474274077691068779L;
-
-            @Override
-            protected List<T> load() {
-                final List<T> latest = AlertWidget.this.latestAlerts.getObject();
-                return latest.subList(0, latest.size() <= MAX_SIZE ? latest.size() : MAX_SIZE);
-            }
-        };
-
         add(getIcon("icon"));
 
         linkAlertsNumber = new Label("alerts", size) {
@@ -84,9 +73,9 @@ public abstract class AlertWidget<T extends Serializable> extends Panel {
             protected void onComponentTag(final ComponentTag tag) {
                 super.onComponentTag(tag);
                 if (Integer.parseInt(getDefaultModelObject().toString()) > 0) {
-                    tag.put("class", "label label-danger");
+                    tag.put("class", "badge badge-warning navbar-badge");
                 } else {
-                    tag.put("class", "label label-info");
+                    tag.put("class", "badge badge-success navbar-badge");
                 }
             }
         };
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
index 85233e8..65c4c0e 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/JobWidget.java
@@ -21,6 +21,8 @@ package org.apache.syncope.client.console.widgets;
 import de.agilecoders.wicket.core.markup.html.bootstrap.dialog.Modal;
 import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
 import java.io.Serializable;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -45,6 +47,7 @@ import org.apache.syncope.client.console.wicket.ajax.IndicatorAjaxTimerBehavior;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.BooleanPropertyColumn;
 import org.apache.syncope.client.console.wicket.extensions.markup.html.repeater.data.table.DatePropertyColumn;
 import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal;
+import org.apache.syncope.client.console.wicket.markup.html.bootstrap.dialog.BaseModal.WindowClosedCallback;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLink.ActionType;
 import org.apache.syncope.client.console.wicket.markup.html.form.ActionLinksTogglePanel;
@@ -65,7 +68,6 @@ import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
 import org.apache.wicket.event.IEvent;
-import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
 import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
 import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
 import org.apache.wicket.extensions.markup.html.repeater.data.table.AbstractColumn;
@@ -82,7 +84,6 @@ import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.StringResourceModel;
-import org.apache.wicket.util.time.Duration;
 
 public class JobWidget extends BaseWidget {
 
@@ -143,7 +144,7 @@ public class JobWidget extends BaseWidget {
         super(id);
         setOutputMarkupId(true);
         add(modal);
-        modal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        modal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
@@ -154,7 +155,7 @@ public class JobWidget extends BaseWidget {
         });
 
         add(detailModal);
-        detailModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        detailModal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
@@ -165,7 +166,7 @@ public class JobWidget extends BaseWidget {
         });
 
         add(reportModal);
-        reportModal.setWindowClosedCallback(new ModalWindow.WindowClosedCallback() {
+        reportModal.setWindowClosedCallback(new WindowClosedCallback() {
 
             private static final long serialVersionUID = 8804221891699487139L;
 
@@ -181,7 +182,7 @@ public class JobWidget extends BaseWidget {
         recent = getUpdatedRecent();
 
         container = new WebMarkupContainer("jobContainer");
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(10)) {
+        container.add(new IndicatorAjaxTimerBehavior(Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = 7298597675929755960L;
 
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/NumberWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/NumberWidget.java
index b002146..ae5a855 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/NumberWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/NumberWidget.java
@@ -45,7 +45,7 @@ public class NumberWidget extends BaseWidget {
         this.number = number;
         setOutputMarkupId(true);
 
-        WebMarkupContainer box = new WebMarkupContainer("box");
+        WebMarkupContainer box = new WebMarkupContainer("card");
         box.add(new AttributeAppender("class", ' ' + bg));
 
         boolean isAuthorized = true;
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ReconciliationWidget.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ReconciliationWidget.java
index b485537..d50803b 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ReconciliationWidget.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/widgets/ReconciliationWidget.java
@@ -21,6 +21,7 @@ package org.apache.syncope.client.console.widgets;
 import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
 import java.io.IOException;
 import java.io.InputStream;
+import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
@@ -79,7 +80,6 @@ import org.apache.wicket.model.CompoundPropertyModel;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.ResourceModel;
-import org.apache.wicket.util.time.Duration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -112,7 +112,7 @@ public class ReconciliationWidget extends BaseWidget {
         add(detailsModal);
 
         container = new WebMarkupContainer("reconciliationContainer");
-        container.add(new IndicatorAjaxTimerBehavior(Duration.seconds(10)) {
+        container.add(new IndicatorAjaxTimerBehavior(java.time.Duration.of(10, ChronoUnit.SECONDS)) {
 
             private static final long serialVersionUID = 7298597675929755960L;
 
@@ -284,14 +284,14 @@ public class ReconciliationWidget extends BaseWidget {
                     progressBean.setText(getString("users"));
                     progressBean.setTotal(report.getUsers().getTotal());
                     progressBean.setFraction(report.getUsers().getTotal() - report.getUsers().getAnys().size());
-                    progressBean.setCssClass("progress-bar-yellow");
+                    progressBean.setCssClass("bg-yellow");
                     beans.add(progressBean);
 
                     progressBean = new ProgressBean();
                     progressBean.setText(getString("groups"));
                     progressBean.setTotal(report.getGroups().getTotal());
                     progressBean.setFraction(report.getGroups().getTotal() - report.getGroups().getAnys().size());
-                    progressBean.setCssClass("progress-bar-red");
+                    progressBean.setCssClass("bg-red");
                     beans.add(progressBean);
 
                     int i = 0;
@@ -300,7 +300,7 @@ public class ReconciliationWidget extends BaseWidget {
                         progressBean.setText(anys.getAnyType());
                         progressBean.setTotal(anys.getTotal());
                         progressBean.setFraction(anys.getTotal() - anys.getAnys().size());
-                        progressBean.setCssClass("progress-bar-" + (i % 2 == 0 ? "green" : "aqua"));
+                        progressBean.setCssClass("bg-" + (i % 2 == 0 ? "success" : "info"));
                         beans.add(progressBean);
 
                         i++;
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
index 4de68e6..7a6d894 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Ownership.java
@@ -75,8 +75,6 @@ public class Ownership extends WizardStep implements ICondition {
 
     private final WebMarkupContainer ownerContainer;
 
-    private final AnyTypeClassRestClient anyTypeClassRestClient = new AnyTypeClassRestClient();
-
     private final GroupSearchPanel groupSearchPanel;
 
     private final GroupRestClient groupRestClient = new GroupRestClient();
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
index 0907c22..d0b9932 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/PlainAttrs.java
@@ -18,7 +18,6 @@
  */
 package org.apache.syncope.client.console.wizards.any;
 
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -38,7 +37,6 @@ import org.apache.syncope.common.lib.to.PlainSchemaTO;
 import org.apache.syncope.common.lib.to.UserTO;
 import org.apache.syncope.common.lib.types.SchemaType;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
-import org.apache.wicket.extensions.markup.html.tabs.ITab;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.list.ListItem;
@@ -81,7 +79,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
 
         setTitleModel(new ResourceModel("attributes.plain"));
 
-        add(new Accordion("plainSchemas", Collections.<ITab>singletonList(new AbstractTab(
+        add(new Accordion("plainSchemas", List.of(new AbstractTab(
                 new ResourceModel("attributes.accordion", "Plain Attributes")) {
 
             private static final long serialVersionUID = 1037272333056449378L;
@@ -99,7 +97,7 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
             @Override
             protected void populateItem(final ListItem<MembershipTO> item) {
                 final MembershipTO membershipTO = item.getModelObject();
-                item.add(new Accordion("membershipPlainSchemas", Collections.<ITab>singletonList(new AbstractTab(
+                item.add(new Accordion("membershipPlainSchemas", List.of(new AbstractTab(
                         new StringResourceModel(
                                 "attributes.membership.accordion",
                                 PlainAttrs.this,
@@ -120,7 +118,6 @@ public class PlainAttrs extends AbstractAttrs<PlainSchemaTO> {
                             protected Attributable load() {
                                 return membershipTO;
                             }
-
                         });
                     }
                 }), Model.of(-1)).setOutputMarkupId(true));
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
index 8f83a35..2b3af3a 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/Relationships.java
@@ -84,8 +84,6 @@ public class Relationships extends WizardStep implements ICondition {
 
     private final PageReference pageRef;
 
-    private final AnyTypeClassRestClient anyTypeClassRestClient = new AnyTypeClassRestClient();
-
     private final AnyTO anyTO;
 
     public Relationships(final AnyWrapper<?> modelObject, final PageReference pageRef) {
diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
index 57fe136..d2e3417 100644
--- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
+++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/wizards/any/UserDetails.java
@@ -32,7 +32,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
 import org.apache.wicket.extensions.markup.html.tabs.ITab;
-import org.apache.wicket.markup.ComponentTag;
 import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.markup.html.panel.Panel;
 import org.apache.wicket.model.Model;
@@ -103,12 +102,6 @@ public class UserDetails extends Details<UserTO> {
                     private static final long serialVersionUID = 7021195294339489084L;
 
                     @Override
-                    protected void onComponentTag(final ComponentTag tag) {
-                        super.onComponentTag(tag);
-                        tag.put("style", "color: #337ab7");
-                    }
-
-                    @Override
                     public void onClick(final AjaxRequestTarget target) {
                         model.setObject(model.getObject() == 0 ? -1 : 0);
                         Component passwordPanel = getParent().get(PASSWORD_CONTENT_PATH);
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables.bootstrap4.min.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables.bootstrap4.min.css
new file mode 100644
index 0000000..f1930be
--- /dev/null
+++ b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables.bootstrap4.min.css
@@ -0,0 +1 @@
+table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-ali [...]
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables/dataTables.bootstrap.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables/dataTables.bootstrap.css
deleted file mode 100644
index 2ccacaf..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_plugins/dataTables/dataTables.bootstrap.css
+++ /dev/null
@@ -1,372 +0,0 @@
-div.dataTables_length label {
-	font-weight: normal;
-	text-align: left;
-	white-space: nowrap;
-}
-
-div.dataTables_length select {
-	width: 75px;
-	display: inline-block;
-}
-
-div.dataTables_filter {
-	text-align: right;
-}
-
-div.dataTables_filter label {
-	font-weight: normal;
-	white-space: nowrap;
-	text-align: left;
-}
-
-div.dataTables_filter input {
-	margin-left: 0.5em;
-	display: inline-block;
-	width: auto;
-}
-
-div.dataTables_info {
-	padding-top: 8px;
-	white-space: nowrap;
-}
-
-div.dataTables_paginate {
-	margin: 0;
-	white-space: nowrap;
-	text-align: right;
-}
-
-div.dataTables_paginate ul.pagination {
-	margin: 2px 0;
-	white-space: nowrap;
-}
-
-@media screen and (max-width: 767px) {
-	div.dataTables_wrapper > div.row > div,
-	div.dataTables_length,
-	div.dataTables_filter,
-	div.dataTables_info,
-	div.dataTables_paginate {
-		text-align: center;
-	}
-
-	div.DTTT {
-		margin-bottom: 0.5em;
-	}
-}
-
-
-table.dataTable td,
-table.dataTable th {
-	-webkit-box-sizing: content-box;
-	-moz-box-sizing: content-box;
-	box-sizing: content-box;
-}
-
-
-table.dataTable {
-	clear: both;
-	margin-top: 6px !important;
-	margin-bottom: 6px !important;
-	max-width: none !important;
-}
-
-table.dataTable thead .sorting,
-table.dataTable thead .sorting_asc,
-table.dataTable thead .sorting_desc,
-table.dataTable thead .sorting_asc_disabled,
-table.dataTable thead .sorting_desc_disabled {
-	cursor: pointer;
-	position: relative;
-}
-
-table.dataTable thead .sorting:after,
-table.dataTable thead .sorting_asc:after,
-table.dataTable thead .sorting_desc:after {
-	position: absolute;
-	top: 8px;
-	right: 8px;
-	display: block;
-	font-family: 'Glyphicons Halflings';
-	opacity: 0.5;
-}
-table.dataTable thead .sorting:after {
-	opacity: 0.2;
-	content: "\e150"; /* sort */
-}
-table.dataTable thead .sorting_asc:after {
-	content: "\e155"; /* sort-by-attributes */
-}
-table.dataTable thead .sorting_desc:after {
-	content: "\e156"; /* sort-by-attributes-alt */
-}
-div.dataTables_scrollBody table.dataTable thead .sorting:after,
-div.dataTables_scrollBody table.dataTable thead .sorting_asc:after,
-div.dataTables_scrollBody table.dataTable thead .sorting_desc:after {
-	display: none;
-}
-
-table.dataTable thead .sorting_asc_disabled:after,
-table.dataTable thead .sorting_desc_disabled:after {
-	color: #eee;
-}
-
-table.dataTable thead > tr > th {
-	padding-right: 30px;
-}
-
-table.dataTable th:active {
-	outline: none;
-}
-
-
-/* Condensed */
-table.dataTable.table-condensed thead > tr > th {
-	padding-right: 20px;
-}
-
-table.dataTable.table-condensed thead .sorting:after,
-table.dataTable.table-condensed thead .sorting_asc:after,
-table.dataTable.table-condensed thead .sorting_desc:after {
-	top: 6px;
-	right: 6px;
-}
-
-/* Scrolling */
-div.dataTables_scrollHead table {
-	margin-bottom: 0 !important;
-	border-bottom-left-radius: 0;
-	border-bottom-right-radius: 0;
-}
-
-div.dataTables_scrollHead table thead tr:last-child th:first-child,
-div.dataTables_scrollHead table thead tr:last-child td:first-child {
-	border-bottom-left-radius: 0 !important;
-	border-bottom-right-radius: 0 !important;
-}
-
-div.dataTables_scrollBody table {
-	border-top: none;
-	margin-top: 0 !important;
-	margin-bottom: 0 !important;
-}
-
-div.dataTables_scrollBody tbody tr:first-child th,
-div.dataTables_scrollBody tbody tr:first-child td {
-	border-top: none;
-}
-
-div.dataTables_scrollFoot table {
-	margin-top: 0 !important;
-	border-top: none;
-}
-
-/* Frustratingly the border-collapse:collapse used by Bootstrap makes the column
-   width calculations when using scrolling impossible to align columns. We have
-   to use separate
- */
-table.table-bordered.dataTable {
-	border-collapse: separate !important;
-}
-table.table-bordered thead th,
-table.table-bordered thead td {
-	border-left-width: 0;
-	border-top-width: 0;
-}
-table.table-bordered tbody th,
-table.table-bordered tbody td {
-	border-left-width: 0;
-	border-bottom-width: 0;
-}
-table.table-bordered tfoot th,
-table.table-bordered tfoot td {
-    border-left-width: 0;
-    border-bottom-width: 0;
-}
-table.table-bordered th:last-child,
-table.table-bordered td:last-child {
-	border-right-width: 0;
-}
-div.dataTables_scrollHead table.table-bordered {
-	border-bottom-width: 0;
-}
-
-
-
-
-/*
- * TableTools styles
- */
-.table.dataTable tbody tr.active td,
-.table.dataTable tbody tr.active th {
-	background-color: #08C;
-	color: white;
-}
-
-.table.dataTable tbody tr.active:hover td,
-.table.dataTable tbody tr.active:hover th {
-	background-color: #0075b0 !important;
-}
-
-.table.dataTable tbody tr.active th > a,
-.table.dataTable tbody tr.active td > a {
-	color: white;
-}
-
-.table-striped.dataTable tbody tr.active:nth-child(odd) td,
-.table-striped.dataTable tbody tr.active:nth-child(odd) th {
-	background-color: #017ebc;
-}
-
-table.DTTT_selectable tbody tr {
-	cursor: pointer;
-}
-
-div.DTTT .btn:hover {
-	text-decoration: none !important;
-}
-
-ul.DTTT_dropdown.dropdown-menu {
-  z-index: 2003;
-}
-
-ul.DTTT_dropdown.dropdown-menu a {
-	color: #333 !important; /* needed only when demo_page.css is included */
-}
-
-ul.DTTT_dropdown.dropdown-menu li {
-	position: relative;
-}
-
-ul.DTTT_dropdown.dropdown-menu li:hover a {
-	background-color: #0088cc;
-	color: white !important;
-}
-
-div.DTTT_collection_background {
-	z-index: 2002;	
-}
-
-/* TableTools information display */
-div.DTTT_print_info {
-	position: fixed;
-	top: 50%;
-	left: 50%;
-	width: 400px;
-	height: 150px;
-	margin-left: -200px;
-	margin-top: -75px;
-	text-align: center;
-	color: #333;
-	padding: 10px 30px;
-	opacity: 0.95;
-
-	background-color: white;
-	border: 1px solid rgba(0, 0, 0, 0.2);
-	border-radius: 6px;
-	
-	-webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-	        box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-}
-
-div.DTTT_print_info h6 {
-	font-weight: normal;
-	font-size: 28px;
-	line-height: 28px;
-	margin: 1em;
-}
-
-div.DTTT_print_info p {
-	font-size: 14px;
-	line-height: 20px;
-}
-
-div.dataTables_processing {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-    width: 100%;
-    height: 60px;
-    margin-left: -50%;
-    margin-top: -25px;
-    padding-top: 20px;
-    padding-bottom: 20px;
-    text-align: center;
-    font-size: 1.2em;
-    background-color: white;
-    background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));
-    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
-    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
-    background: -ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
-    background: -o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
-    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);
-}
-
-
-
-/*
- * FixedColumns styles
- */
-div.DTFC_LeftHeadWrapper table,
-div.DTFC_LeftFootWrapper table,
-div.DTFC_RightHeadWrapper table,
-div.DTFC_RightFootWrapper table,
-table.DTFC_Cloned tr.even {
-    background-color: white;
-    margin-bottom: 0;
-}
- 
-div.DTFC_RightHeadWrapper table ,
-div.DTFC_LeftHeadWrapper table {
-	border-bottom: none !important;
-    margin-bottom: 0 !important;
-    border-top-right-radius: 0 !important;
-    border-bottom-left-radius: 0 !important;
-    border-bottom-right-radius: 0 !important;
-}
- 
-div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,
-div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,
-div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,
-div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child {
-    border-bottom-left-radius: 0 !important;
-    border-bottom-right-radius: 0 !important;
-}
- 
-div.DTFC_RightBodyWrapper table,
-div.DTFC_LeftBodyWrapper table {
-    border-top: none;
-    margin: 0 !important;
-}
- 
-div.DTFC_RightBodyWrapper tbody tr:first-child th,
-div.DTFC_RightBodyWrapper tbody tr:first-child td,
-div.DTFC_LeftBodyWrapper tbody tr:first-child th,
-div.DTFC_LeftBodyWrapper tbody tr:first-child td {
-    border-top: none;
-}
- 
-div.DTFC_RightFootWrapper table,
-div.DTFC_LeftFootWrapper table {
-    border-top: none;
-    margin-top: 0 !important;
-}
-
-
-div.DTFC_LeftBodyWrapper table.dataTable thead .sorting:after,
-div.DTFC_LeftBodyWrapper table.dataTable thead .sorting_asc:after,
-div.DTFC_LeftBodyWrapper table.dataTable thead .sorting_desc:after,
-div.DTFC_RightBodyWrapper table.dataTable thead .sorting:after,
-div.DTFC_RightBodyWrapper table.dataTable thead .sorting_asc:after,
-div.DTFC_RightBodyWrapper table.dataTable thead .sorting_desc:after {
-	display: none;
-}
-
-
-/*
- * FixedHeader styles
- */
-div.FixedHeader_Cloned table {
-	margin: 0 !important
-}
-
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/_all-skins.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/_all-skins.css
deleted file mode 100644
index 53577c4..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/_all-skins.css
+++ /dev/null
@@ -1,1770 +0,0 @@
-/*
- * Skin: Blue
- * ----------
- */
-.skin-blue .main-header .navbar {
-  background-color: #3c8dbc;
-}
-.skin-blue .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-blue .main-header .navbar .nav > li > a:hover,
-.skin-blue .main-header .navbar .nav > li > a:active,
-.skin-blue .main-header .navbar .nav > li > a:focus,
-.skin-blue .main-header .navbar .nav .open > a,
-.skin-blue .main-header .navbar .nav .open > a:hover,
-.skin-blue .main-header .navbar .nav .open > a:focus,
-.skin-blue .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-blue .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-blue .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-blue .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-blue .main-header .navbar .sidebar-toggle:hover {
-  background-color: #367fa9;
-}
-@media (max-width: 767px) {
-  .skin-blue .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-blue .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-blue .main-header .navbar .dropdown-menu li a:hover {
-    background: #367fa9;
-  }
-}
-.skin-blue .main-header .logo {
-  background-color: #367fa9;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue .main-header .logo:hover {
-  background-color: #357ca5;
-}
-.skin-blue .main-header li.user-header {
-  background-color: #3c8dbc;
-}
-.skin-blue .content-header {
-  background: transparent;
-}
-.skin-blue .wrapper,
-.skin-blue .main-sidebar,
-.skin-blue .left-side {
-  background-color: #222d32;
-}
-.skin-blue .user-panel > .info,
-.skin-blue .user-panel > .info > a {
-  color: #fff;
-}
-.skin-blue .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-blue .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-blue .sidebar-menu > li:hover > a,
-.skin-blue .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #3c8dbc;
-}
-.skin-blue .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-blue .sidebar a {
-  color: #b8c7ce;
-}
-.skin-blue .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-blue .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-blue .treeview-menu > li.active > a,
-.skin-blue .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-blue .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-blue .sidebar-form input[type="text"],
-.skin-blue .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-blue .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-blue .sidebar-form input[type="text"]:focus,
-.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-blue .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-.skin-blue.layout-top-nav .main-header > .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue.layout-top-nav .main-header > .logo:hover {
-  background-color: #3b8ab8;
-}
-/*
- * Skin: Blue
- * ----------
- */
-.skin-blue-light .main-header .navbar {
-  background-color: #3c8dbc;
-}
-.skin-blue-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-blue-light .main-header .navbar .nav > li > a:hover,
-.skin-blue-light .main-header .navbar .nav > li > a:active,
-.skin-blue-light .main-header .navbar .nav > li > a:focus,
-.skin-blue-light .main-header .navbar .nav .open > a,
-.skin-blue-light .main-header .navbar .nav .open > a:hover,
-.skin-blue-light .main-header .navbar .nav .open > a:focus,
-.skin-blue-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #367fa9;
-}
-@media (max-width: 767px) {
-  .skin-blue-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-blue-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-blue-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #367fa9;
-  }
-}
-.skin-blue-light .main-header .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue-light .main-header .logo:hover {
-  background-color: #3b8ab8;
-}
-.skin-blue-light .main-header li.user-header {
-  background-color: #3c8dbc;
-}
-.skin-blue-light .content-header {
-  background: transparent;
-}
-.skin-blue-light .wrapper,
-.skin-blue-light .main-sidebar,
-.skin-blue-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-blue-light .content-wrapper,
-.skin-blue-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-blue-light .user-panel > .info,
-.skin-blue-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-blue-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-blue-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-blue-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-menu > li:hover > a,
-.skin-blue-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-blue-light .sidebar-menu > li.active {
-  border-left-color: #3c8dbc;
-}
-.skin-blue-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-blue-light .sidebar a {
-  color: #444444;
-}
-.skin-blue-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-blue-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-blue-light .treeview-menu > li.active > a,
-.skin-blue-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-blue-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-blue-light .sidebar-form input[type="text"],
-.skin-blue-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-blue-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-blue-light .sidebar-form input[type="text"]:focus,
-.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-blue-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-.skin-blue-light .main-footer {
-  border-top-color: #d2d6de;
-}
-.skin-blue.layout-top-nav .main-header > .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue.layout-top-nav .main-header > .logo:hover {
-  background-color: #3b8ab8;
-}
-/*
- * Skin: Black
- * -----------
- */
-/* skin-black navbar */
-.skin-black .main-header {
-  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-}
-.skin-black .main-header .navbar-toggle {
-  color: #333;
-}
-.skin-black .main-header .navbar-brand {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar {
-  background-color: #ffffff;
-}
-.skin-black .main-header .navbar .nav > li > a {
-  color: #333333;
-}
-.skin-black .main-header .navbar .nav > li > a:hover,
-.skin-black .main-header .navbar .nav > li > a:active,
-.skin-black .main-header .navbar .nav > li > a:focus,
-.skin-black .main-header .navbar .nav .open > a,
-.skin-black .main-header .navbar .nav .open > a:hover,
-.skin-black .main-header .navbar .nav .open > a:focus,
-.skin-black .main-header .navbar .nav > .active > a {
-  background: #ffffff;
-  color: #999999;
-}
-.skin-black .main-header .navbar .sidebar-toggle {
-  color: #333333;
-}
-.skin-black .main-header .navbar .sidebar-toggle:hover {
-  color: #999999;
-  background: #ffffff;
-}
-.skin-black .main-header .navbar > .sidebar-toggle {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar .navbar-nav > li > a {
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
-.skin-black .main-header .navbar .navbar-right > li > a {
-  border-left: 1px solid #eee;
-  border-right-width: 0;
-}
-.skin-black .main-header > .logo {
-  background-color: #ffffff;
-  color: #333333;
-  border-bottom: 0 solid transparent;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header > .logo:hover {
-  background-color: #fcfcfc;
-}
-@media (max-width: 767px) {
-  .skin-black .main-header > .logo {
-    background-color: #222222;
-    color: #ffffff;
-    border-bottom: 0 solid transparent;
-    border-right: none;
-  }
-  .skin-black .main-header > .logo:hover {
-    background-color: #1f1f1f;
-  }
-}
-.skin-black .main-header li.user-header {
-  background-color: #222;
-}
-.skin-black .content-header {
-  background: transparent;
-  box-shadow: none;
-}
-.skin-black .wrapper,
-.skin-black .main-sidebar,
-.skin-black .left-side {
-  background-color: #222d32;
-}
-.skin-black .user-panel > .info,
-.skin-black .user-panel > .info > a {
-  color: #fff;
-}
-.skin-black .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-black .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-black .sidebar-menu > li:hover > a,
-.skin-black .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #ffffff;
-}
-.skin-black .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-black .sidebar a {
-  color: #b8c7ce;
-}
-.skin-black .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-black .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-black .treeview-menu > li.active > a,
-.skin-black .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-black .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-black .sidebar-form input[type="text"],
-.skin-black .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-black .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-black .sidebar-form input[type="text"]:focus,
-.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-black .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-.skin-black .pace .pace-progress {
-  background: #222;
-}
-.skin-black .pace .pace-activity {
-  border-top-color: #222;
-  border-left-color: #222;
-}
-/*
- * Skin: Black
- * -----------
- */
-/* skin-black navbar */
-.skin-black-light .main-header {
-  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-}
-.skin-black-light .main-header .navbar-toggle {
-  color: #333;
-}
-.skin-black-light .main-header .navbar-brand {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar {
-  background-color: #ffffff;
-}
-.skin-black-light .main-header .navbar .nav > li > a {
-  color: #333333;
-}
-.skin-black-light .main-header .navbar .nav > li > a:hover,
-.skin-black-light .main-header .navbar .nav > li > a:active,
-.skin-black-light .main-header .navbar .nav > li > a:focus,
-.skin-black-light .main-header .navbar .nav .open > a,
-.skin-black-light .main-header .navbar .nav .open > a:hover,
-.skin-black-light .main-header .navbar .nav .open > a:focus,
-.skin-black-light .main-header .navbar .nav > .active > a {
-  background: #ffffff;
-  color: #999999;
-}
-.skin-black-light .main-header .navbar .sidebar-toggle {
-  color: #333333;
-}
-.skin-black-light .main-header .navbar .sidebar-toggle:hover {
-  color: #999999;
-  background: #ffffff;
-}
-.skin-black-light .main-header .navbar > .sidebar-toggle {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar .navbar-nav > li > a {
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
-.skin-black-light .main-header .navbar .navbar-right > li > a {
-  border-left: 1px solid #eee;
-  border-right-width: 0;
-}
-.skin-black-light .main-header > .logo {
-  background-color: #ffffff;
-  color: #333333;
-  border-bottom: 0 solid transparent;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header > .logo:hover {
-  background-color: #fcfcfc;
-}
-@media (max-width: 767px) {
-  .skin-black-light .main-header > .logo {
-    background-color: #222222;
-    color: #ffffff;
-    border-bottom: 0 solid transparent;
-    border-right: none;
-  }
-  .skin-black-light .main-header > .logo:hover {
-    background-color: #1f1f1f;
-  }
-}
-.skin-black-light .main-header li.user-header {
-  background-color: #222;
-}
-.skin-black-light .content-header {
-  background: transparent;
-  box-shadow: none;
-}
-.skin-black-light .wrapper,
-.skin-black-light .main-sidebar,
-.skin-black-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-black-light .content-wrapper,
-.skin-black-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-black-light .user-panel > .info,
-.skin-black-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-black-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-black-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-black-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-black-light .sidebar-menu > li:hover > a,
-.skin-black-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-black-light .sidebar-menu > li.active {
-  border-left-color: #ffffff;
-}
-.skin-black-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-black-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-black-light .sidebar a {
-  color: #444444;
-}
-.skin-black-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-black-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-black-light .treeview-menu > li.active > a,
-.skin-black-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-black-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-black-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-black-light .sidebar-form input[type="text"],
-.skin-black-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-black-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-black-light .sidebar-form input[type="text"]:focus,
-.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-black-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-/*
- * Skin: Green
- * -----------
- */
-.skin-green .main-header .navbar {
-  background-color: #00a65a;
-}
-.skin-green .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-green .main-header .navbar .nav > li > a:hover,
-.skin-green .main-header .navbar .nav > li > a:active,
-.skin-green .main-header .navbar .nav > li > a:focus,
-.skin-green .main-header .navbar .nav .open > a,
-.skin-green .main-header .navbar .nav .open > a:hover,
-.skin-green .main-header .navbar .nav .open > a:focus,
-.skin-green .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-green .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-green .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-green .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-green .main-header .navbar .sidebar-toggle:hover {
-  background-color: #008d4c;
-}
-@media (max-width: 767px) {
-  .skin-green .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-green .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-green .main-header .navbar .dropdown-menu li a:hover {
-    background: #008d4c;
-  }
-}
-.skin-green .main-header .logo {
-  background-color: #008d4c;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-green .main-header .logo:hover {
-  background-color: #008749;
-}
-.skin-green .main-header li.user-header {
-  background-color: #00a65a;
-}
-.skin-green .content-header {
-  background: transparent;
-}
-.skin-green .wrapper,
-.skin-green .main-sidebar,
-.skin-green .left-side {
-  background-color: #222d32;
-}
-.skin-green .user-panel > .info,
-.skin-green .user-panel > .info > a {
-  color: #fff;
-}
-.skin-green .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-green .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-green .sidebar-menu > li:hover > a,
-.skin-green .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #00a65a;
-}
-.skin-green .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-green .sidebar a {
-  color: #b8c7ce;
-}
-.skin-green .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-green .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-green .treeview-menu > li.active > a,
-.skin-green .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-green .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-green .sidebar-form input[type="text"],
-.skin-green .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-green .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-green .sidebar-form input[type="text"]:focus,
-.skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-green .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-/*
- * Skin: Green
- * -----------
- */
-.skin-green-light .main-header .navbar {
-  background-color: #00a65a;
-}
-.skin-green-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-green-light .main-header .navbar .nav > li > a:hover,
-.skin-green-light .main-header .navbar .nav > li > a:active,
-.skin-green-light .main-header .navbar .nav > li > a:focus,
-.skin-green-light .main-header .navbar .nav .open > a,
-.skin-green-light .main-header .navbar .nav .open > a:hover,
-.skin-green-light .main-header .navbar .nav .open > a:focus,
-.skin-green-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-green-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #008d4c;
-}
-@media (max-width: 767px) {
-  .skin-green-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-green-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-green-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #008d4c;
-  }
-}
-.skin-green-light .main-header .logo {
-  background-color: #00a65a;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-green-light .main-header .logo:hover {
-  background-color: #00a157;
-}
-.skin-green-light .main-header li.user-header {
-  background-color: #00a65a;
-}
-.skin-green-light .content-header {
-  background: transparent;
-}
-.skin-green-light .wrapper,
-.skin-green-light .main-sidebar,
-.skin-green-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-green-light .content-wrapper,
-.skin-green-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-green-light .user-panel > .info,
-.skin-green-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-green-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-green-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-green-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-green-light .sidebar-menu > li:hover > a,
-.skin-green-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-green-light .sidebar-menu > li.active {
-  border-left-color: #00a65a;
-}
-.skin-green-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-green-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-green-light .sidebar a {
-  color: #444444;
-}
-.skin-green-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-green-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-green-light .treeview-menu > li.active > a,
-.skin-green-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-green-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-green-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-green-light .sidebar-form input[type="text"],
-.skin-green-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-green-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-green-light .sidebar-form input[type="text"]:focus,
-.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-green-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-/*
- * Skin: Red
- * ---------
- */
-.skin-red .main-header .navbar {
-  background-color: #dd4b39;
-}
-.skin-red .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-red .main-header .navbar .nav > li > a:hover,
-.skin-red .main-header .navbar .nav > li > a:active,
-.skin-red .main-header .navbar .nav > li > a:focus,
-.skin-red .main-header .navbar .nav .open > a,
-.skin-red .main-header .navbar .nav .open > a:hover,
-.skin-red .main-header .navbar .nav .open > a:focus,
-.skin-red .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-red .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-red .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-red .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-red .main-header .navbar .sidebar-toggle:hover {
-  background-color: #d73925;
-}
-@media (max-width: 767px) {
-  .skin-red .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-red .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-red .main-header .navbar .dropdown-menu li a:hover {
-    background: #d73925;
-  }
-}
-.skin-red .main-header .logo {
-  background-color: #d73925;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-red .main-header .logo:hover {
-  background-color: #d33724;
-}
-.skin-red .main-header li.user-header {
-  background-color: #dd4b39;
-}
-.skin-red .content-header {
-  background: transparent;
-}
-.skin-red .wrapper,
-.skin-red .main-sidebar,
-.skin-red .left-side {
-  background-color: #222d32;
-}
-.skin-red .user-panel > .info,
-.skin-red .user-panel > .info > a {
-  color: #fff;
-}
-.skin-red .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-red .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-red .sidebar-menu > li:hover > a,
-.skin-red .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #dd4b39;
-}
-.skin-red .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-red .sidebar a {
-  color: #b8c7ce;
-}
-.skin-red .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-red .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-red .treeview-menu > li.active > a,
-.skin-red .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-red .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-red .sidebar-form input[type="text"],
-.skin-red .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-red .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-red .sidebar-form input[type="text"]:focus,
-.skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-red .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-/*
- * Skin: Red
- * ---------
- */
-.skin-red-light .main-header .navbar {
-  background-color: #dd4b39;
-}
-.skin-red-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-red-light .main-header .navbar .nav > li > a:hover,
-.skin-red-light .main-header .navbar .nav > li > a:active,
-.skin-red-light .main-header .navbar .nav > li > a:focus,
-.skin-red-light .main-header .navbar .nav .open > a,
-.skin-red-light .main-header .navbar .nav .open > a:hover,
-.skin-red-light .main-header .navbar .nav .open > a:focus,
-.skin-red-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-red-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #d73925;
-}
-@media (max-width: 767px) {
-  .skin-red-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-red-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-red-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #d73925;
-  }
-}
-.skin-red-light .main-header .logo {
-  background-color: #dd4b39;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-red-light .main-header .logo:hover {
-  background-color: #dc4735;
-}
-.skin-red-light .main-header li.user-header {
-  background-color: #dd4b39;
-}
-.skin-red-light .content-header {
-  background: transparent;
-}
-.skin-red-light .wrapper,
-.skin-red-light .main-sidebar,
-.skin-red-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-red-light .content-wrapper,
-.skin-red-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-red-light .user-panel > .info,
-.skin-red-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-red-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-red-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-red-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-red-light .sidebar-menu > li:hover > a,
-.skin-red-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-red-light .sidebar-menu > li.active {
-  border-left-color: #dd4b39;
-}
-.skin-red-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-red-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-red-light .sidebar a {
-  color: #444444;
-}
-.skin-red-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-red-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-red-light .treeview-menu > li.active > a,
-.skin-red-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-red-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-red-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-red-light .sidebar-form input[type="text"],
-.skin-red-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-red-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-red-light .sidebar-form input[type="text"]:focus,
-.skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-red-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-/*
- * Skin: Yellow
- * ------------
- */
-.skin-yellow .main-header .navbar {
-  background-color: #f39c12;
-}
-.skin-yellow .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-yellow .main-header .navbar .nav > li > a:hover,
-.skin-yellow .main-header .navbar .nav > li > a:active,
-.skin-yellow .main-header .navbar .nav > li > a:focus,
-.skin-yellow .main-header .navbar .nav .open > a,
-.skin-yellow .main-header .navbar .nav .open > a:hover,
-.skin-yellow .main-header .navbar .nav .open > a:focus,
-.skin-yellow .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-yellow .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle:hover {
-  background-color: #e08e0b;
-}
-@media (max-width: 767px) {
-  .skin-yellow .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-yellow .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-yellow .main-header .navbar .dropdown-menu li a:hover {
-    background: #e08e0b;
-  }
-}
-.skin-yellow .main-header .logo {
-  background-color: #e08e0b;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-yellow .main-header .logo:hover {
-  background-color: #db8b0b;
-}
-.skin-yellow .main-header li.user-header {
-  background-color: #f39c12;
-}
-.skin-yellow .content-header {
-  background: transparent;
-}
-.skin-yellow .wrapper,
-.skin-yellow .main-sidebar,
-.skin-yellow .left-side {
-  background-color: #222d32;
-}
-.skin-yellow .user-panel > .info,
-.skin-yellow .user-panel > .info > a {
-  color: #fff;
-}
-.skin-yellow .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-yellow .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-yellow .sidebar-menu > li:hover > a,
-.skin-yellow .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #f39c12;
-}
-.skin-yellow .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-yellow .sidebar a {
-  color: #b8c7ce;
-}
-.skin-yellow .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-yellow .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-yellow .treeview-menu > li.active > a,
-.skin-yellow .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-yellow .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-yellow .sidebar-form input[type="text"],
-.skin-yellow .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-yellow .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-yellow .sidebar-form input[type="text"]:focus,
-.skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-yellow .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-/*
- * Skin: Yellow
- * ------------
- */
-.skin-yellow-light .main-header .navbar {
-  background-color: #f39c12;
-}
-.skin-yellow-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-yellow-light .main-header .navbar .nav > li > a:hover,
-.skin-yellow-light .main-header .navbar .nav > li > a:active,
-.skin-yellow-light .main-header .navbar .nav > li > a:focus,
-.skin-yellow-light .main-header .navbar .nav .open > a,
-.skin-yellow-light .main-header .navbar .nav .open > a:hover,
-.skin-yellow-light .main-header .navbar .nav .open > a:focus,
-.skin-yellow-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #e08e0b;
-}
-@media (max-width: 767px) {
-  .skin-yellow-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-yellow-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-yellow-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #e08e0b;
-  }
-}
-.skin-yellow-light .main-header .logo {
-  background-color: #f39c12;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-yellow-light .main-header .logo:hover {
-  background-color: #f39a0d;
-}
-.skin-yellow-light .main-header li.user-header {
-  background-color: #f39c12;
-}
-.skin-yellow-light .content-header {
-  background: transparent;
-}
-.skin-yellow-light .wrapper,
-.skin-yellow-light .main-sidebar,
-.skin-yellow-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-yellow-light .content-wrapper,
-.skin-yellow-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-yellow-light .user-panel > .info,
-.skin-yellow-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-yellow-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-yellow-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-yellow-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-menu > li:hover > a,
-.skin-yellow-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-yellow-light .sidebar-menu > li.active {
-  border-left-color: #f39c12;
-}
-.skin-yellow-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-yellow-light .sidebar a {
-  color: #444444;
-}
-.skin-yellow-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-yellow-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-yellow-light .treeview-menu > li.active > a,
-.skin-yellow-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-yellow-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-yellow-light .sidebar-form input[type="text"],
-.skin-yellow-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-yellow-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-yellow-light .sidebar-form input[type="text"]:focus,
-.skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-yellow-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-/*
- * Skin: Purple
- * ------------
- */
-.skin-purple .main-header .navbar {
-  background-color: #605ca8;
-}
-.skin-purple .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-purple .main-header .navbar .nav > li > a:hover,
-.skin-purple .main-header .navbar .nav > li > a:active,
-.skin-purple .main-header .navbar .nav > li > a:focus,
-.skin-purple .main-header .navbar .nav .open > a,
-.skin-purple .main-header .navbar .nav .open > a:hover,
-.skin-purple .main-header .navbar .nav .open > a:focus,
-.skin-purple .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-purple .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-purple .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-purple .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-purple .main-header .navbar .sidebar-toggle:hover {
-  background-color: #555299;
-}
-@media (max-width: 767px) {
-  .skin-purple .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-purple .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-purple .main-header .navbar .dropdown-menu li a:hover {
-    background: #555299;
-  }
-}
-.skin-purple .main-header .logo {
-  background-color: #555299;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-purple .main-header .logo:hover {
-  background-color: #545096;
-}
-.skin-purple .main-header li.user-header {
-  background-color: #605ca8;
-}
-.skin-purple .content-header {
-  background: transparent;
-}
-.skin-purple .wrapper,
-.skin-purple .main-sidebar,
-.skin-purple .left-side {
-  background-color: #222d32;
-}
-.skin-purple .user-panel > .info,
-.skin-purple .user-panel > .info > a {
-  color: #fff;
-}
-.skin-purple .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-purple .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-purple .sidebar-menu > li:hover > a,
-.skin-purple .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #605ca8;
-}
-.skin-purple .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-purple .sidebar a {
-  color: #b8c7ce;
-}
-.skin-purple .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-purple .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-purple .treeview-menu > li.active > a,
-.skin-purple .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-purple .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-purple .sidebar-form input[type="text"],
-.skin-purple .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-purple .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-purple .sidebar-form input[type="text"]:focus,
-.skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-purple .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-/*
- * Skin: Purple
- * ------------
- */
-.skin-purple-light .main-header .navbar {
-  background-color: #605ca8;
-}
-.skin-purple-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-purple-light .main-header .navbar .nav > li > a:hover,
-.skin-purple-light .main-header .navbar .nav > li > a:active,
-.skin-purple-light .main-header .navbar .nav > li > a:focus,
-.skin-purple-light .main-header .navbar .nav .open > a,
-.skin-purple-light .main-header .navbar .nav .open > a:hover,
-.skin-purple-light .main-header .navbar .nav .open > a:focus,
-.skin-purple-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #555299;
-}
-@media (max-width: 767px) {
-  .skin-purple-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-purple-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-purple-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #555299;
-  }
-}
-.skin-purple-light .main-header .logo {
-  background-color: #605ca8;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-purple-light .main-header .logo:hover {
-  background-color: #5d59a6;
-}
-.skin-purple-light .main-header li.user-header {
-  background-color: #605ca8;
-}
-.skin-purple-light .content-header {
-  background: transparent;
-}
-.skin-purple-light .wrapper,
-.skin-purple-light .main-sidebar,
-.skin-purple-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-purple-light .content-wrapper,
-.skin-purple-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-purple-light .user-panel > .info,
-.skin-purple-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-purple-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-purple-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-purple-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-menu > li:hover > a,
-.skin-purple-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-purple-light .sidebar-menu > li.active {
-  border-left-color: #605ca8;
-}
-.skin-purple-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-purple-light .sidebar a {
-  color: #444444;
-}
-.skin-purple-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-purple-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-purple-light .treeview-menu > li.active > a,
-.skin-purple-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-purple-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-purple-light .sidebar-form input[type="text"],
-.skin-purple-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-purple-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-purple-light .sidebar-form input[type="text"]:focus,
-.skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-purple-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black-light.css
deleted file mode 100644
index c6a2501..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black-light.css
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Skin: Black
- * -----------
- */
-/* skin-black navbar */
-.skin-black-light .main-header {
-  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-}
-.skin-black-light .main-header .navbar-toggle {
-  color: #333;
-}
-.skin-black-light .main-header .navbar-brand {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar {
-  background-color: #ffffff;
-}
-.skin-black-light .main-header .navbar .nav > li > a {
-  color: #333333;
-}
-.skin-black-light .main-header .navbar .nav > li > a:hover,
-.skin-black-light .main-header .navbar .nav > li > a:active,
-.skin-black-light .main-header .navbar .nav > li > a:focus,
-.skin-black-light .main-header .navbar .nav .open > a,
-.skin-black-light .main-header .navbar .nav .open > a:hover,
-.skin-black-light .main-header .navbar .nav .open > a:focus,
-.skin-black-light .main-header .navbar .nav > .active > a {
-  background: #ffffff;
-  color: #999999;
-}
-.skin-black-light .main-header .navbar .sidebar-toggle {
-  color: #333333;
-}
-.skin-black-light .main-header .navbar .sidebar-toggle:hover {
-  color: #999999;
-  background: #ffffff;
-}
-.skin-black-light .main-header .navbar > .sidebar-toggle {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar .navbar-nav > li > a {
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
-.skin-black-light .main-header .navbar .navbar-right > li > a {
-  border-left: 1px solid #eee;
-  border-right-width: 0;
-}
-.skin-black-light .main-header > .logo {
-  background-color: #ffffff;
-  color: #333333;
-  border-bottom: 0 solid transparent;
-  border-right: 1px solid #eee;
-}
-.skin-black-light .main-header > .logo:hover {
-  background-color: #fcfcfc;
-}
-@media (max-width: 767px) {
-  .skin-black-light .main-header > .logo {
-    background-color: #222222;
-    color: #ffffff;
-    border-bottom: 0 solid transparent;
-    border-right: none;
-  }
-  .skin-black-light .main-header > .logo:hover {
-    background-color: #1f1f1f;
-  }
-}
-.skin-black-light .main-header li.user-header {
-  background-color: #222;
-}
-.skin-black-light .content-header {
-  background: transparent;
-  box-shadow: none;
-}
-.skin-black-light .wrapper,
-.skin-black-light .main-sidebar,
-.skin-black-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-black-light .content-wrapper,
-.skin-black-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-black-light .user-panel > .info,
-.skin-black-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-black-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-black-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-black-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-black-light .sidebar-menu > li:hover > a,
-.skin-black-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-black-light .sidebar-menu > li.active {
-  border-left-color: #ffffff;
-}
-.skin-black-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-black-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-black-light .sidebar a {
-  color: #444444;
-}
-.skin-black-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-black-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-black-light .treeview-menu > li.active > a,
-.skin-black-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-black-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-black-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-black-light .sidebar-form input[type="text"],
-.skin-black-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-black-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-black-light .sidebar-form input[type="text"]:focus,
-.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-black-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-black-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-black-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black.css
deleted file mode 100644
index 977b02e..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-black.css
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Skin: Black
- * -----------
- */
-/* skin-black navbar */
-.skin-black .main-header {
-  -webkit-box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.05);
-}
-.skin-black .main-header .navbar-toggle {
-  color: #333;
-}
-.skin-black .main-header .navbar-brand {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar {
-  background-color: #ffffff;
-}
-.skin-black .main-header .navbar .nav > li > a {
-  color: #333333;
-}
-.skin-black .main-header .navbar .nav > li > a:hover,
-.skin-black .main-header .navbar .nav > li > a:active,
-.skin-black .main-header .navbar .nav > li > a:focus,
-.skin-black .main-header .navbar .nav .open > a,
-.skin-black .main-header .navbar .nav .open > a:hover,
-.skin-black .main-header .navbar .nav .open > a:focus,
-.skin-black .main-header .navbar .nav > .active > a {
-  background: #ffffff;
-  color: #999999;
-}
-.skin-black .main-header .navbar .sidebar-toggle {
-  color: #333333;
-}
-.skin-black .main-header .navbar .sidebar-toggle:hover {
-  color: #999999;
-  background: #ffffff;
-}
-.skin-black .main-header .navbar > .sidebar-toggle {
-  color: #333;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar .navbar-nav > li > a {
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header .navbar .navbar-custom-menu .navbar-nav > li > a,
-.skin-black .main-header .navbar .navbar-right > li > a {
-  border-left: 1px solid #eee;
-  border-right-width: 0;
-}
-.skin-black .main-header > .logo {
-  background-color: #ffffff;
-  color: #333333;
-  border-bottom: 0 solid transparent;
-  border-right: 1px solid #eee;
-}
-.skin-black .main-header > .logo:hover {
-  background-color: #fcfcfc;
-}
-@media (max-width: 767px) {
-  .skin-black .main-header > .logo {
-    background-color: #222222;
-    color: #ffffff;
-    border-bottom: 0 solid transparent;
-    border-right: none;
-  }
-  .skin-black .main-header > .logo:hover {
-    background-color: #1f1f1f;
-  }
-}
-.skin-black .main-header li.user-header {
-  background-color: #222;
-}
-.skin-black .content-header {
-  background: transparent;
-  box-shadow: none;
-}
-.skin-black .wrapper,
-.skin-black .main-sidebar,
-.skin-black .left-side {
-  background-color: #222d32;
-}
-.skin-black .user-panel > .info,
-.skin-black .user-panel > .info > a {
-  color: #fff;
-}
-.skin-black .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-black .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-black .sidebar-menu > li:hover > a,
-.skin-black .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #ffffff;
-}
-.skin-black .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-black .sidebar a {
-  color: #b8c7ce;
-}
-.skin-black .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-black .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-black .treeview-menu > li.active > a,
-.skin-black .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-black .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-black .sidebar-form input[type="text"],
-.skin-black .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-black .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-black .sidebar-form input[type="text"]:focus,
-.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-black .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-black .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-.skin-black .pace .pace-progress {
-  background: #222;
-}
-.skin-black .pace .pace-activity {
-  border-top-color: #222;
-  border-left-color: #222;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue-light.css
deleted file mode 100644
index 7e63a6f..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue-light.css
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Skin: Blue
- * ----------
- */
-.skin-blue-light .main-header .navbar {
-  background-color: #3c8dbc;
-}
-.skin-blue-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-blue-light .main-header .navbar .nav > li > a:hover,
-.skin-blue-light .main-header .navbar .nav > li > a:active,
-.skin-blue-light .main-header .navbar .nav > li > a:focus,
-.skin-blue-light .main-header .navbar .nav .open > a,
-.skin-blue-light .main-header .navbar .nav .open > a:hover,
-.skin-blue-light .main-header .navbar .nav .open > a:focus,
-.skin-blue-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-blue-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #367fa9;
-}
-@media (max-width: 767px) {
-  .skin-blue-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-blue-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-blue-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #367fa9;
-  }
-}
-.skin-blue-light .main-header .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue-light .main-header .logo:hover {
-  background-color: #3b8ab8;
-}
-.skin-blue-light .main-header li.user-header {
-  background-color: #3c8dbc;
-}
-.skin-blue-light .content-header {
-  background: transparent;
-}
-.skin-blue-light .wrapper,
-.skin-blue-light .main-sidebar,
-.skin-blue-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-blue-light .content-wrapper,
-.skin-blue-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-blue-light .user-panel > .info,
-.skin-blue-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-blue-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-blue-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-blue-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-menu > li:hover > a,
-.skin-blue-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-blue-light .sidebar-menu > li.active {
-  border-left-color: #3c8dbc;
-}
-.skin-blue-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-blue-light .sidebar a {
-  color: #444444;
-}
-.skin-blue-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-blue-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-blue-light .treeview-menu > li.active > a,
-.skin-blue-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-blue-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-blue-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-blue-light .sidebar-form input[type="text"],
-.skin-blue-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-blue-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-blue-light .sidebar-form input[type="text"]:focus,
-.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-blue-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-blue-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-blue-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
-.skin-blue-light .main-footer {
-  border-top-color: #d2d6de;
-}
-.skin-blue.layout-top-nav .main-header > .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue.layout-top-nav .main-header > .logo:hover {
-  background-color: #3b8ab8;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue.css
deleted file mode 100644
index 603b65f..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-blue.css
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Skin: Blue
- * ----------
- */
-.skin-blue .main-header .navbar {
-  background-color: #3c8dbc;
-}
-.skin-blue .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-blue .main-header .navbar .nav > li > a:hover,
-.skin-blue .main-header .navbar .nav > li > a:active,
-.skin-blue .main-header .navbar .nav > li > a:focus,
-.skin-blue .main-header .navbar .nav .open > a,
-.skin-blue .main-header .navbar .nav .open > a:hover,
-.skin-blue .main-header .navbar .nav .open > a:focus,
-.skin-blue .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-blue .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-blue .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-blue .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-blue .main-header .navbar .sidebar-toggle:hover {
-  background-color: #367fa9;
-}
-@media (max-width: 767px) {
-  .skin-blue .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-blue .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-blue .main-header .navbar .dropdown-menu li a:hover {
-    background: #367fa9;
-  }
-}
-.skin-blue .main-header .logo {
-  background-color: #367fa9;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue .main-header .logo:hover {
-  background-color: #357ca5;
-}
-.skin-blue .main-header li.user-header {
-  background-color: #3c8dbc;
-}
-.skin-blue .content-header {
-  background: transparent;
-}
-.skin-blue .wrapper,
-.skin-blue .main-sidebar,
-.skin-blue .left-side {
-  background-color: #222d32;
-}
-.skin-blue .user-panel > .info,
-.skin-blue .user-panel > .info > a {
-  color: #fff;
-}
-.skin-blue .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-blue .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-blue .sidebar-menu > li:hover > a,
-.skin-blue .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #3c8dbc;
-}
-.skin-blue .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-blue .sidebar a {
-  color: #b8c7ce;
-}
-.skin-blue .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-blue .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-blue .treeview-menu > li.active > a,
-.skin-blue .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-blue .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-blue .sidebar-form input[type="text"],
-.skin-blue .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-blue .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-blue .sidebar-form input[type="text"]:focus,
-.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-blue .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-blue .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-.skin-blue.layout-top-nav .main-header > .logo {
-  background-color: #3c8dbc;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-blue.layout-top-nav .main-header > .logo:hover {
-  background-color: #3b8ab8;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green-light.css
deleted file mode 100644
index b230659..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green-light.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Skin: Green
- * -----------
- */
-.skin-green-light .main-header .navbar {
-  background-color: #00a65a;
-}
-.skin-green-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-green-light .main-header .navbar .nav > li > a:hover,
-.skin-green-light .main-header .navbar .nav > li > a:active,
-.skin-green-light .main-header .navbar .nav > li > a:focus,
-.skin-green-light .main-header .navbar .nav .open > a,
-.skin-green-light .main-header .navbar .nav .open > a:hover,
-.skin-green-light .main-header .navbar .nav .open > a:focus,
-.skin-green-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-green-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-green-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #008d4c;
-}
-@media (max-width: 767px) {
-  .skin-green-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-green-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-green-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #008d4c;
-  }
-}
-.skin-green-light .main-header .logo {
-  background-color: #00a65a;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-green-light .main-header .logo:hover {
-  background-color: #00a157;
-}
-.skin-green-light .main-header li.user-header {
-  background-color: #00a65a;
-}
-.skin-green-light .content-header {
-  background: transparent;
-}
-.skin-green-light .wrapper,
-.skin-green-light .main-sidebar,
-.skin-green-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-green-light .content-wrapper,
-.skin-green-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-green-light .user-panel > .info,
-.skin-green-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-green-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-green-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-green-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-green-light .sidebar-menu > li:hover > a,
-.skin-green-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-green-light .sidebar-menu > li.active {
-  border-left-color: #00a65a;
-}
-.skin-green-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-green-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-green-light .sidebar a {
-  color: #444444;
-}
-.skin-green-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-green-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-green-light .treeview-menu > li.active > a,
-.skin-green-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-green-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-green-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-green-light .sidebar-form input[type="text"],
-.skin-green-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-green-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-green-light .sidebar-form input[type="text"]:focus,
-.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-green-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-green-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-green-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green.css
deleted file mode 100644
index ff750cc..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-green.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Skin: Green
- * -----------
- */
-.skin-green .main-header .navbar {
-  background-color: #00a65a;
-}
-.skin-green .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-green .main-header .navbar .nav > li > a:hover,
-.skin-green .main-header .navbar .nav > li > a:active,
-.skin-green .main-header .navbar .nav > li > a:focus,
-.skin-green .main-header .navbar .nav .open > a,
-.skin-green .main-header .navbar .nav .open > a:hover,
-.skin-green .main-header .navbar .nav .open > a:focus,
-.skin-green .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-green .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-green .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-green .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-green .main-header .navbar .sidebar-toggle:hover {
-  background-color: #008d4c;
-}
-@media (max-width: 767px) {
-  .skin-green .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-green .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-green .main-header .navbar .dropdown-menu li a:hover {
-    background: #008d4c;
-  }
-}
-.skin-green .main-header .logo {
-  background-color: #008d4c;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-green .main-header .logo:hover {
-  background-color: #008749;
-}
-.skin-green .main-header li.user-header {
-  background-color: #00a65a;
-}
-.skin-green .content-header {
-  background: transparent;
-}
-.skin-green .wrapper,
-.skin-green .main-sidebar,
-.skin-green .left-side {
-  background-color: #222d32;
-}
-.skin-green .user-panel > .info,
-.skin-green .user-panel > .info > a {
-  color: #fff;
-}
-.skin-green .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-green .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-green .sidebar-menu > li:hover > a,
-.skin-green .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #00a65a;
-}
-.skin-green .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-green .sidebar a {
-  color: #b8c7ce;
-}
-.skin-green .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-green .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-green .treeview-menu > li.active > a,
-.skin-green .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-green .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-green .sidebar-form input[type="text"],
-.skin-green .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-green .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-green .sidebar-form input[type="text"]:focus,
-.skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-green .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-green .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple-light.css
deleted file mode 100644
index cfcb148..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple-light.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Skin: Purple
- * ------------
- */
-.skin-purple-light .main-header .navbar {
-  background-color: #605ca8;
-}
-.skin-purple-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-purple-light .main-header .navbar .nav > li > a:hover,
-.skin-purple-light .main-header .navbar .nav > li > a:active,
-.skin-purple-light .main-header .navbar .nav > li > a:focus,
-.skin-purple-light .main-header .navbar .nav .open > a,
-.skin-purple-light .main-header .navbar .nav .open > a:hover,
-.skin-purple-light .main-header .navbar .nav .open > a:focus,
-.skin-purple-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-purple-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #555299;
-}
-@media (max-width: 767px) {
-  .skin-purple-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-purple-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-purple-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #555299;
-  }
-}
-.skin-purple-light .main-header .logo {
-  background-color: #605ca8;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-purple-light .main-header .logo:hover {
-  background-color: #5d59a6;
-}
-.skin-purple-light .main-header li.user-header {
-  background-color: #605ca8;
-}
-.skin-purple-light .content-header {
-  background: transparent;
-}
-.skin-purple-light .wrapper,
-.skin-purple-light .main-sidebar,
-.skin-purple-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-purple-light .content-wrapper,
-.skin-purple-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-purple-light .user-panel > .info,
-.skin-purple-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-purple-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-purple-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-purple-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-menu > li:hover > a,
-.skin-purple-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-purple-light .sidebar-menu > li.active {
-  border-left-color: #605ca8;
-}
-.skin-purple-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-purple-light .sidebar a {
-  color: #444444;
-}
-.skin-purple-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-purple-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-purple-light .treeview-menu > li.active > a,
-.skin-purple-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-purple-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-purple-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-purple-light .sidebar-form input[type="text"],
-.skin-purple-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-purple-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-purple-light .sidebar-form input[type="text"]:focus,
-.skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-purple-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-purple-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-purple-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple.css
deleted file mode 100644
index cb21dd7..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-purple.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Skin: Purple
- * ------------
- */
-.skin-purple .main-header .navbar {
-  background-color: #605ca8;
-}
-.skin-purple .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-purple .main-header .navbar .nav > li > a:hover,
-.skin-purple .main-header .navbar .nav > li > a:active,
-.skin-purple .main-header .navbar .nav > li > a:focus,
-.skin-purple .main-header .navbar .nav .open > a,
-.skin-purple .main-header .navbar .nav .open > a:hover,
-.skin-purple .main-header .navbar .nav .open > a:focus,
-.skin-purple .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-purple .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-purple .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-purple .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-purple .main-header .navbar .sidebar-toggle:hover {
-  background-color: #555299;
-}
-@media (max-width: 767px) {
-  .skin-purple .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-purple .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-purple .main-header .navbar .dropdown-menu li a:hover {
-    background: #555299;
-  }
-}
-.skin-purple .main-header .logo {
-  background-color: #555299;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-purple .main-header .logo:hover {
-  background-color: #545096;
-}
-.skin-purple .main-header li.user-header {
-  background-color: #605ca8;
-}
-.skin-purple .content-header {
-  background: transparent;
-}
-.skin-purple .wrapper,
-.skin-purple .main-sidebar,
-.skin-purple .left-side {
-  background-color: #222d32;
-}
-.skin-purple .user-panel > .info,
-.skin-purple .user-panel > .info > a {
-  color: #fff;
-}
-.skin-purple .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-purple .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-purple .sidebar-menu > li:hover > a,
-.skin-purple .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #605ca8;
-}
-.skin-purple .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-purple .sidebar a {
-  color: #b8c7ce;
-}
-.skin-purple .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-purple .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-purple .treeview-menu > li.active > a,
-.skin-purple .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-purple .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-purple .sidebar-form input[type="text"],
-.skin-purple .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-purple .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-purple .sidebar-form input[type="text"]:focus,
-.skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-purple .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-purple .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red-light.css
deleted file mode 100644
index 146bd3b..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red-light.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Skin: Red
- * ---------
- */
-.skin-red-light .main-header .navbar {
-  background-color: #dd4b39;
-}
-.skin-red-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-red-light .main-header .navbar .nav > li > a:hover,
-.skin-red-light .main-header .navbar .nav > li > a:active,
-.skin-red-light .main-header .navbar .nav > li > a:focus,
-.skin-red-light .main-header .navbar .nav .open > a,
-.skin-red-light .main-header .navbar .nav .open > a:hover,
-.skin-red-light .main-header .navbar .nav .open > a:focus,
-.skin-red-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-red-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-red-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #d73925;
-}
-@media (max-width: 767px) {
-  .skin-red-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-red-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-red-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #d73925;
-  }
-}
-.skin-red-light .main-header .logo {
-  background-color: #dd4b39;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-red-light .main-header .logo:hover {
-  background-color: #dc4735;
-}
-.skin-red-light .main-header li.user-header {
-  background-color: #dd4b39;
-}
-.skin-red-light .content-header {
-  background: transparent;
-}
-.skin-red-light .wrapper,
-.skin-red-light .main-sidebar,
-.skin-red-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-red-light .content-wrapper,
-.skin-red-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-red-light .user-panel > .info,
-.skin-red-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-red-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-red-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-red-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-red-light .sidebar-menu > li:hover > a,
-.skin-red-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-red-light .sidebar-menu > li.active {
-  border-left-color: #dd4b39;
-}
-.skin-red-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-red-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-red-light .sidebar a {
-  color: #444444;
-}
-.skin-red-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-red-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-red-light .treeview-menu > li.active > a,
-.skin-red-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-red-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-red-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-red-light .sidebar-form input[type="text"],
-.skin-red-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-red-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-red-light .sidebar-form input[type="text"]:focus,
-.skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-red-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-red-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-red-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red.css
deleted file mode 100644
index 6a94895..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-red.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Skin: Red
- * ---------
- */
-.skin-red .main-header .navbar {
-  background-color: #dd4b39;
-}
-.skin-red .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-red .main-header .navbar .nav > li > a:hover,
-.skin-red .main-header .navbar .nav > li > a:active,
-.skin-red .main-header .navbar .nav > li > a:focus,
-.skin-red .main-header .navbar .nav .open > a,
-.skin-red .main-header .navbar .nav .open > a:hover,
-.skin-red .main-header .navbar .nav .open > a:focus,
-.skin-red .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-red .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-red .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-red .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-red .main-header .navbar .sidebar-toggle:hover {
-  background-color: #d73925;
-}
-@media (max-width: 767px) {
-  .skin-red .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-red .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-red .main-header .navbar .dropdown-menu li a:hover {
-    background: #d73925;
-  }
-}
-.skin-red .main-header .logo {
-  background-color: #d73925;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-red .main-header .logo:hover {
-  background-color: #d33724;
-}
-.skin-red .main-header li.user-header {
-  background-color: #dd4b39;
-}
-.skin-red .content-header {
-  background: transparent;
-}
-.skin-red .wrapper,
-.skin-red .main-sidebar,
-.skin-red .left-side {
-  background-color: #222d32;
-}
-.skin-red .user-panel > .info,
-.skin-red .user-panel > .info > a {
-  color: #fff;
-}
-.skin-red .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-red .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-red .sidebar-menu > li:hover > a,
-.skin-red .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #dd4b39;
-}
-.skin-red .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-red .sidebar a {
-  color: #b8c7ce;
-}
-.skin-red .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-red .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-red .treeview-menu > li.active > a,
-.skin-red .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-red .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-red .sidebar-form input[type="text"],
-.skin-red .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-red .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-red .sidebar-form input[type="text"]:focus,
-.skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-red .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-red .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow-light.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow-light.css
deleted file mode 100644
index 1d8a6fe..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow-light.css
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Skin: Yellow
- * ------------
- */
-.skin-yellow-light .main-header .navbar {
-  background-color: #f39c12;
-}
-.skin-yellow-light .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-yellow-light .main-header .navbar .nav > li > a:hover,
-.skin-yellow-light .main-header .navbar .nav > li > a:active,
-.skin-yellow-light .main-header .navbar .nav > li > a:focus,
-.skin-yellow-light .main-header .navbar .nav .open > a,
-.skin-yellow-light .main-header .navbar .nav .open > a:hover,
-.skin-yellow-light .main-header .navbar .nav .open > a:focus,
-.skin-yellow-light .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-yellow-light .main-header .navbar .sidebar-toggle:hover {
-  background-color: #e08e0b;
-}
-@media (max-width: 767px) {
-  .skin-yellow-light .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-yellow-light .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-yellow-light .main-header .navbar .dropdown-menu li a:hover {
-    background: #e08e0b;
-  }
-}
-.skin-yellow-light .main-header .logo {
-  background-color: #f39c12;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-yellow-light .main-header .logo:hover {
-  background-color: #f39a0d;
-}
-.skin-yellow-light .main-header li.user-header {
-  background-color: #f39c12;
-}
-.skin-yellow-light .content-header {
-  background: transparent;
-}
-.skin-yellow-light .wrapper,
-.skin-yellow-light .main-sidebar,
-.skin-yellow-light .left-side {
-  background-color: #f9fafc;
-}
-.skin-yellow-light .content-wrapper,
-.skin-yellow-light .main-footer {
-  border-left: 1px solid #d2d6de;
-}
-.skin-yellow-light .user-panel > .info,
-.skin-yellow-light .user-panel > .info > a {
-  color: #444444;
-}
-.skin-yellow-light .sidebar-menu > li {
-  -webkit-transition: border-left-color 0.3s ease;
-  -o-transition: border-left-color 0.3s ease;
-  transition: border-left-color 0.3s ease;
-}
-.skin-yellow-light .sidebar-menu > li.header {
-  color: #848484;
-  background: #f9fafc;
-}
-.skin-yellow-light .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-menu > li:hover > a,
-.skin-yellow-light .sidebar-menu > li.active > a {
-  color: #000000;
-  background: #f4f4f5;
-}
-.skin-yellow-light .sidebar-menu > li.active {
-  border-left-color: #f39c12;
-}
-.skin-yellow-light .sidebar-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-menu > li > .treeview-menu {
-  background: #f4f4f5;
-}
-.skin-yellow-light .sidebar a {
-  color: #444444;
-}
-.skin-yellow-light .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-yellow-light .treeview-menu > li > a {
-  color: #777777;
-}
-.skin-yellow-light .treeview-menu > li.active > a,
-.skin-yellow-light .treeview-menu > li > a:hover {
-  color: #000000;
-}
-.skin-yellow-light .treeview-menu > li.active > a {
-  font-weight: 600;
-}
-.skin-yellow-light .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #d2d6de;
-  margin: 10px 10px;
-}
-.skin-yellow-light .sidebar-form input[type="text"],
-.skin-yellow-light .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #fff;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-yellow-light .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-yellow-light .sidebar-form input[type="text"]:focus,
-.skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-yellow-light .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-yellow-light .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
-@media (min-width: 768px) {
-  .skin-yellow-light.sidebar-mini.sidebar-collapse .sidebar-menu > li > .treeview-menu {
-    border-left: 1px solid #d2d6de;
-  }
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow.css
deleted file mode 100644
index 7834ba1..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/AdminLTE_skins/skin-yellow.css
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Skin: Yellow
- * ------------
- */
-.skin-yellow .main-header .navbar {
-  background-color: #f39c12;
-}
-.skin-yellow .main-header .navbar .nav > li > a {
-  color: #ffffff;
-}
-.skin-yellow .main-header .navbar .nav > li > a:hover,
-.skin-yellow .main-header .navbar .nav > li > a:active,
-.skin-yellow .main-header .navbar .nav > li > a:focus,
-.skin-yellow .main-header .navbar .nav .open > a,
-.skin-yellow .main-header .navbar .nav .open > a:hover,
-.skin-yellow .main-header .navbar .nav .open > a:focus,
-.skin-yellow .main-header .navbar .nav > .active > a {
-  background: rgba(0, 0, 0, 0.1);
-  color: #f6f6f6;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle {
-  color: #ffffff;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle:hover {
-  color: #f6f6f6;
-  background: rgba(0, 0, 0, 0.1);
-}
-.skin-yellow .main-header .navbar .sidebar-toggle {
-  color: #fff;
-}
-.skin-yellow .main-header .navbar .sidebar-toggle:hover {
-  background-color: #e08e0b;
-}
-@media (max-width: 767px) {
-  .skin-yellow .main-header .navbar .dropdown-menu li.divider {
-    background-color: rgba(255, 255, 255, 0.1);
-  }
-  .skin-yellow .main-header .navbar .dropdown-menu li a {
-    color: #fff;
-  }
-  .skin-yellow .main-header .navbar .dropdown-menu li a:hover {
-    background: #e08e0b;
-  }
-}
-.skin-yellow .main-header .logo {
-  background-color: #e08e0b;
-  color: #ffffff;
-  border-bottom: 0 solid transparent;
-}
-.skin-yellow .main-header .logo:hover {
-  background-color: #db8b0b;
-}
-.skin-yellow .main-header li.user-header {
-  background-color: #f39c12;
-}
-.skin-yellow .content-header {
-  background: transparent;
-}
-.skin-yellow .wrapper,
-.skin-yellow .main-sidebar,
-.skin-yellow .left-side {
-  background-color: #222d32;
-}
-.skin-yellow .user-panel > .info,
-.skin-yellow .user-panel > .info > a {
-  color: #fff;
-}
-.skin-yellow .sidebar-menu > li.header {
-  color: #4b646f;
-  background: #1a2226;
-}
-.skin-yellow .sidebar-menu > li > a {
-  border-left: 3px solid transparent;
-}
-.skin-yellow .sidebar-menu > li:hover > a,
-.skin-yellow .sidebar-menu > li.active > a {
-  color: #ffffff;
-  background: #1e282c;
-  border-left-color: #f39c12;
-}
-.skin-yellow .sidebar-menu > li > .treeview-menu {
-  margin: 0 1px;
-  background: #2c3b41;
-}
-.skin-yellow .sidebar a {
-  color: #b8c7ce;
-}
-.skin-yellow .sidebar a:hover {
-  text-decoration: none;
-}
-.skin-yellow .treeview-menu > li > a {
-  color: #8aa4af;
-}
-.skin-yellow .treeview-menu > li.active > a,
-.skin-yellow .treeview-menu > li > a:hover {
-  color: #ffffff;
-}
-.skin-yellow .sidebar-form {
-  border-radius: 3px;
-  border: 1px solid #374850;
-  margin: 10px 10px;
-}
-.skin-yellow .sidebar-form input[type="text"],
-.skin-yellow .sidebar-form .btn {
-  box-shadow: none;
-  background-color: #374850;
-  border: 1px solid transparent;
-  height: 35px;
-}
-.skin-yellow .sidebar-form input[type="text"] {
-  color: #666;
-  border-top-left-radius: 2px;
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 2px;
-}
-.skin-yellow .sidebar-form input[type="text"]:focus,
-.skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  background-color: #fff;
-  color: #666;
-}
-.skin-yellow .sidebar-form input[type="text"]:focus + .input-group-btn .btn {
-  border-left-color: #fff;
-}
-.skin-yellow .sidebar-form .btn {
-  color: #999;
-  border-top-left-radius: 0;
-  border-top-right-radius: 2px;
-  border-bottom-right-radius: 2px;
-  border-bottom-left-radius: 0;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss b/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
index bc3f667..c3af8fa 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
+++ b/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
@@ -40,7 +40,6 @@ $background_console_white: #eee;
 ============================================================================= */
 
 body {
-  background-image: linear-gradient($background_console_darker, $background_console_dark);
 }
 
 .table {
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventCategoryPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventCategoryPanel.html
index d3e9e02..b29569c 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventCategoryPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventCategoryPanel.html
@@ -25,13 +25,13 @@ under the License.
 
       <div class="eventSelection">
         <div wicket:id="categoryContainer">
-          <div>
+          <div class="form-group">
             <span wicket:id="type">[type]</span>
           </div>
-          <div>
+          <div class="form-group">
             <span wicket:id="category">[category]</span>
           </div>
-          <div>
+          <div class="form-group">
             <span wicket:id="subcategory">[sub-category]</span>
           </div>
           <div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventSelectionPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventSelectionPanel.html
index 8baffa9..2a277b3 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventSelectionPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/EventSelectionPanel.html
@@ -26,7 +26,7 @@ under the License.
 
       .eventLabel {
         font-size: 12px;
-        vertical-align: middle;
+        vertical-align: top;
         font-family: Verdana,Tahoma,sans-serif;
         display: table-cell;
         width: 300px;
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/SelectedEventsPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/SelectedEventsPanel.html
index 3a9ff63..06d0221 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/SelectedEventsPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/events/SelectedEventsPanel.html
@@ -19,7 +19,7 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:panel>
     <div id="selectionContainer" wicket:id="selectionContainer">
-      <select wicket:id="selectedEvents"></select>
+      <select class="form-control select2bs4 select2-hidden-accessible" wicket:id="selectedEvents"></select>
     </div>
   </wicket:panel>
 </html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Audit.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Audit.html
index b4d51d6..609e5dc 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Audit.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Audit.html
@@ -19,20 +19,30 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="audit"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="audit"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <form wicket:id="auditForm">
-          <div class="box-body" wicket:id="auditPanel"/>
-        </form>
-      </div>
+      <form wicket:id="auditForm">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="auditPanel"/>
+        </div>
+      </form>
     </section>
   </wicket:extend>
 </html>
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
index 7bf0e0a..71a787e 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.html
@@ -26,12 +26,11 @@ under the License.
 
     <link rel="shortcut icon" href="ui-commons/img/favicon.png" type="image/png"/>
 
-    <link href="webjars/font-awesome/${font-awesome.version}/css/${font-awesome.filename}" rel="stylesheet" type="text/css"/>
+    <link href="webjars/font-awesome/${font-awesome.version}/css/all.min.css" rel="stylesheet" type="text/css"/>
     <link href="webjars/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css"/>
     <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/AdminLTE_plugins/dataTables/dataTables.bootstrap.css" rel="stylesheet" type="text/css"/>
-    <link href="css/AdminLTE_skins/skin-green-light.css" rel="stylesheet" type="text/css"/>
+    <link href="css/AdminLTE_plugins/dataTables.bootstrap4.min.css" rel="stylesheet" type="text/css"/>
     <link href="ui-commons/css/animations.css" rel="stylesheet" type="text/css"/>
     <link href="ui-commons/css/syncopeUI.css" rel="stylesheet" type="text/css"/>
     <link href="css/syncopeConsole.css" rel="stylesheet" type="text/css"/>
@@ -45,116 +44,121 @@ under the License.
     <script type="text/javascript">
       // global variable for IndicatingOnConfirmAjaxLink
       var proceed = false;
-      // configure AdminLTE
-      $.AdminLTE.options['enableBSToppltip'] = false;
     </script>
   </head>
-  <body class="skin-green-light hold-transition sidebar-mini" wicket:id="body">
+  <body class="hold-transition sidebar-mini" wicket:id="body">
 
     <div class="wrapper">
       <span wicket:id="feedback"></span>
-      <header class="main-header">
-        <a href="#" class="logo logo-pos">
-          <span class="logo-mini"><img src="ui-commons/img/logo-mini.png"/></span>
-          <span class="logo-lg"><img src="ui-commons/img/logo.png"/></span>
-        </a>                
-
-        <nav class="navbar navbar-static-top" role="navigation">
-          <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button" wicket:id="collapse">
-            <span class="sr-only">Toggle navigation</span>
-          </a>
-
-          <div class="navbar-custom-menu">
-            <ul class="nav navbar-nav">
-
-              <li class="dropdown tasks-menu" wicket:id="extAlertWidgets">
-                <span wicket:id="extAlertWidget"/>
-              </li>
 
-              <li class="dropdown user user-menu">
-                <a href="#" class="dropdown-toggle" data-toggle="dropdown">
-                  <!-- hidden-xs hides the username on small devices so only the image appears. -->
-                  <span class="hidden-xs"><label wicket:id="username"/></span>
-                </a>
-                <ul class="dropdown-menu">
-                  <li class="user-header">
-                    <div class="row">
-                      <div class="col-xs-12 text-right">
-                        <wicket:message key="domain"/>: <label wicket:id="domain"/>
-                      </div>
-                    </div>
-                  </li>
-                  <li class="user-footer">
-                    <div class="pull-left">
-                    </div>
-                    <div class="pull-right">
-                      <a href="#" class="btn btn-default btn-flat" wicket:id="logout"><wicket:message key="logout"/></a>
-                    </div>
-                  </li>
-                </ul>
+      <!-- Navbar -->
+      <nav class="main-header navbar navbar-expand navbar-white navbar-light bg-green">
+        <!-- Left navbar links -->
+        <ul class="navbar-nav">
+          <li class="nav-item">
+            <a class="nav-link" data-widget="pushmenu" href="#" wicket:id="collapse"><i class="fas fa-bars"></i></a>
+          </li>
+        </ul>
+
+        <!-- Right navbar links -->
+        <ul class="navbar-nav ml-auto">
+          <li class="nav-item dropdown" wicket:id="extAlertWidgets">
+            <span wicket:id="extAlertWidget"/>
+          </li>
+
+          <li class="nav-item dropdown user-menu">
+            <a href="#" class="nav-link dropdown-toggle" data-toggle="dropdown">
+              <span class="d-none d-md-inline"><label wicket:id="username"/></span>
+            </a>
+            <ul class="dropdown-menu dropdown-menu-lg dropdown-menu-right">
+              <!-- Menu Body -->
+              <li class="user-header bg-green">
+                <div class="text-right">
+                  <wicket:message key="domain"/>: <label wicket:id="domain"/>
+                </div>
               </li>
-
-              <li>
-                <a data-toggle="control-sidebar" href="#"><i class="fa fa-gears"></i></a>
+              <!-- Menu Footer-->
+              <li class="user-footer">
+                <a href="#" class="btn btn-default btn-flat float-right" wicket:id="logout"><wicket:message key="logout"/></a>
               </li>
             </ul>
-          </div>
-        </nav>
-      </header>
+          </li>
+
+          <li class="nav-item">
+            <a class="nav-link" data-widget="control-sidebar" data-slide="true" href="#"><i class="fas fa-cogs"></i></a>
+          </li>
+        </ul>
+      </nav>
+      <!-- /.navbar -->
+
+      <!-- Main Sidebar Container -->
+      <aside class="main-sidebar sidebar-light-green elevation-4">
+        <div class="brand-link bg-green" style="height: 57px;">
+          <span style="position: absolute;">
+            <img src="ui-commons/img/logo-mini.png" alt="Apache Syncope Logo" class="brand-image" style="max-height: none; opacity: .8;"/>
+            <span class="brand-text font-weight-light">Apache Syncope</span>
+          </span>
+        </div>
 
-      <aside class="main-sidebar">
-        <section class="sidebar">
-          <div class="user-panel">
-            <div class="pull-left info"></div>
+        <!-- Sidebar -->
+        <div class="sidebar">
+          <div class="user-panel mt-2 pb-2 mb-2 d-flex">
           </div>
 
-          <ul class="sidebar-menu">
-            <li wicket:id="dashboardLI"><a href="#" wicket:id="dashboard"><i class="fa fa-dashboard"></i><span><wicket:message key="dashboard"/></span></a></li>
-            <li wicket:id="realmsLI"><a href="#" wicket:id="realms"><i class="fa fa-folder-o"></i><span><wicket:message key="realms"/></span></a></li>
-            <li wicket:id="reportsLI"><a href="#" wicket:id="reports"><i class="fa fa-pie-chart"></i><span><wicket:message key="reports"/></span></a></li>
-            <wicket:container wicket:id="idmPages">
-              <li wicket:id="idmPageLI">
-                <a href="#" wicket:id="idmPage"><i wicket:id="idmPageIcon"></i><span wicket:id="idmPageLabel"/></a>
+          <!-- Sidebar Menu -->
+          <nav class="mt-2">
+            <ul class="nav nav-pills nav-sidebar flex-column nav-child-indent nav-compact" data-widget="treeview" role="menu" data-accordion="false">
+              <li class="nav-item" wicket:id="dashboardLI"><a href="#" class="nav-link" wicket:id="dashboard"><i class="nav-icon fa fa-tachometer-alt"></i><p><wicket:message key="dashboard"/></p></a></li>
+              <li class="nav-item" wicket:id="realmsLI"><a href="#" class="nav-link" wicket:id="realms"><i class="nav-icon fa fa-folder-open"></i><p><wicket:message key="realms"/></p></a></li>
+              <li class="nav-item" wicket:id="reportsLI"><a href="#" class="nav-link" wicket:id="reports"><i class="nav-icon fa fa-chart-pie"></i><p><wicket:message key="reports"/></p></a></li>
+              <wicket:container wicket:id="idmPages">
+                <li class="nav-item" wicket:id="idmPageLI">
+                  <a href="#" class="nav-link" wicket:id="idmPage"><i wicket:id="idmPageIcon"></i><p wicket:id="idmPageLabel"/></a>
+                </li>
+              </wicket:container>
+              <wicket:container wicket:id="amPages">
+                <li class="nav-item" wicket:id="amPageLI">
+                  <a href="#" class="nav-link" wicket:id="amPage"><i wicket:id="amPageIcon"></i><p wicket:id="amPageLabel"/></a>
+                </li>
+              </wicket:container>
+              <li wicket:id="keymasterLI" class="nav-item has-treeview">
+                <a id="keymasterLink" href="#" class="nav-link"><i class="nav-icon fa fa-magic"></i><p><wicket:message key="keymaster"/></p> <i class="fas fa-angle-left right"></i></a>
+                <ul wicket:id="keymasterUL" class="nav nav-treeview">
+                  <li class="nav-item" wicket:id="domainsLI"><a href="#" class="nav-link" wicket:id="domains"><i class="nav-icon fa fa-code-branch"></i><p><wicket:message key="domains"/></p></a></li>
+                  <li class="nav-item" wicket:id="networkservicesLI"><a href="#" class="nav-link" wicket:id="networkservices"><i class="nav-icon fa fa-server"></i><p><wicket:message key="networkservices"/></p></a></li>
+                  <li class="nav-item" wicket:id="parametersLI"><a href="#" class="nav-link" wicket:id="parameters"><i class="nav-icon fa fa-cog"></i><p><wicket:message key="parameters"/></p></a></li>
+                </ul>
               </li>
-            </wicket:container>
-            <wicket:container wicket:id="amPages">
-              <li wicket:id="amPageLI">
-                <a href="#" wicket:id="amPage"><i wicket:id="amPageIcon"></i><span wicket:id="amPageLabel"/></a>
+              <li wicket:id="configurationLI" class="nav-item has-treeview">
+                <a id="configurationLink" href="#" class="nav-link"><i class="nav-icon fa fa-edit"></i><p><wicket:message key="configuration"/></p> <i class="fas fa-angle-left right"></i></a>
+                <ul wicket:id="configurationUL" class="nav nav-treeview">
+                  <li class="nav-item" wicket:id="auditLI"><a href="#" class="nav-link" wicket:id="audit"><i class="nav-icon far fa-check-square"></i><p><wicket:message key="audit"/></p></a></li>
+                  <li class="nav-item" wicket:id="implementationsLI"><a href="#" class="nav-link" wicket:id="implementations"><i class="nav-icon far fa-file-code"></i><p><wicket:message key="implementations"/></p></a></li>
+                  <li class="nav-item" wicket:id="logsLI"><a href="#" class="nav-link" wicket:id="logs"><i class="nav-icon far fa-file-alt"></i><p><wicket:message key="logs"/></p></a></li>
+                  <li class="nav-item" wicket:id="notificationsLI"><a href="#" class="nav-link" wicket:id="notifications"><i class="nav-icon far fa-envelope"></i><p><wicket:message key="notifications"/></p></a></li>
+                  <li class="nav-item" wicket:id="policiesLI"><a href="#" class="nav-link" wicket:id="policies"><i class="nav-icon fa fa-list"></i><p><wicket:message key="policies"/></p></a></li>
+                  <li class="nav-item" wicket:id="securityLI"><a href="#" class="nav-link" wicket:id="security"><i class="nav-icon fa fa-lock"></i><p><wicket:message key="security"/></p></a></li>
+                  <li class="nav-item" wicket:id="typesLI"><a href="#" class="nav-link" wicket:id="types"><i class="nav-icon fa fa-wrench"></i><p><wicket:message key="types"/></p></a></li>
+                </ul>
               </li>
-            </wicket:container>
-            <li wicket:id="keymasterLI" class="treeview">
-              <a href="#"><i class="fa fa-magic"></i><span><wicket:message key="keymaster"/></span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
-              <ul wicket:id="keymasterUL" class="treeview-menu">
-                <li wicket:id="domainsLI"><a href="#" wicket:id="domains"><i class="fa fa-code-fork"></i><wicket:message key="domains"/></a></li>
-                <li wicket:id="networkservicesLI"><a href="#" wicket:id="networkservices"><i class="fa fa-server"></i><wicket:message key="networkservices"/></a></li>
-                <li wicket:id="parametersLI"><a href="#" wicket:id="parameters"><i class="fa fa-cog"></i><wicket:message key="parameters"/></a></li>
-              </ul>
-            </li>
-            <li wicket:id="configurationLI" class="treeview">
-              <a href="#"><i class="fa fa-edit"></i><span><wicket:message key="configuration"/></span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
-              <ul wicket:id="configurationUL" class="treeview-menu">
-                <li wicket:id="auditLI"><a href="#" wicket:id="audit"><i class="fa fa-check-square-o"></i><wicket:message key="audit"/></a></li>
-                <li wicket:id="implementationsLI"><a href="#" wicket:id="implementations"><i class="fa fa-file-code-o"></i><wicket:message key="implementations"/></a></li>
-                <li wicket:id="logsLI"><a href="#" wicket:id="logs"><i class="fa fa-file-text-o"></i><wicket:message key="logs"/></a></li>
-                <li wicket:id="notificationsLI"><a href="#" wicket:id="notifications"><i class="fa fa-envelope-o"></i><wicket:message key="notifications"/></a></li>
-                <li wicket:id="policiesLI"><a href="#" wicket:id="policies"><i class="fa fa-list"></i><wicket:message key="policies"/></a></li>
-                <li wicket:id="securityLI"><a href="#" wicket:id="security"><i class="fa fa-lock"></i><wicket:message key="security"/></a></li>
-                <li wicket:id="typesLI"><a href="#" wicket:id="types"><i class="fa fa-wrench"></i><wicket:message key="types"/></a></li>
-              </ul>
-            </li>
-            <li wicket:id="extensionsLI" class="treeview">
-              <a href="#"><i class="fa fa-puzzle-piece"></i><span><wicket:message key="extensions"/></span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
-              <ul class="treeview-menu" wicket:id="extPages">
-                <li wicket:id="extPageLI">
-                  <a href="#" wicket:id="extPage"><i wicket:id="extPageIcon"></i><span wicket:id="extPageLabel"/></a>
-                </li>
-              </ul>
-            </li>
-          </ul>
-        </section>
+              <li wicket:id="extensionsLI" class="nav-item has-treeview">
+                <a id="extensionsLink" href="#" class="nav-link"><i class="nav-icon fa fa-puzzle-piece"></i><p><wicket:message key="extensions"/></p> <i class="fas fa-angle-left right"></i></a>
+                <ul class="nav nav-treeview">
+                  <wicket:container wicket:id="extPages">
+                    <li class="nav-item" wicket:id="extPageLI">
+                      <a href="#" class="nav-link" wicket:id="extPage"><i wicket:id="extPageIcon"></i><p wicket:id="extPageLabel"/></a>
+                    </li>
+                  </wicket:container>
+                </ul>
+              </li>
+            </ul>
+          </nav>
+          <!-- /.sidebar-menu -->
+        </div>
+        <!-- /.sidebar -->
       </aside>
 
-      <div class="content-wrapper">
+      <div class="content-wrapper accent-success">
         <wicket:child/>
       </div>
 
@@ -164,110 +168,102 @@ under the License.
         All rights reserved.
       </footer>
 
+      <!-- Control Sidebar -->
       <aside class="control-sidebar control-sidebar-dark">
-        <div class="tab-content tab-pane">
-          <h3 class="control-sidebar-heading"><wicket:message key="systemInfo"/></h3>
-          <ul class="control-sidebar-menu">
-            <li>
-              <a href="#">
-                <i class="menu-icon fa fa-code-fork bg-gray"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading"><wicket:message key="version"/></h4>
-
-                  <p><span wicket:id="version" style="text-decoration: underline;"/></p>
-                </div>
-              </a>
-            </li>
-            <li>
-              <a href="#">
-                <i class="menu-icon fa fa-desktop bg-aqua"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading"><wicket:message key="hostname"/></h4>
-
-                  <p><span wicket:id="hostname"/></p>
-                </div>
-              </a>
-            </li>
-            <li>
-              <a href="#">
-                <i class="menu-icon fa fa-calculator bg-green"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading"><wicket:message key="processors"/></h4>
+        <div class="p-3 control-sidebar-content">
+          <h5><wicket:message key="systemInfo"/></h5>
+          <hr class="mb-2"/>
+
+          <div class="row">
+            <div class="info-box col-12 bg-gray">
+              <span class="info-box-icon"><i class="fas fa-code-branch"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><wicket:message key="version"/></span>
+                <span class="info-box-number" wicket:id="version" style="text-decoration: underline;"/>
+              </div>
+            </div>
+          </div>
+          <div class="row">
+            <div class="info-box col-12 bg-info">
+              <span class="info-box-icon"><i class="fas fa-network-wired"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><wicket:message key="hostname"/></span>
+                <span class="info-box-number" wicket:id="hostname"/>
+              </div>
+            </div>
+          </div>
+          <div class="row">
+            <div class="info-box col-12 bg-green">
+              <span class="info-box-icon"><i class="fas fa-microchip"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><wicket:message key="processors"/></span>
+                <span class="info-box-number" wicket:id="processors"/>
+              </div>
+            </div>
+          </div>
+          <div class="row">
+            <div class="info-box col-12 bg-yellow">
+              <span class="info-box-icon"><i class="fas fa-desktop"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><wicket:message key="os"/></span>
+                <span class="info-box-number" wicket:id="os"/>
+              </div>
+            </div>
+          </div>
+          <div class="row">
+            <div class="info-box col-12 bg-primary">
+              <span class="info-box-icon"><i class="fab fa-java"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><wicket:message key="jvm"/></span>
+                <span class="info-box-number" wicket:id="jvm"/>
+              </div>
+            </div>
+          </div>
 
-                  <p><span wicket:id="processors"/></p>
-                </div>
-              </a>
-            </li>
-            <li>
-              <a href="#">
-                <i class="menu-icon fa fa-car bg-yellow"></i>
+          <h5><wicket:message key="exportConfiguration"/></h5>
+          <hr class="mb-2"/>
 
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading"><wicket:message key="os"/></h4>
+          <div class="row">
+            <div class="info-box col-12 bg-red">
+              <span class="info-box-icon"><i class="fa fa-download"></i></span>
 
-                  <p><span wicket:id="os"/></p>
-                </div>
-              </a>
-            </li>
-            <li>
-              <a href="#">
-                <i class="menu-icon fa fa-bar-chart bg-light-blue"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading"><wicket:message key="jvm"/></h4>
+              <div class="info-box-content">
+                <span class="info-box-text"><a wicket:id="dbExportLink"><wicket:message key="download"/></a></span>
+              </div>
+            </div>
+          </div>
 
-                  <p><span wicket:id="jvm"/></p>
-                </div>
-              </a>
-            </li>
-          </ul>
-          <!-- /.control-sidebar-menu -->
-
-          <h3 class="control-sidebar-heading">Export Configuration</h3>
-          <ul class="control-sidebar-menu">
-            <li>
-              <a wicket:id="dbExportLink">
-                <i class="menu-icon fa fa-download bg-red"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading">Download</h4>
-                </div>
-              </a>
-            </li>
-          </ul>
-          <!-- /.control-sidebar-menu -->
-
-          <h3 class="control-sidebar-heading">Accessibility</h3>
-          <ul class="control-sidebar-menu">
-            <li>
-              <a id="change_contrast" href="#" aria-label="Toggle high contrast colors mode">
-                <i class="menu-icon fa fa-adjust bg-gray"></i>
-
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading">Toggle high contrast mode</h4>
-                  <p>Enable / disable high contrast mode</p>
-                </div>
-              </a>
-            </li>
+          <h5><wicket:message key="accessibility"/></h5>
+          <hr class="mb-2"/>
 
-            <li>
-              <a id="change_fontSize" href="#" aria-label="Toggle font size increment">
-                <i class="menu-icon fa fa-font bg-gray"></i>
+          <div class="row">
+            <div class="info-box col-12 bg-gray">
+              <span class="info-box-icon"><i class="fa fa-adjust"></i></span>
 
-                <div class="menu-info">
-                  <h4 class="control-sidebar-subheading">Change font size</h4>
-                  <p>Increase / reset font size</p>
-                </div>
-              </a>
-            </li>
-          </ul>
-          <!-- /.control-sidebar-menu -->
+              <div class="info-box-content">
+                <span class="info-box-text"><a id="change_contrast" href="#"><wicket:message key="highContrast"/></a></span>
+              </div>
+            </div>
+          </div>
+          <div class="row">
+            <div class="info-box col-12 bg-gray">
+              <span class="info-box-icon"><i class="fa fa-font"></i></span>
+
+              <div class="info-box-content">
+                <span class="info-box-text"><a id="change_fontSize" href="#"><wicket:message key="fontSize"/></a></span>
+              </div>
+            </div>
+          </div>
         </div>
       </aside>
-      <div class="control-sidebar-bg" style="position: fixed; height: auto;"></div>
+      <!-- /.control-sidebar -->
+
+      <div id="sidebar-overlay"></div>
     </div>
 
     <div id="veil">Loading...</div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
index 6bfa175..8fef47d 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage.properties
@@ -23,3 +23,8 @@ hostname=Host Name
 processors=Available Processors
 os=Operating System
 jvm=JVM
+exportConfiguration=Export Configuration
+download=Download
+accessibility=Accessibility
+highContrast=Toggle high contrast mode
+fontSize=Change font size
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
index fe10072..e7e7fe2 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_it.properties
@@ -16,10 +16,15 @@
 # under the License.
 home=Home
 version=Versione
-domain=Dom\u00ednio
+domain=Dominio
 
 systemInfo=Informazioni di Sistema
 hostname=Nome Host
 processors=Processori Disponibili
 os=Sistema Operativo
 jvm=JVM
+exportConfiguration=Esporta Configurazione
+download=Scarica
+accessibility=Accessibilit\u00e0
+highContrast=(Dis)attiva alto contrasto
+fontSize=Dimensione carattere
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ja.properties b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ja.properties
index a1e527e..1c7c981 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ja.properties
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ja.properties
@@ -23,3 +23,8 @@ hostname=\u30db\u30b9\u30c8\u540d
 processors=\u5229\u7528\u53ef\u80fd\u306a\u30d7\u30ed\u30bb\u30c3\u30b5\u30fc
 os=\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0
 jvm=JVM
+exportConfiguration=Export Configuration
+download=Download
+accessibility=Accessibility
+highContrast=Toggle high contrast mode
+fontSize=Change font size
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
index 0c2da70..93ed4ed 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_pt_BR.properties
@@ -23,3 +23,8 @@ hostname=Host Name
 processors=Available Processors
 os=Operating System
 jvm=JVM
+exportConfiguration=Export Configuration
+download=Download
+accessibility=Accessibility
+highContrast=Toggle high contrast mode
+fontSize=Change font size
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
index e6c6105..7c034db 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/BasePage_ru.properties
@@ -23,3 +23,8 @@ hostname=\u0418\u043c\u044f \u0445\u043e\u0441\u0442\u0430
 processors=\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b
 os=\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430
 jvm=JVM
+exportConfiguration=Export Configuration
+download=Download
+accessibility=Accessibility
+highContrast=Toggle high contrast mode
+fontSize=Change font size
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.html
index a324d8a..c31fa66 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Dashboard.html
@@ -30,8 +30,10 @@ under the License.
   </wicket:head>
   <wicket:extend>
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Domains.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Domains.html
index 1c6fa24..438420a 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Domains.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Domains.html
@@ -19,18 +19,30 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="keymaster"/></li>
-        <li class="active"><wicket:message key="domains"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="keymaster"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="domains"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="domainPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="domainPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Implementations.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Implementations.html
index 6982aeb..724937a 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Implementations.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Implementations.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="implementations"></wicket:message></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="implementations"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Login.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Login.html
index dec4611..7f1620b 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Login.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Login.html
@@ -27,7 +27,7 @@ under the License.
 
     <link rel="shortcut icon" href="ui-commons/img/favicon.png" type="image/png"/>
 
-    <link href="webjars/font-awesome/${font-awesome.version}/css/${font-awesome.filename}" rel="stylesheet" type="text/css" />
+    <link href="webjars/font-awesome/${font-awesome.version}/css/all.min.css" rel="stylesheet" type="text/css" />
     <link href="webjars/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
     <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
@@ -69,15 +69,15 @@ under the License.
             <input type="password" wicket:id="password" class="form-control" 
                    wicket:message="placeholder:password" required="required" />
 
-            <fieldset class="input-group">
-              <select wicket:id="language"/>
-            </fieldset>
+            <div class="form-group">
+              <select class="form-control select2bs4 select2-hidden-accessible" wicket:id="language"/>
+            </div>
 
-            <fieldset class="input-group">
-              <select wicket:id="domain"/>
-            </fieldset>
+            <div class="form-group">
+              <select class="form-control select2bs4 select2-hidden-accessible" wicket:id="domain"/>
+            </div>
 
-            <button wicket:id="submit" type="submit" class="btn btn-lg btn-primary btn-block btn-signin"></button>
+            <button wicket:id="submit" type="submit" class="btn btn-lg btn-primary btn-block btn-signin bg-success"></button>
           </fieldset>
 
           <div wicket:id="ssoLogins">
@@ -87,4 +87,4 @@ under the License.
       </div>
     </div>
   </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Logs.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Logs.html
index f7f9ce0..256872e 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Logs.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Logs.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="logs"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="logs"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/MustChangePassword.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/MustChangePassword.html
index 3328ecc..056b0cd 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/MustChangePassword.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/MustChangePassword.html
@@ -27,7 +27,7 @@ under the License.
 
     <link rel="shortcut icon" href="ui-commons/img/favicon.png" type="image/png"/>
 
-    <link href="webjars/font-awesome/${font-awesome.version}/css/${font-awesome.filename}" rel="stylesheet" type="text/css" />
+    <link href="webjars/font-awesome/${font-awesome.version}/css/all.min.css" rel="stylesheet" type="text/css" />
     <link href="webjars/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
     <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
@@ -85,7 +85,7 @@ under the License.
                   </div>
                   <div class="col-md-6">
                     <input id="submit_button" wicket:id="submit" type="submit" wicket:message="value:submit" 
-                           class="btn btn-primary pull-right"/>
+                           class="btn btn-success pull-right"/>
                   </div>
                 </div>
               </fieldset>
@@ -97,4 +97,4 @@ under the License.
     </div>
 
   </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/NetworkServices.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/NetworkServices.html
index da05fe8..0b4a4d1 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/NetworkServices.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/NetworkServices.html
@@ -19,18 +19,30 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li>
-        <li class="active"><wicket:message key="keymaster"/></li>
-        <li class="active"><wicket:message key="networkservices"></wicket:message></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="keymaster"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="networkservices"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Notifications.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Notifications.html
index 86b2afb..be833e9 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Notifications.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Notifications.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="notifications"></wicket:message></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="notifications"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Parameters.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Parameters.html
index ef3003f..b18e70f 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Parameters.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Parameters.html
@@ -19,18 +19,30 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="keymaster"/></li>
-        <li class="active"><wicket:message key="parameters"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="keymaster"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="parameters"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="parametersPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="parametersPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Policies.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Policies.html
index b96752a..8db4022 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Policies.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Policies.html
@@ -18,24 +18,31 @@ under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
-
     <section class="content-header">
-      <h1>
-        &nbsp;
-      </h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="policies"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="policies"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
-
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
-
   </wicket:extend>
 </html>
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
index 718fe3d..5f14781 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Realms.html
@@ -19,18 +19,30 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li>
-        <li class="active"><wicket:message key="realms"></wicket:message></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="realms"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body">
-          <span wicket:id="realmChoicePanel"/>
-          <wicket:container wicket:id="body"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-header" wicket:id="realmChoicePanel"/>
+          <div class="card-body">
+            <wicket:container wicket:id="body"/>
+          </div>
         </div>
       </div>
       <div wicket:id="modal"/>
@@ -38,4 +50,4 @@ under the License.
       <span wicket:id="toggleTemplates"/>
     </section>
   </wicket:extend>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html
index 40ed1f1..3694eb7 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Reports.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"></wicket:message></a></li>
-        <li class="active"><wicket:message key="reports"></wicket:message></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="reports"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Security.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Security.html
index 3ca4002..647c7a4 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Security.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Security.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="security"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="security"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Types.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Types.html
index 48b2616..ab4a5e6 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Types.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/pages/Types.html
@@ -19,17 +19,29 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <section class="content-header">
-      <h1>&nbsp;</h1>
-      <ol class="breadcrumb">
-        <li><a wicket:id="dashboardBr"><i class="fa fa-dashboard"></i> <wicket:message key="dashboard"/></a></li>
-        <li class="active"><wicket:message key="configuration"/></li>
-        <li class="active"><wicket:message key="types"/></li>
-      </ol>
+      <div class="container-fluid">
+        <div class="row mb-2">
+          <div class="col-sm-6">
+            <h1>&nbsp;</h1>
+          </div>
+          <div class="col-sm-6">
+            <ol class="breadcrumb float-sm-right">
+              <li class="breadcrumb-item">
+                <a wicket:id="dashboardBr"><i class="fa fa-tachometer-alt"></i> <wicket:message key="dashboard"></wicket:message></a>
+              </li>
+              <li class="breadcrumb-item active"><wicket:message key="configuration"/></li>
+              <li class="breadcrumb-item active"><wicket:message key="types"/></li>
+            </ol>
+          </div>
+        </div>
+      </div><!-- /.container-fluid -->
     </section>
 
     <section class="content" wicket:id="content">
-      <div class="box">
-        <div class="box-body" wicket:id="tabbedPanel"/>
+      <div class="container-fluid">
+        <div class="card card-outline">
+          <div class="card-body" wicket:id="tabbedPanel"/>
+        </div>
       </div>
     </section>
   </wicket:extend>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AjaxDataTablePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AjaxDataTablePanel.html
index b904a65..ef8a319 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AjaxDataTablePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AjaxDataTablePanel.html
@@ -30,7 +30,7 @@ under the License.
       <div class="batch">
         <div class="batchCell">
           <a href="#" wicket:id="batchLink">
-            <i class="fa fa-gear" alt="batch icon"  title="Batch"></i>
+            <i class="fas fa-cog" alt="batch icon"  title="Batch"></i>
           </a>
         </div>
       </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyDirectoryPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyDirectoryPanel.html
index 4466dfa..929649e 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyDirectoryPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyDirectoryPanel.html
@@ -19,10 +19,10 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
     <div style="float: left;padding-top: 15px;">
-      <a href="#" class="btn btn-primary btn-circle btn-lg" wicket:id="csvPush" wicket:message="title:csvPushTitle">
+      <a href="#" class="btn btn-success btn-circle btn-lg" wicket:id="csvPush" wicket:message="title:csvPushTitle">
         <i class="fa fa-download" aria-hidden="true"></i>
       </a>
-      <a href="#" class="btn btn-primary btn-circle btn-lg" wicket:id="csvPull" wicket:message="title:csvPullTitle">
+      <a href="#" class="btn btn-success btn-circle btn-lg" wicket:id="csvPull" wicket:message="title:csvPullTitle">
         <i class="fa fa-upload" aria-hidden="true"></i>
       </a>
     </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.html
index 6f272ae..e6b1a79 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeClassDetailsPanel.html
@@ -25,31 +25,31 @@ under the License.
         </div>
         <div class="form-group">
           <span wicket:id="container">
-            <div class="box">
-              <div class="box-header with-border">
-                <h3 class="box-title"><wicket:message key="plainSchemas"/></h3>
+            <div class="card">
+              <div class="card-header with-border">
+                <h3 class="card-title"><wicket:message key="plainSchemas"/></h3>
               </div>
-              <div class="box-body">
+              <div class="card-body">
                 <div id="group-forum">
                   <span wicket:id="plainSchemas">[plainSchemas]</span>
                 </div>
               </div>
             </div>
-            <div class="box">
-              <div class="box-header with-border">
-                <h3 class="box-title"><wicket:message key="derSchemas"/></h3>
+            <div class="card">
+              <div class="card-header with-border">
+                <h3 class="card-title"><wicket:message key="derSchemas"/></h3>
               </div>
-              <div class="box-body">
+              <div class="card-body">
                 <div id="group-forum">
                   <span wicket:id="derSchemas">[derSchemas]</span>
                 </div>
               </div>
             </div>
-            <div class="box">
-              <div class="box-header with-border">
-                <h3 class="box-title"><wicket:message key="virSchemas"/></h3>
+            <div class="card">
+              <div class="card-header with-border">
+                <h3 class="card-title"><wicket:message key="virSchemas"/></h3>
               </div>
-              <div class="box-body">
+              <div class="card-body">
                 <div id="group-forum">
                   <span wicket:id="virSchemas">[virSchemas]</span>
                 </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.html
index 24775fa..776bbf2 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/AnyTypeDetailsPanel.html
@@ -27,11 +27,11 @@ under the License.
           <div class="form-group">
             <span wicket:id="kind">[kind]</span>
           </div>
-          <div class="box">
-            <div class="box-header with-border">
-              <h3 class="box-title"><wicket:message key="classes"/></h3>
+          <div class="card">
+            <div class="card-header with-border">
+              <h3 class="card-title"><wicket:message key="classes"/></h3>
             </div>
-            <div class="box-body">
+            <div class="card-body">
               <div class="form-group">
                 <span wicket:id="classes">[classes]</span>
               </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/BeanReflectionModal.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/BeanReflectionModal.html
index 99693e7..cf80d6b 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/BeanReflectionModal.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/BeanReflectionModal.html
@@ -22,7 +22,7 @@ under the License.
       <div class="bean">
         <span wicket:id="bean">[Complex]</span>
         <div class="modal-footer">
-          <input type="submit" class="btn btn-primary" wicket:id="apply"/>
+          <input type="submit" class="btn btn-success" wicket:id="apply"/>
           <input type="button" class="btn btn-default" wicket:id="cancel"/>
         </div>
     </form>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/CoreLogPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/CoreLogPanel.html
index 076f4c7..1c0f363 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/CoreLogPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/CoreLogPanel.html
@@ -21,8 +21,8 @@ under the License.
     <span wicket:id="loggerContainer">
       <div class="logs">
         <div class="logviewer-btn">
-          <button class="btn btn-primary" wicket:id="viewer">
-            <span class="glyphicon glyphicon-list-alt"></span> Log Viewer
+          <button class="btn btn-success" wicket:id="viewer">
+            <span class="far fa-list-alt"></span> Log Viewer
           </button>
         </div>
         <span wicket:id="logger">[logger]</span>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
index 3c7f82e..604d5c7 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DashboardOverviewPanel.html
@@ -20,10 +20,10 @@ under the License.
   <wicket:panel>
     <div wicket:id="container">
       <div class="row">
-        <span wicket:id="totalUsers"/>
-        <span wicket:id="totalGroups"/>
-        <span wicket:id="totalAny1OrRoles"/>
-        <span wicket:id="totalAny2OrResources"/>
+        <div class="col-lg-3 col-xs-6" wicket:id="totalUsers"/>
+        <div class="col-lg-3 col-xs-6" wicket:id="totalGroups"/>
+        <div class="col-lg-3 col-xs-6" wicket:id="totalAny1OrRoles"/>
+        <div class="col-lg-3 col-xs-6" wicket:id="totalAny2OrResources"/>
       </div>
 
       <div class="row">
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DerSchemaDetails.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DerSchemaDetails.html
index f78b16f..6a831ab 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DerSchemaDetails.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DerSchemaDetails.html
@@ -24,7 +24,7 @@ under the License.
     <div class="form-group">
       <label for="expression"><wicket:message key="expression"/> *</label>
       <input type="text" id="expression" class="form-control col-xs-4" wicket:id="expression"/>
-      <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
+      <span id="popover" wicket:id="jexlInfo" class="fas fa-info-circle"></span>
     </div>
   </wicket:panel>
 </html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.html
index bdc27e9..98c3b8b 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DirectoryPanel.html
@@ -18,31 +18,33 @@ under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
-    <div wicket:id="searchContainer">
+    <div wicket:id="searchContainer" class="dataTables_wrapper dt-bootstrap4">
       <div class="row">
-        <div class="col-sm-12">
-          <div class="col-sm-6">
-            <form wicket:id="paginator">
-              <div>
-                <div class="dataTables_length">
-                  <label>
-                    <wicket:message key="displayRows"/>
-                    <select class="form-control input-sm" wicket:id="rowsChooser"/>
-                  </label>
-                </div>
-              </div>
-            </form>
-          </div>
-          <div id="tablehandling" class="col-sm-6 pull-right">
+        <div class="col-sm-12 col-md-6">
+          <form wicket:id="paginator">
+            <div class="dataTables_length">
+              <label>
+                <wicket:message key="displayRows"/>
+                <select class="form-control input-sm" wicket:id="rowsChooser"/>
+              </label>
+            </div>
+          </form>
+        </div>
+
+        <div class="col-sm-12 col-md-6">
+          <div id="tablehandling" class="dataTables_filter">
             <span wicket:id="tablehandling">[TABLE HANDLING]</span>
           </div>
         </div>
       </div>
 
-      <div class="dataTable">
-        <span wicket:id="resultTable">[Table]</span>
+      <div class="row">
+        <div class="col-sm-12">
+          <span wicket:id="resultTable">[Table]</span>
+        </div>
       </div>
     </div>
+
     <wicket:child/>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.html
index 069f48a..82f8d33 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/DisplayAttributesModalPanel.html
@@ -20,31 +20,31 @@ under the License.
   <wicket:extend>
     <div class="form-group">
       <span wicket:id="container">
-        <div class="box">
-          <div class="box-header with-border">
-            <h3 class="box-title"><wicket:message key="details"/></h3>
+        <div class="card">
+          <div class="card-header with-border">
+            <h3 class="card-title"><wicket:message key="details"/></h3>
           </div>
-          <div class="box-body">
+          <div class="card-body">
             <div id="group-forum">
               <span wicket:id="details">[details]</span>
             </div>
           </div>
         </div>
-        <div class="box">
-          <div class="box-header with-border">
-            <h3 class="box-title"><wicket:message key="plainSchemas"/></h3>
+        <div class="card">
+          <div class="card-header with-border">
+            <h3 class="card-title"><wicket:message key="plainSchemas"/></h3>
           </div>
-          <div class="box-body">
+          <div class="card-body">
             <div id="group-forum">
               <span wicket:id="plainSchemas">[plainSchemas]</span>
             </div>
           </div>
         </div>
-        <div class="box">
-          <div class="box-header with-border">
-            <h3 class="box-title"><wicket:message key="derSchemas"/></h3>
+        <div class="card">
+          <div class="card-header with-border">
+            <h3 class="card-title"><wicket:message key="derSchemas"/></h3>
           </div>
-          <div class="box-body">
+          <div class="card-body">
             <div id="group-forum">
               <span wicket:id="derSchemas">[derSchemas]</span>
             </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.html
index 4094a8f..975314a 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ImplementationEngineTogglePanel.html
@@ -20,10 +20,12 @@ under the License.
   <wicket:extend>
     <div id="startAtContainer">
       <form wicket:id="implementationEngineForm">
-        <div class="input-group">
+        <div class="row">
+          <div class="col-10">
           <span wicket:id="engine"/>
-          <div class="input-group-addon">
-            <a wicket:id="changeit"><i class="fa fa-list-alt" alt="implementation engine icon" title="ImplementationEngine"></i></a>
+          </div>
+          <div class="col-2">
+            <a wicket:id="changeit"><i class="fa fa-list-alt fa-2x" alt="implementation engine icon" title="ImplementationEngine"></i></a>
           </div>
         </div>
       </form>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
index ca871d8..d41acd6 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/ListViewPanel.html
@@ -23,40 +23,38 @@ under the License.
   <body>
     <wicket:extend>
       <div class="col-xs-12">
-        <div class="box">
-          <div class="box-header" wicket:id="captionContainer">
-            <h3 class="box-title">
-              <span wicket:id="caption"/>
-            </h3>
-          </div><!-- /.box-header -->
-          <div class="box-body table-responsive no-padding">
-            <table class="table table-hover">
-              <tbody>
-                <tr>
-                  <th id="check">
-                    <input type="checkbox" wicket:id="groupselector" />
-                  </th>
-                  <th wicket:id="names"><span wicket:id="name"/></th>
-                  <th />
-                </tr>
+        <div class="card-header" wicket:id="captionContainer">
+          <h3 class="card-title">
+            <span wicket:id="caption"/>
+          </h3>
+        </div><!-- /.card-header -->
+        <div class="card-body table-responsive no-padding">
+          <table class="table table-hover">
+            <tbody>
+              <tr>
+                <th id="check">
+                  <input type="checkbox" wicket:id="groupselector" />
+                </th>
+                <th wicket:id="names"><span wicket:id="name"/></th>
+                <th />
+              </tr>
 
-                <span wicket:id="group">
-                  <tr wicket:id="beans">
-                    <td id="check">
-                      <input type="checkbox" wicket:id="check"/>
-                    </td>
-                    <td wicket:id="fields" class="col_width list_view_panel_labels"><span wicket:id="field"/></td>
-                    <td>
-                      <div class="listview-actions">
-                        <span wicket:id="actions">[actions]</span>
-                      </div>
-                    </td>
-                  </tr>
-                </span>
-              </tbody>
-            </table>
-          </div><!-- /.box-body -->
-        </div><!-- /.box -->
+              <span wicket:id="group">
+                <tr wicket:id="beans">
+                  <td id="check">
+                    <input type="checkbox" wicket:id="check"/>
+                  </td>
+                  <td wicket:id="fields" class="col_width list_view_panel_labels"><span wicket:id="field"/></td>
+                  <td>
+                    <div class="listview-actions">
+                      <span wicket:id="actions">[actions]</span>
+                    </div>
+                  </td>
+                </tr>
+              </span>
+            </tbody>
+          </table>
+        </div><!-- /.card-body -->
       </div>
     </wicket:extend>
   </body>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/LogStatementPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/LogStatementPanel.html
index 95d49b0..0efdd79 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/LogStatementPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/LogStatementPanel.html
@@ -22,7 +22,7 @@ under the License.
       [<span wicket:id="instant"></span>]
       <span wicket:id="logger"></span><br/>
       <span wicket:id="message"></span>
-      <div wicket:id="collapse">
+      <div wicket:id="collapse" class="text-monospace" style="font-size: 12px;">
         <span>+ <u>Error Details</u></span>
         <div>
           <pre wicket:id="stacktrace" style="white-space: pre-wrap;max-width: 95vw;"></pre>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MembersTogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MembersTogglePanel.html
index 340c0e6..ae26507 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MembersTogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MembersTogglePanel.html
@@ -22,7 +22,7 @@ under the License.
       <form wicket:id="membersForm">
         <div class="input-group">
           <span wicket:id="type"/>
-          <div class="input-group-addon">
+          <div class="input-group-append input-group-text">
             <a wicket:id="changeit"><i class="fa fa-users" alt="members icon" title="Members"></i></a>
           </div>
         </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MultilevelPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MultilevelPanel.html
index f91de30..a1db298 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MultilevelPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/MultilevelPanel.html
@@ -24,14 +24,14 @@ under the License.
 
     <div wicket:id="secondLevelContainer">
       <div class="col-xs-12">
-        <div class="box">
-          <div class="box-header">
-            <a wicket:id="back" href="#" alt="Back icon" title="Back"><i class="glyphicon glyphicon-arrow-left"></i></a>
-            <h3 class="box-title">
+        <div class="card">
+          <div class="card-header">
+            <a wicket:id="back" href="#" alt="Back icon" title="Back"><i class="fas fa-arrow-left"></i></a>
+            <h3 class="card-title">
               <span wicket:id="title">[TITLE]</span>
             </h3>
           </div>
-          <div class="box-body">
+          <div class="card-body">
             <span wicket:id="second">[SECOND]</span>
           </div>
         </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/PlainSchemaDetails.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/PlainSchemaDetails.html
index 6859c9d..5527c63 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/PlainSchemaDetails.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/PlainSchemaDetails.html
@@ -63,7 +63,7 @@ under the License.
     <div class="form-group">
       <label for="mandatoryCondition"><wicket:message key="mandatoryCondition"/></label>
       <input type="text" id="mandatoryCondition" class="form-control col-xs-4" wicket:id="mandatoryCondition"/>
-      <span id="popover" wicket:id="jexlInfo" class="glyphicon glyphicon-info-sign"></span>
+      <span id="popover" wicket:id="jexlInfo" class="fas fa-info-circle"></span>
     </div>
     <div class="form-group">
       <div class="form-group">
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmChoicePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmChoicePanel.html
index 3d015ed..7d14dfc 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmChoicePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmChoicePanel.html
@@ -27,8 +27,8 @@ under the License.
       <wicket:fragment wicket:id="realmsSearchFragment"> 
         <div class="realm-choice">
           <div id="realm-choice-field" class="input-group">
-            <span class="input-group-addon"> 
-              <i id="realm-choice-folder" class="glyphicon glyphicon-folder-open"></i>
+            <span class="input-group-append input-group-text"> 
+              <i id="realm-choice-folder" class="fas fa-folder-open"></i>
             </span>
             <input type="text" class="form-control" wicket:id="searchRealms" wicket:message="placeholder:search"/>
           </div>
@@ -41,4 +41,4 @@ under the License.
       </wicket:fragment>
     </div>
   </wicket:panel>
-</html>
\ No newline at end of file
+</html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
index b106229..b914e73 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/RealmDetails.html
@@ -34,10 +34,10 @@ under the License.
         <span wicket:id="passwordPolicy">[passwordPolicy]</span>
       </div>
       <div class="form-group form-palette">
-        <span wicket:id="actions">[actions]</span>
+        <div class="row" wicket:id="actions">[actions]</div>
       </div>
       <div class="form-group form-palette">
-        <span wicket:id="resources">[resources]</span>
+        <div class="row" wicket:id="resources">[resources]</div>
       </div>
     </div>
 
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder$Labels.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder$Labels.html
index b58d771..70efbb5 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder$Labels.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemaTypeWizardBuilder$Labels.html
@@ -42,8 +42,8 @@ under the License.
       <tfoot>
         <tr>
           <td colspan="3" style="padding: 5px; text-align: right">
-            <button type="submit" class="btn btn-primary btn-circle btn-lg" wicket:id="addLabel">
-              <i class="glyphicon glyphicon-plus"></i>
+            <button type="submit" class="btn btn-success btn-circle btn-lg" wicket:id="addLabel">
+              <i class="fa fa-plus"></i>
             </button>
           </td>
         </tr>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
index bf3cc46..31a2526 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/SchemasPanel.html
@@ -20,11 +20,11 @@ under the License.
   <wicket:panel>
     <div wicket:id="searchBox">
       <form wicket:id="form">
-        <div class="input-group margin-bottom">
+        <div class="input-group mb-3">
           <span wicket:id="filter">[FILTER]</span>
           <span class="input-group-btn">
             <button type="button" class="btn btn-default btn-flat" wicket:id="search">
-              <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
+              <span class="fas fa-search" aria-hidden="true"></span>
             </button>
           </span>
         </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/StartAtTogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/StartAtTogglePanel.html
index b26a44c..b21bd48 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/StartAtTogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/StartAtTogglePanel.html
@@ -26,8 +26,8 @@ under the License.
         <div class="input-group">
           <span wicket:id="startAtDate"/>
           <wicket:child />
-          <div class="input-group-addon">
-            <a wicket:id="startAt"><i class="fa fa-gear" alt="run icon" title="Run"></i></a>
+          <div class="input-group-append input-group-text">
+            <a wicket:id="startAt"><i class="fas fa-cog" alt="run icon" title="Run"></i></a>
           </div>
         </div>
       </form>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
index 95a1b22..742edb8 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/TogglePanel.html
@@ -27,7 +27,6 @@ under the License.
         position: fixed;
         right: 30px;
         top: 180px;
-        width: 0px;
         min-width: 250px;
         z-index: 999 !important;
       }
@@ -81,7 +80,7 @@ under the License.
 
       div.toggle-menu div.header a {
         display: inline-table;
-        padding: 6px 2px 0px 0px;
+        color: white !important;
       }
 
       div.toggle-menu div.header .close {
@@ -111,9 +110,9 @@ under the License.
     </style>
   </wicket:head>
   <wicket:extend>
-    <div wicket:id="togglePanelContainer" class="toggle-menu inactive-toggle-menu">
-      <div class="header">
-        <div class="label">
+    <div wicket:id="togglePanelContainer" class="toggle-menu inactive-toggle-menu card">
+      <div class="header card-header">
+        <div class="label card-title">
 
           <!-- Copy key to clipboard feedback -->
           <div class="copy-clipboard-feedback" style="display: none"> 
@@ -122,8 +121,8 @@ under the License.
           <label wicket:id="label" class="label-with-key" onclick="doCopyToClipboard(this)"/>
 
         </div>
-        <div class="close">
-          <a wicket:id="close" href="#"><i class="glyphicon glyphicon-remove"></i></a>
+        <div class="close card-tools">
+          <a wicket:id="close" href="#"><i class="fas fa-times"></i></a>
         </div>
       </div>
       <wicket:child/>      
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/search/SearchClausePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/search/SearchClausePanel.html
index 0929615..0fe094a 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/search/SearchClausePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/panels/search/SearchClausePanel.html
@@ -31,7 +31,7 @@ under the License.
     </span>
 
     <wicket:fragment wicket:id="searchButtonFragment">
-      <a href="#" wicket:id="search"><li class="glyphicon glyphicon-search"></li></a>
+      <a href="#" wicket:id="search"><li class="fas fa-search"></li></a>
     </wicket:fragment>
 
     <wicket:fragment wicket:id="operatorFragment">
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/status/ChangePasswordModal.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/status/ChangePasswordModal.html
index 41fbcd8..fc1b781 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/status/ChangePasswordModal.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/status/ChangePasswordModal.html
@@ -21,9 +21,7 @@ under the License.
     <div class="panel-group box-group">
       <wicket:child/>
     </div>
-    <fieldset class="input-group">
-      <span wicket:id="passwordPanel">[passwordPanel]</span>
-    </fieldset>
+    <span wicket:id="passwordPanel">[passwordPanel]</span>
     <span wicket:id="status">[Status]</span>
   </wicket:panel>
 </html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
index 4eabfb5..56ceeea 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/SchedTaskWizardBuilder$Profile.html
@@ -37,7 +37,7 @@ under the License.
 
     <span wicket:id="provisioningTaskSpecifics">
       <div class="form-group form-palette">
-        <span wicket:id="actions">[actions]</span>
+        <div class="row" wicket:id="actions">[actions]</div>
       </div>
       <div class="form-group"><span wicket:id="matchingRule">[matchingRule]</span></div>
       <div class="form-group"><span wicket:id="unmatchingRule">[unmatchingRule]</span></div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.html
index 700ba4f..2a06818 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TaskStartAtTogglePanel.html
@@ -18,8 +18,8 @@ under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:extend>
-    <div class="input-group-addon">
-      <a wicket:id="dryRun"><i class="fa fa-gears" alt="dryrun icon" title="DryRun"></i></a>
+    <div class="input-group-append input-group-text">
+      <a wicket:id="dryRun"><i class="fas fa-cogs" alt="dryrun icon" title="DryRun"></i></a>
     </div>
   </wicket:extend>
 </html>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.html b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.html
index 8a40abd..7fbe81e 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.html
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/tasks/TemplatesTogglePanel.html
@@ -22,7 +22,7 @@ under the License.
       <form wicket:id="templatesForm">
         <div class="input-group">
           <span wicket:id="type"/>
-          <div class="input-group-addon">
+          <div class="input-group-append input-group-text">
             <a wicket:id="changeit"><i class="fa fa-list-alt" alt="template icon" title="Template"></i></a>
           </div>
         </div>
diff --git a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
index 5b18d51..ca6d83e 100644
--- a/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
+++ b/client/idrepo/console/src/main/resources/org/apache/syncope/client/console/themes/css/AdminLTE.css
@@ -1,4941 +1,12 @@
 /*!
- *   AdminLTE v2.3.8
- *   Author: Almsaeed Studio
- *	 Website: Almsaeed Studio <http://almsaeedstudio.com>
- *   License: Open source - MIT
- *           Please visit http://opensource.org/licenses/MIT for more information
-!*/
-/*
- * Core: General Layout Style
- * -------------------------
- */
-html,
-body {
-  height: 100%;
-}
-.layout-boxed html,
-.layout-boxed body {
-  height: 100%;
-}
-body {
-  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  font-weight: 400;
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-/* Layout */
-.wrapper {
-  height: 100%;
-  position: relative;
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-.wrapper:before,
-.wrapper:after {
-  content: " ";
-  display: table;
-}
-.wrapper:after {
-  clear: both;
-}
-.layout-boxed .wrapper {
-  max-width: 1250px;
-  margin: 0 auto;
-  min-height: 100%;
-  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
-  position: relative;
-}
-.layout-boxed {
-  background: url('ui-commons/img/boxed-bg.jpg') repeat fixed;
-}
-/*
- * Content Wrapper - contains the main content
- * ```.right-side has been deprecated as of v2.0.0 in favor of .content-wrapper  ```
- */
-.content-wrapper,
-.right-side,
-.main-footer {
-  -webkit-transition: -webkit-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-  -moz-transition: -moz-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-  -o-transition: -o-transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-  transition: transform 0.3s ease-in-out, margin 0.3s ease-in-out;
-  margin-left: 230px;
-  z-index: 820;
-}
-.layout-top-nav .content-wrapper,
-.layout-top-nav .right-side,
-.layout-top-nav .main-footer {
-  margin-left: 0;
-}
-@media (max-width: 767px) {
-  .content-wrapper,
-  .right-side,
-  .main-footer {
-    margin-left: 0;
-  }
-}
-@media (min-width: 768px) {
-  .sidebar-collapse .content-wrapper,
-  .sidebar-collapse .right-side,
-  .sidebar-collapse .main-footer {
-    margin-left: 0;
-  }
-}
-@media (max-width: 767px) {
-  .sidebar-open .content-wrapper,
-  .sidebar-open .right-side,
-  .sidebar-open .main-footer {
-    -webkit-transform: translate(230px, 0);
-    -ms-transform: translate(230px, 0);
-    -o-transform: translate(230px, 0);
-    transform: translate(230px, 0);
-  }
-}
-.content-wrapper,
-.right-side {
-  min-height: 100%;
-  background-color: #ecf0f5;
-  z-index: 800;
-}
-.main-footer {
-  background: #fff;
-  padding: 15px;
-  color: #444;
-  border-top: 1px solid #d2d6de;
-}
-/* Fixed layout */
-.fixed .main-header,
-.fixed .main-sidebar,
-.fixed .left-side {
-  position: fixed;
-}
-.fixed .main-header {
-  top: 0;
-  right: 0;
-  left: 0;
-}
-.fixed .content-wrapper,
-.fixed .right-side {
-  padding-top: 50px;
-}
-@media (max-width: 767px) {
-  .fixed .content-wrapper,
-  .fixed .right-side {
-    padding-top: 100px;
-  }
-}
-.fixed.layout-boxed .wrapper {
-  max-width: 100%;
-}
-body.hold-transition .content-wrapper,
-body.hold-transition .right-side,
-body.hold-transition .main-footer,
-body.hold-transition .main-sidebar,
-body.hold-transition .left-side,
-body.hold-transition .main-header .navbar,
-body.hold-transition .main-header .logo {
-  /* Fix for IE */
-  -webkit-transition: none;
-  -o-transition: none;
-  transition: none;
-}
-/* Content */
-.content {
-  min-height: 250px;
-  padding: 15px;
-  margin-right: auto;
-  margin-left: auto;
-  padding-left: 15px;
-  padding-right: 15px;
-}
-/* H1 - H6 font */
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-.h1,
-.h2,
-.h3,
-.h4,
-.h5,
-.h6 {
-  font-family: 'Source Sans Pro', sans-serif;
-}
-/* General Links */
-a {
-  color: #3c8dbc;
-}
-a:hover,
-a:active,
-a:focus {
-  outline: none;
-  text-decoration: none;
-  color: #72afd2;
-}
-/* Page Header */
-.page-header {
-  margin: 10px 0 20px 0;
-  font-size: 22px;
-}
-.page-header > small {
-  color: #666;
-  display: block;
-  margin-top: 5px;
-}
-/*
- * Component: Main Header
- * ----------------------
- */
-.main-header {
-  position: relative;
-  max-height: 100px;
-  z-index: 1030;
-}
-.main-header .navbar {
-  -webkit-transition: margin-left 0.3s ease-in-out;
-  -o-transition: margin-left 0.3s ease-in-out;
-  transition: margin-left 0.3s ease-in-out;
-  margin-bottom: 0;
-  margin-left: 230px;
-  border: none;
-  min-height: 50px;
-  border-radius: 0;
-}
-.layout-top-nav .main-header .navbar {
-  margin-left: 0;
-}
-.main-header #navbar-search-input.form-control {
-  background: rgba(255, 255, 255, 0.2);
-  border-color: transparent;
-}
-.main-header #navbar-search-input.form-control:focus,
-.main-header #navbar-search-input.form-control:active {
-  border-color: rgba(0, 0, 0, 0.1);
-  background: rgba(255, 255, 255, 0.9);
-}
-.main-header #navbar-search-input.form-control::-moz-placeholder {
-  color: #ccc;
-  opacity: 1;
-}
-.main-header #navbar-search-input.form-control:-ms-input-placeholder {
-  color: #ccc;
-}
-.main-header #navbar-search-input.form-control::-webkit-input-placeholder {
-  color: #ccc;
-}
-.main-header .navbar-custom-menu,
-.main-header .navbar-right {
-  float: right;
-}
-@media (max-width: 991px) {
-  .main-header .navbar-custom-menu a,
-  .main-header .navbar-right a {
-    color: inherit;
-    background: transparent;
-  }
-}
-@media (max-width: 767px) {
-  .main-header .navbar-right {
-    float: none;
-  }
-  .navbar-collapse .main-header .navbar-right {
-    margin: 7.5px -15px;
-  }
-  .main-header .navbar-right > li {
-    color: inherit;
-    border: 0;
-  }
-}
-.main-header .sidebar-toggle {
-  float: left;
-  background-color: transparent;
-  background-image: none;
-  padding: 15px 15px;
-  font-family: fontAwesome;
-}
-.main-header .sidebar-toggle:before {
-  content: "\f0c9";
-}
-.main-header .sidebar-toggle:hover {
-  color: #fff;
-}
-.main-header .sidebar-toggle:focus,
-.main-header .sidebar-toggle:active {
-  background: transparent;
-}
-.main-header .sidebar-toggle .icon-bar {
-  display: none;
-}
-.main-header .navbar .nav > li.user > a > .fa,
-.main-header .navbar .nav > li.user > a > .glyphicon,
-.main-header .navbar .nav > li.user > a > .ion {
-  margin-right: 5px;
-}
-.main-header .navbar .nav > li > a > .label {
-  position: absolute;
-  top: 9px;
-  right: 7px;
-  text-align: center;
-  font-size: 9px;
-  padding: 2px 3px;
-  line-height: .9;
-}
-.main-header .logo {
-  -webkit-transition: width 0.3s ease-in-out;
-  -o-transition: width 0.3s ease-in-out;
-  transition: width 0.3s ease-in-out;
-  display: block;
-  float: left;
-  height: 50px;
-  font-size: 20px;
-  line-height: 50px;
-  text-align: center;
-  width: 230px;
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-  padding: 0 15px;
-  font-weight: 300;
-  overflow: hidden;
-}
-.main-header .logo .logo-lg {
-  display: block;
-}
-.main-header .logo .logo-mini {
-  display: none;
-}
-.main-header .navbar-brand {
-  color: #fff;
-}
-.content-header {
-  position: relative;
-  padding: 15px 15px 0 15px;
-}
-.content-header > h1 {
-  margin: 0;
-  font-size: 24px;
-}
-.content-header > h1 > small {
-  font-size: 15px;
-  display: inline-block;
-  padding-left: 4px;
-  font-weight: 300;
-}
-.content-header > .breadcrumb {
-  float: right;
-  background: transparent;
-  margin-top: 0;
-  margin-bottom: 0;
-  font-size: 12px;
-  padding: 7px 5px;
-  position: absolute;
-  top: 15px;
-  right: 10px;
-  border-radius: 2px;
-}
-.content-header > .breadcrumb > li > a {
-  color: #444;
-  text-decoration: none;
-  display: inline-block;
-}
-.content-header > .breadcrumb > li > a > .fa,
-.content-header > .breadcrumb > li > a > .glyphicon,
-.content-header > .breadcrumb > li > a > .ion {
-  margin-right: 5px;
-}
-.content-header > .breadcrumb > li + li:before {
-  content: '>\00a0';
-}
-@media (max-width: 991px) {
-  .content-header > .breadcrumb {
-    position: relative;
-    margin-top: 5px;
-    top: 0;
-    right: 0;
-    float: none;
-    background: #d2d6de;
-    padding-left: 10px;
-  }
-  .content-header > .breadcrumb li:before {
-    color: #97a0b3;
-  }
-}
-.navbar-toggle {
-  color: #fff;
-  border: 0;
-  margin: 0;
-  padding: 15px 15px;
-}
-@media (max-width: 991px) {
-  .navbar-custom-menu .navbar-nav > li {
-    float: left;
-  }
-  .navbar-custom-menu .navbar-nav {
-    margin: 0;
-    float: left;
-  }
-  .navbar-custom-menu .navbar-nav > li > a {
-    padding-top: 15px;
-    padding-bottom: 15px;
-    line-height: 20px;
-  }
-}
-@media (max-width: 767px) {
-  .main-header {
-    position: relative;
-  }
-  .main-header .logo,
-  .main-header .navbar {
-    width: 100%;
-    float: none;
-  }
-  .main-header .navbar {
-    margin: 0;
-  }
-  .main-header .navbar-custom-menu {
-    float: right;
-  }
-}
-@media (max-width: 991px) {
-  .navbar-collapse.pull-left {
-    float: none !important;
-  }
-  .navbar-collapse.pull-left + .navbar-custom-menu {
-    display: block;
-    position: absolute;
-    top: 0;
-    right: 40px;
-  }
-}
-/*
- * Component: Sidebar
- * ------------------
- */
-.main-sidebar,
-.left-side {
-  position: absolute;
-  top: 0;
-  left: 0;
-  padding-top: 50px;
-  min-height: 100%;
-  width: 230px;
-  z-index: 810;
-  -webkit-transition: -webkit-transform 0.3s ease-in-out, width 0.3s ease-in-out;
-  -moz-transition: -moz-transform 0.3s ease-in-out, width 0.3s ease-in-out;
-  -o-transition: -o-transform 0.3s ease-in-out, width 0.3s ease-in-out;
-  transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
-}
-@media (max-width: 767px) {
-  .main-sidebar,
-  .left-side {
-    padding-top: 100px;
-  }
-}
-@media (max-width: 767px) {
-  .main-sidebar,
-  .left-side {
-    -webkit-transform: translate(-230px, 0);
-    -ms-transform: translate(-230px, 0);
-    -o-transform: translate(-230px, 0);
-    transform: translate(-230px, 0);
-  }
-}
-@media (min-width: 768px) {
-  .sidebar-collapse .main-sidebar,
-  .sidebar-collapse .left-side {
-    -webkit-transform: translate(-230px, 0);
-    -ms-transform: translate(-230px, 0);
-    -o-transform: translate(-230px, 0);
-    transform: translate(-230px, 0);
-  }
-}
-@media (max-width: 767px) {
-  .sidebar-open .main-sidebar,
-  .sidebar-open .left-side {
-    -webkit-transform: translate(0, 0);
-    -ms-transform: translate(0, 0);
-    -o-transform: translate(0, 0);
-    transform: translate(0, 0);
-  }
-}
-.sidebar {
-  padding-bottom: 10px;
-}
-.sidebar-form input:focus {
-  border-color: transparent;
-}
-.user-panel {
-  position: relative;
-  width: 100%;
-  padding: 10px;
-  overflow: hidden;
-}
-.user-panel:before,
-.user-panel:after {
-  content: " ";
-  display: table;
-}
-.user-panel:after {
-  clear: both;
-}
-.user-panel > .image > img {
-  width: 100%;
-  max-width: 45px;
-  height: auto;
-}
-.user-panel > .info {
-  padding: 5px 5px 5px 15px;
-  line-height: 1;
-  position: absolute;
-  left: 55px;
-}
-.user-panel > .info > p {
-  font-weight: 600;
-  margin-bottom: 9px;
-}
-.user-panel > .info > a {
-  text-decoration: none;
-  padding-right: 5px;
-  margin-top: 3px;
-  font-size: 11px;
-}
-.user-panel > .info > a > .fa,
-.user-panel > .info > a > .ion,
-.user-panel > .info > a > .glyphicon {
-  margin-right: 3px;
-}
-.sidebar-menu {
-  list-style: none;
-  margin: 0;
-  padding: 0;
-}
-.sidebar-menu > li {
-  position: relative;
-  margin: 0;
-  padding: 0;
-}
-.sidebar-menu > li > a {
-  padding: 12px 5px 12px 15px;
-  display: block;
-}
-.sidebar-menu > li > a > .fa,
-.sidebar-menu > li > a > .glyphicon,
-.sidebar-menu > li > a > .ion {
-  width: 20px;
-}
-.sidebar-menu > li .label,
-.sidebar-menu > li .badge {
-  margin-right: 5px;
-}
-.sidebar-menu > li .badge {
-  margin-top: 3px;
-}
-.sidebar-menu li.header {
-  padding: 10px 25px 10px 15px;
-  font-size: 12px;
-}
-.sidebar-menu li > a > .fa-angle-left,
-.sidebar-menu li > a > .pull-right-container > .fa-angle-left {
-  width: auto;
-  height: auto;
-  padding: 0;
-  margin-right: 10px;
-}
-.sidebar-menu li > a > .fa-angle-left {
-  position: absolute;
-  top: 50%;
-  right: 10px;
-  margin-top: -8px;
-}
-.sidebar-menu li.active > a > .fa-angle-left,
-.sidebar-menu li.active > a > .pull-right-container > .fa-angle-left {
-  -webkit-transform: rotate(-90deg);
-  -ms-transform: rotate(-90deg);
-  -o-transform: rotate(-90deg);
-  transform: rotate(-90deg);
-}
-.sidebar-menu li.active > .treeview-menu {
-  display: block;
-}
-.sidebar-menu .treeview-menu {
-  display: none;
-  list-style: none;
-  padding: 0;
-  margin: 0;
-  padding-left: 5px;
-}
-.sidebar-menu .treeview-menu .treeview-menu {
-  padding-left: 20px;
-}
-.sidebar-menu .treeview-menu > li {
-  margin: 0;
-}
-.sidebar-menu .treeview-menu > li > a {
-  padding: 5px 5px 5px 15px;
-  display: block;
-  font-size: 14px;
-}
-.sidebar-menu .treeview-menu > li > a > .fa,
-.sidebar-menu .treeview-menu > li > a > .glyphicon,
-.sidebar-menu .treeview-menu > li > a > .ion {
-  width: 20px;
-}
-.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-left,
-.sidebar-menu .treeview-menu > li > a > .pull-right-container > .fa-angle-down,
-.sidebar-menu .treeview-menu > li > a > .fa-angle-left,
-.sidebar-menu .treeview-menu > li > a > .fa-angle-down {
-  width: auto;
-}
-/*
- * Component: Sidebar Mini
- */
-@media (min-width: 768px) {
-  .sidebar-mini.sidebar-collapse .content-wrapper,
-  .sidebar-mini.sidebar-collapse .right-side,
-  .sidebar-mini.sidebar-collapse .main-footer {
-    margin-left: 50px !important;
-    z-index: 840;
-  }
-  .sidebar-mini.sidebar-collapse .main-sidebar {
-    -webkit-transform: translate(0, 0);
... 8397 lines suppressed ...