diff --git a/src/frontend/app/administration/home/administration.component.html b/src/frontend/app/administration/home/administration.component.html
index bb45ab116bba71f902337c33437d0ec2c2c586c2..53a3b3dd25377d8c1da48e9645ee62c5f243a9cf 100644
--- a/src/frontend/app/administration/home/administration.component.html
+++ b/src/frontend/app/administration/home/administration.component.html
@@ -8,7 +8,7 @@
 </ion-header>
 <ion-content #mainContent>
   <ion-grid>
-    <ion-row>
+    <ion-row class="repeatRows">
       <ion-col *ngFor="let privilege of authService.user.administrativePrivileges">
         <ion-button [routerLink]="privilege.route" expand="block" size="large" fill="outline" color="secondary"
           style="height: 200px;">
diff --git a/src/frontend/app/administration/home/administration.component.scss b/src/frontend/app/administration/home/administration.component.scss
index 3b548e605802cbb00909e9d5622dab766043a1a7..5a078e56c6d0ab34cbc4c4c29a1196f38c4bdaf1 100644
--- a/src/frontend/app/administration/home/administration.component.scss
+++ b/src/frontend/app/administration/home/administration.component.scss
@@ -58,4 +58,9 @@
   display: flex;
   flex-direction: column;
   align-items: center;
+}
+
+.repeatRows {
+  display: grid;
+  grid-template-columns: repeat(4, 1fr);
 }
\ No newline at end of file
diff --git a/src/frontend/app/document/document.component.ts b/src/frontend/app/document/document.component.ts
index 03d179eb9955012e089b372bfea8fd956aa546e0..66f5cfd5676ce498b4c3b8faa72eb866f743f81a 100755
--- a/src/frontend/app/document/document.component.ts
+++ b/src/frontend/app/document/document.component.ts
@@ -650,15 +650,13 @@ export class DocumentComponent implements OnInit {
                 {
                     text: this.translate.instant('lang.validate'),
                     handler: async (data: any) => {
-                        this.loadingController.create({
+                        const currentUserWorkflow = this.mainDocument.workflow.filter((line: { current: boolean; }) => line.current === true)[0];
+                        const res = await this.signatureMethodService.checkAuthenticationAndLaunchAction(currentUserWorkflow, data.paragraph);
+                        const loading = await this.loadingController.create({
                             message: this.translate.instant('lang.loadingValidation'),
                             spinner: 'dots'
-                        }).then((load: HTMLIonLoadingElement) => {
-                            this.load = load;
-                            this.load.present();
                         });
-                        const currentUserWorkflow = this.mainDocument.workflow.filter((line: { current: boolean; }) => line.current === true)[0];
-                        const res = await this.signatureMethodService.checkAuthenticationAndLaunchAction(currentUserWorkflow, data.paragraph);
+                        await loading.present();
                         if (!this.functionsService.empty(res)) {
                             if (this.signaturesService.documentsList[this.signaturesService.indexDocumentsList] !== undefined) {
                                 this.signaturesService.documentsList.splice(this.signaturesService.indexDocumentsList, 1);
@@ -670,10 +668,10 @@ export class DocumentComponent implements OnInit {
                                 disableClose: true,
                                 direction: 'ltr'
                             };
+                            loading.dismiss();
                             this.bottomSheet.open(SuccessInfoValidBottomSheetComponent, config);
                             this.localStorage.remove(this.mainDocument.id.toString());
                         }
-                        this.load.dismiss();
                     }
                 }
             ]
diff --git a/src/frontend/app/login/passwordModification/password-modification.component.html b/src/frontend/app/login/passwordModification/password-modification.component.html
index f5e02ba1559aa551ab40b8751f1b10a964b428ac..7f945887cc941bf4c6766a55d6f72c1df9165076 100644
--- a/src/frontend/app/login/passwordModification/password-modification.component.html
+++ b/src/frontend/app/login/passwordModification/password-modification.component.html
@@ -1,53 +1,79 @@
-<div class="container" [class.admin-is-mobile]="signaturesService.mobileMode">
-    <!--<mat-toolbar color="primary" class="admin-toolbar">
-        <mat-icon class="maarchLogoFull" [svgIcon]="signaturesService.mobileMode ? 'maarchLogoOnly' : 'maarchLogo'"></mat-icon>
-        <h1 class="admin-toolbar-title">{{'lang.passwordModification' | translate}}</h1>
-        <span style="flex: 1 1 auto;"></span>
-        <button mat-button>
-            <mat-icon mat-list-icon class="fa fa-user fa-2x" style="color:white; margin:0px 12px 8px 0px;"></mat-icon>{{user.firstname.charAt(0) | uppercase}}. {{user.lastname | uppercase}}</button>
-    </mat-toolbar>-->
-    <mat-sidenav-container autosize class="admin-sidenav-container" >
-        <mat-sidenav-content>
-            <div *ngIf="loading" style="display:flex;height:100%;">
-                <mat-spinner style="margin:auto;"></mat-spinner>
+<ion-header [translucent]="true">
+    <ion-toolbar color="primary">
+        <ion-buttons slot="start">
+        </ion-buttons>
+        <ion-title>{{'lang.passwordModification' | translate}}</ion-title>
+    </ion-toolbar>
+</ion-header>
+<ion-content #mainContent>
+    <form [formGroup]="firstFormGroup" (ngSubmit)="onSubmit()" style="display: contents;">
+        <ion-grid>
+            <ion-row>
+                <ion-col offset="3" size="6">
+                    <ion-card class="info">
+                        <ion-card-content>
+                            {{'lang.hello' | translate}} <b> {{user.firstname}} {{user.lastname}}</b>, {{'lang.changePasswordInfo' | translate}}.
+                        </ion-card-content>
+                    </ion-card>
+                    <ion-item>
+                        <ion-label color="secondary" position="stacked">{{'lang.typeCurrentPassword' | translate}}</ion-label>
+                        <ion-input placeholder="{{'lang.typeCurrentPassword' | translate}}" formControlName="currentPasswordCtrl" required [type]="hidePassword ? 'password' : 'text'"></ion-input>
+                        <ion-button class="showpassButton" slot="end" color="light"
+                            (click)="hidePassword = !hidePassword">
+                            <ion-icon slot="icon-only" color="primary"
+                                [name]="hidePassword ? 'eye-outline' : 'eye-off-outline'"></ion-icon>
+                        </ion-button>
+                        <ion-note *ngIf="firstFormGroup.controls['currentPasswordCtrl'].hasError('required')" color="danger">{{'lang.requiredField' | translate}}</ion-note>
+                    </ion-item>
+                    <ion-list-header lines="full">
+                        <ion-label color="dark">{{this.ruleText}}</ion-label>
+                    </ion-list-header>
+                    <ion-item>
+                        <ion-label color="secondary" position="stacked">{{'lang.passwordConfirmation' | translate}}
+                        </ion-label>
+                        <ion-input #inputPasswd placeholder="{{'lang.passwordConfirmation' | translate}}" formControlName="newPasswordCtrl" required
+                        [type]="hidePassword ? 'password' : 'text'"></ion-input>
+                        <ion-button class="showpassButton" slot="end" color="light"
+                            (click)="hidePassword = !hidePassword">
+                            <ion-icon slot="icon-only" color="primary"
+                                [name]="hidePassword ? 'eye-outline' : 'eye-off-outline'"></ion-icon>
+                        </ion-button>
+                        <ion-item *ngIf="validPassword" lines="none">
+                            <ion-icon slot="start" color="success" name="checkmark-outline"></ion-icon>
+                            <ion-label color="success">{{'lang.passwordValid' | translate}}</ion-label>
+                        </ion-item>
+                        <ion-note color="danger">{{getErrorMessage()}}</ion-note>
+                    </ion-item>
+                    <ion-item>
+                        <ion-label color="secondary" position="stacked">{{'lang.passwordConfirmation' | translate}}
+                        </ion-label>
+                        <ion-input #inputPasswd2 placeholder="{{'lang.passwordConfirmation' | translate}}" required [type]="hidePassword ? 'password' : 'text'"
+                        formControlName="retypePasswordCtrl"></ion-input>
+                        <ion-button class="showpassButton" slot="end" color="light"
+                            (click)="hidePassword = !hidePassword">
+                            <ion-icon slot="icon-only" color="primary"
+                                [name]="hidePassword ? 'eye-outline' : 'eye-off-outline'"></ion-icon>
+                        </ion-button>
+                        <ion-item *ngIf="!firstFormGroup.controls['retypePasswordCtrl'].hasError('mismatch') && firstFormGroup.controls['retypePasswordCtrl'].value != ''" lines="none">
+                            <ion-icon slot="start" color="success" name="checkmark-outline"></ion-icon>
+                            <ion-label color="success">{{'lang.passwordMatch' | translate}}</ion-label>
+                        </ion-item>
+                        <ion-note color="danger">{{'lang.passwordNotMatch' | translate}}</ion-note>
+                    </ion-item>
+                </ion-col>
+            </ion-row>
+        </ion-grid>
+        <ion-item text-center lines="none" style="position: sticky;bottom:0px;z-index:1;">
+            <div style="display: flex;align-items: center;justify-content: center;width: 100%;background: white;">
+                <ion-button type="submit" shape="round" size="large" fill="outline" color="primary"
+                    [disabled]="!firstFormGroup.valid">
+                    <ion-label style="font-size: 13px;">{{'lang.validate' | translate}}</ion-label>
+                </ion-button>
+                <ion-button type="button" shape="round" size="large" fill="outline" color="default" (click)="logout()">
+                    <ion-label style="font-size: 13px;">{{'lang.logout' | translate}}</ion-label>
+                </ion-button>
             </div>
-            <mat-card *ngIf="!loading" class="card-app-content" style="display: flex;justify-content: center;align-items: center; height: 100%; padding: 0px">
-                <form [formGroup]="firstFormGroup" (ngSubmit)="onSubmit()" style="max-width: 700px;">
-                    <p>{{'lang.hello' | translate}} <b>{{user.firstname}} {{user.lastname}}</b>, {{'lang.changePasswordInfo' | translate}}.</p>
-                    <ng-template>{{'lang.passwordModification' | translate}}</ng-template>
-                    <mat-form-field style="padding:10px; width: 100%">
-                        <input matInput placeholder="{{'lang.typeCurrentPassword' | translate}}" formControlName="currentPasswordCtrl" required [type]="hidePassword ? 'password' : 'text'">
-                        <mat-icon matSuffix (click)="hidePassword = !hidePassword" class="fa fa-2x" [ngClass]="[hidePassword ? 'fa-eye-slash' : 'fa-eye']"></mat-icon>
-                        <mat-error *ngIf="firstFormGroup.controls['currentPasswordCtrl'].hasError('required')">{{'lang.requiredField' | translate}}</mat-error>
-                    </mat-form-field>
-                    <div style="text-align:center;color: rgba(0,0,0,0.54);font-size: 75%;">{{this.ruleText}}</div>
-                    <mat-form-field style="padding:10px; width: 100%">
-                        <input matInput #inputPasswd placeholder="{{'lang.passwordConfirmation' | translate}}" formControlName="newPasswordCtrl" required
-                            [type]="hidePassword ? 'password' : 'text'">
-                        <mat-icon matSuffix (click)="hidePassword = !hidePassword" class="fa fa-2x" [ngClass]="[hidePassword ? 'fa-eye-slash' : 'fa-eye']"></mat-icon>
-                        <mat-hint *ngIf="validPassword">
-                            <i color="accent" class="fa fa-check"></i>
-                            <span color="accent">{{'lang.passwordValid' | translate}}</span>
-                        </mat-hint>
-                        <mat-error>{{getErrorMessage()}}</mat-error>
-                    </mat-form-field>
-                    <mat-form-field style="padding:10px; width: 100%">
-                        <input matInput #inputPasswd2 placeholder="{{'lang.passwordConfirmation' | translate}}" required [type]="hidePassword ? 'password' : 'text'"
-                            formControlName="retypePasswordCtrl">
-                        <mat-icon matSuffix (click)="hidePassword = !hidePassword" class="fa fa-2x" [ngClass]="[hidePassword ? 'fa-eye-slash' : 'fa-eye']"></mat-icon>
-                        <mat-hint *ngIf="!firstFormGroup.controls['retypePasswordCtrl'].hasError('mismatch') && firstFormGroup.controls['retypePasswordCtrl'].value != ''">
-                            <i color="accent" class="fa fa-check"></i>
-                            <span color="accent">{{'lang.passwordMatch' | translate}}</span>
-                        </mat-hint>
-                        <mat-error>{{'lang.passwordNotMatch' | translate}} !</mat-error>
-                    </mat-form-field>
-                    <div class="col-md-12 text-center" style="padding:10px; text-align: center">
-                        <button mat-raised-button type="submit" color="primary" style="margin: 10px" [disabled]="!firstFormGroup.valid">{{'lang.validate' | translate}}</button>
-                        <button mat-raised-button type="button" color="default" (click)="logout()">{{'lang.logout' | translate}}</button>
-                    </div>
-                </form>
-                <div *ngIf="passwordRules.renewal.enabled || passwordRules.historyLastUse.enabled" class="alert-warning" role="alert" [innerHTML]="otherRuleText"></div>
-            </mat-card>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
+        </ion-item>
+    </form>
+    <ion-item color="warning" *ngIf="passwordRules.renewal.enabled || passwordRules.historyLastUse.enabled" class="alert-warning" role="alert" [innerHTML]="otherRuleText"></ion-item>
+</ion-content>