diff --git a/login/static/base.js b/login/static/base.js
index 82aeb202d3b9e9c7556c80c0f593799d669aeb64..cf5278f6ba22c1f8d02ebba6367e1b7eaea54b2a 100644
--- a/login/static/base.js
+++ b/login/static/base.js
@@ -22,88 +22,85 @@
 // Check if an auth flow is configured and redirect to auth page in that
 // case.
 function check_flow_auth() {
-        var state = Cookies.get('flow_state');
-        var url = Cookies.get('auth_url');
+    var state = Cookies.get('flow_state');
+    var url = Cookies.get('auth_url');
 
-        if (state == 'auth') {
-            Cookies.set('flow_state','');
-            window.location.href = url;
-        }
+    if (state == 'auth') {
+        Cookies.set('flow_state','');
+        window.location.href = url;
+    }
 }
 
 // Check if there if the flow is expired, if so, reset the cookie
 function check_flow_expired() {
-        var state = Cookies.get('flow_state');
+    var state = Cookies.get('flow_state');
 
-        if (state == 'flow_expired') {
-            Cookies.set('flow_state','');
-            $("#contentFlowExpired").show();
-        }
+    if (state == 'flow_expired') {
+        Cookies.set('flow_state','');
+        $("#contentFlowExpired").show();
+    }
 }
 
 
 
 // The script executed on login flows
 function flow_login() {
-
-        var flow = $.urlParam('flow');
-        var uri = api_url + 'self-service/login/flows?id=' + flow;
-
-        // Query the Kratos backend to know what fields to render for the
-        // current flow
-        $.ajax( {
-            type: "GET",
-            url: uri,
-            success: function(data) {
-
-                // Render login form (group: password)
-                var html = render_form(data, 'password');
-                $("#contentLogin").html(html);
-
-            },
-            complete: function(obj) {
-
-                // If we get a 410, the flow is expired, need to refresh the flow
-                if (obj.status == 410) {
-                    Cookies.set('flow_state','flow_expired');
-                    // If we call the page without arguments, we get a new flow
-                    window.location.href = 'login';
-                }
+    var flow = $.urlParam('flow');
+    var uri = api_url + 'self-service/login/flows?id=' + flow;
+
+    // Query the Kratos backend to know what fields to render for the
+    // current flow
+    $.ajax( {
+        type: "GET",
+        url: uri,
+        success: function(data) {
+
+            // Render login form (group: password)
+            var html = render_form(data, 'password');
+            $("#contentLogin").html(html);
+
+        },
+        complete: function(obj) {
+
+            // If we get a 410, the flow is expired, need to refresh the flow
+            if (obj.status == 410) {
+                Cookies.set('flow_state','flow_expired');
+                // If we call the page without arguments, we get a new flow
+                window.location.href = 'login';
             }
-        });
-
+        }
+    });
 }
 
 // This is called after a POST on settings. It tells if the save was 
 // successful and display / handles based on that outcome
 function flow_settings_validate() {
 
-        var flow = $.urlParam('flow');
-        var uri = api_url + 'self-service/settings/flows?id=' + flow;
-
-        $.ajax( {
-            type: "GET",
-            url: uri,
-            success: function(data) {
-
-                // We had success. We save that fact in our flow_state
-                // cookie and regenerate a new flow
-                if (data.state == 'success') {
-                    Cookies.set('flow_state', 'settings_saved');
-
-                    // Redirect to generate new flow ID
-                    window.location.href = 'settings';
-                }
-                else {
-
-                     // There was an error, Kratos does not specify what is
-                     // wrong. So we just show the general error message and
-                     // let the user figure it out. We can re-use the flow-id
-                     $("#contentProfileSaveFailed").show();
-                }
+    var flow = $.urlParam('flow');
+    var uri = api_url + 'self-service/settings/flows?id=' + flow;
+
+    $.ajax( {
+        type: "GET",
+        url: uri,
+        success: function(data) {
+
+            // We had success. We save that fact in our flow_state
+            // cookie and regenerate a new flow
+            if (data.state == 'success') {
+                Cookies.set('flow_state', 'settings_saved');
+
+                // Redirect to generate new flow ID
+                window.location.href = 'settings';
             }
-        });
+            else {
 
+                 // There was an error, Kratos does not specify what is
+                 // wrong. So we just show the general error message and
+                 // let the user figure it out. We can re-use the flow-id
+                 $("#contentProfileSaveFailed").show();
+            }
+        }
+    });
 }
 
 
@@ -111,130 +108,127 @@ function flow_settings_validate() {
 // settings, like name and password. The form contents are defined by Kratos
 function flow_settings() {
 
-        // Get the details from the current flow from kratos
-        var flow = $.urlParam('flow');
-        var uri = api_url + 'self-service/settings/flows?id=' + flow;
-
-        $.ajax( {
-            type: "GET",
-            url: uri,
-            success: function(data) {
-
-                var state = Cookies.get('flow_state')
-
-                // If we have confirmation the settings are saved, show the
-                // notification
-                if (state == 'settings_saved') {
-                    $("#contentProfileSaved").show();
-                    Cookies.set('flow_state', 'settings');
-                }
-
-                // Hide prfile section if we are in recovery state
-                // so the user is not confused by other fields. The user
-                // probably want to setup a password only first.
-                if (state == 'recovery') {
-                    $("#contentProfile").hide();
-                }
-
-
-                // Render the password & profile form based on the fields we got
-                // from the API
-                var html = render_form(data, 'password');
-                $("#contentPassword").html(html);
-
-                html = render_form(data, 'profile');
-                $("#contentProfile").html(html);
-
-                // If the submit button is hit, execute the POST with Ajax. 
-                $("#formpassword").submit(function(e) {
-
-                    // avoid to execute the actual submit of the form.
-                    e.preventDefault(); 
-
-                    var form = $(this);
-                    var url = form.attr('action');
-
-                    $.ajax({
-                        type: "POST",
-                        url: url,
-                        data: form.serialize(), 
-                        complete: function(obj) {
-                            // Validate the settings
-                            flow_settings_validate();
-                        },
-                    });
-                });
-
+    // Get the details from the current flow from kratos
+    var flow = $.urlParam('flow');
+    var uri = api_url + 'self-service/settings/flows?id=' + flow;
 
+    $.ajax( {
+        type: "GET",
+        url: uri,
+        success: function(data) {
 
-            },
-            complete: function(obj) {
+            var state = Cookies.get('flow_state')
 
-                // If we get a 410, the flow is expired, need to refresh the flow
-                if (obj.status == 410) {
-                    Cookies.set('flow_state','flow_expired');
-                    window.location.href = 'settings';
-                }
+            // If we have confirmation the settings are saved, show the
+            // notification
+            if (state == 'settings_saved') {
+                $("#contentProfileSaved").show();
+                Cookies.set('flow_state', 'settings');
+            }
 
+            // Hide prfile section if we are in recovery state
+            // so the user is not confused by other fields. The user
+            // probably want to setup a password only first.
+            if (state == 'recovery') {
+                $("#contentProfile").hide();
             }
-        });
 
-}
 
-function flow_recover() {
-        var flow = $.urlParam('flow');
-        var uri = api_url + 'self-service/recovery/flows?id=' + flow;
-
-        $.ajax( {
-            type: "GET",
-            url: uri,
-            success: function(data) {
-
-                // Render the recover form, method 'link'
-                var html = render_form(data, 'link');
-                $("#contentRecover").html(html);
-
-                // Do form post as an AJAX call
-                $("#formlink").submit(function(e) {
-
-                    // avoid to execute the actual submit of the form.
-                    e.preventDefault(); 
-
-                    var form = $(this);
-                    var url = form.attr('action');
-
-                    // keep stat we are in recovery
-                    Cookies.set('flow_state', 'recovery');
-                    $.ajax({
-                        type: "POST",
-                        url: url,
-                        data: form.serialize(), // serializes the form's elements.
-                        success: function(data)
-                        {
-
-                            // Show the request is sent out
-                            $("#contentRecover").hide();
-                            $("#contentRecoverRequested").show();
-                        }
-                    });
+            // Render the password & profile form based on the fields we got
+            // from the API
+            var html = render_form(data, 'password');
+            $("#contentPassword").html(html);
+
+            html = render_form(data, 'profile');
+            $("#contentProfile").html(html);
+
+            // If the submit button is hit, execute the POST with Ajax. 
+            $("#formpassword").submit(function(e) {
+
+                // avoid to execute the actual submit of the form.
+                e.preventDefault(); 
+
+                var form = $(this);
+                var url = form.attr('action');
+
+                $.ajax({
+                    type: "POST",
+                    url: url,
+                    data: form.serialize(), 
+                    complete: function(obj) {
+                        // Validate the settings
+                        flow_settings_validate();
+                    },
                 });
+            });
 
 
-            },
-            complete: function(obj) {
 
-                // If we get a 410, the flow is expired, need to refresh the flow
-                if (obj.status == 410) {
-                    Cookies.set('flow_state','flow_expired');
-                    window.location.href = 'recovery';
+        },
+        complete: function(obj) {
 
-                }
+            // If we get a 410, the flow is expired, need to refresh the flow
+            if (obj.status == 410) {
+                Cookies.set('flow_state','flow_expired');
+                window.location.href = 'settings';
             }
-        });
+
+        }
+    });
+
 }
 
+function flow_recover() {
+    var flow = $.urlParam('flow');
+    var uri = api_url + 'self-service/recovery/flows?id=' + flow;
+
+    $.ajax( {
+        type: "GET",
+        url: uri,
+        success: function(data) {
+
+            // Render the recover form, method 'link'
+            var html = render_form(data, 'link');
+            $("#contentRecover").html(html);
+
+            // Do form post as an AJAX call
+            $("#formlink").submit(function(e) {
+
+                // avoid to execute the actual submit of the form.
+                e.preventDefault(); 
+
+                var form = $(this);
+                var url = form.attr('action');
+
+                // keep stat we are in recovery
+                Cookies.set('flow_state', 'recovery');
+                $.ajax({
+                    type: "POST",
+                    url: url,
+                    data: form.serialize(), // serializes the form's elements.
+                    success: function(data)
+                    {
+
+                        // Show the request is sent out
+                        $("#contentRecover").hide();
+                        $("#contentRecoverRequested").show();
+                    }
+                });
+            });
+
+
+        },
+        complete: function(obj) {
 
+            // If we get a 410, the flow is expired, need to refresh the flow
+            if (obj.status == 410) {
+                Cookies.set('flow_state','flow_expired');
+                window.location.href = 'recovery';
 
+            }
+        }
+    });
+}
 
 // Based on Kratos UI data and a group name, get the full form for that group.
 // kratos groups elements which belongs together in a group and should be posted 
@@ -266,7 +260,6 @@ function render_form(data, group) {
 
 }
 
-
 // Return form element based on name, including help text (sub), placeholder etc.
 // Kratos give us form names and types and specifies what to render. However
 // it does not provide labels or translations. This function returns a HTML