You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by sk...@apache.org on 2019/04/10 14:05:51 UTC

[syncope] branch master updated: [SYNCOPE-1421] Merged common static assets into the ui-commons module, added some new brand cool styling to the Enduser application

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

skylark17 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 ebccc7c  [SYNCOPE-1421] Merged common static assets into the ui-commons module, added some new brand cool styling to the Enduser application
ebccc7c is described below

commit ebccc7c48709ae44f92bebc9702f8f319e9ca91e
Author: skylark17 <ma...@tirasa.net>
AuthorDate: Wed Apr 10 15:52:48 2019 +0200

    [SYNCOPE-1421] Merged common static assets into the ui-commons module, added some new brand cool styling to the Enduser application
---
 .../resources/archetype-resources/enduser/pom.xml  |    5 +-
 archetype/src/main/resources/meta-pom.xml          |    6 +-
 client/idm/console/pom.xml                         |   30 +
 .../META-INF/resources/css/idmTopology.scss}       |   25 -
 .../META-INF/resources/js/idmTopology.js}          |    0
 .../syncope/client/console/topology/Topology.html  |    5 +-
 client/idrepo/console/pom.xml                      |   25 +
 .../css/accessibility/accessibilityFont.css        |  101 --
 .../resources/META-INF/resources/css/fonts.css     |   89 --
 ...-latin-ext_cyrillic_latin_cyrillic-ext-300.woff |  Bin 113012 -> 0 bytes
 ...latin-ext_cyrillic_latin_cyrillic-ext-300.woff2 |  Bin 86284 -> 0 bytes
 ...-ext_cyrillic_latin_cyrillic-ext-300italic.woff |  Bin 46356 -> 0 bytes
 ...ext_cyrillic_latin_cyrillic-ext-300italic.woff2 |  Bin 35780 -> 0 bytes
 ...-latin-ext_cyrillic_latin_cyrillic-ext-600.woff |  Bin 113196 -> 0 bytes
 ...latin-ext_cyrillic_latin_cyrillic-ext-600.woff2 |  Bin 86120 -> 0 bytes
 ...-ext_cyrillic_latin_cyrillic-ext-600italic.woff |  Bin 46280 -> 0 bytes
 ...ext_cyrillic_latin_cyrillic-ext-600italic.woff2 |  Bin 35928 -> 0 bytes
 ...-latin-ext_cyrillic_latin_cyrillic-ext-700.woff |  Bin 112628 -> 0 bytes
 ...latin-ext_cyrillic_latin_cyrillic-ext-700.woff2 |  Bin 85436 -> 0 bytes
 ...tin-ext_cyrillic_latin_cyrillic-ext-italic.woff |  Bin 46364 -> 0 bytes
 ...in-ext_cyrillic_latin_cyrillic-ext-italic.woff2 |  Bin 35924 -> 0 bytes
 ...in-ext_cyrillic_latin_cyrillic-ext-regular.woff |  Bin 113924 -> 0 bytes
 ...n-ext_cyrillic_latin_cyrillic-ext-regular.woff2 |  Bin 86732 -> 0 bytes
 .../resources/META-INF/resources/css/login.css     |  142 ---
 .../META-INF/resources/css/syncopeConsole.css      | 1164 --------------------
 .../css/{accessibility.css => syncopeConsole.scss} |   26 -
 .../resources/META-INF/resources/css/topology.css  |  195 ----
 .../META-INF/resources/img/logo-green.png          |  Bin 12178 -> 0 bytes
 .../main/resources/META-INF/resources/img/logo.png |  Bin 8913 -> 0 bytes
 .../syncope/client/console/pages/BasePage.html     |   16 +-
 .../apache/syncope/client/console/pages/Login.html |   15 +-
 .../client/console/pages/MustChangePassword.html   |    9 +-
 .../syncope/client/console/themes/css/AdminLTE.css |    2 +-
 client/idrepo/enduser/pom.xml                      |   25 +
 .../client/enduser/SyncopeWebApplication.java      |    5 -
 .../client/enduser/themes/EnduserTheme.java        |   42 -
 .../themes/EnduserThemeCssResourceReference.java   |   48 -
 .../css/accessibility/accessibilityHC.css          |  296 -----
 .../resources/META-INF/resources/css/login.css     |  142 ---
 .../META-INF/resources/css/syncopeEnduser.css      | 1164 --------------------
 .../META-INF/resources/css/syncopeEnduser.scss     |  506 +++++++++
 .../client/enduser/pages/BaseEnduserWebPage.html   |   68 +-
 .../apache/syncope/client/enduser/pages/Login.html |   31 +-
 .../client/enduser/pages/MustChangePassword.html   |   13 +-
 .../client/enduser/themes/css/accessibility.css    |   44 -
 .../syncope/client/enduser/themes/css/app.css      |  110 --
 .../client/enduser/themes/css/customSpinner.css    |   49 -
 .../syncope/client/enduser/themes/css/editUser.css |  822 --------------
 .../syncope/client/enduser/themes/css/init.css     |   22 -
 .../syncope/client/enduser/themes/css/login.css    |   83 --
 .../client/enduser/themes/css/notification.css     |   28 -
 .../client/enduser/themes/css/passwordReset.css    |   37 -
 .../client/enduser/wizards/any/AbstractAttrs.html  |    2 +-
 .../client/enduser/wizards/any/CaptchaPanel.html   |   30 +-
 .../client/enduser/wizards/any/UserDetails.html    |    2 +-
 .../markup/html/form/AjaxCheckBoxPanel.html        |   12 +-
 .../client/ui/commons/wizards/AjaxWizard.html      |    1 -
 .../ui/commons/wizards/AjaxWizardMgtButtonBar.html |   14 +-
 client/idrepo/ui/pom.xml                           |   37 +-
 .../resources/ui-commons/css/accessibility.scss}   |   33 +-
 .../css/accessibility/accessibilityFont.scss}      |   18 +-
 .../css/accessibility/accessibilityHC.scss}        |   76 +-
 .../resources/ui-commons/css/animations.scss       |   83 ++
 .../META-INF/resources/ui-commons/css/batch.scss}  |   33 +-
 .../META-INF/resources/ui-commons/css/fonts.scss}  |    0
 ...-latin-ext_cyrillic_latin_cyrillic-ext-300.woff |  Bin
 ...latin-ext_cyrillic_latin_cyrillic-ext-300.woff2 |  Bin
 ...-ext_cyrillic_latin_cyrillic-ext-300italic.woff |  Bin
 ...ext_cyrillic_latin_cyrillic-ext-300italic.woff2 |  Bin
 ...-latin-ext_cyrillic_latin_cyrillic-ext-600.woff |  Bin
 ...latin-ext_cyrillic_latin_cyrillic-ext-600.woff2 |  Bin
 ...-ext_cyrillic_latin_cyrillic-ext-600italic.woff |  Bin
 ...ext_cyrillic_latin_cyrillic-ext-600italic.woff2 |  Bin
 ...-latin-ext_cyrillic_latin_cyrillic-ext-700.woff |  Bin
 ...latin-ext_cyrillic_latin_cyrillic-ext-700.woff2 |  Bin
 ...tin-ext_cyrillic_latin_cyrillic-ext-italic.woff |  Bin
 ...in-ext_cyrillic_latin_cyrillic-ext-italic.woff2 |  Bin
 ...in-ext_cyrillic_latin_cyrillic-ext-regular.woff |  Bin
 ...n-ext_cyrillic_latin_cyrillic-ext-regular.woff2 |  Bin
 .../META-INF/resources/ui-commons/css/login.scss   |  133 +++
 .../META-INF/resources/ui-commons/css/search.scss} |   94 +-
 .../resources/ui-commons/css/syncopeUI.scss        | 1156 +++++++++++++++++++
 .../resources/ui-commons/css/topology.scss         |  197 ++++
 .../META-INF/resources/ui-commons/css/utils.scss   |  119 ++
 .../META-INF/resources/ui-commons}/img/favicon.png |  Bin
 .../resources/ui-commons}/img/logo-green.png       |  Bin
 .../resources/ui-commons}/img/logo-mini.png        |  Bin
 .../META-INF/resources/ui-commons}/img/logo.png    |  Bin
 .../resources/ui-commons}/js/accessibility.js      |    4 +-
 deb/enduser/pom.xml                                |    6 +-
 docker/enduser/pom.xml                             |    4 +-
 fit/enduser-reference/pom.xml                      |   24 -
 pom.xml                                            |    8 +-
 93 files changed, 2605 insertions(+), 4871 deletions(-)

diff --git a/archetype/src/main/resources/archetype-resources/enduser/pom.xml b/archetype/src/main/resources/archetype-resources/enduser/pom.xml
index 8859dad..184147d 100644
--- a/archetype/src/main/resources/archetype-resources/enduser/pom.xml
+++ b/archetype/src/main/resources/archetype-resources/enduser/pom.xml
@@ -40,8 +40,9 @@ under the License.
     </dependency>  
     
     <dependency>
-      <groupId>org.apache.syncope.client</groupId>
-      <artifactId>syncope-client-enduser</artifactId>
+      <groupId>org.apache.syncope.client.idrepo</groupId>
+      <artifactId>syncope-client-idrepo-enduser</artifactId>
+      <version>${project.version}</version>
     </dependency>
   </dependencies>
 
diff --git a/archetype/src/main/resources/meta-pom.xml b/archetype/src/main/resources/meta-pom.xml
index 4e38af7..2149617 100644
--- a/archetype/src/main/resources/meta-pom.xml
+++ b/archetype/src/main/resources/meta-pom.xml
@@ -72,9 +72,9 @@ under the License.
       </dependency>
 
       <dependency>
-        <groupId>org.apache.syncope.client</groupId>
-        <artifactId>syncope-client-enduser</artifactId>
-        <version>${syncope.version}</version>
+        <groupId>org.apache.syncope.client.idrepo</groupId>
+        <artifactId>syncope-client-idrepo-enduser</artifactId>
+        <version>${project.version}</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
diff --git a/client/idm/console/pom.xml b/client/idm/console/pom.xml
index 3027b8c..5135b7b 100644
--- a/client/idm/console/pom.xml
+++ b/client/idm/console/pom.xml
@@ -50,6 +50,11 @@ under the License.
       <version>${project.version}</version>
     </dependency>
     <dependency>
+      <groupId>org.apache.syncope.client.idrepo</groupId>
+      <artifactId>syncope-client-idrepo-ui-commons</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
       <groupId>org.apache.syncope.client.idm</groupId>
       <artifactId>syncope-client-idm-lib</artifactId>
       <version>${project.version}</version>
@@ -62,6 +67,31 @@ under the License.
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
       </plugin>
+      
+      <plugin>
+        <groupId>nl.geodienstencentrum.maven</groupId>
+        <artifactId>sass-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>sass-compilation</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>update-stylesheets</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <resources>
+            <resource>
+              <source>
+                <directory>${basedir}/src/main/resources/META-INF/resources/css</directory>
+              </source>
+              <destination>${project.build.outputDirectory}/META-INF/resources/css</destination>
+            </resource>
+          </resources>
+        </configuration>
+      </plugin>
     </plugins>
     
     <resources>
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility.css b/client/idm/console/src/main/resources/META-INF/resources/css/idmTopology.scss
similarity index 71%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility.css
rename to client/idm/console/src/main/resources/META-INF/resources/css/idmTopology.scss
index 21b9201..bd244d0 100644
--- a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility.css
+++ b/client/idm/console/src/main/resources/META-INF/resources/css/idmTopology.scss
@@ -17,28 +17,3 @@
  * under the License.
  */
 
-.btn-accessibility {
-  position: absolute;
-  right: 0;
-  font-size: 12px;
-  padding: 15px 15px 0 0;
-}
-
-.btn-accessibility i {
-  font-size: 30px;
-}
-
-.btn-accessibility:hover {
-  cursor:pointer;
-}
-
-.control-sidebar-menu a:focus {
-  outline: 1px #949494 solid;
-}
-
-#change_contrast {
-  top: 0;
-}
-#change_fontSize {
-  top: 40px;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/js/topology.js b/client/idm/console/src/main/resources/META-INF/resources/js/idmTopology.js
similarity index 100%
rename from client/idrepo/console/src/main/resources/META-INF/resources/js/topology.js
rename to client/idm/console/src/main/resources/META-INF/resources/js/idmTopology.js
diff --git a/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html b/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
index 4dc40ed..4210527 100644
--- a/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
+++ b/client/idm/console/src/main/resources/org/apache/syncope/client/console/topology/Topology.html
@@ -20,8 +20,9 @@ under the License.
   <wicket:head>
     <script type="text/javascript" src="webjars/jsplumb/${jsplumb.version}/js/jsPlumb-${jsplumb.version}-min.js"></script>
     <script type="text/javascript" src="webjars/jquery-cookie/${jquery-cookie.version}/jquery.cookie.js"></script>
-    <script type="text/javascript" src="js/topology.js"></script>
-    <link href="css/topology.css" rel="stylesheet"/>
+    <script type="text/javascript" src="js/idmTopology.js"></script>
+    <link href="ui-commons/css/topology.css" rel="stylesheet"/>
+    <link href="css/idmTopology.css" rel="stylesheet"/>
 
     <style type="text/css">
       legend {
diff --git a/client/idrepo/console/pom.xml b/client/idrepo/console/pom.xml
index 6a0b471..3ba48b2 100644
--- a/client/idrepo/console/pom.xml
+++ b/client/idrepo/console/pom.xml
@@ -186,6 +186,31 @@ under the License.
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
       </plugin>
+      
+      <plugin>
+        <groupId>nl.geodienstencentrum.maven</groupId>
+        <artifactId>sass-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>sass-compilation</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>update-stylesheets</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <resources>
+            <resource>
+              <source>
+                <directory>${basedir}/src/main/resources/META-INF/resources/css</directory>
+              </source>
+              <destination>${project.build.outputDirectory}/META-INF/resources/css</destination>
+            </resource>
+          </resources>
+        </configuration>
+      </plugin>
     </plugins>
     
     <resources>
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css
deleted file mode 100644
index da26456..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-body,
-p {
-  font-size: 200%;
-}
-
-.menu a,
-.treeview-menu a,
-.control-sidebar-subheading {
-  font-size: 80% !important;
-}
-
-.box-header > .fa, 
-.box-header > .glyphicon, 
-.box-header > .ion, .box-header .box-title,
-.dropdown-toggle .filter-option,
-.dropdown-menu a,
-.menu-info span,
-.user-header,
-.header,
-.modal-title,
-.small-box p,
-.alert-widget,
-.alert-widget > a > .label,
-.alert h4,
-#mappings .fa,
-.popover-content,
-.box .dropdown-toggle .glyphicon,
-.box-header button,
-.toggle .toggle-group .btn,
-.input-group .form-control label {
-  font-size: 120%;
-}
-
-input,
-select,
-.footer a,
-.modal-footer button,
-.dropdown-menu:not([role='menu']),
-.dropdown-menu > li.header,
-div#tablehandling ul.menu i,
-.content-header > .breadcrumb,
-.btn-primary:not(.btn-circle),
-.modal-content .box .dialog pre {
-  font-size: 100% !important;
-}
-
-#topology .window {
-  height: 90px;
-}
-
-.dataTables_length select {
-  font-size: 85% !important;
-}
-
-button.close {
-  font-size: 2em;
-}
-
-.details-footer .information {
-  font-size: 12px;
-}
-
-.btn-file i,
-.btn-file span,
-.input-group-btn button.btn-primary {
-  font-size: 20px !important;
-}
-
-.checkbox input[type=checkbox], 
-.checkbox-inline input[type=checkbox], 
-.radio input[type=radio], 
-.radio-inline input[type=radio],
-input[type=checkbox], 
-input[type=radio] {
-  width: 20px;
-  height: 20px;
-}
-
-.k-timepicker, 
-.k-datepicker {
-  width: 200px !important;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts.css
deleted file mode 100644
index da7bdf8..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts.css
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* source-sans-pro-300 - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: normal;
-  font-weight: 300;
-  src: local('Source Sans Pro Light'), local('SourceSansPro-Light'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-300italic - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: italic;
-  font-weight: 300;
-  src: local('Source Sans Pro Light Italic'), local('SourceSansPro-LightItalic'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-regular - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: normal;
-  font-weight: 400;
-  src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-italic - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: italic;
-  font-weight: 400;
-  src: local('Source Sans Pro Italic'), local('SourceSansPro-Italic'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-600 - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: normal;
-  font-weight: 600;
-  src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-600italic - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: italic;
-  font-weight: 600;
-  src: local('Source Sans Pro SemiBold Italic'), local('SourceSansPro-SemiBoldItalic'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
-/* source-sans-pro-700 - latin-ext_cyrillic_latin_cyrillic-ext */
-@font-face {
-  font-family: 'Source Sans Pro';
-  font-style: normal;
-  font-weight: 700;
-  src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'),
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
-    url('./fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
-}
-
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff
deleted file mode 100644
index 2132b5e..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2
deleted file mode 100644
index 943f826..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff
deleted file mode 100644
index aa25cd3..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2
deleted file mode 100644
index 441997f..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff
deleted file mode 100644
index 24d2824..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2
deleted file mode 100644
index 9ec7d25..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff
deleted file mode 100644
index ce5a1cc..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2
deleted file mode 100644
index 7ed2f82..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff
deleted file mode 100644
index 9fbfe68..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2
deleted file mode 100644
index 096dcb1..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff
deleted file mode 100644
index c1cf1ea..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2
deleted file mode 100644
index ff006be..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff
deleted file mode 100644
index e8a1ac7..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2 b/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2
deleted file mode 100644
index 1b0bc46..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2 and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/login.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/login.css
deleted file mode 100644
index 575df66..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/login.css
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-body, html {
-  height: 100% !important;
-  background-repeat: no-repeat;
-  background-image: linear-gradient(rgb(104, 145, 162), #00a65a);
-}
-
-.card-container.card {
-  width: 350px;
-  padding: 40px 40px;
-}
-
-.btn {
-  font-weight: 700;
-  height: 36px;
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  user-select: none;
-  cursor: default;
-}
-
-/*
- * Card component
- */
-.card {
-  background-color: #F7F7F7;
-  /* just in case there no content*/
-  padding: 20px 25px 30px;
-  margin: 0 auto 25px;
-  margin-top: 50px;
-  /* shadows and rounded borders */
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-  border-radius: 2px;
-  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-}
-
-.login-logo {
-  width: 200px;
-  margin: 0 auto 10px;
-  display: block;
-}
-
-/*
- * Form styles
- */
-.profile-name-card {
-  font-size: 16px;
-  font-weight: bold;
-  text-align: center;
-  margin: 10px 0 0;
-  min-height: 1em;
-}
-
-.form-signin #inputPassword,
-.form-signin #inputPassword {
-  direction: ltr;
-  height: 44px;
-  font-size: 16px;
-}
-
-.form-signin input[type=password],
-.form-signin input[type=text],
-.form-signin button {
-  width: 100%;
-  display: block;
-  margin-bottom: 10px;
-  z-index: 1;
-  position: relative;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-}
-
-.form-signin .form-control:focus {
-  border-color: rgb(104, 145, 162);
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgb(104, 145, 162);
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgb(104, 145, 162);
-}
-
-.btn.btn-signin {
-  background-color: rgb(104, 145, 162);
-  padding: 0px;
-  font-weight: 700;
-  font-size: 14px;
-  height: 36px;
-  -moz-border-radius: 3px;
-  -webkit-border-radius: 3px;
-  border-radius: 3px;
-  border: none;
-  -o-transition: all 0.218s;
-  -moz-transition: all 0.218s;
-  -webkit-transition: all 0.218s;
-  transition: all 0.218s;
-}
-
-.btn.btn-signin:hover,
-.btn.btn-signin:active,
-.btn.btn-signin:focus {
-  background-color: #00a65a;
-}
-
-.btn.btn-sso {
-  padding: 0px;
-  font-weight: 700;
-  font-size: 14px;
-  height: 36px;
-  -moz-border-radius: 3px;
-  -webkit-border-radius: 3px;
-  border-radius: 3px;
-  border: none;
-  -o-transition: all 0.218s;
-  -moz-transition: all 0.218s;
-  -webkit-transition: all 0.218s;
-  transition: all 0.218s;
-}
-
-.btn.btn-sso:hover,
-.btn.btn-sso:active,
-.btn.btn-sso:focus {
-  background-color: #00a65a;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
deleted file mode 100644
index c2dcf2c..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.css
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-pre {
-  white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
-  white-space: -pre-wrap; /* Opera */
-  white-space: -o-pre-wrap; /* Opera */
-  white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
-  word-wrap: break-word; /* IE 5.5+ */
-}
-
-/* Absolute Center Spinner */
-#veil {
-  display:none;
-  position: fixed;
-  z-index:99999;
-  height: 2em;
-  width: 2em;
-  overflow: show;
-  margin: auto;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-}
-
-/* Transparent Overlay */
-#veil:before {
-  content: '';
-  display: block;
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0,0,0,0.3);
-}
-
-/* :not(:required) hides these rules from IE9 and below */
-#veil:not(:required) {
-  /* hide "loading..." text */
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-#veil:not(:required):after {
-  content: '';
-  display: block;
-  font-size: 10px;
-  width: 1em;
-  height: 1em;
-  margin-top: -0.5em;
-  -webkit-animation: spinner 2000ms infinite linear;
-  -moz-animation: spinner 2000ms infinite linear;
-  -ms-animation: spinner 2000ms infinite linear;
-  -o-animation: spinner 2000ms infinite linear;
-  animation: spinner 2000ms infinite linear;
-  border-radius: 0.5em;
-  -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
-  box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
-}
-
-/* Animation */
-
-@-webkit-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@-moz-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@-o-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-
-.block-sidebar {
-  max-height: 100% !important; 
-  overflow: auto !important; 
-  padding-top: 90px !important; 
-  padding-bottom: 50px !important; 
-  position: fixed !important;
-  width: 245px !important;
-}
-
-.inner-control-sidebar {
-  position: fixed; 
-  height: auto;
-}
-
-.content-margin-layout {
-  margin: 0px 230px 0px 0px !important;
-  padding: 20px !important;
-}
-
-.admin-content-page {
-  padding: 20px;
-  background: #ecf0f5
-}
-
-.realms {
-  min-height: 554px
-}
-
-.realm-header {
-  clear: both;
-  display:block;
-  display: inline-table;
-  margin: 0 0 10px;
-  line-height: 25px;
-}
-
-.realm-label {
-  float: left;
-  font-size: 16px;
-}
-
-.realm-label label {
-  font-weight: 600 !important;
-}
-
-.realm-choice {
-  right: 0px;
-  position: absolute;
-}
-
-.realm-header .dropdown-menu li a {
-  text-align: left !important;
-  white-space: pre !important;
-  line-height: 7px;
-}
-
-.block-header {
-  position: fixed !important;
-  width: 100% !important;
-  top: 0 !important;
-}
-
-.block-footer {
-  position: fixed !important;
-  width: 100% !important;
-  bottom: 0px !important;
-}
-
-.logo-pos {
-  padding-top: 4px !important;
-  overflow: visible !important;
-}
-
-.angle {
-  border: medium none !important;
-  cursor: pointer;
-  display: inline-table !important;
-  float: right;
-  height: 30px;
-  overflow: hidden;
-  position: relative !important;
-  right: 0;
-  top: -30px;
-  width: 25%;
-  z-index: 3;
-}
-
-.main-header .logo {
-  height: 55px !important;
-}
-
-.w_caption h3 {
-  font-size: 16px;
-}
-
-div.wicket-modal div.w_content_3 {
-  border: 1px solid #eee;
-  border-radius: 20px;
-  padding: 5px;
-}
-
-.tab-content {
-  margin-bottom: 10px;
-  margin-top: 5px;
-  position: relative;
-  overflow-x: hidden;
-  overflow-y: auto;
-  padding: 20px 20px 5px 20px;
-}
-
-.modal-body .tab-content .information {
-  position: relative !important;
-}
-
-.scrollable-tab-content {
-  overflow-y: auto;
-  max-height: 480px;
-}
-
-.inner-scrollable-tab-content {
-  height: 430px;
-  margin-top: 20px;
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-
-a.help {
-  position: relative;
-  display: inline;
-  text-decoration: none;
-}
-
-a.help span {
-  position: absolute;
-  width:19em;
-  color: #000000;
-  background: whitesmoke;
-  visibility: hidden;
-  border-radius: 0px;
-  padding: 3px;
-}
-
-a.help span:after {
-  position: absolute;
-  top: 50%;
-  left: 100%;
-  margin-top: -8px;
-  width: 0;
-  height: 0;
-}
-
-a.help span {
-  visibility: visible;
-  opacity: none;
-  right: 100%;
-  top: 50%;
-  margin-right: 4px;
-  margin-top: -11px;
-  border: 1px solid black;
-  z-index: 1000000;
-}
-
-a.help span a {
-  color: #463;
-  text-decoration: none;
-}
-
-.modal-open .modal {
-  overflow: hidden;
-}
-
-.modal-body {
-  max-height: 550px;
-  overflow-y: auto;
-  overflow-x: hidden;
-}
-
-.modal {
-  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
-  z-index: 7000 !important;
-}
-
-.wizard-step-title {
-  font-size: 18px !important;
-  font-weight: normal !important;
-  margin-bottom: 10px !important;
-}
-
-div.wizard-view div.wizard-view{
-  max-height: 380px;
-  height: 380px;
-  overflow-y: auto;
-  overflow-x: hidden;
-  padding: 50px 20px 50px 20px;
-}
-
-.wizard-view .wizard-form{
-  max-height: 450px;
-  height: 450px;
-}
-
-.modal-body .tab-content .wizard-view {
-  max-height: 330px !important;
-  height: 330px !important;
-}
-
-.modal-body .tab-content .wizard-form {
-  max-height: 400px !important;
-  height: 400px !important;
-}
-
-.wizard-view > div {
-  display: block;
-  height: 95%;
-  position: relative;
-}
-
-.wizard-view {
-  padding: 0px 5px;
-}
-
-.wizard-form {
-  height:480px;
-  position: relative;
-}
-
-.wizard-form > div {
-  max-height: 440px;
-  height: 440px;
-  overflow-y: auto;
-  overflow-x: hidden;
-  padding: 0px;
-}
-
-.box-body .wizard-form {
-  height:400px !important;
-}
-
-.box-body .wizard-form > div {
-  height: 360px !important;
-}
-
-div.modal-body div.box-body div.wizard-buttons {
-  bottom: 30px;
-}
-
-.wizard-buttons {
-  padding: 10px 0px 5px 0px;
-  position: absolute;
-  bottom: 4px;
-  width: 100%;
-}
-
-.wizard-buttons div.pull-left {
-  position: absolute;
-  left: 15px;
-}
-
-.wizard-buttons div.pull-right {
-  position: absolute;
-  right: 15px;
-}
-
-.wizard-step-title {
-  font-weight: bold; 
-  font-size:medium;
-}
-
-div.realms div.summarize {
-  margin: 50px 100px;
-}
-
-.navbar a {
-  height: 55px
-}
-
-.navbar .footer a {
-  height: 34px
-}
-
-.navbar .user-footer a {
-  height: 34px
-}
-
-span.overridable div.checkbox {
-  float: right; 
-  margin: 0px; 
-  padding: 0px;
-}
-
-span.overridable div.checkbox label div div.toggle-group label {
-  padding-left: 7px;
-}
-
-div#outer.modal-lg, div#utilityModal.modal-lg, section#notifications .modal-lg {
-  max-width: 1200px;
-  width: 97%;
-}
-
-.details {
-  max-height: 401px;
-  overflow-x: hidden;
-  overflow-y: auto;
-  display: block
-}
-
-th.checkGroupColumn {
-  width: 20px;
-  text-align: center;
-  padding-right: 8px !important;
-}
-
-td.checkGroupColumn {
-  text-align: center;
-}
-
-/**
-  BEGIN - Style for Information panel
-*/
-div.information{
-  margin: 30px 0px 0px 0px; 
-  border: 1px solid #EEE; 
-  font-size: 10px;
-  color: #888;
-  display: inline-table; 
-  width: 100%; 
-  clear: both; 
-  float:none;
-  position: absolute;
-  bottom: -90px;
-  left: 0px;
-  padding: 2px;
-}
-
-div.infolabel{
-  margin-left: 5px; 
-  float:left; 
-  width: 150px;
-  font-weight: bold;
-  color: #888;
-}
-
-div.infoleft{
-  float:left; 
-  display: inline-table; 
-  width: 50%
-}
-
-div.inforight{ 
-  display: inline-table; 
-  width: 50%
-}
-
-div.inforow{
-  display: inline-table;
-  width: 100%
-}
-
-div.wrap{
-  word-wrap: break-word; 
-  width: 550px; 
-  margin-left: 155px;
-}
-/**
-END - Style for Information panel
-*/
-
-#ownership div.toggle {
-  width: 110px !important;
-}
-
-div.searchResult{
-  padding-top: 30px;
-  display: block;
-  clear: both;
-}
-
-.logs .input-group-addon .input-group-btn {
-  width: 130px !important;
-}
-
-.logs .col_width {
-  width: 90% !important;
-}
-
-.logs .box-header {
-  display: none !important;
-}
-
-.logs .box{
-  border-top: 0px !important;
-}
-
-*::after, *::before {
-  box-sizing: border-box;
-}
-
-.wicket-aa-container {
-  border-color: #eee;
-  box-shadow: none;
-  background-clip: padding-box;
-  background-color: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  border-radius: 4px;
-  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
-  float: left;
-  font-size: 14px;
-  min-width: 160px;
-  max-height: 250px;
-  z-index: 7001 !important;
-}
-
-div.wicket-aa ul {
-  list-style: none;
-  padding-left: 15px;
-}
-/**
-START - startAt
-*/
-div#startAt {
-  background-color: rgba(98, 98, 98, 0.98) !important;
-  color: #CCC;
-  right: 5px !important;
-  top: 100px !important;
-  min-width: 450px;
-  min-height: 130px !important;
-  z-index: 6000 !important;
-}
-
-div#itemTransformersTogglePanel {
-  min-width: 1000px;
-}
-
-div#startAtContainer {
-  padding: 15px;
-}
-
-div#startAtContainer input {
-  background-color: rgba(200, 200, 200, 0.60) !important;
-}
-/**
-END - startAt
-*/
-
-/**
-START - Notifications
-*/
-/*Temporany fix diagonal stacking*/
-.k-popup.k-notification {
-  box-shadow: none;
-}
-
-.k-notification-error.k-group {
-  background: rgba(100% , 0% , 0% , .7);
-  color: red;
-}
-
-.errorNotification {
-  width: 300px;
-  height: 100px;
-  vertical-align: middle;
-  display: table-cell;
-}
-
-.errorNotification #level {
-  float: left; 
-  padding-left: 10px; 
-  font-size: 2em; 
-  width: 2%;
-}
-
-.errorNotification #message {
-  float: right; 
-  padding-left: 0px; 
-  width:85%
-}
-
-.k-notification-success.k-group {
-  background: rgba(0% , 60% , 0% , .7);
-  color: #fff;
-}
-
-.successNotification {
-  width: 300px;
-  height: 100px;
-  vertical-align: middle;
-  display: table-cell;
-}
-
-.successNotification #level {
-  float: left; 
-  padding-left: 10px; 
-  font-size: 2em; 
-  width: 2%;
-}
-
-.successNotification #message {
-  float: right; 
-  padding-left: 0px; 
-  width:85%
-}
-/**
-EN - Notifications
-*/
-
-/**
-START - Actions
-*/
-.actions > li > a {
-  padding: 5px 0px 5px 0px !important;
-}
-
-div.listview-actions a {
-  float:left;
-  padding: 5px 0px 5px 0px !important;
-}
-
-.action a.btn {
-  padding: 0px;
-}
-
-.btn-circle, .circular-actions a {
-  border-radius: 15px !important;
-  font-size: 12px;
-  height: 30px;
-  line-height: 1.42857;
-  padding: 6px 0;
-  text-align: center;
-  width: 30px;
-}
-
-.circular-actions a.btn {
-  background-color: #3c8dbc;
-  border-color: #367fa9;
-  color: #fff;
-}
-
-.btn-circle i, .circular-actions a i {
-  margin: 0px;
-}
-
-.multipanel-btn-minus {
-  padding: 0px 0px 0px 6px;
-  border: 0 none !important;
-}
-
-.multipanel-btn-plus {
-  padding: 15px 0px 8px 6px;
-  border: 0 none !important;
-}
-
-.multipanel-box {
-  padding: 5px;
-  display: inline-table;
-  margin: 0px;
-}
-/**
-END - Actions
-*/
-
-/**
-START - DataTable
-*/
-.dataTable {
-  clear: both;
-}
-/**
-END - DataTable
-*/
-
-/**
-START - Result page
-*/
-.attribute {
-  padding: 0px 4px 0px 4px; 
-}
-
-.left {
-  float:left; 
-  width: 50%; 
-}
-
-.right {
-  float:right; 
-  width: 50%; 
-}
-
-span.highlight .attribute label {
-  color : red;
-}
-/**
-END - Result page
-*/
-
-.navbar-nav > .user-menu > .dropdown-menu > li.user-header {
-  height: auto !important;
-  padding: 10px;
-  text-align: center;
-}
-
-.nav-tabs-custom > .nav-tabs > li.active {
-  border-top-color: #d2d6de !important;
-}
-
-.code-deletion {
-  background-color: #ffdddd;
-  border-color: #f1c0c0;
-}
-
-.code-addition {
-  background-color: #dbffdb;
-  border-color: #c1e9c1;
-}
-
-/**
-START - AjaxDateTimePicker
-*/
-.input-auto-width {
-  width: auto !important;
-}
-
-.icon-top-position {
-  top: 5px !important;
-}
-
-/**
-END - AjaxDateTimePicker
-*/
-
-/**
-START - Search - AjaxDateTimePicker
-*/
-.searchBox .col-xs-12{
-  padding-left: 0px !important;
-  padding-right: 0px !important;
-}
-
-.clause{
-  display: block;
-  line-height: 34px;
-  width: 100%;
-}
-
-.clause .operator{
-  width: 65px !important;
-}
-
-.clause .operator .checkbox{
-  margin: 0px !important;
-}
-
-.clause .field {
-  line-height: 34px;
-  float: left;
-  padding: 0 3px 0px 0px;
-  display: inline-block !important;
-}
-
-.clause .type{
-  width: 170px !important;
-}
-
-.clause .type button{
-  width: 170px !important;
-}
-
-.clause .property{
-  width: 300px;
-}
-
-.clause .property button{
-  width: 300px;
-}
-
-.clause .comparator{
-  width: 100px;
-}
-
-.clause .comparator button{
-  width: 100px !important;
-}
-
-.clause .value{
-  width: 220px;
-}
-
-.clause .date{
-  width: 160px;
-}
-
-.clause .hours{
-  width: 45px;
-}
-
-.clause .separator{
-  width: 20px;
-  padding-left: 12px;
-}
-
-.clause .action{
-  float: left;
-  padding: 0px 7px 0px;
-}
-
-.searchBox .input-group-addon:last-child{
-  border: 1px solid #ccc !important;
-}
-
-.searchBox .input-group{
-  margin-top: 1px;
-}
-
-.custom-autocomplete-box li.selected {
-  background-color: #eee;
-}
-
-/**
-END - Search - AjaxDateTimePicker
-*/
-/**
-START - Parameters Details
-*/
-div#parametersForm{
-  min-height: 220px;
-}
-/**
-END - Parameters Details
-*/
-
-li.todoitem a {
-  cursor: default;
-}
-
-.popover{
-    max-width: 100%;
-}
-
-#popover:hover {
-  cursor: pointer;
-}
-
-.popover-content {
-  color: black;
-}
-
-.form-palette {
-  display: inline-block;
-  width: 119%;
-}
-
-.form-group-inline {
-  display: inline-table;
-  width: 100%;
-}
-
-div#userFilter #title{
-  margin: 10px 0 0 8px;
-  font-weight: bold;
-}
-
-div#userFilter  #warning{
-  margin: 1px 0 5px 8px;
-  color: #e00000;
-  font-size: 9px;
-}
-
-div#userFilter  #check {
-  margin: 1px 0 5px 8px;
-}
-
-.keyColumn {
-  width: 20px;
-}
-
-/**
-START - Alert widget onside menu
-*/
-div.alert-widget > a > .label {
-  font-size: 9px;
-  line-height: 0.9;
-  padding: 2px 3px;
-  position: absolute;
-  margin-left: 10px;
-  text-align: center;
-  top: 0px;
-}
-
-div.alert-widget > a {
-  display: block;
-  position: relative;
-}
-
-div.alert-widget > a > i {
-  position: absolute;
-  top: 9px;
-}
-
-div.alert-widget{
-  text-align: center;
-  vertical-align: middle;
-  padding-right: 20px;
-}
-
-div.alert-widget .dropdown-menu > li.header {
-  background-color: #ffffff;
-  border-bottom: 1px solid #f4f4f4;
-  border-radius: 4px 4px 0 0;
-  color: #444444;
-  font-size: 14px;
-  padding: 7px 10px;
-}
-
-div.alert-widget .dropdown-menu > li.footer > a {
-  background-color: #fff;
-  border-radius: 0 0 4px 4px;
-  color: #444 !important;
-  font-size: 12px;
-  padding: 7px 10px;
-  text-align: center;
-}
-
-div.alert-widget .dropdown-menu > li .menu {
-  list-style: outside none none;
-  padding: 10px;
-}
-/**
-END - Alert widget onside menu
-*/
-
-/**
-START - Transformers toggle panel
-*/
-div.transformersTogglePanel {
-  background-color: rgba(140, 140, 140, 0.99) !important;
-  width: 1000px !important;
-}
-
-div.transformersContainer {
-  padding: 15px;
-}
-
-div.transformersContainer input {
-  background-color: rgba(200, 200, 200, 0.60) !important;
-}
-
-div.transformersContainer #footer {
-  clear: both;
-  display: block;
-  text-align: right;
-  margin-top: 10px;
-}
-
-div.transformersContainer #body {
-  clear: both;
-  display: block;
-}
-
-div.itemTransformersContainer #body select {
-  border: 1px solid #ccc !important;
-  background: rgba(240, 240, 240, 0.95) !important
-}
-
-div.itemTransformersContainer #body a {
-  color: #ccc !important;
-  cursor: pointer !important;
-}
-
-div#jexlTransformersTogglePanel {
-  right: 400px;
-}
-/**
-END - Transformers toggle panel
-*/
-
-/**
-START - CRONTAB
-*/
-div#schedule input, div#schedule fieldset {
-  width: 50px;
-  float: left
-}
-
-div#templates {
-  padding-top: 30px;
-  clear: both;
-}
-/**
-END - CRONTAB
-*/
-
-/**
-START - EVENTS
-*/
-.events {
-  display: table-row;
-  width: 990px;
-}
-
-.selectedEvents {
-  display: inline-block;
-  height: 100px;
-  margin: 10px 10px 0 10px;
-  overflow-y: auto;
-}
-
-.eventSelection {
-  display: inline-table;
-  float: right;
-  width: 380px;
-  min-width: 530px;
-}
-
-.eventSelection div#value {
-  height: auto;
-  overflow: hidden;
-}
-
-.eventSelection div#value div#custom {
-  width: auto;
-  overflow: hidden;
-}
-
-.eventSelection div#value div#customActions {
-  width: 85px;
-  float: right;
-}
-
-div#selectionContainer select {
-  width: 585px;
-  min-width: 585px;
-}
-/**
-END - EVENTS
-*/
-
-fieldset.input-group {
-  width: 100%;
-}
-
-div.modal-content > div.modal-header {
-  background-color: #f0f0f0;
-  height: 64px;
-}
-
-div.modal-content > div.modal-footer {
-  background-color: #f0f0f0;
-  height: 64px;
-}
-
-.modal-body .box-body div.background-footer {
-  display: none !important;
-}
-
-div.background-footer {
-  background-color: #f0f0f0;
-  display: block;
-  height: 64px;
-  margin-bottom: -15px;
-  margin-left: -30px;
-  margin-top: -25px;
-  width: 1300px;
-}
-
-.logviewer-btn {
-  padding: 0px 16px 20px 0px;
-  float: right;
-}
-
-div#editUserChangePassword > label {
-  color: #e00000;
-}
-
-div > li {
-  list-style-type: none; 
-}
-
-th ul.menu, div#inline-actions ul.menu, div#tablehandling ul.menu, div.listview-actions ul.menu {
-  list-style-type: none;  
-  margin: 0;
-  padding: 0;
-}
-
-div#tablehandling ul.menu{
-  float: right;
-}
-
-th ul.menu li, div#inline-actions ul.menu li, div#tablehandling ul.menu li, div.listview-actions ul.menu li {
-  display: inline-block;
-}
-
-th ul.menu li a, div#inline-actions ul.menu li a, div.listview-actions ul.menu li a, div#tablehandling ul.menu li a {
-  margin-left: 5px;
-  display: inline-block !important;
-}
-
-ul.menu li a {
-  display: block;
-  cursor: pointer !important;
-}
-
-ul.menu i {
-  width: 35px;
-}
-
-div#inline-actions ul.menu i, div#tablehandling ul.menu i {
-  width: auto !important;
-}
-
-.toggle-menu ul.menu li a {
-  padding: 0px;
-  text-align: left;
-}
-
-div#tablehandling ul.menu li a {
-  padding: 0px !important;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
similarity index 71%
copy from client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css
copy to client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
index 21b9201..042f3ce 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css
+++ b/client/idrepo/console/src/main/resources/META-INF/resources/css/syncopeConsole.scss
@@ -16,29 +16,3 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-.btn-accessibility {
-  position: absolute;
-  right: 0;
-  font-size: 12px;
-  padding: 15px 15px 0 0;
-}
-
-.btn-accessibility i {
-  font-size: 30px;
-}
-
-.btn-accessibility:hover {
-  cursor:pointer;
-}
-
-.control-sidebar-menu a:focus {
-  outline: 1px #949494 solid;
-}
-
-#change_contrast {
-  top: 0;
-}
-#change_fontSize {
-  top: 40px;
-}
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/topology.css b/client/idrepo/console/src/main/resources/META-INF/resources/css/topology.css
deleted file mode 100644
index e153619..0000000
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/topology.css
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-.window {
-  border:1px solid #346789;
-  box-shadow: 2px 2px 19px #aaa;
-  -o-box-shadow: 2px 2px 19px #aaa;
-  -webkit-box-shadow: 2px 2px 19px #aaa;
-  -moz-box-shadow: 2px 2px 19px #aaa;
-  -moz-border-radius:0.5em;
-  border-radius:0.5em;
-  opacity:0.8;
-  filter:alpha(opacity=80);
-  width:140px; height:55px;
-  line-height:5em;
-  text-align:center;
-  z-index:20; position:absolute;
-  background-color:#eeeeef;
-  color:black;
-  font-family:helvetica;padding:0.0em;
-  font-size:0.9em;
-  vertical-align: middle;
-  cursor: pointer;
-}
-
-.active-window {
-  box-shadow: 2px 2px 8px rgb(0, 166, 90);
-}
-
-.inactive-window {
-  box-shadow: 2px 2px 19px #aaa;
-}
-
-.window p {
-  margin: 0px !important;
-  line-height: 1.5em;
-  font-size: 1.5em;
-  display: inline-table;
-}
-
-.topology_root {
-  background-color:rgba(0,170,0,0.4);
-}
-
-.topology_cs {
-  background-color:rgba(0,100,0,0.10);
-}
-
-.topology_conn {
-  background-color:rgba(100,200,200,0.08);
-}
-
-.topology_res {
-  background-color:rgba(250,230,0,0.09);
-}
-
-.window:hover {
-  box-shadow: 2px 2px 19px #444;
-  -o-box-shadow: 2px 2px 19px #444;
-  -webkit-box-shadow: 2px 2px 19px #444;
-  -moz-box-shadow: 2px 2px 19px #444;
-  opacity:0.6;
-  filter:alpha(opacity=60);
-}
-
-._jsPlumb_dragging { 
-  z-index:4000;
-}
-
-#drawing ._jsPlumb_overlay.component.label{
-  background-color: white;
-  border: 1px solid #346789;
-  border-radius: 0.5em 0.5em 0.5em 0.5em;
-  color: black;
-  font-size: 0.8em;
-  opacity: 0.8;
-  padding: 0.5em;
-}
-
-.aLabel {
-  background-color:white; 
-  padding:0.4em; 
-  font:12px sans-serif; 
-  color:#444;
-  z-index:21;
-  border:1px dotted gray;
-  opacity:0.8;
-  filter:alpha(opacity=80);
-  cursor: pointer;
-}
-.aLabel._jsPlumb_hover {
-  background-color:#5C96BC;
-  color:white;	
-  border:1px solid white;
-}
-
-div#topology {
-  position: relative; 
-  border: 0px; 
-  height: 780px;
-  overflow: hidden;
-}
-
-div#drawing {
-  height: 5000px;
-  width: 5000px;
-  display: block;
-  position: relative;
-  top: -2490px;
-  left: -2270px;
-}
-
-div#zoom {
-  text-align: right;
-  width: 100%;
-  border: none;
-  background: none;
-  padding-top: 5px;
-}
-
-div#zoom .btn {
-  padding : 0px;
-}
-
-div#zoom .fa{
-  font-size: 2em;
-  padding-right: 5px;
-}
-
-div.node-action-link {
-  clear: both;
-  display: block;
-  height: 0px;
-  padding: 3px 8px 0px 0px;
-  position: absolute;
-  right: 0;
-  top: 0;
-}
-
-div.node-action-link .fa{
-  font-size: 14px;
-  display: block !important;
-}
-
-div.node-action-link .dropdown-menu{
-  border-radius: 12px;
-  min-width: 50px;
-  width: 50px;
-}
-
-.window[data-original-title]:hover::after{
-  border: 1px solid #BBB;
-  padding: 5px 10px;
-  background: #EEE;
-  content: attr(data-original-title);
-  position: relative;
-  right: -5px;
-  top:-70px;
-  white-space: nowrap;
-  text-align: center;
-  height: 20px;
-  margin: 0px;
-  border-radius: 0.5em;
-}
-
-div#zoom ul.menu {
-  list-style-type: none;  
-  margin: 0;
-  padding: 0;
-}
-
-div#zoom ul.menu li {
-  display: inline-block;
-}
-
-div#zoom ul.menu li a {
-  display: inline-block;
-  margin-left: 5px;
-}
-
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/img/logo-green.png b/client/idrepo/console/src/main/resources/META-INF/resources/img/logo-green.png
deleted file mode 100644
index c57b86c..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/img/logo-green.png and /dev/null differ
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/img/logo.png b/client/idrepo/console/src/main/resources/META-INF/resources/img/logo.png
deleted file mode 100644
index f05105e..0000000
Binary files a/client/idrepo/console/src/main/resources/META-INF/resources/img/logo.png and /dev/null differ
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 310d975..3559dac 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
@@ -24,19 +24,21 @@ under the License.
 
     <title>Apache Syncope</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css"/>
-    <link href="css/fonts.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="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"/>
 
     <!-- accessibility -->
-    <link href="css/accessibility.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript" src="js/accessibility.js"></script>
+    <link href="ui-commons/css/accessibility.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="ui-commons/js/accessibility.js"></script>
 
     <script type="text/javascript" src="webjars/bootbox/${bootbox.version}/bootbox.js"></script>
     <script type="text/javascript" src="webjars/jQuery-slimScroll/${jquery-slimscroll.version}/jquery.slimscroll.min.js"></script>
@@ -45,7 +47,7 @@ under the License.
       var proceed = false;
       // configure AdminLTE
       $.AdminLTE.options['enableBSToppltip'] = false;
-    </script>    
+    </script>
   </head>
   <body class="skin-green-light hold-transition sidebar-mini" wicket:id="body">
 
@@ -53,8 +55,8 @@ under the License.
       <span wicket:id="feedback"></span>
       <header class="main-header">
         <a href="#" class="logo logo-pos">
-          <span class="logo-mini"><img src="img/logo-mini.png"/></span>
-          <span class="logo-lg"><img src="img/logo.png"/></span>
+          <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">
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 973c1bc..93ff34a 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
@@ -25,18 +25,19 @@ under the License.
 
     <title>Apache Syncope - Login</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
-    <link href="css/fonts.css" rel="stylesheet" type="text/css"/>
+    <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/login.css" rel="stylesheet" type="text/css" />
-    <link href="css/syncopeConsole.css" rel="stylesheet" type="text/css" />
+    <link href="ui-commons/css/login.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"/>
 
     <!-- accessibility -->
-    <link href="css/accessibility.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript" src="js/accessibility.js"></script>
+    <link href="ui-commons/css/accessibility.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="ui-commons/js/accessibility.js"></script>
   </head>
 
   <body class="login-body">
@@ -54,7 +55,7 @@ under the License.
     </div>
     <div class="container">
       <div class="login-card card card-container">
-        <img class="login-logo" src="img/logo-green.png" />
+        <img class="login-logo" src="ui-commons/img/logo-green.png" />
 
         <span wicket:id="feedback" role="alert"/>
         <div class="box alert-danger" style="padding: 5px;text-align: center;" wicket:id="exceptionMessage"/>
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 037ea71..f56c96d 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
@@ -25,18 +25,19 @@ under the License.
 
     <title>Apache Syncope - Change password</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
-    <link href="css/fonts.css" rel="stylesheet" type="text/css"/>
+    <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/syncopeConsole.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"/>
   </head>
   <body>
     <div class="container">
       <div class="card card-container">
-        <img class="login-logo" src="img/logo-green.png" />
+        <img class="login-logo" src="ui-commons/img/logo-green.png" />
 
         <span wicket:id="feedback"></span>
 
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 5eae3ca..5b18d51 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
@@ -46,7 +46,7 @@ body {
   position: relative;
 }
 .layout-boxed {
-  background: url('../img/boxed-bg.jpg') repeat fixed;
+  background: url('ui-commons/img/boxed-bg.jpg') repeat fixed;
 }
 /*
  * Content Wrapper - contains the main content
diff --git a/client/idrepo/enduser/pom.xml b/client/idrepo/enduser/pom.xml
index f2cb5c1..2773c5b 100644
--- a/client/idrepo/enduser/pom.xml
+++ b/client/idrepo/enduser/pom.xml
@@ -186,6 +186,31 @@ under the License.
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
       </plugin>
+      
+      <plugin>
+        <groupId>nl.geodienstencentrum.maven</groupId>
+        <artifactId>sass-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>sass-compilation</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>update-stylesheets</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <resources>
+            <resource>
+              <source>
+                <directory>${basedir}/src/main/resources/META-INF/resources/css</directory>
+              </source>
+              <destination>${project.build.outputDirectory}/META-INF/resources/css</destination>
+            </resource>
+          </resources>
+        </configuration>
+      </plugin>
     </plugins>
     
     <resources>
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
index c5bf95b..a6ccabe 100644
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
+++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SyncopeWebApplication.java
@@ -18,14 +18,12 @@
  */
 package org.apache.syncope.client.enduser;
 
-import org.apache.syncope.client.enduser.themes.EnduserTheme;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.giffing.wicket.spring.boot.starter.app.WicketBootStandardWebApplication;
 import de.agilecoders.wicket.core.Bootstrap;
 import de.agilecoders.wicket.core.settings.BootstrapSettings;
 import de.agilecoders.wicket.core.settings.IBootstrapSettings;
-import de.agilecoders.wicket.core.settings.SingleThemeProvider;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
@@ -243,9 +241,6 @@ public class SyncopeWebApplication extends WicketBootStandardWebApplication {
         // Application settings
         IBootstrapSettings settings = new BootstrapSettings();
 
-        // set theme provider
-        settings.setThemeProvider(new SingleThemeProvider(new EnduserTheme()));
-
         // install application settings
         Bootstrap.install(this, settings);
 
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserTheme.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserTheme.java
deleted file mode 100644
index 0320ba3..0000000
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserTheme.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.enduser.themes;
-
-import de.agilecoders.wicket.core.settings.Theme;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.HeaderItem;
-
-public class EnduserTheme extends Theme {
-
-    public EnduserTheme() {
-        super("adminLTE");
-    }
-
-    @Override
-    public List<HeaderItem> getDependencies() {
-        List<HeaderItem> references = new ArrayList<>();
-//        references.add(JavaScriptHeaderItem
-//.forReference(new JQueryPluginResourceReference(EnduserTheme.class, "js/AdminLTE-app.min.js"), "adminltejs"));
-        references.add(CssHeaderItem.forReference(EnduserThemeCssResourceReference.INSTANCE));
-        references.addAll(super.getDependencies());
-        return references;
-    }
-}
diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserThemeCssResourceReference.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserThemeCssResourceReference.java
deleted file mode 100644
index b306560..0000000
--- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/themes/EnduserThemeCssResourceReference.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.client.enduser.themes;
-
-import de.agilecoders.wicket.core.Bootstrap;
-import java.util.ArrayList;
-import java.util.List;
-import org.apache.wicket.markup.head.CssHeaderItem;
-import org.apache.wicket.markup.head.HeaderItem;
-import org.apache.wicket.request.resource.CssResourceReference;
-
-public class EnduserThemeCssResourceReference extends CssResourceReference {
-
-    private static final long serialVersionUID = -7658929012906790600L;
-
-    /**
-     * Singleton instance of this reference.
-     */
-    public static final EnduserThemeCssResourceReference INSTANCE = new EnduserThemeCssResourceReference();
-
-    public EnduserThemeCssResourceReference() {
-        super(EnduserThemeCssResourceReference.class, "css/login.css");
-    }
-
-    @Override
-    public List<HeaderItem> getDependencies() {
-        final List<HeaderItem> dependencies = new ArrayList<>();
-        dependencies.add(CssHeaderItem.forReference(Bootstrap.getSettings().getCssResourceReference()));
-        dependencies.addAll(super.getDependencies());
-        return dependencies;
-    }
-}
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css b/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css
deleted file mode 100644
index aa4d5b9..0000000
--- a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/* General
-============================================================================= */
-.content-wrapper,
-.content-wrapper .box,
-.modal-content,
-.modal-header,
-.background-footer,
-input:not(:disabled):not([type="file"]),
-select,
-select option,
-button:not(.close),
-.table .sorting,
-.dataTables_paginate a,
-.modal-footer,
-.box-header,
-.dropdown-menu,
-.main-footer,
-.circular-actions a,
-.k-select,
-.file-caption.kv-fileinput-caption {
-  color: #f7f7f7 !important;
-  background-color: #0f1417 !important;
-}
-
-
-.dataTable thead th:after,
-.close {
-  color: #f7f7f7 !important;
-  opacity: 0.8 !important;
-}
-
-
-.input-group-addon a,
-.input-group-addon i,
-.dropdown-menu > li:not(.disabled) > a:hover,
-.dropdown-menu > li:not(.disabled) > a:hover span,
-.dropdown-menu > li:not(.disabled) > a:focus,
-.dropdown-menu > li:not(.disabled) > a:focus span,
-#startAtContainer .input-group-addon span,
-#startAtContainer .k-widget span,
-#startAtContainer .k-widget i,
-#startAtContainer .k-widget input,
-.modal-footer i,
-.navbar-nav > .user-menu > .dropdown-menu > .user-footer .btn-default,
-.content-wrapper .nav-tabs a,
-.wrapper .content-wrapper .nav.nav-tabs li.active a span,
-.wrapper .content-wrapper .nav.nav-tabs li.active a,
-.wrapper .content-wrapper .nav.nav-tabs li a:hover span,
-.wrapper .content-wrapper .nav.nav-tabs li a:hover,
-.wrapper .content-wrapper .nav.nav-tabs li a:active span,
-.wrapper .content-wrapper .nav.nav-tabs li a:active,
-.wrapper .content-wrapper .nav.nav-tabs li a:focus span,
-.wrapper .content-wrapper .nav.nav-tabs li a:focus,
-.wrapper .content-wrapper .tab-content .btn-primary .fa-download {
-  color: #000000 !important;
-}
-
-
-.content-wrapper a:not(.btn-primary),
-.content-wrapper span:not(.label-info):not([role="presentation"]):not([class^='cm-']),
-.content-wrapper p,
-.content-wrapper .box-title a,
-.realm-choice .dropdown-menu > li:not(.disabled) > a:hover,
-.realm-choice .dropdown-menu > li:not(.disabled) > a:hover span,
-.realm-choice .dropdown-menu > li:not(.disabled) > a:focus,
-.realm-choice .dropdown-menu > li:not(.disabled) > a:focus span,
-.box-header,
-.breadcrumb .active,
-table tbody tr:hover button span,
-.dropdown-menu > li > a,
-.modal-header button,
-.circular-actions a i,
-.wizard-form .input-group-addon i,
-#startAtContainer .input-group-addon i,
-.attribute .input-group-addon i {
-  color: #f7f7f7 !important;
-}
-
-
-.box.box-primary {
-  border-top-color: #f7f7f7;
-}
-
-
-img,
-.content-wrapper div.btn.btn-file span.hidden-xs {
-  background-color: #f7f7f7;
-  color: #000000 !important;
-}
-.btn-primary,
-.callout.callout-info,
-.alert-info,
-.label-info,
-.modal-info .modal-body {
-  background-color: #f7f7f7 !important;
-  color: #000000 !important;
-}
-
-
-.logo img,
-.modal-content .input-group .input-group-addon {
-  background-color: transparent;
-}
-
-
-.modal-dialog {
-  border: 2px solid white;
-}
-
-
-#veil:not(:required):after {
-  -webkit-box-shadow: #f7f7f7 1.5em 0 0 0, 
-    #f7f7f7 1.1em 1.1em 0 0, 
-    #f7f7f7 0 1.5em 0 0,
-    #f7f7f7 -1.1em 1.1em 0 0, 
-    rgba(0, 0, 0, 0.5) -1.5em 0 0 0, 
-    rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, 
-    #f7f7f7 0 -1.5em 0 0, 
-    #f7f7f7 1.1em -1.1em 0 0;
-  box-shadow: #f7f7f7 1.5em 0 0 0, 
-    #f7f7f7 1.1em 1.1em 0 0, 
-    #f7f7f7 0 1.5em 0 0, 
-    #f7f7f7 -1.1em 1.1em 0 0, 
-    #f7f7f7 -1.5em 0 0 0, 
-    #f7f7f7 -1.1em -1.1em 0 0, 
-    #f7f7f7 0 -1.5em 0 0, 
-    #f7f7f7 1.1em -1.1em 0 0; 
-}
-
-
-.input-group input:disabled,
-.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,
-.k-block, 
-.k-draghandle, 
-.k-grid-header, 
-.k-grouping-header, 
-.k-header, 
-.k-pager-wrap, 
-.k-toolbar, 
-.k-treemap-tile,
-.k-picker-wrap,
-.k-state-disabled,
-.km-pane-wrapper .k-header {
-  background-color: rgba(108, 115, 117, 0.55);
-}
-
-
-.sidebar-mini .main-header .navbar {
-  background-color: #222d32; /* color from 'skin-blue' */
-  border-bottom: 1px white solid;
-  box-sizing: border-box;
-}
-.sidebar-mini .main-header .logo,
-div.toggle-menu,
-.skin-blue .main-header li.user-header {
-  background-color: #222d32;
-}
-
-
-div.toggle-menu {
-  border: 1px solid #f7f7f7;
-}
-
-
-a,
-.pagination > .active > a, 
-.pagination > .active > a:focus, 
-.pagination > .active > a:hover, 
-.pagination > .active > span, 
-.pagination > .active > span:focus, 
-.pagination > .active > span:hover {
-  border-color: #76abd9;
-}
-a {
-  color: #76abd9;
-}
-
-
-.logs button.btn-primary {
-  border-color: #f7f7f7;
-}
-.logs button.btn-primary:hover {
-  border-color: #adadad;
-}
-div.infolabel,
-.input-group input:disabled,
-.input-group input[disabled] {
-  color: #d2d2d2;
-}
-
-
-.bg-red,
-.callout.callout-danger,
-.alert-danger,
-.alert-error,
-.label-danger,
-.modal-danger .modal-body,
-.btn-danger.active, 
-.btn-danger:active, 
-.open>.dropdown-toggle.btn-danger {
-  background-color: #942819 !important;
-}
-.bg-yellow {
-  background-color: #6F4706 !important;
-}
-.bg-green,
-.copy-clipboard-feedback,
-.btn-success,
-.callout.callout-success, 
-.alert-success, 
-.label-success, 
-.modal-success .modal-body {
-  background-color: #005C32 !important;
-}
-.bg-aqua {
-  background-color: #004E61 !important;
-}
-.bg-yellow, 
-.callout.callout-warning, 
-.alert-warning, 
-.label-warning, 
-.modal-warning .modal-body {
-  background-color: #6F4706 !important;
-}
-.callout.callout-warning {
-  border-color: #6F4706;
-}
-
-
-.bootstrap-select .btn.btn-default {
-  background-color: rgba(101, 101, 101, 0.7) !important;
-}
-
-
-/* Login page
-============================================================================= */
-.login-body {
-  background-image: linear-gradient(rgb(31, 109, 142), #004626);
-}
-
-.login-logo {
-  background: transparent;
-}
-
-.btn-accessibility {
-  color: #f7f7f7 !important;
-}
-
-.form-signin .btn-primary, 
-.form-signin .btn-primary {
-  border: 2px solid white;
-}
-.form-signin .btn-primary.focus, 
-.form-signin .btn-primary:focus {
-  border-color: #8c8c8c;
-}
-
-.login-card {
-  background-color: #0f1417;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/login.css b/client/idrepo/enduser/src/main/resources/META-INF/resources/css/login.css
deleted file mode 100644
index 575df66..0000000
--- a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/login.css
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-body, html {
-  height: 100% !important;
-  background-repeat: no-repeat;
-  background-image: linear-gradient(rgb(104, 145, 162), #00a65a);
-}
-
-.card-container.card {
-  width: 350px;
-  padding: 40px 40px;
-}
-
-.btn {
-  font-weight: 700;
-  height: 36px;
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  user-select: none;
-  cursor: default;
-}
-
-/*
- * Card component
- */
-.card {
-  background-color: #F7F7F7;
-  /* just in case there no content*/
-  padding: 20px 25px 30px;
-  margin: 0 auto 25px;
-  margin-top: 50px;
-  /* shadows and rounded borders */
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-  border-radius: 2px;
-  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-}
-
-.login-logo {
-  width: 200px;
-  margin: 0 auto 10px;
-  display: block;
-}
-
-/*
- * Form styles
- */
-.profile-name-card {
-  font-size: 16px;
-  font-weight: bold;
-  text-align: center;
-  margin: 10px 0 0;
-  min-height: 1em;
-}
-
-.form-signin #inputPassword,
-.form-signin #inputPassword {
-  direction: ltr;
-  height: 44px;
-  font-size: 16px;
-}
-
-.form-signin input[type=password],
-.form-signin input[type=text],
-.form-signin button {
-  width: 100%;
-  display: block;
-  margin-bottom: 10px;
-  z-index: 1;
-  position: relative;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-}
-
-.form-signin .form-control:focus {
-  border-color: rgb(104, 145, 162);
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgb(104, 145, 162);
-  box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgb(104, 145, 162);
-}
-
-.btn.btn-signin {
-  background-color: rgb(104, 145, 162);
-  padding: 0px;
-  font-weight: 700;
-  font-size: 14px;
-  height: 36px;
-  -moz-border-radius: 3px;
-  -webkit-border-radius: 3px;
-  border-radius: 3px;
-  border: none;
-  -o-transition: all 0.218s;
-  -moz-transition: all 0.218s;
-  -webkit-transition: all 0.218s;
-  transition: all 0.218s;
-}
-
-.btn.btn-signin:hover,
-.btn.btn-signin:active,
-.btn.btn-signin:focus {
-  background-color: #00a65a;
-}
-
-.btn.btn-sso {
-  padding: 0px;
-  font-weight: 700;
-  font-size: 14px;
-  height: 36px;
-  -moz-border-radius: 3px;
-  -webkit-border-radius: 3px;
-  border-radius: 3px;
-  border: none;
-  -o-transition: all 0.218s;
-  -moz-transition: all 0.218s;
-  -webkit-transition: all 0.218s;
-  transition: all 0.218s;
-}
-
-.btn.btn-sso:hover,
-.btn.btn-sso:active,
-.btn.btn-sso:focus {
-  background-color: #00a65a;
-}
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.css b/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.css
deleted file mode 100644
index c2dcf2c..0000000
--- a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.css
+++ /dev/null
@@ -1,1164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-pre {
-  white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
-  white-space: -pre-wrap; /* Opera */
-  white-space: -o-pre-wrap; /* Opera */
-  white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
-  word-wrap: break-word; /* IE 5.5+ */
-}
-
-/* Absolute Center Spinner */
-#veil {
-  display:none;
-  position: fixed;
-  z-index:99999;
-  height: 2em;
-  width: 2em;
-  overflow: show;
-  margin: auto;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-}
-
-/* Transparent Overlay */
-#veil:before {
-  content: '';
-  display: block;
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: rgba(0,0,0,0.3);
-}
-
-/* :not(:required) hides these rules from IE9 and below */
-#veil:not(:required) {
-  /* hide "loading..." text */
-  font: 0/0 a;
-  color: transparent;
-  text-shadow: none;
-  background-color: transparent;
-  border: 0;
-}
-
-#veil:not(:required):after {
-  content: '';
-  display: block;
-  font-size: 10px;
-  width: 1em;
-  height: 1em;
-  margin-top: -0.5em;
-  -webkit-animation: spinner 2000ms infinite linear;
-  -moz-animation: spinner 2000ms infinite linear;
-  -ms-animation: spinner 2000ms infinite linear;
-  -o-animation: spinner 2000ms infinite linear;
-  animation: spinner 2000ms infinite linear;
-  border-radius: 0.5em;
-  -webkit-box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
-  box-shadow: rgba(0, 0, 0, 0.75) 1.5em 0 0 0, rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) 0 1.5em 0 0, rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.75) -1.5em 0 0 0, rgba(0, 0, 0, 0.75) -1.1em -1.1em 0 0, rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0;
-}
-
-/* Animation */
-
-@-webkit-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@-moz-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@-o-keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@keyframes spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -moz-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    -o-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -moz-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    -o-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-
-.block-sidebar {
-  max-height: 100% !important; 
-  overflow: auto !important; 
-  padding-top: 90px !important; 
-  padding-bottom: 50px !important; 
-  position: fixed !important;
-  width: 245px !important;
-}
-
-.inner-control-sidebar {
-  position: fixed; 
-  height: auto;
-}
-
-.content-margin-layout {
-  margin: 0px 230px 0px 0px !important;
-  padding: 20px !important;
-}
-
-.admin-content-page {
-  padding: 20px;
-  background: #ecf0f5
-}
-
-.realms {
-  min-height: 554px
-}
-
-.realm-header {
-  clear: both;
-  display:block;
-  display: inline-table;
-  margin: 0 0 10px;
-  line-height: 25px;
-}
-
-.realm-label {
-  float: left;
-  font-size: 16px;
-}
-
-.realm-label label {
-  font-weight: 600 !important;
-}
-
-.realm-choice {
-  right: 0px;
-  position: absolute;
-}
-
-.realm-header .dropdown-menu li a {
-  text-align: left !important;
-  white-space: pre !important;
-  line-height: 7px;
-}
-
-.block-header {
-  position: fixed !important;
-  width: 100% !important;
-  top: 0 !important;
-}
-
-.block-footer {
-  position: fixed !important;
-  width: 100% !important;
-  bottom: 0px !important;
-}
-
-.logo-pos {
-  padding-top: 4px !important;
-  overflow: visible !important;
-}
-
-.angle {
-  border: medium none !important;
-  cursor: pointer;
-  display: inline-table !important;
-  float: right;
-  height: 30px;
-  overflow: hidden;
-  position: relative !important;
-  right: 0;
-  top: -30px;
-  width: 25%;
-  z-index: 3;
-}
-
-.main-header .logo {
-  height: 55px !important;
-}
-
-.w_caption h3 {
-  font-size: 16px;
-}
-
-div.wicket-modal div.w_content_3 {
-  border: 1px solid #eee;
-  border-radius: 20px;
-  padding: 5px;
-}
-
-.tab-content {
-  margin-bottom: 10px;
-  margin-top: 5px;
-  position: relative;
-  overflow-x: hidden;
-  overflow-y: auto;
-  padding: 20px 20px 5px 20px;
-}
-
-.modal-body .tab-content .information {
-  position: relative !important;
-}
-
-.scrollable-tab-content {
-  overflow-y: auto;
-  max-height: 480px;
-}
-
-.inner-scrollable-tab-content {
-  height: 430px;
-  margin-top: 20px;
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-
-a.help {
-  position: relative;
-  display: inline;
-  text-decoration: none;
-}
-
-a.help span {
-  position: absolute;
-  width:19em;
-  color: #000000;
-  background: whitesmoke;
-  visibility: hidden;
-  border-radius: 0px;
-  padding: 3px;
-}
-
-a.help span:after {
-  position: absolute;
-  top: 50%;
-  left: 100%;
-  margin-top: -8px;
-  width: 0;
-  height: 0;
-}
-
-a.help span {
-  visibility: visible;
-  opacity: none;
-  right: 100%;
-  top: 50%;
-  margin-right: 4px;
-  margin-top: -11px;
-  border: 1px solid black;
-  z-index: 1000000;
-}
-
-a.help span a {
-  color: #463;
-  text-decoration: none;
-}
-
-.modal-open .modal {
-  overflow: hidden;
-}
-
-.modal-body {
-  max-height: 550px;
-  overflow-y: auto;
-  overflow-x: hidden;
-}
-
-.modal {
-  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
-  z-index: 7000 !important;
-}
-
-.wizard-step-title {
-  font-size: 18px !important;
-  font-weight: normal !important;
-  margin-bottom: 10px !important;
-}
-
-div.wizard-view div.wizard-view{
-  max-height: 380px;
-  height: 380px;
-  overflow-y: auto;
-  overflow-x: hidden;
-  padding: 50px 20px 50px 20px;
-}
-
-.wizard-view .wizard-form{
-  max-height: 450px;
-  height: 450px;
-}
-
-.modal-body .tab-content .wizard-view {
-  max-height: 330px !important;
-  height: 330px !important;
-}
-
-.modal-body .tab-content .wizard-form {
-  max-height: 400px !important;
-  height: 400px !important;
-}
-
-.wizard-view > div {
-  display: block;
-  height: 95%;
-  position: relative;
-}
-
-.wizard-view {
-  padding: 0px 5px;
-}
-
-.wizard-form {
-  height:480px;
-  position: relative;
-}
-
-.wizard-form > div {
-  max-height: 440px;
-  height: 440px;
-  overflow-y: auto;
-  overflow-x: hidden;
-  padding: 0px;
-}
-
-.box-body .wizard-form {
-  height:400px !important;
-}
-
-.box-body .wizard-form > div {
-  height: 360px !important;
-}
-
-div.modal-body div.box-body div.wizard-buttons {
-  bottom: 30px;
-}
-
-.wizard-buttons {
-  padding: 10px 0px 5px 0px;
-  position: absolute;
-  bottom: 4px;
-  width: 100%;
-}
-
-.wizard-buttons div.pull-left {
-  position: absolute;
-  left: 15px;
-}
-
-.wizard-buttons div.pull-right {
-  position: absolute;
-  right: 15px;
-}
-
-.wizard-step-title {
-  font-weight: bold; 
-  font-size:medium;
-}
-
-div.realms div.summarize {
-  margin: 50px 100px;
-}
-
-.navbar a {
-  height: 55px
-}
-
-.navbar .footer a {
-  height: 34px
-}
-
-.navbar .user-footer a {
-  height: 34px
-}
-
-span.overridable div.checkbox {
-  float: right; 
-  margin: 0px; 
-  padding: 0px;
-}
-
-span.overridable div.checkbox label div div.toggle-group label {
-  padding-left: 7px;
-}
-
-div#outer.modal-lg, div#utilityModal.modal-lg, section#notifications .modal-lg {
-  max-width: 1200px;
-  width: 97%;
-}
-
-.details {
-  max-height: 401px;
-  overflow-x: hidden;
-  overflow-y: auto;
-  display: block
-}
-
-th.checkGroupColumn {
-  width: 20px;
-  text-align: center;
-  padding-right: 8px !important;
-}
-
-td.checkGroupColumn {
-  text-align: center;
-}
-
-/**
-  BEGIN - Style for Information panel
-*/
-div.information{
-  margin: 30px 0px 0px 0px; 
-  border: 1px solid #EEE; 
-  font-size: 10px;
-  color: #888;
-  display: inline-table; 
-  width: 100%; 
-  clear: both; 
-  float:none;
-  position: absolute;
-  bottom: -90px;
-  left: 0px;
-  padding: 2px;
-}
-
-div.infolabel{
-  margin-left: 5px; 
-  float:left; 
-  width: 150px;
-  font-weight: bold;
-  color: #888;
-}
-
-div.infoleft{
-  float:left; 
-  display: inline-table; 
-  width: 50%
-}
-
-div.inforight{ 
-  display: inline-table; 
-  width: 50%
-}
-
-div.inforow{
-  display: inline-table;
-  width: 100%
-}
-
-div.wrap{
-  word-wrap: break-word; 
-  width: 550px; 
-  margin-left: 155px;
-}
-/**
-END - Style for Information panel
-*/
-
-#ownership div.toggle {
-  width: 110px !important;
-}
-
-div.searchResult{
-  padding-top: 30px;
-  display: block;
-  clear: both;
-}
-
-.logs .input-group-addon .input-group-btn {
-  width: 130px !important;
-}
-
-.logs .col_width {
-  width: 90% !important;
-}
-
-.logs .box-header {
-  display: none !important;
-}
-
-.logs .box{
-  border-top: 0px !important;
-}
-
-*::after, *::before {
-  box-sizing: border-box;
-}
-
-.wicket-aa-container {
-  border-color: #eee;
-  box-shadow: none;
-  background-clip: padding-box;
-  background-color: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.15);
-  border-radius: 4px;
-  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
-  float: left;
-  font-size: 14px;
-  min-width: 160px;
-  max-height: 250px;
-  z-index: 7001 !important;
-}
-
-div.wicket-aa ul {
-  list-style: none;
-  padding-left: 15px;
-}
-/**
-START - startAt
-*/
-div#startAt {
-  background-color: rgba(98, 98, 98, 0.98) !important;
-  color: #CCC;
-  right: 5px !important;
-  top: 100px !important;
-  min-width: 450px;
-  min-height: 130px !important;
-  z-index: 6000 !important;
-}
-
-div#itemTransformersTogglePanel {
-  min-width: 1000px;
-}
-
-div#startAtContainer {
-  padding: 15px;
-}
-
-div#startAtContainer input {
-  background-color: rgba(200, 200, 200, 0.60) !important;
-}
-/**
-END - startAt
-*/
-
-/**
-START - Notifications
-*/
-/*Temporany fix diagonal stacking*/
-.k-popup.k-notification {
-  box-shadow: none;
-}
-
-.k-notification-error.k-group {
-  background: rgba(100% , 0% , 0% , .7);
-  color: red;
-}
-
-.errorNotification {
-  width: 300px;
-  height: 100px;
-  vertical-align: middle;
-  display: table-cell;
-}
-
-.errorNotification #level {
-  float: left; 
-  padding-left: 10px; 
-  font-size: 2em; 
-  width: 2%;
-}
-
-.errorNotification #message {
-  float: right; 
-  padding-left: 0px; 
-  width:85%
-}
-
-.k-notification-success.k-group {
-  background: rgba(0% , 60% , 0% , .7);
-  color: #fff;
-}
-
-.successNotification {
-  width: 300px;
-  height: 100px;
-  vertical-align: middle;
-  display: table-cell;
-}
-
-.successNotification #level {
-  float: left; 
-  padding-left: 10px; 
-  font-size: 2em; 
-  width: 2%;
-}
-
-.successNotification #message {
-  float: right; 
-  padding-left: 0px; 
-  width:85%
-}
-/**
-EN - Notifications
-*/
-
-/**
-START - Actions
-*/
-.actions > li > a {
-  padding: 5px 0px 5px 0px !important;
-}
-
-div.listview-actions a {
-  float:left;
-  padding: 5px 0px 5px 0px !important;
-}
-
-.action a.btn {
-  padding: 0px;
-}
-
-.btn-circle, .circular-actions a {
-  border-radius: 15px !important;
-  font-size: 12px;
-  height: 30px;
-  line-height: 1.42857;
-  padding: 6px 0;
-  text-align: center;
-  width: 30px;
-}
-
-.circular-actions a.btn {
-  background-color: #3c8dbc;
-  border-color: #367fa9;
-  color: #fff;
-}
-
-.btn-circle i, .circular-actions a i {
-  margin: 0px;
-}
-
-.multipanel-btn-minus {
-  padding: 0px 0px 0px 6px;
-  border: 0 none !important;
-}
-
-.multipanel-btn-plus {
-  padding: 15px 0px 8px 6px;
-  border: 0 none !important;
-}
-
-.multipanel-box {
-  padding: 5px;
-  display: inline-table;
-  margin: 0px;
-}
-/**
-END - Actions
-*/
-
-/**
-START - DataTable
-*/
-.dataTable {
-  clear: both;
-}
-/**
-END - DataTable
-*/
-
-/**
-START - Result page
-*/
-.attribute {
-  padding: 0px 4px 0px 4px; 
-}
-
-.left {
-  float:left; 
-  width: 50%; 
-}
-
-.right {
-  float:right; 
-  width: 50%; 
-}
-
-span.highlight .attribute label {
-  color : red;
-}
-/**
-END - Result page
-*/
-
-.navbar-nav > .user-menu > .dropdown-menu > li.user-header {
-  height: auto !important;
-  padding: 10px;
-  text-align: center;
-}
-
-.nav-tabs-custom > .nav-tabs > li.active {
-  border-top-color: #d2d6de !important;
-}
-
-.code-deletion {
-  background-color: #ffdddd;
-  border-color: #f1c0c0;
-}
-
-.code-addition {
-  background-color: #dbffdb;
-  border-color: #c1e9c1;
-}
-
-/**
-START - AjaxDateTimePicker
-*/
-.input-auto-width {
-  width: auto !important;
-}
-
-.icon-top-position {
-  top: 5px !important;
-}
-
-/**
-END - AjaxDateTimePicker
-*/
-
-/**
-START - Search - AjaxDateTimePicker
-*/
-.searchBox .col-xs-12{
-  padding-left: 0px !important;
-  padding-right: 0px !important;
-}
-
-.clause{
-  display: block;
-  line-height: 34px;
-  width: 100%;
-}
-
-.clause .operator{
-  width: 65px !important;
-}
-
-.clause .operator .checkbox{
-  margin: 0px !important;
-}
-
-.clause .field {
-  line-height: 34px;
-  float: left;
-  padding: 0 3px 0px 0px;
-  display: inline-block !important;
-}
-
-.clause .type{
-  width: 170px !important;
-}
-
-.clause .type button{
-  width: 170px !important;
-}
-
-.clause .property{
-  width: 300px;
-}
-
-.clause .property button{
-  width: 300px;
-}
-
-.clause .comparator{
-  width: 100px;
-}
-
-.clause .comparator button{
-  width: 100px !important;
-}
-
-.clause .value{
-  width: 220px;
-}
-
-.clause .date{
-  width: 160px;
-}
-
-.clause .hours{
-  width: 45px;
-}
-
-.clause .separator{
-  width: 20px;
-  padding-left: 12px;
-}
-
-.clause .action{
-  float: left;
-  padding: 0px 7px 0px;
-}
-
-.searchBox .input-group-addon:last-child{
-  border: 1px solid #ccc !important;
-}
-
-.searchBox .input-group{
-  margin-top: 1px;
-}
-
-.custom-autocomplete-box li.selected {
-  background-color: #eee;
-}
-
-/**
-END - Search - AjaxDateTimePicker
-*/
-/**
-START - Parameters Details
-*/
-div#parametersForm{
-  min-height: 220px;
-}
-/**
-END - Parameters Details
-*/
-
-li.todoitem a {
-  cursor: default;
-}
-
-.popover{
-    max-width: 100%;
-}
-
-#popover:hover {
-  cursor: pointer;
-}
-
-.popover-content {
-  color: black;
-}
-
-.form-palette {
-  display: inline-block;
-  width: 119%;
-}
-
-.form-group-inline {
-  display: inline-table;
-  width: 100%;
-}
-
-div#userFilter #title{
-  margin: 10px 0 0 8px;
-  font-weight: bold;
-}
-
-div#userFilter  #warning{
-  margin: 1px 0 5px 8px;
-  color: #e00000;
-  font-size: 9px;
-}
-
-div#userFilter  #check {
-  margin: 1px 0 5px 8px;
-}
-
-.keyColumn {
-  width: 20px;
-}
-
-/**
-START - Alert widget onside menu
-*/
-div.alert-widget > a > .label {
-  font-size: 9px;
-  line-height: 0.9;
-  padding: 2px 3px;
-  position: absolute;
-  margin-left: 10px;
-  text-align: center;
-  top: 0px;
-}
-
-div.alert-widget > a {
-  display: block;
-  position: relative;
-}
-
-div.alert-widget > a > i {
-  position: absolute;
-  top: 9px;
-}
-
-div.alert-widget{
-  text-align: center;
-  vertical-align: middle;
-  padding-right: 20px;
-}
-
-div.alert-widget .dropdown-menu > li.header {
-  background-color: #ffffff;
-  border-bottom: 1px solid #f4f4f4;
-  border-radius: 4px 4px 0 0;
-  color: #444444;
-  font-size: 14px;
-  padding: 7px 10px;
-}
-
-div.alert-widget .dropdown-menu > li.footer > a {
-  background-color: #fff;
-  border-radius: 0 0 4px 4px;
-  color: #444 !important;
-  font-size: 12px;
-  padding: 7px 10px;
-  text-align: center;
-}
-
-div.alert-widget .dropdown-menu > li .menu {
-  list-style: outside none none;
-  padding: 10px;
-}
-/**
-END - Alert widget onside menu
-*/
-
-/**
-START - Transformers toggle panel
-*/
-div.transformersTogglePanel {
-  background-color: rgba(140, 140, 140, 0.99) !important;
-  width: 1000px !important;
-}
-
-div.transformersContainer {
-  padding: 15px;
-}
-
-div.transformersContainer input {
-  background-color: rgba(200, 200, 200, 0.60) !important;
-}
-
-div.transformersContainer #footer {
-  clear: both;
-  display: block;
-  text-align: right;
-  margin-top: 10px;
-}
-
-div.transformersContainer #body {
-  clear: both;
-  display: block;
-}
-
-div.itemTransformersContainer #body select {
-  border: 1px solid #ccc !important;
-  background: rgba(240, 240, 240, 0.95) !important
-}
-
-div.itemTransformersContainer #body a {
-  color: #ccc !important;
-  cursor: pointer !important;
-}
-
-div#jexlTransformersTogglePanel {
-  right: 400px;
-}
-/**
-END - Transformers toggle panel
-*/
-
-/**
-START - CRONTAB
-*/
-div#schedule input, div#schedule fieldset {
-  width: 50px;
-  float: left
-}
-
-div#templates {
-  padding-top: 30px;
-  clear: both;
-}
-/**
-END - CRONTAB
-*/
-
-/**
-START - EVENTS
-*/
-.events {
-  display: table-row;
-  width: 990px;
-}
-
-.selectedEvents {
-  display: inline-block;
-  height: 100px;
-  margin: 10px 10px 0 10px;
-  overflow-y: auto;
-}
-
-.eventSelection {
-  display: inline-table;
-  float: right;
-  width: 380px;
-  min-width: 530px;
-}
-
-.eventSelection div#value {
-  height: auto;
-  overflow: hidden;
-}
-
-.eventSelection div#value div#custom {
-  width: auto;
-  overflow: hidden;
-}
-
-.eventSelection div#value div#customActions {
-  width: 85px;
-  float: right;
-}
-
-div#selectionContainer select {
-  width: 585px;
-  min-width: 585px;
-}
-/**
-END - EVENTS
-*/
-
-fieldset.input-group {
-  width: 100%;
-}
-
-div.modal-content > div.modal-header {
-  background-color: #f0f0f0;
-  height: 64px;
-}
-
-div.modal-content > div.modal-footer {
-  background-color: #f0f0f0;
-  height: 64px;
-}
-
-.modal-body .box-body div.background-footer {
-  display: none !important;
-}
-
-div.background-footer {
-  background-color: #f0f0f0;
-  display: block;
-  height: 64px;
-  margin-bottom: -15px;
-  margin-left: -30px;
-  margin-top: -25px;
-  width: 1300px;
-}
-
-.logviewer-btn {
-  padding: 0px 16px 20px 0px;
-  float: right;
-}
-
-div#editUserChangePassword > label {
-  color: #e00000;
-}
-
-div > li {
-  list-style-type: none; 
-}
-
-th ul.menu, div#inline-actions ul.menu, div#tablehandling ul.menu, div.listview-actions ul.menu {
-  list-style-type: none;  
-  margin: 0;
-  padding: 0;
-}
-
-div#tablehandling ul.menu{
-  float: right;
-}
-
-th ul.menu li, div#inline-actions ul.menu li, div#tablehandling ul.menu li, div.listview-actions ul.menu li {
-  display: inline-block;
-}
-
-th ul.menu li a, div#inline-actions ul.menu li a, div.listview-actions ul.menu li a, div#tablehandling ul.menu li a {
-  margin-left: 5px;
-  display: inline-block !important;
-}
-
-ul.menu li a {
-  display: block;
-  cursor: pointer !important;
-}
-
-ul.menu i {
-  width: 35px;
-}
-
-div#inline-actions ul.menu i, div#tablehandling ul.menu i {
-  width: auto !important;
-}
-
-.toggle-menu ul.menu li a {
-  padding: 0px;
-  text-align: left;
-}
-
-div#tablehandling ul.menu li a {
-  padding: 0px !important;
-}
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.scss b/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.scss
new file mode 100644
index 0000000..60449fa
--- /dev/null
+++ b/client/idrepo/enduser/src/main/resources/META-INF/resources/css/syncopeEnduser.scss
@@ -0,0 +1,506 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+/* Enduser color palette
+============================================================================= */
+/* https://coolors.co/718a99-6a93ba-9cc9e7-a3ccf7-b9d8f7 */
+$palette_darker: #718a99;
+$palette_dark: #6a93ba;
+$palette_base: #9cc9e7;
+$palette_light: #a3ccf7;
+$palette_lighter: #b9d8f7;
+
+$palette_error: #f79999;
+$palette_warning: #f7c899;
+$palette_disabled: rgba(189, 201, 206, 0.73);
+
+
+/* Methods
+============================================================================= */
+@mixin shadow($args...) {
+  -moz-box-shadow: $args;
+  -webkit-box-shadow: $args;
+  -o-box-shadow: $args;
+  box-shadow: $args;
+}
+
+@mixin flex() {
+  display: -ms-flexbox;
+  display: -webkit-flex;
+  display: flex;
+}
+@mixin flex_align_items($value) {
+  -ms-flex-align: $value;
+  -webkit-align-items: $value;
+  -webkit-box-align: $value;
+  align-items: $value;
+}
+
+@mixin transition($args...) {
+  -webkit-transition: $args;
+  -moz-transition: $args;
+  -ms-transition: $args;
+  -o-transition: $args;
+  transition: $args;
+}
+
+@mixin transform($args...) {
+  -webkit-transform: $args;
+  -moz-transform: $args;
+  -ms-transform: $args;
+  -o-transform: $args;
+  transform: $args;
+}
+
+
+/* Breakpoints */
+$tablet-width: 768px;
+$desktop-width: 1024px;
+
+@mixin phone {
+  @media (max-width: #{$tablet-width - 1px}) {
+    @content;
+  }
+}
+
+@mixin tablet {
+  @media (min-width: #{$tablet-width}) and (max-width: #{$desktop-width - 1px}) {
+    @content;
+  }
+}
+
+@mixin desktop {
+  @media (min-width: #{$desktop-width}) {
+    @content;
+  }
+}
+
+
+
+
+
+
+
+body, html {
+  width: 100%;
+  background-image: linear-gradient($palette_darker, $palette_dark);
+}
+
+body {
+  font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+  font-weight: 400;
+  overflow-x: hidden;
+  overflow-y: auto;
+
+  > .wrapper {
+    height: 100%;
+    max-width: 1280px;
+
+    margin: 0 auto;
+    @include flex;
+    @include flex_align_items(center);
+  }
+
+  > .wrapper .content-wrapper {
+    width: 100%;
+    margin: 0 2%;
+
+    background-color: #ffffff;
+    border-radius: 10px;
+
+    @include shadow(0px 0px 20px 1px rgba(0,0,0,0.75));
+  }
+}
+
+
+
+.content-wrapper {
+  .wizard-form {
+    height: auto;
+    /*min-height: 446px;*/
+    min-height: 530px;
+
+    .captcha_block {
+      text-align: center;
+      padding-top: 8rem;
+
+      div {
+        padding-bottom: 15px;
+      }
+
+      #captcha_image {
+        font-size: 1.6rem;
+      }
+      #captcha_message {
+        font-size: 1.45rem;
+      }
+    }
+
+    .wizard-header {
+      padding: 10px;
+
+      a {
+        text-decoration: none;
+        color: $palette_dark !important;
+      }
+    }
+
+    .wizard-view {
+      .box-body {
+        overflow-y: auto;
+        max-height: 355px;
+        padding: 0 10px 20px 0;
+      }
+    }
+  }
+
+}
+
+
+.wizard-buttons {
+  display: table;
+  height: 65px;
+  width: 100%;
+  padding: 0;
+
+  position: absolute;
+  bottom: 0;
+  left: 0;
+  right: 0;
+
+  border-bottom-left-radius: 10px;
+  border-bottom-right-radius: 10px;
+  background-color: #718a99;
+
+  > div {
+    display: table-cell;
+    vertical-align: middle;
+  }
+
+  .pull-left {
+    padding-left: 15px;
+  }
+
+  .pull-right {
+    padding-right: 15px;
+  }
+}
+
+.btn-primary {
+  color: inherit;
+  background-color: $palette_light;
+  border-color: $palette_lighter;
+
+  &:hover,
+    &.focus, 
+    &:focus,
+    &.active,
+    &:active {
+    color: inherit;
+    background-color: $palette_lighter;
+  }
+}
+
+
+.callout-warning {
+  background-color: $palette_warning;
+  padding: 15px;
+  margin-bottom: 10px;
+}
+.callout-warning label {
+  margin-bottom: 0;
+}
+
+
+/* From AdminLTE */
+.box {
+  position: relative;
+  border-radius: 3px;
+  background: #ffffff;
+  border-top: 3px solid #d2d6de;
+  margin-bottom: 20px;
+  width: 100%;
+  @include shadow(0 1px 1px rgba(0, 0, 0, 0.1));
+}
+.box.box-primary {
+  border-top-color: $palette_dark;
+}
+
+
+
+/* Form elements
+============================================================================= */
+
+
+/* 
+* Disabled elements
+* ------------------------------ */
+.form-control[disabled], 
+.form-control[readonly], 
+fieldset[disabled] .form-control {
+  background-color: $palette_disabled;
+}
+
+
+/* 
+* Select / Dropdown
+* ------------------------------ */
+.bootstrap-select {
+  > .dropdown-toggle {
+    background: rgba(106, 147, 186, 0.34);
+  }
+  > .dropdown-menu {
+    li.selected {
+      background: rgba(106, 147, 186, 0.34) !important; 
+    }
+  }
+}
+
+
+/* 
+* Remove input placeholder on focus
+* ------------------------------ */
+input:focus::-webkit-input-placeholder { color:transparent; }
+input:focus:-moz-placeholder { color:transparent; } /* FF 4-18 */
+input:focus::-moz-placeholder { color:transparent; } /* FF 19+ */
+input:focus:-ms-input-placeholder { color:transparent; } /* IE 10+ */
+
+
+/* 
+* Checkbox, Radio 
+* ------------------------------ */
+/* Basic styles */
+.checkbox label,
+.radio label { 
+  position: relative;
+  display: inline-block;
+  padding: 0 0 0 2em;
+  height: 1.5em;
+  line-height: 1.5;
+  cursor: default;
+}
+.checkbox label::before,
+.checkbox label::after,
+.radio label::before,
+.radio label::after {
+  position: absolute;
+  top: 0;
+  left: 0;
+  display: block;
+  width: 1.5em;
+  height: 1.5em;
+}
+.checkbox label::before,
+.radio label::before {
+  content: " ";
+  border: 2px solid #bdc3c7;
+  border-radius: 20%;
+}
+.checkbox input[type=checkbox], 
+.checkbox-inline input[type=checkbox], 
+.radio input[type=radio], 
+.radio-inline input[type=radio] {
+  margin-left: 0;
+}
+
+input {
+  &[type="checkbox"],
+  &[type="radio"] {
+    position: absolute;
+    opacity: 0;
+
+    z-index: 1;
+    width: 50px;
+    height: 20px;
+    cursor: pointer;
+  }
+
+  /* Checkbox */
+  &[type="checkbox"] + label::after {
+    content: "\2714";
+    color: #ffffff;
+    line-height: 1.5;
+    text-align: center;
+  }
+  &[type="radio"] + label::before {
+    border-radius: 50%;
+  }
+  &[type=radio] + label::after {
+    content: " ";
+    top: .25em;
+    left: .25em;
+    width: 1em;
+    height: 1em;
+    background: #fff;
+    border: .2em solid #2c3e50;
+    border-radius: 50%;
+  }
+
+  /* Radio */
+  /* :checked */
+  &[type="checkbox"]:checked + label::before, &[type="radio"]:checked + label::before {
+    background: $palette_dark;
+    border-color: $palette_base;
+  }
+  &[type="checkbox"] + label::after, &[type=radio] + label::after {
+    @include transform(scale(0));
+  }
+  &[type="checkbox"]:checked + label::after, &[type=radio]:checked + label::after {
+    @include transform(scale(1));
+  }
+}
+
+/* Transition */
+.checkbox {
+  label {
+    &::before, &::after {
+      @include transition(.25s all ease);
+    }
+  }
+}
+.radio {
+  label {
+    &::before, &::after {
+      @include transition(.25s all ease);
+    }
+  }
+}
+
+
+
+
+/* 
+* Select
+* ------------------------------ */
+option {
+  &:focus, &:active, &:checked {
+    color: $palette_base !important;
+    background: $palette_base !important;
+  }
+}
+
+
+
+
+/* 
+* Navbar
+* ------------------------------ */
+.enduser_navbar {
+  position: absolute;
+  width: 100%;
+  z-index: 10;
+  align-self: flex-start;
+  max-width: 768px;
+  min-width: 415px;
+  width: auto;
+  padding-right: 20px;
+  background-color: $palette_dark;
+  border-color: $palette_base;
+
+  .dropdown-menu {
+    a {
+      height: auto;
+    }
+  }
+
+  .navbar-brand {
+    padding: 2px 26px 2px 15px;
+
+    img {
+      width: 50px;
+      height: 55px;
+    }
+  }
+
+  .navbar-nav>.active>a,
+  .navbar-nav>.active>a:focus, 
+    .navbar-nav>.active>a:hover,
+    .navbar-nav>li>a:focus,
+    .navbar-nav>li>a:hover,
+    .navbar-toggle:focus, 
+    .navbar-toggle:hover {
+    background-color: $palette_lighter;
+  }
+
+  .navbar-nav {
+    > .open > a, 
+    > .open > a:focus, 
+      > .open > a:hover {
+      background-color: $palette_light;
+    }
+
+    > li:not(.active):not(:hover):not(.open) > a {
+      color: #ffffff;
+      @include transition(.25s all ease);
+    }
+
+    @include phone {
+      .open {
+        .dropdown-menu > li > a {
+          color: #ffffff;
+        }
+      }
+    }
+  }
+
+  &::before{
+    content:"";
+    display:inline-block;
+    position:absolute;
+    border:28px solid black;
+    border-color:transparent $palette_base transparent transparent;
+    top: 0px;
+    right: 0;
+  }
+
+  &::after{
+    content: "";
+    display: inline-block;
+    position: absolute;
+    border: 28px solid white;
+    border-color: transparent #718a99 transparent transparent; /* use the background color here */
+    top: 0px;
+    right: -1px; /* 1px less than the other "before" element */
+  }
+
+  @include phone {
+    min-width: 290px;
+
+    a {
+      height: 45px;
+    }
+
+    .navbar-toggle {
+      margin-right: 35px;
+
+      &:not(:focus) {
+        .icon-bar {
+          background-color: #ffffff;
+        }
+      }
+    }
+
+    .navbar-brand {
+      img {
+        height: 50px;
+      }
+    }
+  }
+}
+
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/BaseEnduserWebPage.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/BaseEnduserWebPage.html
index 48b2d75..a51d0f5 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/BaseEnduserWebPage.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/BaseEnduserWebPage.html
@@ -25,18 +25,23 @@ under the License.
 
     <title>Apache Syncope Enduser - Login</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
-    <link href="css/fonts.css" rel="stylesheet" type="text/css"/>
+    <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/login.css" rel="stylesheet" type="text/css" />
-    <link href="css/syncopeConsole.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="ui-commons/css/login.css" rel="stylesheet" type="text/css" />
+    <link href="css/syncopeEnduser.css" rel="stylesheet" type="text/css"/>
 
     <!-- accessibility -->
-    <link href="css/accessibility.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript" src="js/accessibility.js"></script>
+    <link href="ui-commons/css/accessibility.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="ui-commons/js/accessibility.js"></script>
+
+    <script type="text/javascript" src="webjars/bootbox/${bootbox.version}/bootbox.js"></script>
+    <script type="text/javascript" src="webjars/jQuery-slimScroll/${jquery-slimscroll.version}/jquery.slimscroll.min.js"></script>
   </head>
   <body class="skin-green-light hold-transition sidebar-mini" wicket:id="body">
     <div id="accessibility">
@@ -51,7 +56,55 @@ under the License.
         </i>
       </div>
     </div>
-    
+
+    <nav class="enduser_navbar navbar navbar-default">
+      <div class="container-fluid">
+        <div class="navbar-header">
+
+          <button type="button" 
+                  class="navbar-toggle" 
+                  data-toggle="collapse" 
+                  data-target="#navbar"
+                  aria-expanded="true" 
+                  aria-controls="navbar">
+            <span class="sr-only">Toggle navigation</span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+            <span class="icon-bar"></span>
+          </button>
+
+          <a class="navbar-brand" href="#">
+            <span class="logo-mini"><img alt="Brand" src="ui-commons/img/logo-mini.png"/></span>
+          </a>
+        </div>
+
+        <div id="navbar" class="navbar-collapse collapse in" aria-expanded="true">
+          <ul class="nav navbar-nav">
+            <li class="active">
+              <a href="#"> Details 
+                <span class="sr-only">(current)</span>
+              </a>
+            </li>
+
+            <li class="dropdown">
+              <a href="#" class="dropdown-toggle" 
+                 data-toggle="dropdown" 
+                 role="button" 
+                 aria-haspopup="true" 
+                 aria-expanded="false">
+                User Requests
+                <span class="caret"></span>
+              </a>
+              <ul class="dropdown-menu">
+                <li><a href="#">Start new requests</a></li>
+                <li><a href="#">View ongoing requests</a></li>
+              </ul>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+
     <div class="wrapper">
       <span wicket:id="feedback"></span>
 
@@ -60,5 +113,6 @@ under the License.
       </div>
     </div>
 
+    <div id="veil">Loading...</div>
   </body>
 </html>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/Login.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/Login.html
index be12bba..90e49c2 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/Login.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/Login.html
@@ -24,18 +24,19 @@ under the License.
 
     <title>Apache Syncope Enduser - Login</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
-    <link href="css/fonts.css" rel="stylesheet" type="text/css"/>
+    <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
+
+    <link href="ui-commons/css/login.css" rel="stylesheet" type="text/css" />
+    <link href="ui-commons/css/syncopeUI.css" rel="stylesheet" type="text/css"/>
+    <link href="css/syncopeEnduser.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/login.css" rel="stylesheet" type="text/css" />
-    <link href="css/syncopeEnduser.css" rel="stylesheet" type="text/css" />
- 
     <!-- accessibility -->
-    <link href="css/accessibility.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript" src="js/accessibility.js"></script>
+    <link href="ui-commons/css/accessibility.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="ui-commons/js/accessibility.js"></script>
   </head>
 
   <body class="login-body">
@@ -53,7 +54,7 @@ under the License.
     </div>
     <div class="container">
       <div class="login-card card card-container">
-        <img class="login-logo" src="img/logo-green.png" />
+        <img class="login-logo" src="ui-commons/img/logo-green.png" />
 
         <span wicket:id="feedback" role="alert"/>
         <div class="box alert-danger" style="padding: 5px;text-align: center;" wicket:id="exceptionMessage"/>
@@ -76,14 +77,14 @@ under the License.
           <div wicket:id="ssoLogins">
             <div wicket:id="ssoLogin"/>
           </div>
-
         </form>
-      </div>
-      <div class="text-center">
-        <a wicket:id="self-registration"><wicket:message key="self-registration">[SELFREGISTRATION]</wicket:message></a>
-      </div>
-      <div class="text-center">
-        <a wicket:id="self-pwd-reset"><wicket:message key="self-pwd-reset">[SELFPWDRESET]</wicket:message></a>
+
+        <div class="text-center">
+          <a wicket:id="self-registration"><wicket:message key="self-registration">[SELFREGISTRATION]</wicket:message></a>
+        </div>
+        <div class="text-center">
+          <a wicket:id="self-pwd-reset"><wicket:message key="self-pwd-reset">[SELFPWDRESET]</wicket:message></a>
+        </div>
       </div>
     </div>
   </body>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/MustChangePassword.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/MustChangePassword.html
index 6cdc8a8..bd5c136 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/MustChangePassword.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/pages/MustChangePassword.html
@@ -24,18 +24,19 @@ under the License.
 
     <title>Apache Syncope Enduser - Login</title>
 
-    <link rel="shortcut icon" href="img/favicon.png" type="image/png"/>
+    <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/ionicons/${ionicons.version}/css/ionicons.min.css" rel="stylesheet" type="text/css" />
-    <link href="css/fonts.css" rel="stylesheet" type="text/css"/>
+    <link href="ui-commons/css/fonts.css" rel="stylesheet" type="text/css"/>
 
-    <link href="css/login.css" rel="stylesheet" type="text/css" />
-    <link href="css/syncopeConsole.css" rel="stylesheet" type="text/css" />
+    <link href="ui-commons/css/login.css" rel="stylesheet" type="text/css" />
+    <link href="ui-commons/css/syncopeUI.css" rel="stylesheet" type="text/css"/>
+    <link href="css/syncopeEnduser.css" rel="stylesheet" type="text/css"/>
 
     <!-- accessibility -->
-    <link href="css/accessibility.css" rel="stylesheet" type="text/css" />
-    <script type="text/javascript" src="js/accessibility.js"></script>
+    <link href="ui-commons/css/accessibility.css" rel="stylesheet" type="text/css" />
+    <script type="text/javascript" src="ui-commons/js/accessibility.js"></script>
   </head>
 
   <body class="login-body">
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/accessibility.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/accessibility.css
deleted file mode 100644
index 04c57a5..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/accessibility.css
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-#accessibility {
-  display: block;
-}
-
-.btn-accessibility {
-  position: absolute;
-  right: 0;
-  font-size: 12px;
-  padding: 15px 15px 0 0;
-}
-
-.btn-accessibility i {
-  font-size: 30px;
-}
-
-.btn-accessibility:hover {
-  cursor:pointer;
-}
-
-#change_contrast {
-  top: 0;
-}
-#change_fontSize {
-  top: 40px;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/app.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/app.css
deleted file mode 100644
index 301a19b..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/app.css
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-/* App general css stylesheet
-============================================================================= */
-
-.growl-container > .growl-item.ng-enter,
-.growl-container > .growl-item.ng-leave {
-  -webkit-transition:1s linear all;
-  -moz-transition:1s linear all;
-  -o-transition:1s linear all;
-  transition:1s linear all;
-}
-
-.disable-link {
-  pointer-events: none;
-  cursor: default;
-}
-
-.form-control:disabled, 
-.form-control[readonly] {
-  cursor: not-allowed;
-}
-
-.card-container.card {
-  width: 350px;
-  padding: 40px 40px 0px;
-}
-
-.card {
-  background-color: #F7F7F7;
-  /* just in case there no content*/
-  padding: 20px 25px 30px;
-  margin: 0 auto 25px;
-  margin-top: 50px;
-  /* shadows and rounded borders */
-  -moz-border-radius: 2px;
-  -webkit-border-radius: 2px;
-  border-radius: 2px;
-  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-}
-
-.form-control {
-  display: block;
-  width: 100%;
-  height: 34px;
-  padding: 6px 12px;
-  font-size: 14px;
-  line-height: 1.42857;
-  color: #555;
-  background-color: #FFF;
-  /*background-image: none;*/
-  border: 1px solid #CCC;
-  border-radius: 4px;
-  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.075) inset;
-  transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
-}
-
-#captchaButtons {
-  margin-top: 5%;
-  margin-bottom: 10px;
-}
-
-/* <!-- Useless with Bootstrap > 3 */
-.p-0 {
-  padding-left: 0 !important;
-  padding-right: 0 !important;
-}
-
-.float-left {
-  float: left !important;
-}
-.float-right {
-  float: right !important;
-}
-
-.btn-default {
-  color: #333;
-  background-color: #fff;
-  border-color: #ccc;
-}
-
-.pagination-size {
-  margin: 20px 0;
-  width: 20%;
-}
-
-.pagination-size-sm {
-  margin: 20px 0;
-  width: 12%;
-}
-/* Useless with Bootstrap > 3 --> */
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/customSpinner.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/customSpinner.css
deleted file mode 100644
index bbfe1de..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/customSpinner.css
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-.treasure-overlay-spinner-container{
-  z-index : 10001;
-}
-
-treasure-overlay-spinner .treasure-overlay-spinner-content {
-  height: 100%;
-}
-treasure-overlay-spinner {
-  height: 100%;
-  top: 0;
-  bottom: 0;
-  position: fixed;
-  right: 0;
-  left: 0;
-  overflow-y: auto;
-}
-
-treasure-overlay-spinner .treasure-overlay-spinner {
-  position: fixed;
-  pointer-events: none;
-}
-
-treasure-overlay-spinner .treasure-overlay-spinner-container {
-  position: fixed;
-  background: rgba(0, 0, 0, 0.5490196078431373);
-}
-
-treasure-overlay-spinner.treasure-overlay-spinner-active-remove {
-  transition: all 150ms ease-in 0s;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/editUser.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/editUser.css
deleted file mode 100644
index 47d64d6..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/editUser.css
+++ /dev/null
@@ -1,822 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-/* Default style
-============================================================================= */
-* {
-  box-sizing: border-box;
-}
-
-#form-container {
-  position: relative;
-  width: 100%;
-  margin-top:-4px;
-  margin: 0 auto;
-  text-align: center;
-  background-color: #F7F7F7;
-}
-
-#form-container .breadcrumb-header {
-  margin: auto;
-  width: 80%; 
-  padding:10px; 
-}
-
-#form-container .page-header { 
-  background: -moz-linear-gradient(top, #a9db80 0%, #96c56f 100%); /* FF3.6+ */
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a9db80), color-stop(100%,#96c56f)); /* Chrome,Safari4+ */
-  background: -webkit-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Opera 11.10+ */
-  background: -ms-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* IE10+ */ 
-  margin: 1% 9%;
-  width: 83%; padding:10px; 
-  /* shadows and rounded borders */
-  -moz-border-radius: 5px;
-  -webkit-border-radius: 5px;
-  border-radius: 5px;
-  -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
-  text-align: left; 
-  font-weight: 700;
-}
-
-.signup-form {
-  text-align: left;
-  padding: 2%;
-}
-
-#attribute {
-  margin: auto;
-  max-width:480px;
-  padding: 10px;
-}
-
-#attribute-derived,
-#attribute-virtual {
-  padding:  155px;
-}
-
-.attribute-virtual-value-container {
-  margin-top: 2%;
-  list-style: none;
-  padding-right: 5%;
-}
-
-.attribute-virtual-value-field {
-  font-weight: 700;
-  padding: 6px 12px;
-  margin-bottom: 2%;
-}
-
-.fileButton{
-  margin-top: 2%;
-}
-
-.upper-select {
-  padding-right: 71%;
-  padding-left: 18%;
-}
-
-.attribute-ui-select {
-  width: 100%;
-  list-style: none;
-}
-
-#next,
-#previous,
-#save,
-#finish {
-  background: -moz-linear-gradient(top, #a9db80 0%, #96c56f 100%);  /*FF3.6+*/ 
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a9db80), color-stop(100%,#96c56f));  /*Chrome,Safari4+ */
-  background: -webkit-linear-gradient(top, #a9db80 0%,#96c56f 100%);  /*Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(top, #a9db80 0%,#96c56f 100%);  /*Opera 11.10+ */
-  background: -ms-linear-gradient(top, #a9db80 0%,#96c56f 100%);  /*IE10+ */
-  display: inline-block;
-
-  padding-left: 8px;
-  padding-right: 8px;
-  margin-left: 5px;
-  border: none;
-  color: black;
-}
-
-#save:hover,
-#previous:hover,
-#finish:hover,
-#next:hover {
-  background: #658D5D;
-}
-
-#save {
-  margin-right: 5px;
-}
-
-#finish {
-  margin-right: 5px;
-}
-
-#cancel {
-  color: #fff;
-  margin-top: 0%;
-}
-
-.container-fluid {
-  padding-right: 15px;
-  padding-left: 15px;
-  margin-right: auto;
-  margin-left: auto;
-  width: 63%;
-}
-
-
-#form-views { width:100%; }
-
-/* basic styling for entering and leaving */
-/* left and right to add to ensure full width: position:absolute; left:30px; right:30px; */
-#form-views.ng-enter,
-#form-views.ng-leave      { 
-  position: absolute;
-  transition:0.5s all ease-in; -moz-transition:0.5s all ease-in; -webkit-transition:0.5s all ease; 
-}
-
-/* enter animation */
-#form-views.ng-enter            { 
-  -webkit-animation:slideInRight 0.5s ease;
-  -moz-animation:slideInRight 0.5s ease;
-  animation:slideInRight 0.5s ease; 
-}
-
-/* leave animation */
-#form-views.ng-leave            { 
-  position:absolute;
-  -webkit-animation:slideOutLeft 0.5s ease;
-  -moz-animation:slideOutLeft 0.5s ease;
-  animation:slideOutLeft 0.5s ease;   
-}
-
-.btn-group{
-  margin-top: 10px;
-}
-
-span.k-datetimepicker{
-  width: 170%;
-}
-
-#date, #date-property{
-  position: relative;
-  display: table; 
-  border-collapse: separate;
-  margin-bottom: -40px;
-}
-
-#timepicker{
-  line-height: 34px; 
-  float: right; 
-  padding: 0 3px 0px 0px;
-  margin-top: -65px;
-  margin-left: 39px;
-}
-
-/** Button breadcrumb **/
-.btn-breadcrumb .btn:not(:last-child):after {
-  border-left: 10px solid #ffffff;
-}
-.btn-breadcrumb .btn:not(:last-child):before {
-  margin-left: 1px;
-  border-left: 10px solid rgb(173, 173, 173);
-}
-.btn-breadcrumb .btn:not(:last-child):before,
-.btn-breadcrumb .btn:not(:last-child):after {
-  content: " ";
-  display: block;
-  width: 0;
-  height: 0;
-  border-top: 17px solid transparent;
-  border-bottom: 17px solid transparent;
-  position: absolute;
-  top: 50%;
-  margin-top: -17px;
-  left: 100%;
-  z-index: 3;
-}
-
-/** The Spacing **/
-.btn-breadcrumb .btn {
-  padding:6px 12px 6px 24px;
-}
-.btn-breadcrumb .btn:first-child {
-  padding:6px 6px 6px 10px;
-}
-.btn-breadcrumb .btn:last-child {
-  padding:6px 18px 6px 24px;
-}
-
-/** Default buttons **/
-.breadcrumb-disabled-link {
-  pointer-events: none;
-  cursor: default;
-}
-
-.breadcrumb-btn-elem {
-  border-color: #ccc;
-}
-
-.btn-breadcrumb .breadcrumb-btn-elem:not(:last-child):after {
-  border-left: 10px solid #fff;
-}
-.btn-breadcrumb .breadcrumb-btn-elem:not(:last-child):before {
-  border-left: 10px solid #ccc;
-}
-
-.btn-breadcrumb .breadcrumb-btn-elem.active:not(:last-child):after,
-.btn-breadcrumb .breadcrumb-btn-elem:hover:not(:last-child):after {
-  border-left: 10px solid #ebebeb;
-}
-.btn-breadcrumb .breadcrumb-btn-elem.active:not(:last-child):before,
-.btn-breadcrumb .breadcrumb-btn-elem:hover:not(:last-child):before {
-  border-left: 10px solid #adadad;
-}
-
-.btn-breadcrumb .breadcrumb-btn-elem.active {
-  box-shadow: 0 0px 0px rgba(0, 0, 0, 0.125)
-}
-.btn-breadcrumb .breadcrumb-btn-elem:focus {
-  box-shadow: none !important;
-}
-
-.btn-breadcrumb .btn:before,
-.btn-breadcrumb .btn:after {
-  transition: all .15s ease-in-out;
-}
-
-div[role="tablist"] {
-  margin-bottom: 20px;
-}
-
-/* For Bootstrap 4 */
-
-/*
-.btn-breadcrumb .breadcrumb-btn-elem:hover {
-  color: #ffffff !important;
-}
-
-.btn-breadcrumb .breadcrumb-btn-elem:not(:hover),
-.btn-breadcrumb .breadcrumb-home:not(:hover) {
-  color: #333;
-  background-color: #fff;
-}
-
-.btn-breadcrumb .breadcrumb-btn-elem:hover:not(:last-child):after,
-.btn-breadcrumb .breadcrumb-btn-elem:hover:not(:last-child):before,
-.btn-breadcrumb .breadcrumb-btn-elem.active:not(:last-child):after,
-.btn-breadcrumb .breadcrumb-btn-elem.active:not(:last-child):before {
-  border-left: 10px solid #4c4c4c;
-}
-*/
-
-.btn-file {
-  background: transparent;
-  color: black;
-}
-
-.text-validation-error{
-  color: #dd301b;
-  font-weight: 600;
-}
-
-.multivalue button{
-  float: right
-}
-.schema-type #date{
-  margin-top: 35px;
-  margin-bottom: 2px;
-}
-
-.schema-type #date-property {
-    margin-bottom: 2px;
-}
-
-.property-label{
-  margin-top: 15px
-}
-
-.multivalue input{
-  width: calc(100% - 70px);
-  margin-top: 10px
-}
-
-.multivalue input:disabled{
-  width: 100%;  
-}
-
-.multivalue button{
-  margin-top: 2px
-}
-
-.multivalue #datetime{
-  margin-top: 0px
-}
-
-#datetime input{
-  width: 100%;
-  margin-top: 0px
-}
-#timepicker input{
-  width: 50px;
-  margin-top: 0px
-}
-
-.multivalue #timepicker {
-  margin-top: -35px;
-}
-
-.suggestions{
-  font-size: 10px;
-  display: inline-block;
-  margin-bottom: 5px;
-}
-
-#status-buttons {
-  padding-left: 15px;
-  -webkit-flex-flow: row wrap; /* Safari 6.1+ */
-  flex-flow: row wrap;
-}
-
-.card.card-open {
-  background-color: #ffffff;
-}
-
-.card-header a {
-  text-decoration: none;
-}
-
-.card-header h5 a {
-  color: black;
-}
-
-.card-header {
-  padding: 2px 15px;
-  border-bottom: 1px solid transparent;
-  border-top-left-radius: 3px;
-  border-top-right-radius: 3px;
-  background-color: #f5f5f5;
-  border-color: #ddd;
-}
-/* end default style
-============================================================================= */
-
-/* Style for devices max width 350
-============================================================================= */
-@media only screen and (max-width: 350px) {
-
-  input[type=file] {
-    display: block;
-    color: #ffffff !important;
-  }
-
-  #form-container {
-    padding: 1px 0px 0px 0px;
-  }
-
-  .panel-body {
-    padding: 0px;
-  }
-
-  #timepicker{
-    width: 47px;
-    line-height: 34px; 
-    float: right; 
-    padding: 0 3px 0px 0px;
-    margin-top: -65px;
-  }
-
-
-  .btn-group{
-    position: relative;
-    display: inline-flex;
-    vertical-align: middle;
-    width: 90%;
-    margin-left: 35px;
-    margin-top: 10px;
-    padding: 0px 0px 1px 0px
-  }
-
-  #finish,
-  #save,
-  #next,
-  #previous {
-    padding-left: 2px;
-    padding-right: 2px;
-  }
-
-  #finish{
-    margin-left:-27px;
-    margin-top: 2px;
-  }
-  #next{
-    margin-left: 1px;
-  }
-  #previous{
-    margin-left:-126px;
-  }
-  #save{
-    margin-top: 4px;
-    margin-top:-31px;
-    margin-left: -42px;
-    margin-right: 15px;
-  }
-
-  span.k-datetimepicker {
-    width: 141%;
-    margin-top: -50px;
-  }
-
-}
-/* 
-============================================================================= */
-
-/* Style for devices max width 400
-============================================================================= */
-@media only screen and (max-width: 400px) {
-
-  input[type=file] {
-    display: block;
-  }
-
-  .panel-body {
-    padding: 0px;
-  }
-
-  #datetime input {
-    width: 100%;
-  }
-
-  #form-container {
-    padding: 1px 0px 0px 0px;
-  }
-
-  #form-container .breadcrumb-header   { 
-    margin: auto;
-    width: 100%; 
-    padding: 1px 0px 0px 0px;
-    text-align: left;
-    overflow: auto;
-  }
-
-  .btn-group{
-    position: relative;
-    display: inline-flex;
-    vertical-align: middle;
-    width: 70%;
-    margin-left: 35px;
-    margin-top: 10px;
-    padding: 0px 0px 1px 0px
-  }
-
-  .btn-breadcrumb .btn {
-    padding:6px 12px 6px 12px;
-  }
-
-  .btn-breadcrumb .btn:first-child {
-    padding:6px 6px 6px 10px;
-  }
-
-  .btn-breadcrumb .btn:last-child {
-    padding:6px 18px 6px 24px;
-  }
-
-  #next,
-  #finish,
-  #previous,
-  #save {
-    padding-left: 2px;
-  }
-
-  #finish {
-    padding-right: 2px;
-    margin-right: -3px;
-    margin-left: 0px;
-  }
-  #next {
-    padding-right: 2px;
-    margin-right: 23px;
-  }
-  #previous {
-    padding-right: 2px;
-    margin-left: 0px
-  }
-  #save {
-    padding-right: 0px;
-    margin-left: -21px;
-    margin-top: 4px;
-  }
-
-  span.k-datetimepicker{
-    width: 160%;
-  }
-
-}
-/* 
-============================================================================= */
-
-/* Style for devices max width 500
-============================================================================= */
-@media only screen and (max-width: 500px) {
-
-  * {
-    font-size:12px;
-  }
-
-  #form-container {
-    padding: 1px 0px 0px -4px;
-  }
-
-  #form-container .breadcrumb-header   { 
-    margin: auto;
-    width: 118%; 
-    text-align: left;
-    overflow: auto;
-  }
-
-  .panel-body {
-    padding: 0px;
-  }
-
-  .btn-group{
-    position: relative;
-    display: inline-flex;
-    vertical-align: middle;
-    width: 80%;
-    margin-left: 35px;
-    margin-top: 10px;
-    padding: 0px 0px 1px 0px
-  }
-
-  .btn{
-    font-size: 12px;
-  }
-
-  .btn-group .btn+.btn, 
-  .btn-group .btn+.btn-group, 
-  .btn-group .btn-group+.btn, 
-  .btn-group .btn-group+.btn-group {
-    margin-left: 0px;
-  }
-
-  .card-container.card {
-    width: 295px;
-    padding: 40px 40px 0px;
-  }
-
-  .btn-breadcrumb .btn {
-    padding:6px 12px 6px 12px;
-  }
-
-  .btn-breadcrumb .btn:first-child {
-    padding:6px 6px 6px 10px;
-  }
-
-  .btn-breadcrumb .btn:last-child {
-    padding:6px 18px 6px 24px;
-  }
-
-  #resetpassword {
-    margin-left: 5px;
-    width: 70px;
-  }
-
-  #navButtons{
-    float: right;
-    width: 75%;
-  }
-
-  .container {
-    padding-right: 0px;
-    padding-left: 0px;
-    margin-right: auto;
-    margin-left: auto;
-    /*margin-top: -4px;*/
-  }
-
-  .input-group .form-control{
-    font-size: 12px;
-  }
-
-  label {
-    font-size: 12px;
-  }
-
-  .form-control{
-    font-size: 12px;
-  }
-
-  .select2-results .select2-result-label{
-    font-size: 12px;
-  }
-
-  .select2-container-multi .select2-choices .select2-search-field input{
-    font-size:12px;
-  }
-
-  #datetime{
-    line-height: 34px;
-    float: left;
-    margin-top:-30px;
-    padding: 0 3px 0px 0px;
-    display: inline-block !important;
-    width:100px;
-  }
-
-  #date, #date-property{
-    position: relative;
-    display: table; 
-    border-collapse: separate;
-  }
-
-  #timepicker{
-    line-height: 34px; 
-    float: right; 
-    padding: 0 3px 0px 0px;
-    margin-top: -65px;
-  }
-
-  span.k-datetimepicker{
-    width: 171%;
-    margin-top: 50%;
-  }
-
-  .multivalue button{
-    width: 40px;
-  }
-
-  .row{
-    margin-left: -34px;
-    margin-right: 0px;
-    width: 100%
-  }
-
-  .navbar {
-    position: relative;
-    min-height: 50px;
-    width: 100%;
-    margin-left: 33px;
-    margin-bottom: 20px;
-    border: 1px solid transparent;
-  }
-
-  #datetime{
-    line-height: 34px;
-    float: left;
-    margin-top:-30px;
-    padding: 0 3px 0px 0px;
-    display: -webkit-inline-box;
-  }
-
-  #datetime input{
-    width: 105%;
-    margin-top: 0px
-  }
-
-  #date, #date-property{
-    position: relative;
-    display: table; 
-    border-collapse: separate;
-    margin-bottom: -40px;
-  }
-
-  #calendar{
-    position:absolute;
-    margin-top: -33px;
-    margin-left: 99px;
-    width:40px;
-  }
-
-  #timepicker{
-    line-height: 34px; 
-    float: right; 
-    padding: 0 3px 0px 0px;
-    margin-top: -64px;
-    margin-left: 48px;
-  }
-
-
-  .container-fluid {
-    padding-right: 15px;
-    padding-left: 15px;
-    margin-right: auto;
-    margin-left: 33px;
-    margin-left: 33px;
-    width: 82%;
-  }
-
-  #finish{
-    padding-left: 4px;
-    padding-right: 4px;
-    margin-top: 4px;
-    margin-right: 16px;
-  }
-  #next{
-    padding-left: 6px;
-    padding-right: 4px;
-    margin-right:-15px;
-  }
-  #previous{
-    padding-left: 4px;
-    padding-right: 4px;
-    margin-left: -87px
-  }
-  #save{
-    padding-left: 4px;
-    padding-right: 4px;
-    margin-top:4px;
-    margin-right:25px;
-
-  }
-}
-/* 
-============================================================================= */
-
-/* Style for devices max width 800)
-============================================================================= */
-@media only screen and (max-width: 800px) {
-
-  * {
-    font-size:12px;
-  }
-
-  #form-container .breadcrumb-header   { 
-    width: 97%; 
-    padding: 1px 0px 0px 0px;
-    text-align: left;
-    overflow: auto;
-  }
-
-  .panel-body {
-    padding: 0px;
-  }
-
-  .btn-group{
-    position: relative;
-    display: inline-flex;
-    vertical-align: middle;
-    width: 80%;
-    margin-left: 35px;
-    margin-top: 10px;
-    padding: 0px 0px 1px 0px
-  }
-
-  #captchaImg {
-    display: block;
-    margin: 0 auto;
-    width: 100%;
-  }
-
-}
-/* 
-============================================================================= */
-
-/* ANIMATIONS
-============================================================================= */
-/* slide out to the left */
-@keyframes slideOutLeft {
-  to      { transform: translateX(-300%); }
-}
-@-moz-keyframes slideOutLeft {  
-  to      { -moz-transform: translateX(-300%); }
-}
-@-webkit-keyframes slideOutLeft {
-  to      { -webkit-transform: translateX(-300%); }
-}
-
-/* slide in from the right */
-@keyframes slideInRight {
-  from    { transform:translateX(300%); }
-  to      { transform: translateX(0); }
-}
-@-moz-keyframes slideInRight {
-  from    { -moz-transform:translateX(300%); }
-  to      { -moz-transform: translateX(0); }
-}
-@-webkit-keyframes slideInRight {
-  from    { -webkit-transform:translateX(300%); }
-  to      { -webkit-transform: translateX(0); }
-}
-/* 
-============================================================================= */
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/init.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/init.css
deleted file mode 100644
index 21555b4..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/init.css
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-#accessibility {
-  display: none;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/login.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/login.css
deleted file mode 100644
index 03212f3..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/login.css
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-body, html {
-  background-repeat: no-repeat;
-}
-
-body{
-  margin: 0px;
-  padding:0px;
-}
-
-@media only screen and (max-width: 500px) {
-  body{
-    margin: 0px;
-    padding: 0px;
-  }
-}
-
-.login-btn {
-  background: -moz-linear-gradient(top, #a9db80 0%, #96c56f 100%); /* FF3.6+ */
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a9db80), color-stop(100%,#96c56f)); /* Chrome,Safari4+ */
-  background: -webkit-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Opera 11.10+ */
-  background: -ms-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* IE10+ */
-  margin-top: 5px;
-  color: black;
-}
-.login-btn:hover {
-  background: #658D5D;
-}
-
-#languageContainer {
-  padding: 0 25px;
-}
-
-.logout{
-  float: right;
-}
-
-.login-logo {
-  width: 200px;
-  margin: 0px auto 10px;
-  display: block;
-}
-
-.form-signin input[type=password],
-.form-signin input[type=text],
-.form-signin button {
-  width: 100%;
-  display: block;
-  margin-bottom: 10px;
-  z-index: 1;
-  position: relative;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-}
-
-input[type="number"]{
-  padding-right: 0px !important
-}
-
-.dropdown-toggle {
-  width: 100%; 
-  text-align: left;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/notification.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/notification.css
deleted file mode 100644
index f2d190e..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/notification.css
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-.k-notification-wrap {
-  white-space: normal !important;
-  word-wrap: break-word !important;
-}
-
-.k-icon {
-  margin-right: 5px;
-  vertical-align: sub;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/passwordReset.css b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/passwordReset.css
deleted file mode 100644
index 4f03f25..0000000
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/themes/css/passwordReset.css
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
-*/
-
-#resetpassword {
-  background: -moz-linear-gradient(top, #a9db80 0%, #96c56f 100%); /* FF3.6+ */
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a9db80), color-stop(100%,#96c56f)); /* Chrome,Safari4+ */
-  background: -webkit-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* Opera 11.10+ */
-  background: -ms-linear-gradient(top, #a9db80 0%,#96c56f 100%); /* IE10+ */
-  margin-left: 5px;
-  color: black;
-  border: none;
-}
-#resetpassword:hover {
-  background: #658D5D;
-}
-
-#captchaImg {
-  display: block;
-  margin: 0 auto;
-}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/AbstractAttrs.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/AbstractAttrs.html
index d0d803f..435b727 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/AbstractAttrs.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/AbstractAttrs.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="emptyPlaceholder"/>
-    <div id="attributes">
+    <div class="col-xs-12" id="attributes">
       <wicket:child/>
     </div>
   </wicket:panel>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/CaptchaPanel.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/CaptchaPanel.html
index e45fdf5..a1561c6 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/CaptchaPanel.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/CaptchaPanel.html
@@ -20,20 +20,22 @@ under the License.
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:panel>
     <wicket:extend>
-      <div id="captchaButtons">
-        <img wicket:id="image" />
-      </div>
-      <div>
-        <button wicket:id="reloadButton" id="refresh" type="button" class="btn btn-default btn-xs fa fa-refresh" 
-                title="Refresh Captcha"></button>
-        <button id="infoLink" class="btn btn-default btn-xs fa fa-question-circle" title="What is this?"
-                onclick="window.open('https://it.wikipedia.org/wiki/CAPTCHA')"></button>
-      </div>
-      <div>
-        <input wicket:id="captcha" type="text" size="28" />
-      </div>
-      <div>
-        <wicket:message key="captcha.message">[CAPTCHA_MESSAGE]</wicket:message>
+      <div class="captcha_block">
+        <div id="captcha_buttons">
+          <img wicket:id="image" />
+        </div>
+        <div id="captcha_image" class="captcha_elem">
+          <button wicket:id="reloadButton" id="refresh" type="button" class="btn btn-default btn-xs fa fa-refresh" 
+                  title="Refresh Captcha"></button>
+          <button id="infoLink" class="btn btn-default btn-xs fa fa-question-circle" title="What is this?"
+                  onclick="window.open('https://it.wikipedia.org/wiki/CAPTCHA')"></button>
+        </div>
+        <div id="captcha_text" class="captcha_elem">
+          <input wicket:id="captcha" type="text" size="28" />
+        </div>
+        <div id="captcha_message" class="captcha_elem">
+          <wicket:message key="captcha.message">[CAPTCHA_MESSAGE]</wicket:message>
+        </div>
       </div>
     </wicket:extend>
   </wicket:panel>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/UserDetails.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/UserDetails.html
index 571ef52..cc02ba2 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/UserDetails.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/enduser/wizards/any/UserDetails.html
@@ -18,7 +18,7 @@ under the License.
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org">
   <wicket:panel>
-    <div class="details">
+    <div class="col-xs-12 details">
       <div class="form-group">
         <span wicket:id="destinationRealm">[DESTINATION REALM]</span>
       </div>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.html
index e2efccd..54e63c3 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/markup/html/form/AjaxCheckBoxPanel.html
@@ -23,13 +23,11 @@ under the License.
   <body>
     <wicket:extend>
       <div class="checkbox">
-        <label style="width:100%">
-          <input type="checkbox" wicket:id="checkboxField" />
-          <wicket:enclosure child="field-label">
-            <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
-            <span wicket:id="externalAction"/>
-          </wicket:enclosure>
-        </label>
+        <input type="checkbox" wicket:id="checkboxField" />
+        <wicket:enclosure child="field-label">
+          <label wicket:id="field-label">[LABEL]</label><span wicket:id="required"/>
+          <span wicket:id="externalAction"/>
+        </wicket:enclosure>
       </div>
     </wicket:extend>
   </body>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.html
index 7bd13e6..96f296e 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizard.html
@@ -38,7 +38,6 @@ under the License.
           </div>
         </form>
       </div>
-      <div class="background-footer"></div>
       <span wicket:id="outerObjectsRepeater">
         <div wicket:id="outer"/>
       </span>
diff --git a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizardMgtButtonBar.html b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizardMgtButtonBar.html
index 6d9ac20..8b51391 100644
--- a/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizardMgtButtonBar.html
+++ b/client/idrepo/enduser/src/main/resources/org/apache/syncope/client/ui/commons/wizards/AjaxWizardMgtButtonBar.html
@@ -23,15 +23,15 @@ under the License.
   <body>
     <wicket:panel xmlns:wicket="http://wicket.apache.org">
 
-      <div class="pull-left">
-        <input wicket:id="cancel" type="submit" wicket:message="value:cancel" class="btn btn-default pull-left"/>
-      </div>
-      <div class="pull-right">
+      <span class="pull-left">
+        <input wicket:id="cancel" type="submit" wicket:message="value:cancel" class="btn btn-default"/>
+      </span>
+      <span class="pull-right">
         <input wicket:id="previous" type="submit" wicket:message="value:previous" class="btn btn-default"/>
-        <input wicket:id="next" type="submit" wicket:message="value:next"  class="btn btn-default"/>
-        <input wicket:id="last" type="submit" wicket:message="value:last"  class="btn btn-default"/>
+        <input wicket:id="next" type="submit" wicket:message="value:next" class="btn btn-default"/>
+        <input wicket:id="last" type="submit" wicket:message="value:last" class="btn btn-default"/>
         <input wicket:id="finish" type="submit" wicket:message="value:finish" class="btn btn-primary"/>
-      </div>
+      </span>
 
     </wicket:panel>
   </body>
diff --git a/client/idrepo/ui/pom.xml b/client/idrepo/ui/pom.xml
index d804a87..aa5853b 100644
--- a/client/idrepo/ui/pom.xml
+++ b/client/idrepo/ui/pom.xml
@@ -24,7 +24,7 @@ under the License.
     <artifactId>syncope-client-idrepo</artifactId>
     <version>3.0.0-SNAPSHOT</version>
   </parent>
-
+ 
   <name>Apache Syncope Client IdRepo UI Commons</name>
   <description>Apache Syncope Client IdRepo UI Commons</description>
   <groupId>org.apache.syncope.client.idrepo</groupId>
@@ -90,4 +90,39 @@ under the License.
     </dependency>
   </dependencies>
   
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>nl.geodienstencentrum.maven</groupId>
+        <artifactId>sass-maven-plugin</artifactId>
+        <inherited>true</inherited>
+        <executions>
+          <execution>
+            <id>sass-compilation</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>update-stylesheets</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <resources>
+            <resource>
+              <source>
+                <directory>${basedir}/src/main/resources/META-INF/resources/ui-commons/css</directory>
+              </source>
+              <destination>${project.build.outputDirectory}/META-INF/resources/ui-commons/css</destination>
+            </resource>
+            <resource>
+              <source>
+                <directory>${basedir}/src/main/resources/META-INF/resources/ui-commons/css/accessibility</directory>
+              </source>
+              <destination>${project.build.outputDirectory}/META-INF/resources/ui-commons/css/accessibility</destination>
+            </resource>
+          </resources>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  
 </project>
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility.scss
similarity index 77%
rename from client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility.scss
index 21b9201..b9fc0c5 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility.css
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility.scss
@@ -17,28 +17,43 @@
  * under the License.
  */
 
+@import 'utils';
+
+$menu_outline_color: #949494;
+
 .btn-accessibility {
   position: absolute;
   right: 0;
   font-size: 12px;
   padding: 15px 15px 0 0;
-}
-
-.btn-accessibility i {
-  font-size: 30px;
-}
-
-.btn-accessibility:hover {
-  cursor:pointer;
+  i {
+    font-size: 30px;
+  }
+  &:hover {
+    cursor: pointer;
+  }
 }
 
 .control-sidebar-menu a:focus {
-  outline: 1px #949494 solid;
+  outline: 1px $menu_outline_color solid;
 }
 
 #change_contrast {
   top: 0;
 }
+
 #change_fontSize {
   top: 40px;
 }
+
+@include phone {
+  #change_contrast {
+    bottom: 52px;
+    top: auto;
+  }
+
+  #change_fontSize {
+    bottom: 12px;
+    top: auto;
+  }
+}
\ No newline at end of file
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
similarity index 92%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
index da26456..7f9d2f3 100644
--- a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/accessibility/accessibilityFont.css
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityFont.scss
@@ -63,20 +63,26 @@ div#tablehandling ul.menu i,
   font-size: 100% !important;
 }
 
-#topology .window {
-  height: 90px;
+#topology {
+  .window {
+    height: 90px;
+  }
 }
 
-.dataTables_length select {
-  font-size: 85% !important;
+.dataTables_length {
+  select {
+    font-size: 85% !important;
+  }
 }
 
 button.close {
   font-size: 2em;
 }
 
-.details-footer .information {
-  font-size: 12px;
+.details-footer {
+  .information {
+    font-size: 12px;
+  }
 }
 
 .btn-file i,
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
similarity index 81%
rename from client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
index aa4d5b9..ababa93 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/accessibility/accessibilityHC.css
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/accessibility/accessibilityHC.scss
@@ -17,6 +17,12 @@
  * under the License.
  */
 
+@import 'utils';
+
+$accessibility_color_white: #f7f7f7;
+$accessibility_color_black: #000000;
+
+
 /* General
 ============================================================================= */
 .content-wrapper,
@@ -37,14 +43,14 @@ button:not(.close),
 .circular-actions a,
 .k-select,
 .file-caption.kv-fileinput-caption {
-  color: #f7f7f7 !important;
+  color: $accessibility_color_white !important;
   background-color: #0f1417 !important;
 }
 
 
 .dataTable thead th:after,
 .close {
-  color: #f7f7f7 !important;
+  color: $accessibility_color_white !important;
   opacity: 0.8 !important;
 }
 
@@ -71,7 +77,7 @@ button:not(.close),
 .wrapper .content-wrapper .nav.nav-tabs li a:focus span,
 .wrapper .content-wrapper .nav.nav-tabs li a:focus,
 .wrapper .content-wrapper .tab-content .btn-primary .fa-download {
-  color: #000000 !important;
+  color: $accessibility_color_black !important;
 }
 
 
@@ -92,32 +98,36 @@ table tbody tr:hover button span,
 .wizard-form .input-group-addon i,
 #startAtContainer .input-group-addon i,
 .attribute .input-group-addon i {
-  color: #f7f7f7 !important;
+  color: $accessibility_color_white !important;
 }
 
 
 .box.box-primary {
-  border-top-color: #f7f7f7;
+  border-top-color: $accessibility_color_white;
 }
 
 
 img,
 .content-wrapper div.btn.btn-file span.hidden-xs {
-  background-color: #f7f7f7;
-  color: #000000 !important;
+  background-color: $accessibility_color_white;
+  color: $accessibility_color_black !important;
+}
+.enduser_navbar .navbar-brand img {
+  background-color: transparent;
 }
 .btn-primary,
 .callout.callout-info,
 .alert-info,
 .label-info,
 .modal-info .modal-body {
-  background-color: #f7f7f7 !important;
-  color: #000000 !important;
+  background-color: $accessibility_color_white !important;
+  color: $accessibility_color_black !important;
 }
 
 
 .logo img,
-.modal-content .input-group .input-group-addon {
+.modal-content .input-group .input-group-addon,
+.wizard-view .input-group .input-group-addon {
   background-color: transparent;
 }
 
@@ -128,22 +138,14 @@ img,
 
 
 #veil:not(:required):after {
-  -webkit-box-shadow: #f7f7f7 1.5em 0 0 0, 
-    #f7f7f7 1.1em 1.1em 0 0, 
-    #f7f7f7 0 1.5em 0 0,
-    #f7f7f7 -1.1em 1.1em 0 0, 
-    rgba(0, 0, 0, 0.5) -1.5em 0 0 0, 
-    rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, 
-    #f7f7f7 0 -1.5em 0 0, 
-    #f7f7f7 1.1em -1.1em 0 0;
-  box-shadow: #f7f7f7 1.5em 0 0 0, 
-    #f7f7f7 1.1em 1.1em 0 0, 
-    #f7f7f7 0 1.5em 0 0, 
-    #f7f7f7 -1.1em 1.1em 0 0, 
-    #f7f7f7 -1.5em 0 0 0, 
-    #f7f7f7 -1.1em -1.1em 0 0, 
-    #f7f7f7 0 -1.5em 0 0, 
-    #f7f7f7 1.1em -1.1em 0 0; 
+  @include shadow($accessibility_color_white 1.5em 0 0 0, 
+  $accessibility_color_white 1.1em 1.1em 0 0, 
+  $accessibility_color_white 0 1.5em 0 0, 
+  $accessibility_color_white -1.1em 1.1em 0 0, 
+  $accessibility_color_white -1.5em 0 0 0, 
+  $accessibility_color_white -1.1em -1.1em 0 0, 
+  $accessibility_color_white 0 -1.5em 0 0, 
+  $accessibility_color_white 1.1em -1.1em 0 0);
 }
 
 
@@ -194,7 +196,7 @@ div.toggle-menu,
 
 
 div.toggle-menu {
-  border: 1px solid #f7f7f7;
+  border: 1px solid $accessibility_color_white;
 }
 
 
@@ -213,7 +215,7 @@ a {
 
 
 .logs button.btn-primary {
-  border-color: #f7f7f7;
+  border-color: $accessibility_color_white;
 }
 .logs button.btn-primary:hover {
   border-color: #adadad;
@@ -279,16 +281,18 @@ div.infolabel,
 }
 
 .btn-accessibility {
-  color: #f7f7f7 !important;
+  color: $accessibility_color_white !important;
 }
 
-.form-signin .btn-primary, 
-.form-signin .btn-primary {
-  border: 2px solid white;
-}
-.form-signin .btn-primary.focus, 
-.form-signin .btn-primary:focus {
-  border-color: #8c8c8c;
+.form-signin  {
+  .btn-primary, 
+  .btn-primary {
+    border: 2px solid white;
+  }
+  .btn-primary.focus, 
+  .btn-primary:focus {
+    border-color: #8c8c8c;
+  }
 }
 
 .login-card {
diff --git a/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/animations.scss b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/animations.scss
new file mode 100644
index 0000000..4e75a4d
--- /dev/null
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/animations.scss
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@-webkit-keyframes spinner {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -moz-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(360deg);
+    -moz-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    -o-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@-moz-keyframes spinner {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -moz-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(360deg);
+    -moz-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    -o-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@-o-keyframes spinner {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -moz-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(360deg);
+    -moz-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    -o-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
+@keyframes spinner {
+  0% {
+    -webkit-transform: rotate(0deg);
+    -moz-transform: rotate(0deg);
+    -ms-transform: rotate(0deg);
+    -o-transform: rotate(0deg);
+    transform: rotate(0deg);
+  }
+  100% {
+    -webkit-transform: rotate(360deg);
+    -moz-transform: rotate(360deg);
+    -ms-transform: rotate(360deg);
+    -o-transform: rotate(360deg);
+    transform: rotate(360deg);
+  }
+}
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/batch.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/batch.scss
similarity index 75%
rename from client/idrepo/console/src/main/resources/META-INF/resources/css/batch.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/batch.scss
index ec3d70e..17823cb 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/batch.css
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/batch.scss
@@ -16,11 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-div.batch{
-  display:inline-table;
+.batch {
+  display: inline-table;
 }
-
-div.batchCell{
+.batchCell {
   display: table-cell;
   vertical-align: middle;
   text-align: center;
@@ -28,23 +27,23 @@ div.batchCell{
   padding-left: 7px;
 }
 
-.pageRowElement{
+.pageRowElement {
   display: inline-table;
   width: 100%;
 }
 
-div#selectedObjects table {
-  border-collapse: collapse;
-}
-
-div#selectedObjects table td, div#selectedObjects table th {
-  border: 1px solid #eee;
-  padding: .5em 10px;
-}
-
-div#selectedObjects .circular-actions {
-  padding: 3px;
-  margin: 10px 0px 5px 0px;
+div#selectedObjects {
+  table {
+    border-collapse: collapse;
+    td, th {
+      border: 1px solid #eee;
+      padding: .5em 10px;
+    }
+  }
+  .circular-actions {
+    padding: 3px;
+    margin: 10px 0px 5px 0px;
+  }
 }
 
 .modal-body {
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts.scss
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts.scss
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-300italic.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-600italic.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-700.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-italic.woff2
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2 b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/fonts/source-sans-pro-v11-latin-ext_cyrillic_latin_cyrillic-ext-regular.woff2
diff --git a/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/login.scss b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/login.scss
new file mode 100644
index 0000000..e7e0c76
--- /dev/null
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/login.scss
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@import 'utils';
+
+$background_green1: rgb(104, 145, 162);
+$background_green2: #00a65a;
+
+body, html {
+  height: 100% !important;
+  background-repeat: no-repeat;
+  background-image: linear-gradient($background_green1, $background_green2);
+}
+
+.card-container.card {
+  width: 350px;
+  padding: 40px 40px;
+}
+
+.btn {
+  font-weight: 700;
+  height: 36px;
+  @include user_select(none);
+  cursor: default;
+}
+
+/*
+ * Card component
+ */
+.card {
+  background-color: #F7F7F7;
+  /* just in case there no content*/
+  padding: 20px 25px 30px;
+  margin: 0 auto 25px;
+  margin-top: 50px;
+  /* shadows and rounded borders */
+  @include border_radius(2px);
+  @include shadow(0px 2px 2px rgba(0, 0, 0, 0.3));
+}
+
+.login-logo {
+  width: 200px;
+  margin: 0 auto 10px;
+  display: block;
+}
+
+/*
+ * Form styles
+ */
+.profile-name-card {
+  font-size: 16px;
+  font-weight: bold;
+  text-align: center;
+  margin: 10px 0 0;
+  min-height: 1em;
+}
+
+.form-signin {
+  #inputPassword {
+    direction: ltr;
+    height: 44px;
+    font-size: 16px;
+  }
+  input {
+    &[type=password], &[type=text] {
+      width: 100%;
+      display: block;
+      margin-bottom: 10px;
+      z-index: 1;
+      position: relative;
+      @include box_sizing(border-box);
+    }
+  }
+  button {
+    width: 100%;
+    display: block;
+    margin-bottom: 10px;
+    z-index: 1;
+    position: relative;
+    @include box_sizing(border-box);
+  }
+  .form-control:focus {
+    border-color: $background_green1;
+    outline: 0;
+    @include shadow(inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px $background_green1);
+  }
+}
+
+.btn {
+  &.btn-signin {
+    background-color: $background_green1;
+    padding: 0px;
+    font-weight: 700;
+    font-size: 14px;
+    height: 36px;
+    @include border_radius(3px);
+    border: none;
+    @include transition(all, 0.218s, ease);
+
+    &:hover, &:active, &:focus {
+      background-color: $background_green2;
+    }
+  }
+  &.btn-sso {
+    padding: 0px;
+    font-weight: 700;
+    font-size: 14px;
+    height: 36px;
+    @include border_radius(3px);
+    border: none;
+    @include transition(all, 0.218s, ease);
+
+    &:hover, &:active, &:focus {
+      background-color: $background_green2;
+    }
+  }
+}
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/css/search.css b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/search.scss
similarity index 57%
rename from client/idrepo/console/src/main/resources/META-INF/resources/css/search.css
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/search.scss
index 83cf0b6..9f622d1 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/css/search.css
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/search.scss
@@ -16,64 +16,56 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-.searchBox .col-xs-12{
+.searchBox .col-xs-12 {
   padding-left: 0px !important;
   padding-right: 0px !important;
 }
 
-.clause{
+.clause {
   display: block;
   line-height: 34px;
   width: 100%;
+  .operator {
+    width: 65px !important;
+    .checkbox {
+      margin: 0px !important;
+    }
+  }
+  .field {
+    line-height: 34px;
+    float: left;
+    padding: 0 3px 0px 0px;
+    display: inline-block !important;
+  }
+  .type {
+    width: 120px !important;
+  }
+  .property {
+    width: 190px;
+  }
+  .comparator {
+    width: 100px;
+    button {
+      width: 100px !important;
+    }
+  }
+  .value {
+    width: 220px;
+  }
+  .textvalue {
+    width: 45px;
+  }
+  .action {
+    float: left;
+    padding: 0px 7px 0px;
+  }
 }
 
-.clause .operator{
-  width: 65px !important;
-}
-
-.clause .operator .checkbox{
-  margin: 0px !important;
-}
-
-.clause .field {
-  line-height: 34px;
-  float: left;
-  padding: 0 3px 0px 0px;
-  display: inline-block !important;
-}
-.clause .type{
-  width: 120px !important;
-}
-
-.clause .property{
-  width: 190px;
-}
-
-.clause .comparator{
-  width: 100px;
-}
-
-.clause .comparator button{
-  width: 100px !important;
-}
-
-.clause .value{
-  width: 220px;
-}
-
-.clause .textvalue{
-  width: 45px;
-}
-
-.clause .action{
-  float: left;
-  padding: 0px 7px 0px;
-}
-
-.searchBox .input-group-addon:last-child{
-  border: 1px solid #ccc !important;
-}
-
-.searchBox .input-group{
-  margin-top: 1px;
+.searchBox {
+  .input-group-addon:last-child {
+    border: 1px solid #ccc !important;
+  }
+  .input-group {
+    margin-top: 1px;
+  }
 }
\ No newline at end of file
diff --git a/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
new file mode 100644
index 0000000..e2d391f
--- /dev/null
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/syncopeUI.scss
@@ -0,0 +1,1156 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@import 'utils';
+
+
+pre {
+  @include white_space_pre_wrap;
+}
+
+/* Absolute Center Spinner */
+
+#veil {
+  display: none;
+  position: fixed;
+  z-index: 99999;
+  height: 2em;
+  width: 2em;
+  overflow: show;
+  margin: auto;
+  top: 0;
+  left: 0;
+  bottom: 0;
+  right: 0;
+  &:before {
+    content: '';
+    display: block;
+    position: fixed;
+    top: 0;
+    left: 0;
+    width: 100%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+  }
+
+  /* :not(:required) hides these rules from IE9 and below */
+  &:not(:required) {
+    /* hide "loading..." text */
+    font: 0/0 a;
+    color: transparent;
+    text-shadow: none;
+    background-color: transparent;
+    border: 0;
+    &:after {
+      content: '';
+      display: block;
+      font-size: 10px;
+      width: 1em;
+      height: 1em;
+      margin-top: -0.5em;
+      border-radius: 0.5em;
+
+      @include animation(spinner 2000ms infinite linear);
+      @include shadow(rgba(0, 0, 0, 0.75) 1.5em 0 0 0, 
+      rgba(0, 0, 0, 0.75) 1.1em 1.1em 0 0, 
+      rgba(0, 0, 0, 0.75) 0 1.5em 0 0, 
+      rgba(0, 0, 0, 0.75) -1.1em 1.1em 0 0, 
+      rgba(0, 0, 0, 0.5) -1.5em 0 0 0, 
+      rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, 
+      rgba(0, 0, 0, 0.75) 0 -1.5em 0 0, 
+      rgba(0, 0, 0, 0.75) 1.1em -1.1em 0 0);
+    }
+  }
+}
+
+/* Transparent Overlay */
+
+/* Animation */
+
+@-webkit-keyframes spinner {
+  0% {
+    @include transform(rotate(0deg));
+  }
+
+  100% {
+    @include transform(rotate(360deg));
+  }
+}
+
+
+@-moz-keyframes spinner {
+  0% {
+    @include transform(rotate(0deg));
+  }
+
+  100% {
+    @include transform(rotate(360deg));
+  }
+}
+
+
+@-o-keyframes spinner {
+  0% {
+    @include transform(rotate(0deg));
+  }
+
+  100% {
+    @include transform(rotate(360deg));
+  }
+}
+
+
+@keyframes spinner {
+  0% {
+    @include transform(rotate(0deg));
+  }
+
+  100% {
+    @include transform(rotate(360deg));
+  }
+}
+
+
+.block-sidebar {
+  max-height: 100% !important;
+  overflow: auto !important;
+  padding-top: 90px !important;
+  padding-bottom: 50px !important;
+  position: fixed !important;
+  width: 245px !important;
+}
+
+.inner-control-sidebar {
+  position: fixed;
+  height: auto;
+}
+
+.content-margin-layout {
+  margin: 0px 230px 0px 0px !important;
+  padding: 20px !important;
+}
+
+.admin-content-page {
+  padding: 20px;
+  background: #ecf0f5;
+}
+
+.realms {
+  min-height: 554px;
+}
+
+.realm-header {
+  clear: both;
+  display: block;
+  display: inline-table;
+  margin: 0 0 10px;
+  line-height: 25px;
+}
+
+.realm-label {
+  float: left;
+  font-size: 16px;
+  label {
+    font-weight: 600 !important;
+  }
+}
+
+.realm-choice {
+  right: 0px;
+  position: absolute;
+}
+
+.realm-header .dropdown-menu li a {
+  text-align: left !important;
+  white-space: pre !important;
+  line-height: 7px;
+}
+
+.block-header {
+  position: fixed !important;
+  width: 100% !important;
+  top: 0 !important;
+}
+
+.block-footer {
+  position: fixed !important;
+  width: 100% !important;
+  bottom: 0px !important;
+}
+
+.logo-pos {
+  padding-top: 4px !important;
+  overflow: visible !important;
+}
+
+.angle {
+  border: medium none !important;
+  cursor: pointer;
+  display: inline-table !important;
+  float: right;
+  height: 30px;
+  overflow: hidden;
+  position: relative !important;
+  right: 0;
+  top: -30px;
+  width: 25%;
+  z-index: 3;
+}
+
+.main-header .logo {
+  height: 55px !important;
+}
+
+.w_caption h3 {
+  font-size: 16px;
+}
+
+.wicket-modal div.w_content_3 {
+  border: 1px solid #eee;
+  border-radius: 20px;
+  padding: 5px;
+}
+
+.tab-content {
+  margin-bottom: 10px;
+  margin-top: 5px;
+  position: relative;
+  overflow-x: hidden;
+  overflow-y: auto;
+  padding: 20px 20px 5px 20px;
+}
+
+.modal-body .tab-content .information {
+  position: relative !important;
+}
+
+.scrollable-tab-content {
+  overflow-y: auto;
+  max-height: 480px;
+}
+
+.inner-scrollable-tab-content {
+  height: 430px;
+  margin-top: 20px;
+  overflow-x: hidden;
+  overflow-y: auto;
+}
+
+a.help {
+  position: relative;
+  display: inline;
+  text-decoration: none;
+  span {
+    position: absolute;
+    width: 19em;
+    color: #000000;
+    background: whitesmoke;
+    visibility: hidden;
+    border-radius: 0px;
+    padding: 3px;
+    &:after {
+      position: absolute;
+      top: 50%;
+      left: 100%;
+      margin-top: -8px;
+      width: 0;
+      height: 0;
+    }
+    visibility: visible;
+    opacity: none;
+    right: 100%;
+    top: 50%;
+    margin-right: 4px;
+    margin-top: -11px;
+    border: 1px solid black;
+    z-index: 1000000;
+    a {
+      color: #463;
+      text-decoration: none;
+    }
+  }
+}
+
+.modal-open {
+  .modal {
+    overflow: hidden;
+  }
+}
+
+.modal-body {
+  max-height: 550px;
+  overflow-y: auto;
+  overflow-x: hidden;
+}
+
+.modal {
+  background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
+  z-index: 7000 !important;
+}
+
+.wizard-step-title {
+  font-size: 18px !important;
+  font-weight: normal !important;
+  margin-bottom: 10px !important;
+}
+
+.wizard-view div.wizard-view {
+  max-height: 380px;
+  height: 380px;
+  overflow-y: auto;
+  overflow-x: hidden;
+  padding: 50px 20px 50px 20px;
+}
+
+.wizard-view .wizard-form {
+  max-height: 450px;
+  height: 450px;
+}
+
+.modal-body .tab-content {
+  .wizard-view {
+    max-height: 330px !important;
+    height: 330px !important;
+  }
+  .wizard-form {
+    max-height: 400px !important;
+    height: 400px !important;
+  }
+}
+
+.wizard-view {
+  > div {
+    display: block;
+    height: 95%;
+    position: relative;
+  }
+  padding: 0px 5px;
+}
+
+.wizard-form {
+  height: 480px;
+  position: relative;
+  > div {
+    max-height: 440px;
+    height: 440px;
+    overflow-y: auto;
+    overflow-x: hidden;
+    padding: 0px;
+  }
+}
+
+.box-body .wizard-form {
+  height: 400px !important;
+  > div {
+    height: 360px !important;
+  }
+}
+
+.wizard-buttons {
+  padding: 10px 0px 5px 0px;
+  position: absolute;
+  bottom: 4px;
+  width: 100%;
+  div {
+    &.pull-left {
+      position: absolute;
+      left: 15px;
+    }
+    &.pull-right {
+      position: absolute;
+      right: 15px;
+    }
+  }
+}
+
+.wizard-step-title {
+  font-weight: bold;
+  font-size: medium;
+}
+
+.realms div.summarize {
+  margin: 50px 100px;
+}
+
+.navbar {
+  a {
+    height: 55px;
+  }
+  .footer a, .user-footer a {
+    height: 34px;
+  }
+}
+
+span.overridable div.checkbox {
+  float: right;
+  margin: 0px;
+  padding: 0px;
+  label div div.toggle-group label {
+    padding-left: 7px;
+  }
+}
+
+#outer.modal-lg, 
+#utilityModal.modal-lg {
+  max-width: 1200px;
+  width: 97%;
+}
+
+section#notifications .modal-lg {
+  max-width: 1200px;
+  width: 97%;
+}
+
+.details {
+  max-height: 401px;
+  overflow-x: hidden;
+  overflow-y: auto;
+  display: block;
+}
+
+th.checkGroupColumn {
+  width: 20px;
+  text-align: center;
+  padding-right: 8px !important;
+}
+
+td.checkGroupColumn {
+  text-align: center;
+}
+
+/**
+  BEGIN - Style for Information panel
+*/
+
+.information {
+  margin: 30px 0px 0px 0px;
+  border: 1px solid #EEE;
+  font-size: 10px;
+  color: #888;
+  display: inline-table;
+  width: 100%;
+  clear: both;
+  float: none;
+  position: absolute;
+  bottom: -90px;
+  left: 0px;
+  padding: 2px;
+}
+.infolabel {
+  margin-left: 5px;
+  float: left;
+  width: 150px;
+  font-weight: bold;
+  color: #888;
+}
+.infoleft {
+  float: left;
+  display: inline-table;
+  width: 50%;
+}
+.inforight {
+  display: inline-table;
+  width: 50%;
+}
+.inforow {
+  display: inline-table;
+  width: 100%;
+}
+.wrap {
+  word-wrap: break-word;
+  width: 550px;
+  margin-left: 155px;
+}
+
+/**
+END - Style for Information panel
+*/
+
+#ownership div.toggle {
+  width: 110px !important;
+}
+
+.searchResult {
+  padding-top: 30px;
+  display: block;
+  clear: both;
+}
+
+.logs {
+  .input-group-addon .input-group-btn {
+    width: 130px !important;
+  }
+  .col_width {
+    width: 90% !important;
+  }
+  .box-header {
+    display: none !important;
+  }
+  .box {
+    border-top: 0px !important;
+  }
+}
+
+* {
+  &::after, &::before {
+    box-sizing: border-box;
+  }
+}
+
+.wicket-aa-container {
+  border-color: #eee;
+  box-shadow: none;
+  background-clip: padding-box;
+  background-color: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.15);
+  border-radius: 4px;
+  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.176);
+  float: left;
+  font-size: 14px;
+  min-width: 160px;
+  max-height: 250px;
+  z-index: 7001 !important;
+}
+
+.wicket-aa ul {
+  list-style: none;
+  padding-left: 15px;
+}
+#startAt {
+  background-color: rgba(98, 98, 98, 0.98) !important;
+  color: #CCC;
+  right: 5px !important;
+  top: 100px !important;
+  min-width: 450px;
+  min-height: 130px !important;
+  z-index: 6000 !important;
+}
+#itemTransformersTogglePanel {
+  min-width: 1000px;
+}
+#startAtContainer {
+  padding: 15px;
+  input {
+    background-color: rgba(200, 200, 200, 0.6) !important;
+  }
+}
+
+/**
+START - startAt
+*/
+
+/**
+END - startAt
+*/
+
+/**
+START - Notifications
+*/
+/*Temporany fix diagonal stacking*/
+
+.k-popup.k-notification {
+  box-shadow: none;
+}
+
+.k-notification-error.k-group {
+  background: rgba(100%, 0%, 0%, 0.7);
+  color: red;
+}
+
+.errorNotification {
+  width: 300px;
+  height: 100px;
+  vertical-align: middle;
+  display: table-cell;
+  #level {
+    float: left;
+    padding-left: 10px;
+    font-size: 2em;
+    width: 2%;
+  }
+  #message {
+    float: right;
+    padding-left: 0px;
+    width: 85%;
+  }
+}
+
+.k-notification-success.k-group {
+  background: rgba(0%, 60%, 0%, 0.7);
+  color: #fff;
+}
+
+.successNotification {
+  width: 300px;
+  height: 100px;
+  vertical-align: middle;
+  display: table-cell;
+  #level {
+    float: left;
+    padding-left: 10px;
+    font-size: 2em;
+    width: 2%;
+  }
+  #message {
+    float: right;
+    padding-left: 0px;
+    width: 85%;
+  }
+}
+
+/**
+EN - Notifications
+*/
+
+/**
+START - Actions
+*/
+
+.actions > li > a {
+  padding: 5px 0px 5px 0px !important;
+}
+
+div.listview-actions a {
+  float: left;
+  padding: 5px 0px 5px 0px !important;
+}
+
+.action a.btn {
+  padding: 0px;
+}
+
+.btn-circle {
+  border-radius: 15px !important;
+  font-size: 12px;
+  height: 30px;
+  line-height: 1.42857;
+  padding: 6px 0;
+  text-align: center;
+  width: 30px;
+}
+
+.circular-actions a {
+  border-radius: 15px !important;
+  font-size: 12px;
+  height: 30px;
+  line-height: 1.42857;
+  padding: 6px 0;
+  text-align: center;
+  width: 30px;
+  &.btn {
+    background-color: #3c8dbc;
+    border-color: #367fa9;
+    color: #fff;
+  }
+}
+
+.btn-circle i, .circular-actions a i {
+  margin: 0px;
+}
+
+.multipanel-btn-minus {
+  padding: 0px 0px 0px 6px;
+  border: 0 none !important;
+}
+
+.multipanel-btn-plus {
+  padding: 15px 0px 8px 6px;
+  border: 0 none !important;
+}
+
+.multipanel-box {
+  padding: 5px;
+  display: inline-table;
+  margin: 0px;
+}
+
+/**
+END - Actions
+*/
+
+/**
+START - DataTable
+*/
+
+.dataTable {
+  clear: both;
+}
+
+/**
+END - DataTable
+*/
+
+/**
+START - Result page
+*/
+
+.attribute {
+  padding: 0px 4px 0px 4px;
+}
+
+.left {
+  float: left;
+  width: 50%;
+}
+
+.right {
+  float: right;
+  width: 50%;
+}
+
+span.highlight .attribute label {
+  color: red;
+}
+
+/**
+END - Result page
+*/
+
+.navbar-nav > .user-menu > .dropdown-menu > li.user-header {
+  height: auto !important;
+  padding: 10px;
+  text-align: center;
+}
+
+.nav-tabs-custom > .nav-tabs > li.active {
+  border-top-color: #d2d6de !important;
+}
+
+.code-deletion {
+  background-color: #ffdddd;
+  border-color: #f1c0c0;
+}
+
+.code-addition {
+  background-color: #dbffdb;
+  border-color: #c1e9c1;
+}
+
+/**
+START - AjaxDateTimePicker
+*/
+
+.input-auto-width {
+  width: auto !important;
+}
+
+.icon-top-position {
+  top: 5px !important;
+}
+
+/**
+END - AjaxDateTimePicker
+*/
+
+/**
+START - Search - AjaxDateTimePicker
+*/
+
+.searchBox .col-xs-12 {
+  padding-left: 0px !important;
+  padding-right: 0px !important;
+}
+
+.clause {
+  display: block;
+  line-height: 34px;
+  width: 100%;
+  .operator {
+    width: 65px !important;
+    .checkbox {
+      margin: 0px !important;
+    }
+  }
+  .field {
+    line-height: 34px;
+    float: left;
+    padding: 0 3px 0px 0px;
+    display: inline-block !important;
+  }
+  .type {
+    width: 170px !important;
+    button {
+      width: 170px !important;
+    }
+  }
+  .property {
+    width: 300px;
+    button {
+      width: 300px;
+    }
+  }
+  .comparator {
+    width: 100px;
+    button {
+      width: 100px !important;
+    }
+  }
+  .value {
+    width: 220px;
+  }
+  .date {
+    width: 160px;
+  }
+  .hours {
+    width: 45px;
+  }
+  .separator {
+    width: 20px;
+    padding-left: 12px;
+  }
+  .action {
+    float: left;
+    padding: 0px 7px 0px;
+  }
+}
+
+.searchBox {
+  .input-group-addon:last-child {
+    border: 1px solid #ccc !important;
+  }
+  .input-group {
+    margin-top: 1px;
+  }
+}
+
+.custom-autocomplete-box li.selected {
+  background-color: #eee;
+}
+
+/**
+END - Search - AjaxDateTimePicker
+*/
+/**
+START - Parameters Details
+*/
+
+div#parametersForm {
+  min-height: 220px;
+}
+
+/**
+END - Parameters Details
+*/
+
+li.todoitem a {
+  cursor: default;
+}
+
+.popover {
+  max-width: 100%;
+}
+
+#popover:hover {
+  cursor: pointer;
+}
+
+.popover-content {
+  color: black;
+}
+
+.form-palette {
+  display: inline-block;
+  width: 119%;
+}
+
+.form-group-inline {
+  display: inline-table;
+  width: 100%;
+}
+
+div#userFilter {
+  #title {
+    margin: 10px 0 0 8px;
+    font-weight: bold;
+  }
+  #warning {
+    margin: 1px 0 5px 8px;
+    color: #e00000;
+    font-size: 9px;
+  }
+  #check {
+    margin: 1px 0 5px 8px;
+  }
+}
+
+.keyColumn {
+  width: 20px;
+}
+
+/**
+START - Alert widget onside menu
+*/
+
+.alert-widget {
+  > a {
+    > {
+      .label {
+        font-size: 9px;
+        line-height: 0.9;
+        padding: 2px 3px;
+        position: absolute;
+        margin-left: 10px;
+        text-align: center;
+        top: 0px;
+      }
+      i {
+        position: absolute;
+        top: 9px;
+      }
+    }
+    display: block;
+    position: relative;
+  }
+  text-align: center;
+  vertical-align: middle;
+  padding-right: 20px;
+  .dropdown-menu > li {
+    &.header {
+      background-color: #ffffff;
+      border-bottom: 1px solid #f4f4f4;
+      border-radius: 4px 4px 0 0;
+      color: #444444;
+      font-size: 14px;
+      padding: 7px 10px;
+    }
+    &.footer > a {
+      background-color: #fff;
+      border-radius: 0 0 4px 4px;
+      color: #444 !important;
+      font-size: 12px;
+      padding: 7px 10px;
+      text-align: center;
+    }
+    .menu {
+      list-style: outside none none;
+      padding: 10px;
+    }
+  }
+}
+
+/**
+END - Alert widget onside menu
+*/
+
+/**
+START - Transformers toggle panel
+*/
+
+.transformersTogglePanel {
+  background-color: rgba(140, 140, 140, 0.99) !important;
+  width: 1000px !important;
+}
+.transformersContainer {
+  padding: 15px;
+  input {
+    background-color: rgba(200, 200, 200, 0.6) !important;
+  }
+  #footer {
+    clear: both;
+    display: block;
+    text-align: right;
+    margin-top: 10px;
+  }
+  #body {
+    clear: both;
+    display: block;
+  }
+}
+.itemTransformersContainer #body {
+  select {
+    border: 1px solid #ccc !important;
+    background: rgba(240, 240, 240, 0.95) !important;
+  }
+  a {
+    color: #ccc !important;
+    cursor: pointer !important;
+  }
+}
+#jexlTransformersTogglePanel {
+  right: 400px;
+}
+
+/**
+END - Transformers toggle panel
+*/
+
+/**
+START - CRONTAB
+*/
+
+#schedule {
+  input, fieldset {
+    width: 50px;
+    float: left;
+  }
+}
+#templates {
+  padding-top: 30px;
+  clear: both;
+}
+
+/**
+END - CRONTAB
+*/
+
+/**
+START - EVENTS
+*/
+
+.events {
+  display: table-row;
+  width: 990px;
+}
+
+.selectedEvents {
+  display: inline-block;
+  height: 100px;
+  margin: 10px 10px 0 10px;
+  overflow-y: auto;
+}
+
+.eventSelection {
+  display: inline-table;
+  float: right;
+  width: 380px;
+  min-width: 530px;
+  #value {
+    height: auto;
+    overflow: hidden;
+    #custom {
+      width: auto;
+      overflow: hidden;
+    }
+    #customActions {
+      width: 85px;
+      float: right;
+    }
+  }
+}
+
+#selectionContainer select {
+  width: 585px;
+  min-width: 585px;
+}
+
+/**
+END - EVENTS
+*/
+
+fieldset.input-group {
+  width: 100%;
+}
+
+.modal-content > div {
+  &.modal-header, &.modal-footer {
+    background-color: #f0f0f0;
+    height: 64px;
+  }
+}
+
+.modal-body .box-body div.background-footer {
+  display: none !important;
+}
+
+.background-footer {
+  background-color: #f0f0f0;
+  display: block;
+  height: 64px;
+  margin-bottom: -15px;
+  margin-left: -30px;
+  margin-top: -25px;
+  width: 1300px;
+}
+
+.logviewer-btn {
+  padding: 0px 16px 20px 0px;
+  float: right;
+}
+
+#editUserChangePassword {
+  > label {
+    color: #e00000;
+  }
+}
+div > li {
+  list-style-type: none;
+}
+
+th ul.menu {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+
+#inline-actions ul.menu, 
+#tablehandling ul.menu, 
+.listview-actions ul.menu {
+  list-style-type: none;
+  margin: 0;
+  padding: 0;
+}
+#tablehandling ul.menu {
+  float: right;
+}
+
+th ul.menu li {
+  display: inline-block;
+}
+
+#inline-actions ul.menu li,
+#tablehandling ul.menu li, 
+.listview-actions ul.menu li {
+  display: inline-block;
+}
+
+th ul.menu li a {
+  margin-left: 5px;
+  display: inline-block !important;
+}
+
+#inline-actions ul.menu li a, 
+.listview-actions ul.menu li a, 
+#tablehandling ul.menu li a {
+  margin-left: 5px;
+  display: inline-block !important;
+}
+
+ul.menu {
+  li a {
+    display: block;
+    cursor: pointer !important;
+  }
+  i {
+    width: 35px;
+  }
+}
+
+#inline-actions ul.menu i, 
+#tablehandling ul.menu i {
+  width: auto !important;
+}
+
+.toggle-menu ul.menu li a {
+  padding: 0px;
+  text-align: left;
+}
+
+div#tablehandling ul.menu li a {
+  padding: 0px !important;
+}
\ No newline at end of file
diff --git a/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/topology.scss b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/topology.scss
new file mode 100644
index 0000000..92f8ad0
--- /dev/null
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/topology.scss
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+@import 'utils';
+
+.window {
+  border: 1px solid #346789;
+  @include shadow(2px 2px 19px #aaa);
+
+  -moz-border-radius: 0.5em;
+  border-radius: 0.5em;
+  opacity: 0.8;
+  filter: alpha(opacity = 80);
+  width: 140px;
+  height: 55px;
+  line-height: 5em;
+  text-align: center;
+  z-index: 20;
+  position: absolute;
+  background-color: #eeeeef;
+  color: black;
+  font-family: helvetica;
+  padding: 0.0em;
+  font-size: 0.9em;
+  vertical-align: middle;
+  cursor: pointer;
+}
+
+.active-window {
+  @include shadow(2px 2px 8px rgb(0, 166, 90));
+}
+
+.inactive-window {
+  @include shadow(2px 2px 19px #aaa);
+}
+
+.window p {
+  margin: 0px !important;
+  line-height: 1.5em;
+  font-size: 1.5em;
+  display: inline-table;
+}
+
+.topology_root {
+  background-color: rgba(0, 170, 0, 0.4);
+}
+
+.topology_cs {
+  background-color: rgba(0, 100, 0, 0.1);
+}
+
+.topology_conn {
+  background-color: rgba(100, 200, 200, 0.08);
+}
+
+.topology_res {
+  background-color: rgba(250, 230, 0, 0.09);
+}
+
+.window:hover {
+  @include shadow(2px 2px 19px #444);
+
+  opacity: 0.6;
+  filter: alpha(opacity = 60);
+}
+
+._jsPlumb_dragging {
+  z-index: 4000;
+}
+
+#drawing ._jsPlumb_overlay.component.label {
+  background-color: white;
+  border: 1px solid #346789;
+  border-radius: 0.5em 0.5em 0.5em 0.5em;
+  color: black;
+  font-size: 0.8em;
+  opacity: 0.8;
+  padding: 0.5em;
+}
+
+.aLabel {
+  background-color: white;
+  padding: 0.4em;
+  font: 12px sans-serif;
+  color: #444;
+  z-index: 21;
+  border: 1px dotted gray;
+  opacity: 0.8;
+  filter: alpha(opacity = 80);
+  cursor: pointer;
+  &._jsPlumb_hover {
+    background-color: #5C96BC;
+    color: white;
+    border: 1px solid white;
+  }
+}
+
+#topology {
+  position: relative;
+  border: 0px;
+  height: 780px;
+  overflow: hidden;
+}
+
+#drawing {
+  height: 5000px;
+  width: 5000px;
+  display: block;
+  position: relative;
+  top: -2490px;
+  left: -2270px;
+}
+
+#zoom {
+  text-align: right;
+  width: 100%;
+  border: none;
+  background: none;
+  padding-top: 5px;
+  .btn {
+    padding: 0px;
+  }
+  .fa {
+    font-size: 2em;
+    padding-right: 5px;
+  }
+}
+
+.node-action-link {
+  clear: both;
+  display: block;
+  height: 0px;
+  padding: 3px 8px 0px 0px;
+  position: absolute;
+  right: 0;
+  top: 0;
+  .fa {
+    font-size: 14px;
+    display: block !important;
+  }
+  .dropdown-menu {
+    border-radius: 12px;
+    min-width: 50px;
+    width: 50px;
+  }
+}
+
+.window[data-original-title] {
+  &:hover::after {
+    border: 1px solid #BBB;
+    padding: 5px 10px;
+    background: #EEE;
+    content: attr(data-original-title);
+    position: relative;
+    right: -5px;
+    top: -70px;
+    white-space: nowrap;
+    text-align: center;
+    height: 20px;
+    margin: 0px;
+    border-radius: 0.5em;
+  }
+}
+
+#zoom {
+  ul {
+    &.menu {
+      list-style-type: none;
+      margin: 0;
+      padding: 0;
+      li {
+        display: inline-block;
+        a {
+          display: inline-block;
+          margin-left: 5px;
+        }
+      }
+    }
+  }
+}
+
diff --git a/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/utils.scss b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/utils.scss
new file mode 100644
index 0000000..696eeca
--- /dev/null
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/css/utils.scss
@@ -0,0 +1,119 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+/* Methods
+============================================================================= */
+@mixin user_select($value) {
+  webkit-user-select: $value;
+  -moz-user-select: $value;
+  -ms-user-select: $value;
+  user-select: $value;
+}
+
+@mixin border_radius($value) {
+  -webkit-border-radius: $value;
+  border-radius: $value;
+}
+
+@mixin transition($args...) {
+  -webkit-transition: $args;
+  -moz-transition: $args;
+  -o-transition: $args;
+  transition: $args;
+}
+
+@mixin transform($args...) {
+  -webkit-transform: $args;
+  -moz-transform: $args;
+  -ms-transform: $args;
+  -o-transform: $args;
+  transform: $args;
+}
+
+@mixin animation($args...) {
+  -webkit-animation: $args;
+  -moz-animation: $args;
+  -o-animation: $args;
+  animation: $args;
+}
+
+@mixin opacity($opacity) {
+  opacity: $opacity;
+  $opacity-ie: $opacity * 100;
+  filter: alpha(opacity=$opacity-ie); //IE8
+}
+
+@mixin shadow($args...) {
+  -webkit-box-shadow: $args;
+  box-shadow: $args;
+}
+
+@mixin box_sizing($value) {
+  -webkit-box-sizing: $value;
+  -moz-box-sizing: $value;
+  box-sizing: $value;
+}
+
+@mixin white_space_pre_wrap() {
+  white-space: -moz-pre-wrap; /* Mozilla, supported since 1999 */
+  white-space: -pre-wrap; /* Opera */
+  white-space: -o-pre-wrap; /* Opera */
+  white-space: pre-wrap; /* CSS3 - Text module (Candidate Recommendation) http://www.w3.org/TR/css3-text/#white-space */
+  word-wrap: break-word; /* IE 5.5+ */
+}
+
+@mixin flex() {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -moz-box;
+  display: -ms-flexbox;
+  display: flex;
+}
+@mixin flex_align_items($value) {
+  -ms-flex-align: $value;
+  -webkit-align-items: $value;
+  -webkit-box-align: $value;
+  align-items: $value;
+}
+
+
+
+/* Breakpoints
+============================================================================= */
+$tablet-width: 768px;
+$desktop-width: 1024px;
+
+@mixin phone {
+  @media (max-width: #{$tablet-width - 1px}) {
+    @content;
+  }
+}
+
+@mixin tablet {
+  @media (min-width: #{$tablet-width}) and (max-width: #{$desktop-width - 1px}) {
+    @content;
+  }
+}
+
+@mixin desktop {
+  @media (min-width: #{$desktop-width}) {
+    @content;
+  }
+}
\ No newline at end of file
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/img/favicon.png b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/favicon.png
similarity index 100%
rename from client/idrepo/console/src/main/resources/META-INF/resources/img/favicon.png
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/favicon.png
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/img/logo-green.png b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo-green.png
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/img/logo-green.png
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo-green.png
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/img/logo-mini.png b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo-mini.png
similarity index 100%
rename from client/idrepo/console/src/main/resources/META-INF/resources/img/logo-mini.png
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo-mini.png
diff --git a/client/idrepo/enduser/src/main/resources/META-INF/resources/img/logo.png b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo.png
similarity index 100%
rename from client/idrepo/enduser/src/main/resources/META-INF/resources/img/logo.png
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/img/logo.png
diff --git a/client/idrepo/console/src/main/resources/META-INF/resources/js/accessibility.js b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
similarity index 97%
rename from client/idrepo/console/src/main/resources/META-INF/resources/js/accessibility.js
rename to client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
index b10a48e..790e2b4 100644
--- a/client/idrepo/console/src/main/resources/META-INF/resources/js/accessibility.js
+++ b/client/idrepo/ui/src/main/resources/META-INF/resources/ui-commons/js/accessibility.js
@@ -91,12 +91,12 @@ $(document).ready(function () {
     var AssetsManager = initAssetsManager();
 
     var fontSizeFiles = [
-      locationDomain + '/css/accessibility/accessibilityFont.css'
+      locationDomain + '/ui-commons/css/accessibility/accessibilityFont.css'
     ];
 
     var darkThemeFiles = [
       locationDomain + '/css/AdminLTE_skins/skin-blue.css',
-      locationDomain + '/css/accessibility/accessibilityHC.css'
+      locationDomain + '/ui-commons/css/accessibility/accessibilityHC.css'
     ];
 
     var darkThemeMainClass = 'skin-blue';
diff --git a/deb/enduser/pom.xml b/deb/enduser/pom.xml
index c21b7ba..34fbd19 100644
--- a/deb/enduser/pom.xml
+++ b/deb/enduser/pom.xml
@@ -39,8 +39,8 @@ under the License.
   
   <dependencies>
     <dependency>
-      <groupId>org.apache.syncope.client</groupId>
-      <artifactId>syncope-client-enduser</artifactId>
+      <groupId>org.apache.syncope.client.idrepo</groupId>
+      <artifactId>syncope-client-idrepo-enduser</artifactId>
       <version>${project.version}</version>
     </dependency>
 
@@ -83,7 +83,7 @@ under the License.
         <filtering>true</filtering>
       </resource>
       <resource>
-       <directory>${project.basedir}/../../ext/saml2sp/agent/src/main/resources</directory>
+        <directory>${project.basedir}/../../ext/saml2sp/agent/src/main/resources</directory>
         <includes>
           <include>saml2sp-agent.properties</include>
         </includes>
diff --git a/docker/enduser/pom.xml b/docker/enduser/pom.xml
index 01af6a2..2600cb3 100644
--- a/docker/enduser/pom.xml
+++ b/docker/enduser/pom.xml
@@ -44,8 +44,8 @@ under the License.
     </dependency>
 
     <dependency>
-      <groupId>org.apache.syncope.client</groupId>
-      <artifactId>syncope-client-enduser</artifactId>
+      <groupId>org.apache.syncope.client.idrepo</groupId>
+      <artifactId>syncope-client-idrepo-enduser</artifactId>
       <version>${project.version}</version>
     </dependency>
 
diff --git a/fit/enduser-reference/pom.xml b/fit/enduser-reference/pom.xml
index 23aa28a..4b4b31e 100644
--- a/fit/enduser-reference/pom.xml
+++ b/fit/enduser-reference/pom.xml
@@ -51,36 +51,12 @@ under the License.
       <artifactId>jstl</artifactId>
     </dependency>
 
-    <!--    <dependency>
-      <groupId>org.apache.syncope.client</groupId>
-      <artifactId>syncope-client-enduser</artifactId>
-      <version>${project.version}</version>
-    </dependency>-->
-
     <dependency>
       <groupId>org.apache.syncope.client.idrepo</groupId>
       <artifactId>syncope-client-idrepo-enduser</artifactId>
       <version>${project.version}</version>
     </dependency>
 
-    <!--    <dependency>
-      <groupId>org.apache.syncope.ext.saml2sp</groupId>
-      <artifactId>syncope-ext-saml2sp-client-enduser</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.syncope.ext.oidcclient</groupId>
-      <artifactId>syncope-ext-oidcclient-client-enduser</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.syncope.ext.flowable</groupId>
-      <artifactId>syncope-ext-flowable-client-enduser</artifactId>
-      <version>${project.version}</version>
-    </dependency>-->
-
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
diff --git a/pom.xml b/pom.xml
index 5e43140..b504c06 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2138,6 +2138,12 @@ under the License.
           <artifactId>antlr4-maven-plugin</artifactId>
           <version>${antlr4.version}</version>
         </plugin>
+        
+        <plugin>
+          <groupId>nl.geodienstencentrum.maven</groupId>
+          <artifactId>sass-maven-plugin</artifactId>
+          <version>3.7.1</version>
+        </plugin>
       </plugins>
     </pluginManagement>
 
@@ -2411,7 +2417,7 @@ under the License.
           <autoVersionSubmodules>true</autoVersionSubmodules>
           <tagNameFormat>syncope-@{project.version}</tagNameFormat>
         </configuration>
-      </plugin>
+      </plugin>      
     </plugins>
     
   </build>