From 755b954d51e2265ffebabc780e7c021716d0b94d Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Wed, 4 Mar 2020 18:55:38 +0100
Subject: [PATCH] FEAT #13119 TIME 4 fix css modal (part1)

---
 src/frontend/app/actions/actions.service.ts   |  24 +-
 ...ontinue-avis-circuit-action.component.html | 129 +++---
 ...ontinue-avis-circuit-action.component.scss |   8 -
 .../give-avis-parallel-action.component.html  | 112 +++---
 .../give-avis-parallel-action.component.scss  |   8 -
 .../send-avis-parallel-action.component.html  | 101 ++---
 .../send-avis-parallel-action.component.scss  |   8 -
 ...lidate-avis-parallel-action.component.html | 120 +++---
 ...lidate-avis-parallel-action.component.scss |   8 -
 ...validate-avis-parallel-action.component.ts |   2 +-
 .../send-avis-workflow-action.component.html  | 101 ++---
 .../send-avis-workflow-action.component.scss  |   8 -
 .../close-and-index-action.component.html     |  49 +--
 .../close-mail-action.component.html          |  76 ++--
 ...attachments-or-notes-action.component.html |  39 +-
 .../confirm-action.component.html             |  38 +-
 ...nowledgement-receipt-action.component.html | 179 +++++----
 .../redirect-action.component.html            | 179 +++++----
 .../redirect-action.component.scss            |   3 -
 ...ect-initiator-entity-action.component.html |  38 +-
 ...d-external-note-book-action.component.html |  99 ++---
 ...d-external-note-book-action.component.scss |   8 -
 ...ernal-signatory-book-action.component.html | 131 ++++---
 ...ernal-signatory-book-action.component.scss |   8 -
 .../send-shipping-action.component.html       | 226 ++++++-----
 ...wledgement-send-date-action.component.html |  63 +--
 ...pdate-departure-date-action.component.html |  42 +-
 .../view-doc-action.component.html            |  16 +-
 ...ontinue-visa-circuit-action.component.html | 130 +++---
 ...ontinue-visa-circuit-action.component.scss |   8 -
 .../interrupt-visa-action.component.html      |  88 +++--
 ...isa-back-to-previous-action.component.html |  85 ++--
 .../reset-visa-action.component.html          |  86 ++--
 .../send-signature-book-action.component.html | 111 +++---
 .../send-signature-book-action.component.scss |   8 -
 .../modal/contact-modal.component.html        |  20 +-
 .../modal/contact-modal.component.scss        |  18 -
 .../contact/modal/contact-modal.component.ts  |   6 +-
 .../entities-administration.component.ts      |   4 +-
 src/frontend/app/app.module.ts                |   1 -
 .../attachment-create.component.scss          |   5 -
 .../attachments/attachments-list.component.ts |  10 +-
 .../attachment-page.component.html            |   8 +-
 .../attachment-page.component.scss            |   5 -
 .../add-avis-model-modal.component.html       |  23 +-
 .../add-avis-model-modal.component.scss       |  12 -
 .../app/avis/avis-workflow.component.ts       |   2 +-
 .../contact-autocomplete.component.ts         |   3 +-
 .../modal/contacts-list-modal.component.html  |  22 +-
 .../modal/contacts-list-modal.component.scss  |  13 -
 .../app/folder/folder-tree.component.ts       |   2 +-
 .../folder-update.component.html              |  90 +++--
 .../folder-update.component.scss              |   3 -
 .../folder-update/folder-update.component.ts  |   3 +-
 .../app/indexation/indexation.component.ts    |   2 +-
 ...rivate-indexing-model-modal.component.html |  26 +-
 ...rivate-indexing-model-modal.component.scss |  14 +-
 ...-private-indexing-model-modal.component.ts |   3 -
 .../info-change-password-modal.component.html |  24 +-
 .../link-resource-modal.component.html        |  32 +-
 .../link-resource-modal.component.scss        |  14 -
 .../linked-resource-list.component.ts         |   4 +-
 .../app/list/basket-list.component.ts         |   2 +-
 .../app/list/export/export.component.html     | 145 +++----
 .../summarySheet/summary-sheet.component.html | 140 ++++---
 .../summarySheet/summary-sheet.component.scss |  11 +-
 .../summarySheet/summary-sheet.component.ts   |   7 +-
 .../app/list/tools/tools-list.component.ts    |   3 +-
 .../app/password-modification.component.ts    |  82 ++--
 .../printed-folder-modal.component.html       | 186 ++++-----
 .../printed-folder-modal.component.ts         |   2 +-
 src/frontend/app/process/process.component.ts |   4 +-
 .../sent-resource-list.component.ts           |   2 +-
 .../sent-resource-page.component.html         | 371 +++++++++---------
 src/frontend/app/signature-book.component.ts  |   2 +-
 .../app/viewer/document-viewer.component.ts   |   2 +-
 .../document-viewer-modal.component.html      |  22 +-
 .../document-viewer-modal.component.scss      |   5 -
 .../add-visa-model-modal.component.html       |  23 +-
 .../add-visa-model-modal.component.scss       |  13 +-
 .../modal/visa-workflow-modal.component.html  |  10 +-
 .../modal/visa-workflow-modal.component.scss  |  13 +-
 src/frontend/css/maarch-material-modal.scss   | 126 +++++-
 83 files changed, 2019 insertions(+), 1860 deletions(-)

diff --git a/src/frontend/app/actions/actions.service.ts b/src/frontend/app/actions/actions.service.ts
index e92389606ca..69a9ce9f9ac 100644
--- a/src/frontend/app/actions/actions.service.ts
+++ b/src/frontend/app/actions/actions.service.ts
@@ -255,6 +255,7 @@ export class ActionsService {
     confirmAction(options: any = null) {
 
         const dialogRef = this.dialog.open(ConfirmActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -280,6 +281,7 @@ export class ActionsService {
         const dialogRef = this.dialog.open(CloseMailActionComponent, {
             disableClose: true,
             width: '500px',
+            panelClass: 'maarch-modal',
             data: this.setDatasActionToSend()
         });
         dialogRef.afterClosed().pipe(
@@ -300,6 +302,7 @@ export class ActionsService {
 
     closeAndIndexAction(options: any = null) {
         const dialogRef = this.dialog.open(CloseAndIndexActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -339,6 +342,7 @@ export class ActionsService {
 
     redirectInitiatorEntityAction(options: any = null) {
         const dialogRef = this.dialog.open(redirectInitiatorEntityActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -361,6 +365,7 @@ export class ActionsService {
 
     closeMailWithAttachmentsOrNotesAction(options: any = null) {
         const dialogRef = this.dialog.open(closeMailWithAttachmentsOrNotesActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -383,6 +388,7 @@ export class ActionsService {
 
     updateAcknowledgementSendDateAction(options: any = null) {
         const dialogRef = this.dialog.open(UpdateAcknowledgementSendDateActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -405,6 +411,7 @@ export class ActionsService {
 
     createAcknowledgementReceiptsAction(options: any = null) {
         const dialogRef = this.dialog.open(CreateAcknowledgementReceiptActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '600px',
             data: this.setDatasActionToSend()
@@ -427,6 +434,7 @@ export class ActionsService {
 
     updateDepartureDateAction(options: any = null) {
         const dialogRef = this.dialog.open(UpdateDepartureDateActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -515,13 +523,14 @@ export class ActionsService {
 
     viewDoc(options: any = null) {
         this.dialog.open(ViewDocActionComponent, {
-            panelClass: 'no-padding-full-dialog',
+            panelClass: 'maarch-modal no-padding-full-dialog',
             data: this.setDatasActionToSend()
         });
     }
 
     sendExternalSignatoryBookAction(options: any = null) {
         const dialogRef = this.dialog.open(SendExternalSignatoryBookActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -544,6 +553,7 @@ export class ActionsService {
 
     sendExternalNoteBookAction(options: any = null) {
         const dialogRef = this.dialog.open(SendExternalNoteBookActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -566,6 +576,7 @@ export class ActionsService {
 
     redirectAction(options: any = null) {
         const dialogRef = this.dialog.open(RedirectActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             data: this.setDatasActionToSend()
         });
@@ -587,6 +598,7 @@ export class ActionsService {
 
     sendShippingAction(options: any = null) {
         const dialogRef = this.dialog.open(SendShippingActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             minWidth: '500px',
             data: this.setDatasActionToSend()
@@ -609,6 +621,7 @@ export class ActionsService {
 
     sendSignatureBookAction(options: any = null) {
         const dialogRef = this.dialog.open(SendSignatureBookActionComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -631,6 +644,7 @@ export class ActionsService {
 
     continueVisaCircuitAction(options: any = null) {
         const dialogRef = this.dialog.open(ContinueVisaCircuitActionComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -697,6 +711,7 @@ export class ActionsService {
 
     rejectVisaBackToPreviousAction(options: any = null) {
         const dialogRef = this.dialog.open(RejectVisaBackToPrevousActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -719,6 +734,7 @@ export class ActionsService {
 
     resetVisaAction(options: any = null) {
         const dialogRef = this.dialog.open(ResetVisaActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -741,6 +757,7 @@ export class ActionsService {
 
     interruptVisaAction(options: any = null) {
         const dialogRef = this.dialog.open(InterruptVisaActionComponent, {
+            panelClass: 'maarch-modal',
             disableClose: true,
             width: '500px',
             data: this.setDatasActionToSend()
@@ -763,6 +780,7 @@ export class ActionsService {
 
     sendToOpinionCircuitAction(options: any = null) {
         const dialogRef = this.dialog.open(SendAvisWorkflowComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -785,6 +803,7 @@ export class ActionsService {
 
     sendToParallelOpinion(options: any = null) {
         const dialogRef = this.dialog.open(SendAvisParallelComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -807,6 +826,7 @@ export class ActionsService {
 
     continueOpinionCircuitAction(options: any = null) {
         const dialogRef = this.dialog.open(ContinueAvisCircuitActionComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -829,6 +849,7 @@ export class ActionsService {
 
     giveOpinionParallelAction(options: any = null) {
         const dialogRef = this.dialog.open(GiveAvisParallelActionComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
@@ -851,6 +872,7 @@ export class ActionsService {
 
     validateParallelOpinionDiffusionAction(options: any = null) {
         const dialogRef = this.dialog.open(ValidateAvisParallelComponent, {
+            panelClass: 'maarch-modal',
             autoFocus: false,
             disableClose: true,
             data: this.setDatasActionToSend()
diff --git a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html
index f4e26f2940a..beeae2c84b8 100644
--- a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html
+++ b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.html
@@ -1,65 +1,70 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1  && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;"
-                [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent">
-            </div>
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() !== ''"
-                role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.sendToDocTo + ' <b>' + appAvisWorkflow.getNextAvisUser().labelToDisplay + '</b>'">
-            </div>
-
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() === '' && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1  && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;"
+                    [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent">
+                </div>
+                <div class="alert-message alert-message-info"
+                    *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() !== ''"
+                    role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.sendToDocTo + ' <b>' + appAvisWorkflow.getNextAvisUser().labelToDisplay + '</b>'">
+                </div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
+                <div class="alert-message alert-message-info"
+                    *ngIf="data.resIds.length == 1 && appAvisWorkflow !== undefined && appAvisWorkflow.getNextAvisUser() === '' && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div>
 
-            <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" style="cursor:pointer;margin-top: 10px;">
-                <mat-label>{{lang.opinionLimitDate}}</mat-label>
-                <input matInput [(ngModel)]="opinionLimitDate"
-                       readonly style="cursor:pointer;" disabled>
-            </mat-form-field>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList"
+                    role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline"
+                    style="cursor:pointer;margin-top: 10px;">
+                    <mat-label>{{lang.opinionLimitDate}}</mat-label>
+                    <input matInput [(ngModel)]="opinionLimitDate" readonly style="cursor:pointer;" disabled>
+                </mat-form-field>
 
-            <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor>
-            <app-avis-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
-                #appAvisWorkflow>
-            </app-avis-workflow>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+                <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds"
+                    [disableRestriction]="true"></app-note-editor>
+                <app-avis-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
+                    #appAvisWorkflow>
+                </app-avis-workflow>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss
+++ b/src/frontend/app/actions/avis-continue-circuit-action/continue-avis-circuit-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html
index 67a3c663cc7..b36c9a1a547 100644
--- a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html
+++ b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.html
@@ -1,57 +1,61 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1  && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;"
-                [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent">
-            </div>
-
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length > 1 && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;" [innerHTML]="lang.askOpinion"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1  && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;"
+                    [innerHTML]="'<b>' + ownerOpinion + '</b> '+ lang.askOpinionUser + ' :<br/><br/>' + opinionContent">
+                </div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
+                <div class="alert-message alert-message-info" *ngIf="data.resIds.length > 1 && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;" [innerHTML]="lang.askOpinion"></div>
 
-            <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline" style="cursor:pointer;margin-top: 10px;">
-                <mat-label>{{lang.opinionLimitDate}}</mat-label>
-                <input matInput [(ngModel)]="opinionLimitDate"
-                       readonly style="cursor:pointer;" disabled>
-            </mat-form-field>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList"
+                    role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" appearance="outline"
+                    style="cursor:pointer;margin-top: 10px;">
+                    <mat-label>{{lang.opinionLimitDate}}</mat-label>
+                    <input matInput [(ngModel)]="opinionLimitDate" readonly style="cursor:pointer;" disabled>
+                </mat-form-field>
 
-            <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+                <app-note-editor #noteEditor [title]="lang.addOpinion" [resIds]="data.resIds"
+                    [disableRestriction]="true"></app-note-editor>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss
+++ b/src/frontend/app/actions/avis-give-parallel-action/give-avis-parallel-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html
index 83078a21933..3500b4957da 100644
--- a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html
+++ b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.html
@@ -1,49 +1,54 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesError">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;">
+                    <mat-label>{{lang.opinionLimitDate}}</mat-label>
+                    <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker"
+                        [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required>
+                    <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
+                    </mat-datepicker-toggle>
+                    <mat-datepicker #picker></mat-datepicker>
+                    <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
+                        (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
+                        <mat-icon color="warn" class="fa fa-calendar-times">
+                        </mat-icon>
+                    </button>
+                </mat-form-field>
+                <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds"
+                    [disableRestriction]="true"></app-note-editor>
+                <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)"
+                    [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow>
+                </app-avis-workflow>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
     </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesError">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;">
-                <mat-label>{{lang.opinionLimitDate}}</mat-label>
-                <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate"
-                    [min]="today" readonly style="cursor:pointer;" required>
-                <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
-                </mat-datepicker-toggle>
-                <mat-datepicker #picker></mat-datepicker>
-                <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
-                    (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
-                    <mat-icon color="warn" class="fa fa-calendar-times">
-                    </mat-icon>
-                </button>
-            </mat-form-field>
-            <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor>
-            <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)"
-                [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow>
-            </app-avis-workflow>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss
+++ b/src/frontend/app/actions/avis-parallel-send-action/send-avis-parallel-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html
index 94255e76dbc..73e9e990708 100644
--- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html
+++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.html
@@ -1,59 +1,65 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1  && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.validateAvisParallelSingle + ' <b>' + ownerOpinion + '</b>'">
-            </div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div class="alert-message alert-message-info" *ngIf="data.resIds.length == 1  && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.validateAvisParallelSingle + ' <b>' + ownerOpinion + '</b>'">
+                </div>
 
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length > 1 && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;" [innerHTML]="lang.validateAvisParallel"></div>
+                <div class="alert-message alert-message-info" *ngIf="data.resIds.length > 1 && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;" [innerHTML]="lang.validateAvisParallel"></div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;">
-                <mat-label>{{lang.opinionLimitDate}}</mat-label>
-                <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate"
-                    [min]="today" readonly style="cursor:pointer;" required>
-                <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
-                </mat-datepicker-toggle>
-                <mat-datepicker #picker></mat-datepicker>
-                <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
-                    (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
-                    <mat-icon color="warn" class="fa fa-calendar-times">
-                    </mat-icon>
-                </button>
-            </mat-form-field>
-            <app-note-editor *ngIf="data.resIds.length === 1 && !noResourceToProcess" #noteEditor [title]="lang.addOpinionReason" [content]="opinionContent" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor>
-            <app-avis-workflow *ngIf="data.resIds.length === 1  && !noResourceToProcess"
-                [adminMode]="true" [mode]="'parallel'" #appAvisWorkflow>
-            </app-avis-workflow>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <mat-form-field *ngIf="data.resIds.length === 1 && !noResourceToProcess" (click)="picker.open()"
+                    appearance="outline" style="cursor:pointer;margin-top: 10px;">
+                    <mat-label>{{lang.opinionLimitDate}}</mat-label>
+                    <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker"
+                        [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required>
+                    <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
+                    </mat-datepicker-toggle>
+                    <mat-datepicker #picker></mat-datepicker>
+                    <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
+                        (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
+                        <mat-icon color="warn" class="fa fa-calendar-times">
+                        </mat-icon>
+                    </button>
+                </mat-form-field>
+                <app-note-editor *ngIf="data.resIds.length === 1 && !noResourceToProcess" #noteEditor
+                    [title]="lang.addOpinionReason" [content]="opinionContent" [resIds]="data.resIds"
+                    [disableRestriction]="true"></app-note-editor>
+                <app-avis-workflow *ngIf="data.resIds.length === 1  && !noResourceToProcess" [adminMode]="true"
+                    [mode]="'parallel'" #appAvisWorkflow>
+                </app-avis-workflow>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss
+++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts
index 19a61798970..6d7c8733656 100644
--- a/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts
+++ b/src/frontend/app/actions/avis-parallel-validate-action/validate-avis-parallel-action.component.ts
@@ -14,7 +14,7 @@ import { HeaderService } from '../../../service/header.service';
     templateUrl: "validate-avis-parallel-action.component.html",
     styleUrls: ['validate-avis-parallel-action.component.scss'],
 })
-export class ValidateAvisParallelComponent implements AfterViewInit {
+export class ValidateAvisParallelComponent implements OnInit, AfterViewInit {
 
     lang: any = LANG;
     loading: boolean = false;
diff --git a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html
index 463126d2dd7..9238d68d77d 100644
--- a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html
+++ b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.html
@@ -1,49 +1,54 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesError">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;">
+                    <mat-label>{{lang.opinionLimitDate}}</mat-label>
+                    <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker"
+                        [placeholder]="lang.chooseDate" [min]="today" readonly style="cursor:pointer;" required>
+                    <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
+                    </mat-datepicker-toggle>
+                    <mat-datepicker #picker></mat-datepicker>
+                    <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
+                        (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
+                        <mat-icon color="warn" class="fa fa-calendar-times">
+                        </mat-icon>
+                    </button>
+                </mat-form-field>
+                <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds"
+                    [disableRestriction]="true"></app-note-editor>
+                <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)"
+                    [adminMode]="true" #appAvisWorkflow>
+                </app-avis-workflow>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
     </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesError">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <mat-form-field (click)="picker.open()" appearance="outline" style="cursor:pointer;margin-top: 10px;">
-                <mat-label>{{lang.opinionLimitDate}}</mat-label>
-                <input matInput [(ngModel)]="opinionLimitDate" [matDatepicker]="picker" [placeholder]="lang.chooseDate"
-                    [min]="today" readonly style="cursor:pointer;" required>
-                <mat-datepicker-toggle matSuffix [for]="picker" *ngIf="!opinionLimitDate">
-                </mat-datepicker-toggle>
-                <mat-datepicker #picker></mat-datepicker>
-                <button mat-button color="warn" matSuffix mat-icon-button *ngIf="opinionLimitDate"
-                    (click)="$event.stopPropagation();opinionLimitDate = null;" [title]="lang.eraseValue">
-                    <mat-icon color="warn" class="fa fa-calendar-times">
-                    </mat-icon>
-                </button>
-            </mat-form-field>
-            <app-note-editor #noteEditor [title]="lang.addOpinionReason" [resIds]="data.resIds" [disableRestriction]="true"></app-note-editor>
-            <app-avis-workflow *ngIf="data.resIds.length == 1 || (!noResourceToProcess && data.resIds.length > 1)"
-                [adminMode]="true" #appAvisWorkflow>
-            </app-avis-workflow>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss
+++ b/src/frontend/app/actions/avis-workflow-send-action/send-avis-workflow-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html b/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html
index ce563c12553..de32e377f60 100644
--- a/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html
+++ b/src/frontend/app/actions/close-and-index-action/close-and-index-action.component.html
@@ -1,27 +1,30 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}}
-            <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-            <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                {{lang.elements}}</b> ?
-            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.updateClosingDate"></div>
-            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.openIndexation"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.selectedRes"></app-note-editor>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
+                <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.updateClosingDate"></div>
+                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.openIndexation"></div>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.selectedRes"></app-note-editor>
+            </div>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
index 4fa377a4ccc..8bf5aa4a879 100644
--- a/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
+++ b/src/frontend/app/actions/close-mail-action/close-mail-action.component.html
@@ -1,40 +1,44 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12" *ngIf="emptyMandatoryFields.length > 0">
-            <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-danger mailList" role="alert">
-                <p>{{lang.cannotCloseMails}} :</p>
-                <ul>
-                    <li *ngFor="let emptyFields of emptyMandatoryFields">
-                        <b>{{emptyFields.chrono}}</b> : {{emptyFields.fields}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="data.resIds.length < 2" class="alert-message alert-message-danger mailList" role="alert">
-                <p>{{lang.cannotCloseThisMail}} : {{emptyMandatoryFields[0].fields}}</p>
-            </div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <ng-container *ngIf="data.resIds.length === 0 || canCloseResIds.length > 0">
-            <div class="col-md-12">
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{canCloseResIds.length}}
-                    {{lang.elements}}</b> ?
-                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                    [innerHTML]="lang.updateClosingDate"></div>
+        <div class="row">
+            <div class="col-md-12" *ngIf="emptyMandatoryFields.length > 0">
+                <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>{{lang.cannotCloseMails}} :</p>
+                    <ul>
+                        <li *ngFor="let emptyFields of emptyMandatoryFields">
+                            <b>{{emptyFields.chrono}}</b> : {{emptyFields.fields}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="data.resIds.length < 2" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>{{lang.cannotCloseThisMail}} : {{emptyMandatoryFields[0].fields}}</p>
+                </div>
             </div>
-            <div class="col-md-12">
-                <app-note-editor #noteEditor [resIds]="canCloseResIds"></app-note-editor>
-            </div>
-        </ng-container>
+            <ng-container *ngIf="data.resIds.length === 0 || canCloseResIds.length > 0">
+                <div class="col-md-12">
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{canCloseResIds.length}}
+                        {{lang.elements}}</b> ?
+                    <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                        [innerHTML]="lang.updateClosingDate"></div>
+                </div>
+                <div class="col-md-12">
+                    <app-note-editor #noteEditor [resIds]="canCloseResIds"></app-note-editor>
+                </div>
+            </ng-container>
+        </div>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || canCloseResIds.length == 0"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || canCloseResIds.length == 0"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html b/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html
index b844452d495..ffea478bc66 100644
--- a/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html
+++ b/src/frontend/app/actions/close-mail-with-attachments-or-notes-action/close-mail-with-attachments-or-notes-action.component.html
@@ -1,11 +1,12 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content *ngIf="!loadingInit">
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}} 
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content *ngIf="!loadingInit">
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
                 <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
                 <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
                     {{lang.elements}}</b> ?
@@ -28,15 +29,17 @@
                         </p>
                     </div>
                 </div>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-        </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary"
-        [disabled]="loading || (resourcesInfo.noAttachmentsNotes !== undefined && resourcesInfo.noAttachmentsNotes.length > 0 && !checkNote())"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary"
+            [disabled]="loading || (resourcesInfo.noAttachmentsNotes !== undefined && resourcesInfo.noAttachmentsNotes.length > 0 && !checkNote())"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/confirm-action/confirm-action.component.html b/src/frontend/app/actions/confirm-action/confirm-action.component.html
index 074c9d73202..bb243a47e24 100644
--- a/src/frontend/app/actions/confirm-action/confirm-action.component.html
+++ b/src/frontend/app/actions/confirm-action/confirm-action.component.html
@@ -1,21 +1,25 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}} 
-            <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-            <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ?
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}} 
+                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
+                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ?
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
     </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+
diff --git a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html
index 92903e1e301..1e8cd44ed93 100755
--- a/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html
+++ b/src/frontend/app/actions/create-acknowledgement-receipt-action/create-acknowledgement-receipt-action.component.html
@@ -1,95 +1,104 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content *ngIf="!loadingInit">
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            <p *ngIf="arMode == 'both' || acknowledgement.sendEmail || acknowledgement.sendPaper">{{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-                <div *ngIf="arMode == 'both'">
-                    <mat-slide-toggle [(ngModel)]="manualAR" color="primary" (change)="toggleArManual($event.checked)">
-                        {{lang.editAcknowledgementReceipt}}</mat-slide-toggle>
-                </div>
-                <div *ngIf="manualAR && realResSelected.length > 0">
-                    <mat-form-field floatLabel="never">
-                        <span matPrefix><span class="attachLabel">{{lang.object}}&nbsp;:&nbsp;</span>[AR]&nbsp;</span>
-                        <input matInput [(ngModel)]="emailsubject" maxlength="100">
-                    </mat-form-field>
-                    <div class="models">
-                        <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel"
-                            [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels"
-                            [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)">
-                        </plugin-select-search>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content *ngIf="!loadingInit">
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                <p *ngIf="arMode == 'both' || acknowledgement.sendEmail || acknowledgement.sendPaper">
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                    <div *ngIf="arMode == 'both'">
+                        <mat-slide-toggle [(ngModel)]="manualAR" color="primary"
+                            (change)="toggleArManual($event.checked)">
+                            {{lang.editAcknowledgementReceipt}}</mat-slide-toggle>
+                    </div>
+                    <div *ngIf="manualAR && realResSelected.length > 0">
+                        <mat-form-field floatLabel="never">
+                            <span matPrefix><span
+                                    class="attachLabel">{{lang.object}}&nbsp;:&nbsp;</span>[AR]&nbsp;</span>
+                            <input matInput [(ngModel)]="emailsubject" maxlength="100">
+                        </mat-form-field>
+                        <div class="models">
+                            <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel"
+                                [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels"
+                                [formControlSelect]="templateEmailListForm"
+                                (afterSelected)="mergeEmailTemplate($event)">
+                            </plugin-select-search>
 
-                        <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0"
-                            [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures"
-                            [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm"
-                            (afterSelected)="mergeSignEmailTemplate($event)">
-                        </plugin-select-search>
+                            <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0"
+                                [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures"
+                                [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm"
+                                (afterSelected)="mergeSignEmailTemplate($event)">
+                            </plugin-select-search>
+                        </div>
+                        <textarea style="padding-top: 10px;" name="emailSignature" id="emailSignature"
+                            [(ngModel)]="emailContent"></textarea>
                     </div>
-                    <textarea style="padding-top: 10px;" name="emailSignature" id="emailSignature"
-                        [(ngModel)]="emailContent"></textarea>
-                </div>
-                <div *ngIf="acknowledgement.alreadySend.number">
-                    <div class="alert-message alert-message-info acknowledgementList" role="alert">
-                        <p>
-                            <b>{{acknowledgement.alreadySend.number}}</b> {{lang.arAlreadySend}} :
-                        </p>
-                        <ul>
-                            <li *ngFor="let info of acknowledgement.alreadySend.list">
-                                {{info.alt_identifier}}
-                            </li>
-                        </ul>
+                    <div *ngIf="acknowledgement.alreadySend.number">
+                        <div class="alert-message alert-message-info acknowledgementList" role="alert">
+                            <p>
+                                <b>{{acknowledgement.alreadySend.number}}</b> {{lang.arAlreadySend}} :
+                            </p>
+                            <ul>
+                                <li *ngFor="let info of acknowledgement.alreadySend.list">
+                                    {{info.alt_identifier}}
+                                </li>
+                            </ul>
+                        </div>
                     </div>
-                </div>
-                <div *ngIf="acknowledgement.alreadyGenerated.number">
-                    <div class="alert-message alert-message-info acknowledgementList" role="alert">
-                        <p>
-                            <b>{{acknowledgement.alreadyGenerated.number}}</b> {{lang.arAlreadyGenerated}} :
-                        </p>
-                        <ul>
-                            <li *ngFor="let info of acknowledgement.alreadyGenerated.list">
-                                {{info.alt_identifier}}
-                            </li>
-                        </ul>
+                    <div *ngIf="acknowledgement.alreadyGenerated.number">
+                        <div class="alert-message alert-message-info acknowledgementList" role="alert">
+                            <p>
+                                <b>{{acknowledgement.alreadyGenerated.number}}</b> {{lang.arAlreadyGenerated}} :
+                            </p>
+                            <ul>
+                                <li *ngFor="let info of acknowledgement.alreadyGenerated.list">
+                                    {{info.alt_identifier}}
+                                </li>
+                            </ul>
+                        </div>
                     </div>
-                </div>
-                <div *ngIf="acknowledgement.noSendAR.number">
-                    <div class="alert-message alert-message-info acknowledgementList" role="alert">
-                        <p><b>{{acknowledgement.noSendAR.number}}</b> {{lang.canNotSendAr}} :</p>
-                        <ul>
-                            <li *ngFor="let info of acknowledgement.noSendAR.list">
-                                <b>{{info.alt_identifier != null ? info.alt_identifier : lang.undefined}}</b> :
-                                {{info.info}}
-                            </li>
-                        </ul>
+                    <div *ngIf="acknowledgement.noSendAR.number">
+                        <div class="alert-message alert-message-info acknowledgementList" role="alert">
+                            <p><b>{{acknowledgement.noSendAR.number}}</b> {{lang.canNotSendAr}} :</p>
+                            <ul>
+                                <li *ngFor="let info of acknowledgement.noSendAR.list">
+                                    <b>{{info.alt_identifier != null ? info.alt_identifier : lang.undefined}}</b> :
+                                    {{info.info}}
+                                </li>
+                            </ul>
+                        </div>
                     </div>
-                </div>
 
-                <div *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper"
-                    class="alert-message alert-message-success acknowledgementList" role="alert" style="padding: 10px;">
-                    <div *ngIf="acknowledgement.sendEmail">
-                        <b>{{acknowledgement.sendEmail}}</b>
-                        {{lang.readyToSendElectronicAr}}
+                    <div *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper"
+                        class="alert-message alert-message-success acknowledgementList" role="alert"
+                        style="padding: 10px;">
+                        <div *ngIf="acknowledgement.sendEmail">
+                            <b>{{acknowledgement.sendEmail}}</b>
+                            {{lang.readyToSendElectronicAr}}
+                        </div>
+                        <div *ngIf="acknowledgement.sendPaper">
+                            <b>{{acknowledgement.sendPaper}}</b>
+                            {{lang.readyToGeneratePaperAr}}
+                        </div>
                     </div>
-                    <div *ngIf="acknowledgement.sendPaper">
-                        <b>{{acknowledgement.sendPaper}}</b>
-                        {{lang.readyToGeneratePaperAr}}
-                    </div>
-                </div>
-        </div>
-        <div class="col-md-12" *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
+            <div class="col-md-12" *ngIf="acknowledgement.sendEmail || acknowledgement.sendPaper">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary"
-        [disabled]="loading || (!acknowledgement.sendEmail && !acknowledgement.sendPaper)"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary"
+            [disabled]="loading || (!acknowledgement.sendEmail && !acknowledgement.sendPaper)"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/redirect-action/redirect-action.component.html b/src/frontend/app/actions/redirect-action/redirect-action.component.html
index c48034cedd7..34cdcb465cd 100644
--- a/src/frontend/app/actions/redirect-action/redirect-action.component.html
+++ b/src/frontend/app/actions/redirect-action/redirect-action.component.html
@@ -1,101 +1,106 @@
-<h1 mat-dialog-title>"{{data.action.label}}"</h1>
-<div mat-dialog-content [class.fullWidth]="redirectMode == 'entity'">
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <ng-container *ngIf="!loading">
-        {{lang.makeActionOn}}
-        <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-        <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-        <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b>
-        ?<br />
-    </ng-container>
-    <div class="chooseMode" *ngIf="redirectMode == '' && !loading">
-        <div>
-            <button mat-stroked-button color="primary" (click)="loadEntities()"><i
-                    class="fa fa-sitemap"></i>{{lang.toAService}}</button>
-        </div>
-        <div>
-            <button mat-stroked-button color="primary" (click)="loadDestUser()"><i
-                    class="fa fa-user"></i>{{lang.toAnUser}}</button>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>"{{data.action.label}}"</h1>
+    <div mat-dialog-content [class.fullWidth]="redirectMode == 'entity'">
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-    </div>
-    <div *ngIf="redirectMode == 'none' && !loading">
-        <div class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;">
-            {{lang.noSettingsAvailable}}</div>
-    </div>
-    <div *ngIf="redirectMode == 'entity'" class="row" style="display: flex;">
-        <div class="redirectContent" style="flex:2">
-            <h2>{{lang.redirectTo}} :</h2>
-            <div class="contentEntities">
-                <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10">
-                    <input matInput id="jstree_search" name="jstree_search" type="text"
-                        placeholder="{{lang.searchEntities}}">
-                </mat-form-field>
-                <div id="jstree"></div>
+        <ng-container *ngIf="!loading">
+            {{lang.makeActionOn}}
+            <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
+            <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                {{lang.elements}}</b>
+            ?<br />
+        </ng-container>
+        <div class="chooseMode" *ngIf="redirectMode == '' && !loading">
+            <div>
+                <button mat-stroked-button color="primary" (click)="loadEntities()"><i
+                        class="fa fa-sitemap"></i>{{lang.toAService}}</button>
             </div>
+            <div>
+                <button mat-stroked-button color="primary" (click)="loadDestUser()"><i
+                        class="fa fa-user"></i>{{lang.toAnUser}}</button>
+            </div>
+        </div>
+        <div *ngIf="redirectMode == 'none' && !loading">
+            <div class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;">
+                {{lang.noSettingsAvailable}}</div>
         </div>
-        <div class="redirectContent" style="flex:1;overflow: auto;">
-            <h2 title="{{currentEntity.entity_label}}">{{lang.diffusionList}} "{{currentEntity.entity_label}}" :</h2>
-            <div class="contentEntities">
-                <app-diffusions-list #appDiffusionsList [adminMode]="true" [resId]="injectDatasParam.resId"
-                    [keepDestForRedirection]="injectDatasParam.keepDestForRedirection" [target]="'redirect'">
-                </app-diffusions-list>
+        <div *ngIf="redirectMode == 'entity'" class="row" style="display: flex;">
+            <div class="redirectContent" style="flex:2">
+                <h2>{{lang.redirectTo}} :</h2>
+                <div class="contentEntities">
+                    <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10">
+                        <input matInput id="jstree_search" name="jstree_search" type="text"
+                            placeholder="{{lang.searchEntities}}">
+                    </mat-form-field>
+                    <div id="jstree"></div>
+                </div>
+            </div>
+            <div class="redirectContent" style="flex:1;overflow: auto;">
+                <h2 title="{{currentEntity.entity_label}}">{{lang.diffusionList}} "{{currentEntity.entity_label}}" :
+                </h2>
+                <div class="contentEntities">
+                    <app-diffusions-list #appDiffusionsList [adminMode]="true" [resId]="injectDatasParam.resId"
+                        [keepDestForRedirection]="injectDatasParam.keepDestForRedirection" [target]="'redirect'">
+                    </app-diffusions-list>
+                </div>
             </div>
         </div>
-    </div>
-    <div *ngIf="redirectMode == 'user'" class="row">
-        <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10">
-            <input class="searchUserRedirect" matInput placeholder="{{lang.searchNewAssignee}}" [matAutocomplete]="auto"
-                [formControl]="userRedirectCtrl" (click)="userRedirectCtrl.setValue('')">
-            <mat-autocomplete #auto="matAutocomplete" (optionSelected)="changeDest($event)" isOpen="true">
-                <mat-option *ngFor="let user of filteredUserRedirect | async" [value]="user">
-                    <mat-list>
+        <div *ngIf="redirectMode == 'user'" class="row">
+            <mat-form-field appearance="outline" floatLabel="never" [style.fontSize.px]="10">
+                <input class="searchUserRedirect" matInput placeholder="{{lang.searchNewAssignee}}"
+                    [matAutocomplete]="auto" [formControl]="userRedirectCtrl" (click)="userRedirectCtrl.setValue('')">
+                <mat-autocomplete #auto="matAutocomplete" (optionSelected)="changeDest($event)" isOpen="true">
+                    <mat-option *ngFor="let user of filteredUserRedirect | async" [value]="user">
+                        <mat-list>
+                            <mat-list-item>
+                                <mat-icon mat-list-icon class="fa fa-user" color="primary" style="padding-top:0px;">
+                                </mat-icon>
+                                <h4 mat-line>{{user.labelToDisplay}}</h4>
+                                <p mat-line style="opacity:0.5;line-height: 15px;font-size: 10px;">
+                                    {{user.descriptionToDisplay}} </p>
+                            </mat-list-item>
+                        </mat-list>
+                    </mat-option>
+                </mat-autocomplete>
+            </mat-form-field>
+            <div class="redirectContent" style="flex:2">
+                <h2 style="top:-5px;">{{lang.newAssignee}} :</h2>
+                <div class="contentUser">
+                    <mat-list *ngIf="destUser != null">
                         <mat-list-item>
-                            <mat-icon mat-list-icon class="fa fa-user" color="primary" style="padding-top:0px;">
-                            </mat-icon>
-                            <h4 mat-line>{{user.labelToDisplay}}</h4>
-                            <p mat-line style="opacity:0.5;line-height: 15px;font-size: 10px;">
-                                {{user.descriptionToDisplay}} </p>
+                            <mat-icon mat-list-icon class="fa fa-2x fa-user" color="primary"></mat-icon>
+                            <h4 mat-line>{{destUser.labelToDisplay}}</h4>
+                            <p mat-line style="opacity:0.5;">
+                                {{destUser.descriptionToDisplay}} </p>
                         </mat-list-item>
                     </mat-list>
-                </mat-option>
-            </mat-autocomplete>
-        </mat-form-field>
-        <div class="redirectContent" style="flex:2">
-            <h2 style="top:-5px;">{{lang.newAssignee}} :</h2>
-            <div class="contentUser">
-                <mat-list *ngIf="destUser != null">
-                    <mat-list-item>
-                        <mat-icon mat-list-icon class="fa fa-2x fa-user" color="primary"></mat-icon>
-                        <h4 mat-line>{{destUser.labelToDisplay}}</h4>
-                        <p mat-line style="opacity:0.5;">
-                            {{destUser.descriptionToDisplay}} </p>
-                    </mat-list-item>
-                </mat-list>
-                <div *ngIf="destUser == null" class="noSelection">
-                    {{lang.noPerson}}
+                    <div *ngIf="destUser == null" class="noSelection">
+                        {{lang.noPerson}}
+                    </div>
                 </div>
             </div>
+            <div *ngIf="isDestinationChanging && data.resIds.length == 1" class="alert-message alert-message-info"
+                role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfo}}
+                <b>{{destUser.descriptionToDisplay}}</b></div>
+            <div *ngIf="isDestinationChanging && data.resIds.length > 1" class="alert-message alert-message-info"
+                role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfoMass}}
+                <b>{{destUser.labelToDisplay}}</b> {{lang.destinationChangingInfoMass2}}
+                <b>{{destUser.descriptionToDisplay}}</b></div>
+            <div *ngIf="keepDestForRedirection && oldUser != null" class="alert-message alert-message-info" role="alert"
+                style="margin-top: 30px;"><b>{{oldUser.labelToDisplay}}</b>&nbsp;<span
+                    [innerHTML]="lang.willBeAutomaticallyInCopy"></span></div>
         </div>
-        <div *ngIf="isDestinationChanging && data.resIds.length == 1" class="alert-message alert-message-info"
-            role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfo}}
-            <b>{{destUser.descriptionToDisplay}}</b></div>
-        <div *ngIf="isDestinationChanging && data.resIds.length > 1" class="alert-message alert-message-info"
-            role="alert" style="margin-top: 30px;">{{lang.destinationChangingInfoMass}}
-            <b>{{destUser.labelToDisplay}}</b> {{lang.destinationChangingInfoMass2}}
-            <b>{{destUser.descriptionToDisplay}}</b></div>
-        <div *ngIf="keepDestForRedirection && oldUser != null" class="alert-message alert-message-info" role="alert"
-            style="margin-top: 30px;"><b>{{oldUser.labelToDisplay}}</b>&nbsp;<span
-                [innerHTML]="lang.willBeAutomaticallyInCopy"></span></div>
-    </div>
 
-    <div class="row" *ngIf="redirectMode != '' && redirectMode != 'none'">
-        <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+        <div class="row" *ngIf="redirectMode != '' && redirectMode != 'none'">
+            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+        </div>
+    </div>
+    <span class="divider-modal"></span>
+    <div *ngIf="!loading" mat-dialog-actions class="actions">
+        <button *ngIf="redirectMode != ''" mat-raised-button mat-button color="primary" [disabled]="checkValidity()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
     </div>
-</div>
-<div *ngIf="!loading" mat-dialog-actions class="actions">
-    <button *ngIf="redirectMode != ''" mat-raised-button mat-button color="primary" [disabled]="checkValidity()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/redirect-action/redirect-action.component.scss b/src/frontend/app/actions/redirect-action/redirect-action.component.scss
index 2cd9be52296..4608e807504 100644
--- a/src/frontend/app/actions/redirect-action/redirect-action.component.scss
+++ b/src/frontend/app/actions/redirect-action/redirect-action.component.scss
@@ -1,6 +1,3 @@
-.mat-dialog-content{
-    min-height: 120px;
-}
 .fullWidth {
     width: 70vw;
 }
diff --git a/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html b/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html
index 1b0b10cf9f0..a5b482f05bd 100644
--- a/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html
+++ b/src/frontend/app/actions/redirect-initiator-entity-action/redirect-initiator-entity-action.component.html
@@ -1,11 +1,12 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content *ngIf="!loadingInit">
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}} 
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content *ngIf="!loadingInit">
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
                 <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
                 <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
                     {{lang.elements}}</b> ?
@@ -28,15 +29,16 @@
                         </p>
                     </div>
                 </div>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-        </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary"
-        [disabled]="loading || resourcesInfo.withEntity.length == 0"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary"
+            [disabled]="loading || resourcesInfo.withEntity.length == 0" (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html
index 31ebda22806..a37a5f48fdf 100644
--- a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html
+++ b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.html
@@ -1,54 +1,57 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;">
-            <div class="row" style="margin: 0;">
-                <div class="col-md-12">
-                    {{lang.makeActionOn}}
-                    <b *ngIf="data.resIds.length === 0" color="primary"
-                        class="highlight">{{lang.currentIndexingMail}}</b>
-                    <b *ngIf="data.resIds.length == 1" color="primary"
-                        class="highlight">{{data.resource.chrono}}</b>
-                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                        {{lang.elements}}</b> ?
-                </div>
-                <div>
-                    <div class="col-md-12" style="padding-top: 10px;" *ngIf="additionalsInfos.users.length != 0">
-                        <plugin-autocomplete [labelPlaceholder]="lang.userMaarchParapheur"
-                            [datas]="additionalsInfos.users" [targetSearchKey]="'displayName'" [subInfoKey]="'email'"
-                            (triggerEvent)="setVal($event)" [singleMode]="true" appearance="outline">
-                        </plugin-autocomplete>
-                    </div>
-                    <div class="col-md-12" *ngIf="additionalsInfos.users.length == 0">
-                        {{lang.noUserDefinedInMaarchParapheur}}
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;">
+                <div class="row" style="margin: 0;">
+                    <div class="col-md-12">
+                        {{lang.makeActionOn}}
+                        <b *ngIf="data.resIds.length === 0" color="primary"
+                            class="highlight">{{lang.currentIndexingMail}}</b>
+                        <b *ngIf="data.resIds.length == 1" color="primary"
+                            class="highlight">{{data.resource.chrono}}</b>
+                        <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                            {{lang.elements}}</b> ?
                     </div>
-                    <div class="col-md-12" *ngIf="additionalsInfos.noMail.length != 0">
-                        <div>
-                            <div class="alert-message alert-message-danger mailList" role="alert">
-                                <p>
-                                    {{lang.canNotMakeAction}} :
-                                </p>
-                                <ul>
-                                    <li *ngFor="let mail of additionalsInfos.noMail">
-                                        <b>{{mail.alt_identifier}}</b> : {{lang[mail.reason]}}
-                                    </li>
-                                </ul>
+                    <div>
+                        <div class="col-md-12" style="padding-top: 10px;" *ngIf="additionalsInfos.users.length != 0">
+                            <plugin-autocomplete [labelPlaceholder]="lang.userMaarchParapheur"
+                                [datas]="additionalsInfos.users" [targetSearchKey]="'displayName'" [subInfoKey]="'email'"
+                                (triggerEvent)="setVal($event)" [singleMode]="true" appearance="outline">
+                            </plugin-autocomplete>
+                        </div>
+                        <div class="col-md-12" *ngIf="additionalsInfos.users.length == 0">
+                            {{lang.noUserDefinedInMaarchParapheur}}
+                        </div>
+                        <div class="col-md-12" *ngIf="additionalsInfos.noMail.length != 0">
+                            <div>
+                                <div class="alert-message alert-message-danger mailList" role="alert">
+                                    <p>
+                                        {{lang.canNotMakeAction}} :
+                                    </p>
+                                    <ul>
+                                        <li *ngFor="let mail of additionalsInfos.noMail">
+                                            <b>{{mail.alt_identifier}}</b> : {{lang[mail.reason]}}
+                                        </li>
+                                    </ul>
+                                </div>
                             </div>
                         </div>
                     </div>
+                    <div class="col-md-12" style="padding-top: 10px;">
+                        <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                    </div>
                 </div>
-                <div class="col-md-12" style="padding-top: 10px;">
-                    <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-                </div>
-            </div>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || checkValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || checkValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss
+++ b/src/frontend/app/actions/send-external-note-book-action/send-external-note-book-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
index 85d29b6fcdc..71e8a5f5e2a 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
+++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.html
@@ -1,65 +1,74 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;">
-            <div class="row" style="margin: 0;">
-                <div class="col-md-12">
-                    {{lang.makeActionOn}}
-                    <b *ngIf="data.resIds.length === 0" color="primary"
-                        class="highlight">{{lang.currentIndexingMail}}</b>
-                    <b *ngIf="data.resIds.length == 1" color="primary"
-                        class="highlight">{{data.resource.chrono}}</b>
-                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                        {{lang.elements}}</b> ?
-                </div>
-                <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
-                    <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox>
-                </div>
-                <div *ngIf="resourcesMailing.length > 0" class="alert-message alert-message-info" role="alert">
-                    <p>{{lang.mailingActionInformations}}</p>
-                    <ul>
-                        <li *ngFor="let ressource of resourcesMailing">
-                            <b>{{ressource.alt_identifier}}</b>
-                        </li>
-                    </ul>
-                </div>
-                <div>
-                    <app-fast-paraph #fastParapheur *ngIf="signatoryBookEnabled=='fastParapheur'"
-                        [additionalsInfos]="additionalsInfos" [externalSignatoryBookDatas]="externalSignatoryBookDatas">
-                    </app-fast-paraph>
-                    <app-maarch-paraph #maarchParapheur *ngIf="signatoryBookEnabled=='maarchParapheur'"
-                        [additionalsInfos]="additionalsInfos" [externalSignatoryBookDatas]="externalSignatoryBookDatas">
-                    </app-maarch-paraph>
-                    <app-x-paraph #xParaph *ngIf="signatoryBookEnabled=='xParaph'" [additionalsInfos]="additionalsInfos"
-                        [externalSignatoryBookDatas]="externalSignatoryBookDatas"></app-x-paraph>
-                    <div class="col-md-12"
-                        *ngIf="additionalsInfos.noAttachment.length != 0 && externalSignatoryBookDatas.objectSent == 'attachment'">
-                        <div>
-                            <div class="alert-message alert-message-danger mailList" role="alert">
-                                <p>
-                                    {{lang.canNotMakeAction}} :
-                                </p>
-                                <ul>
-                                    <li *ngFor="let attachment of additionalsInfos.noAttachment">
-                                        <b>{{attachment.alt_identifier}}</b> : {{lang[attachment.reason]}}
-                                    </li>
-                                </ul>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;">
+                <div class="row" style="margin: 0;">
+                    <div class="col-md-12">
+                        {{lang.makeActionOn}}
+                        <b *ngIf="data.resIds.length === 0" color="primary"
+                            class="highlight">{{lang.currentIndexingMail}}</b>
+                        <b *ngIf="data.resIds.length == 1" color="primary"
+                            class="highlight">{{data.resource.chrono}}</b>
+                        <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                            {{lang.elements}}</b> ?
+                    </div>
+                    <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
+                        <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue"
+                            (click)="toggleIntegration(inteKey.key)"
+                            [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}
+                        </mat-checkbox>
+                    </div>
+                    <div *ngIf="resourcesMailing.length > 0" class="alert-message alert-message-info" role="alert">
+                        <p>{{lang.mailingActionInformations}}</p>
+                        <ul>
+                            <li *ngFor="let ressource of resourcesMailing">
+                                <b>{{ressource.alt_identifier}}</b>
+                            </li>
+                        </ul>
+                    </div>
+                    <div>
+                        <app-fast-paraph #fastParapheur *ngIf="signatoryBookEnabled=='fastParapheur'"
+                            [additionalsInfos]="additionalsInfos"
+                            [externalSignatoryBookDatas]="externalSignatoryBookDatas">
+                        </app-fast-paraph>
+                        <app-maarch-paraph #maarchParapheur *ngIf="signatoryBookEnabled=='maarchParapheur'"
+                            [additionalsInfos]="additionalsInfos"
+                            [externalSignatoryBookDatas]="externalSignatoryBookDatas">
+                        </app-maarch-paraph>
+                        <app-x-paraph #xParaph *ngIf="signatoryBookEnabled=='xParaph'"
+                            [additionalsInfos]="additionalsInfos"
+                            [externalSignatoryBookDatas]="externalSignatoryBookDatas"></app-x-paraph>
+                        <div class="col-md-12"
+                            *ngIf="additionalsInfos.noAttachment.length != 0 && externalSignatoryBookDatas.objectSent == 'attachment'">
+                            <div>
+                                <div class="alert-message alert-message-danger mailList" role="alert">
+                                    <p>
+                                        {{lang.canNotMakeAction}} :
+                                    </p>
+                                    <ul>
+                                        <li *ngFor="let attachment of additionalsInfos.noAttachment">
+                                            <b>{{attachment.alt_identifier}}</b> : {{lang[attachment.reason]}}
+                                        </li>
+                                    </ul>
+                                </div>
                             </div>
                         </div>
                     </div>
+                    <div class="col-md-12" style="padding-top: 10px;">
+                        <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                    </div>
                 </div>
-                <div class="col-md-12" style="padding-top: 10px;">
-                    <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-                </div>
-            </div>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss
+++ b/src/frontend/app/actions/send-external-signatory-book-action/send-external-signatory-book-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html b/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html
index ea26f73c7df..021ee32fd39 100644
--- a/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html
+++ b/src/frontend/app/actions/send-shipping-action/send-shipping-action.component.html
@@ -1,121 +1,129 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content [class.fullWidth]="shippings.length > 0" [class.fullHeight]="shippings.length > 0">
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div *ngIf="!functions.empty(fatalError)" class="alert-message alert-message-danger mailList" role="alert">
-        {{lang[fatalError.reason]}}
-    </div>
-    <div *ngIf="functions.empty(fatalError) && shippings.length == 0" class="alert-message alert-message-danger mailList" role="alert">
-        {{lang.noShippingTemplate}} :<br />
-        <div class="mailList">
-            <ul>
-                <li *ngFor="let entity of entitiesList">
-                    {{entity}}
-                </li>
-            </ul>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content [class.fullWidth]="shippings.length > 0" [class.fullHeight]="shippings.length > 0">
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <span [innerHTML]="lang.doShippingParameter"></span>
-    </div>
-    <mat-sidenav-container *ngIf="shippings.length > 0" autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;">
-            <div class="row" style="margin: 0;">
-                <div class="col-md-12">
-                    {{lang.makeActionOn}}
-                    <b *ngIf="data.resIds.length === 0" color="primary"
-                        class="highlight">{{lang.currentIndexingMail}}</b>
-                    <b *ngIf="data.resIds.length == 1" color="primary"
-                        class="highlight">{{data.resource.chrono}}</b>
-                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                        {{lang.elements}}</b> ?
-                </div>
-                <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
-                    <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox>
-                </div>
-                <div class="col-md-12" style="padding-top: 10px;">
-                    <mat-form-field>
-                        <mat-label>{{lang.shippings}}</mat-label>
-                        <mat-select name="currentShipping" [(ngModel)]="currentShipping" required>
-                            <mat-option *ngFor="let shipping of shippings" [value]="shipping">
-                                {{shipping.label}}
-                            </mat-option>
-                        </mat-select>
-                    </mat-form-field>
-                </div>
-                <div class="col-md-12" *ngIf="attachList.length > 0">
-                    <div>
-                        <div class="alert-message alert-message-info mailList" role="alert">
-                            <b>{{attachList.length}}</b> {{lang.shippingReadyToSend}}
-                        </div>
+        <div *ngIf="!functions.empty(fatalError)" class="alert-message alert-message-danger mailList" role="alert">
+            {{lang[fatalError.reason]}}
+        </div>
+        <div *ngIf="functions.empty(fatalError) && shippings.length == 0"
+            class="alert-message alert-message-danger mailList" role="alert">
+            {{lang.noShippingTemplate}} :<br />
+            <div class="mailList">
+                <ul>
+                    <li *ngFor="let entity of entitiesList">
+                        {{entity}}
+                    </li>
+                </ul>
+            </div>
+            <span [innerHTML]="lang.doShippingParameter"></span>
+        </div>
+        <mat-sidenav-container *ngIf="shippings.length > 0" autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;">
+                <div class="row" style="margin: 0;">
+                    <div class="col-md-12">
+                        {{lang.makeActionOn}}
+                        <b *ngIf="data.resIds.length === 0" color="primary"
+                            class="highlight">{{lang.currentIndexingMail}}</b>
+                        <b *ngIf="data.resIds.length == 1" color="primary"
+                            class="highlight">{{data.resource.chrono}}</b>
+                        <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                            {{lang.elements}}</b> ?
                     </div>
-                </div>
-                <div class="col-md-12" *ngIf="mailsNotSend.length > 0">
-                    <div>
-                        <div class="alert-message alert-message-danger mailList" role="alert">
-                            <p>
-                                <b>{{mailsNotSend.length}}</b> {{lang.shippingNotEligible}} :
-                            </p>
-                            <ul>
-                                <li *ngFor="let mail of mailsNotSend">
-                                    <b>{{mail.chrono}}</b> : {{lang[mail.reason]}}
-                                </li>
-                            </ul>
+                    <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
+                        <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue"
+                            (click)="toggleIntegration(inteKey.key)"
+                            [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}
+                        </mat-checkbox>
+                    </div>
+                    <div class="col-md-12" style="padding-top: 10px;">
+                        <mat-form-field>
+                            <mat-label>{{lang.shippings}}</mat-label>
+                            <mat-select name="currentShipping" [(ngModel)]="currentShipping" required>
+                                <mat-option *ngFor="let shipping of shippings" [value]="shipping">
+                                    {{shipping.label}}
+                                </mat-option>
+                            </mat-select>
+                        </mat-form-field>
+                    </div>
+                    <div class="col-md-12" *ngIf="attachList.length > 0">
+                        <div>
+                            <div class="alert-message alert-message-info mailList" role="alert">
+                                <b>{{attachList.length}}</b> {{lang.shippingReadyToSend}}
+                            </div>
                         </div>
                     </div>
-                </div>
-                <div *ngIf="currentShipping != null" class="col-md-12">
-                    <div class="formType" style="flex-direction: column;">
-                        <div class="formType-title">
-                            {{lang.pricesInformations}}
+                    <div class="col-md-12" *ngIf="mailsNotSend.length > 0">
+                        <div>
+                            <div class="alert-message alert-message-danger mailList" role="alert">
+                                <p>
+                                    <b>{{mailsNotSend.length}}</b> {{lang.shippingNotEligible}} :
+                                </p>
+                                <ul>
+                                    <li *ngFor="let mail of mailsNotSend">
+                                        <b>{{mail.chrono}}</b> : {{lang[mail.reason]}}
+                                    </li>
+                                </ul>
+                            </div>
                         </div>
-                        <div class="priceContent">
-                            <div class="priceInfo">
-                                <div class="col-md-6">
-                                    <p>
-                                        {{lang.sendMode}} :
-                                    </p>
-                                    <ul>
-                                        <li>
-                                            {{lang['maileva_'+currentShipping.options.sendMode]}}
-                                        </li>
-                                    </ul>
-                                </div>
-                                <div class="col-md-6">
-                                    <p>
-                                        {{lang.shapingOptions}} :
-                                    </p>
-                                    <ul>
-                                        <li *ngFor="let option of currentShipping.options.shapingOptions">
-                                            {{lang['maileva_'+option]}}
-                                        </li>
-                                    </ul>
+                    </div>
+                    <div *ngIf="currentShipping != null" class="col-md-12">
+                        <div class="formType" style="flex-direction: column;">
+                            <div class="formType-title">
+                                {{lang.pricesInformations}}
+                            </div>
+                            <div class="priceContent">
+                                <div class="priceInfo">
+                                    <div class="col-md-6">
+                                        <p>
+                                            {{lang.sendMode}} :
+                                        </p>
+                                        <ul>
+                                            <li>
+                                                {{lang['maileva_'+currentShipping.options.sendMode]}}
+                                            </li>
+                                        </ul>
+                                    </div>
+                                    <div class="col-md-6">
+                                        <p>
+                                            {{lang.shapingOptions}} :
+                                        </p>
+                                        <ul>
+                                            <li *ngFor="let option of currentShipping.options.shapingOptions">
+                                                {{lang['maileva_'+option]}}
+                                            </li>
+                                        </ul>
+                                    </div>
                                 </div>
+                                <mat-form-field appearance="outline">
+                                    <input matInput [(ngModel)]="currentShipping.fee" required name="totalPrice"
+                                        id="totalPrice" title="{{lang.totalPrice}}" type="number" disabled>
+                                    <span matSuffix>&nbsp;€</span>
+                                </mat-form-field>
                             </div>
-                            <mat-form-field appearance="outline">
-                                <input matInput [(ngModel)]="currentShipping.fee" required name="totalPrice"
-                                    id="totalPrice" title="{{lang.totalPrice}}" type="number" disabled>
-                                <span matSuffix>&nbsp;€</span>
-                            </mat-form-field>
                         </div>
                     </div>
-                </div>
 
-                <div class="col-md-12">
-                    <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                    <div class="col-md-12">
+                        <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                    </div>
                 </div>
-            </div>
-        </mat-sidenav-content>
-        <mat-sidenav mode="side" fixedTopGap="56" position='end' [opened]="attachList.length > 0" style="width: 50%;">
-            <div class="pjList">
-                <img *ngFor="let attach of attachList" title="{{attach.chrono}} : {{attach.title}}"
-                    src="../../rest/{{attach.type === 'attachment' ? 'attachments' : 'resources'}}/{{attach.res_id}}/thumbnail" />
-            </div>
-        </mat-sidenav>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary"
-        [disabled]="loading || currentShipping == null || attachList.length == 0"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+            </mat-sidenav-content>
+            <mat-sidenav mode="side" fixedTopGap="56" position='end' [opened]="attachList.length > 0"
+                style="width: 50%;">
+                <div class="pjList">
+                    <img *ngFor="let attach of attachList" title="{{attach.chrono}} : {{attach.title}}"
+                        src="../../rest/{{attach.type === 'attachment' ? 'attachments' : 'resources'}}/{{attach.res_id}}/thumbnail" />
+                </div>
+            </mat-sidenav>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary"
+            [disabled]="loading || currentShipping == null || attachList.length == 0"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html b/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html
index a3fb2ae11b3..e405d1b5247 100644
--- a/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html
+++ b/src/frontend/app/actions/update-acknowledgement-send-date-action/update-acknowledgement-send-date-action.component.html
@@ -1,34 +1,37 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}}
-            <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-            <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                {{lang.elements}}</b> ?
-            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.updateAcknowledgementSendDate"></div>
-            <div class="col-sm-6" style="padding-top:10px;">
-                <mat-form-field>
-                    <input matInput [(ngModel)]="acknowledgementSendDate" [max]="acknowledgementSendDateEnd"
-                        [matDatepicker]="pickerStart" placeholder="{{lang.acknowledgementSendDate}}"
-                        (focus)="pickerStart.open()">
-                    <mat-datepicker-toggle matSuffix [for]="pickerStart"></mat-datepicker-toggle>
-                    <mat-datepicker #pickerStart [startAt]="acknowledgementSendDate"></mat-datepicker>
-                </mat-form-field>
-            </div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
+                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.updateAcknowledgementSendDate"></div>
+                <div class="col-sm-6" style="padding-top:10px;">
+                    <mat-form-field>
+                        <input matInput [(ngModel)]="acknowledgementSendDate" [max]="acknowledgementSendDateEnd"
+                            [matDatepicker]="pickerStart" placeholder="{{lang.acknowledgementSendDate}}"
+                            (focus)="pickerStart.open()">
+                        <mat-datepicker-toggle matSuffix [for]="pickerStart"></mat-datepicker-toggle>
+                        <mat-datepicker #pickerStart [startAt]="acknowledgementSendDate"></mat-datepicker>
+                    </mat-form-field>
+                </div>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html b/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html
index dcfa92401dc..50a3a61df9a 100644
--- a/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html
+++ b/src/frontend/app/actions/update-departure-date-action/update-departure-date-action.component.html
@@ -1,22 +1,28 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}} 
-            <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-            <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}} {{lang.elements}}</b> ?
-            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.updateDepartureDate"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
+                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.updateDepartureDate"></div>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading" (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/view-doc-action/view-doc-action.component.html b/src/frontend/app/actions/view-doc-action/view-doc-action.component.html
index ac535df2f21..796054619d0 100644
--- a/src/frontend/app/actions/view-doc-action/view-doc-action.component.html
+++ b/src/frontend/app/actions/view-doc-action/view-doc-action.component.html
@@ -1,8 +1,10 @@
-<h1 mat-dialog-title>{{data.resource.chrono}}
-    <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]="">
-        <mat-icon class="fa fa-times-circle fa-2x"></mat-icon>
-    </button>
-</h1>
-<div style="overflow:auto;height: 100%;width: 100%;">
-    <pdf-viewer [src]="docUrl" [render-text]="true" [autoresize]="true" [original-size]="false" [show-all]="true"></pdf-viewer>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.resource.chrono}}
+        <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]="">
+            <mat-icon class="fa fa-times-circle fa-2x"></mat-icon>
+        </button>
+    </h1>
+    <div style="overflow:auto;height: 100%;width: 100%;">
+        <pdf-viewer [src]="docUrl" [render-text]="true" [autoresize]="true" [original-size]="false" [show-all]="true"></pdf-viewer>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html
index effec9a1c4e..387b7bb5b4b 100644
--- a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html
+++ b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.html
@@ -1,64 +1,70 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== ''"
-                role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.sendToDocTo + ' <b>' + appVisaWorkflow.getNextVisaUser().labelToDisplay + '</b>'">
-            </div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div class="alert-message alert-message-info"
+                    *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== ''"
+                    role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.sendToDocTo + ' <b>' + appVisaWorkflow.getNextVisaUser().labelToDisplay + '</b>'">
+                </div>
 
-            <div class="alert-message alert-message-info"
-                *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() === '' && !noResourceToProcess"
-                role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div>
+                <div class="alert-message alert-message-info"
+                    *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() === '' && !noResourceToProcess"
+                    role="alert" style="margin-top: 30px;" [innerHTML]="lang.endWorkflow"></div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== '' && appVisaWorkflow.getNextVisaUser().requested_signature" 
-                class="alert-message alert-message-info" role="alert">
-                <p>{{lang.mailingActionInformations}}</p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesMailing">
-                        <b>{{ressource.alt_identifier}}</b>
-                    </li>
-                </ul>
-            </div>
-            <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
-                #appVisaWorkflow>
-            </app-visa-workflow>
-            <div style="padding-top: 10px;">
-                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-            </div>
-        </mat-sidenav-content>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList"
+                    role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow !== undefined && appVisaWorkflow.getNextVisaUser() !== '' && appVisaWorkflow.getNextVisaUser().requested_signature"
+                    class="alert-message alert-message-info" role="alert">
+                    <p>{{lang.mailingActionInformations}}</p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesMailing">
+                            <b>{{ressource.alt_identifier}}</b>
+                        </li>
+                    </ul>
+                </div>
+                <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
+                    #appVisaWorkflow>
+                </app-visa-workflow>
+                <div style="padding-top: 10px;">
+                    <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                </div>
+            </mat-sidenav-content>
+        </mat-sidenav-container>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss
index 9424211bb4a..b4a360fe69f 100644
--- a/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss
+++ b/src/frontend/app/actions/visa-continue-circuit-action/continue-visa-circuit-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html b/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html
index 1fa9c8fd1fe..197c492052e 100644
--- a/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html
+++ b/src/frontend/app/actions/visa-interrupt-action/interrupt-visa-action.component.html
@@ -1,46 +1,52 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}}
-            <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                {{lang.elements}}</b> ?
-            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.interruptVisaWorkflow"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                    [innerHTML]="lang.interruptVisaWorkflow"></div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList"
+                    role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+
+                <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
+                    #appVisaWorkflow>
+                </app-visa-workflow>
             </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
             </div>
-
-            <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
-                #appVisaWorkflow>
-            </app-visa-workflow>
-        </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html b/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html
index e1ec516307f..03b5990b5cc 100644
--- a/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html
+++ b/src/frontend/app/actions/visa-reject-back-to-previous-action/reject-visa-back-to-previous-action.component.html
@@ -1,45 +1,48 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}}
-            <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                {{lang.elements}}</b> ?
-                <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBack"></div>
-                <div *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getLastVisaUser() !== ''" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBackUser + ' <b>' + appVisaWorkflow.getLastVisaUser().labelToDisplay + '</b>'"></div>
-
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                    <div *ngIf="data.resIds.length > 1" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBack"></div>
+                    <div *ngIf="data.resIds.length == 1 && appVisaWorkflow !== undefined && appVisaWorkflow.getLastVisaUser() !== ''" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;" [innerHTML]="lang.rejectVisaBackUser + ' <b>' + appVisaWorkflow.getLastVisaUser().labelToDisplay + '</b>'"></div>
+    
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+    
+                <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow>
+                </app-visa-workflow>
             </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
             </div>
-
-            <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow>
-            </app-visa-workflow>
-        </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
         </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html b/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html
index bc0edc7c6ba..82e3808ba85 100644
--- a/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html
+++ b/src/frontend/app/actions/visa-reset-action/reset-visa-action.component.html
@@ -1,45 +1,51 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            {{lang.makeActionOn}}
-            <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-            <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                {{lang.elements}}</b> ?
-            <div *ngIf="data.resIds.length > 0" class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-                [innerHTML]="lang.resetVisaWorkflow"></div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <div class="row">
+            <div class="col-md-12">
+                {{lang.makeActionOn}}
+                <b *ngIf="data.resIds.length === 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                    {{lang.elements}}</b> ?
+                <div *ngIf="data.resIds.length > 0" class="alert-message alert-message-info" role="alert"
+                    style="margin-top: 30px;" [innerHTML]="lang.resetVisaWorkflow"></div>
 
-            <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesErrors">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList" role="alert">
-                <ul style="margin: 0;padding-bottom: 0px;">
-                    <li *ngFor="let ressource of resourcesWarnings">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
+                <div *ngIf="resourcesErrors.length > 0" class="alert-message alert-message-danger mailList"
+                    role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesErrors">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesWarnings.length > 0" class="alert-message alert-message-info mailList"
+                    role="alert">
+                    <ul style="margin: 0;padding-bottom: 0px;">
+                        <li *ngFor="let ressource of resourcesWarnings">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
 
-            <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]" #appVisaWorkflow>
+                <app-visa-workflow *ngIf="data.resIds.length == 1" [adminMode]="false" [resId]="data.resIds[0]"
+                    #appVisaWorkflow>
                 </app-visa-workflow>
+            </div>
+            <div class="col-md-12">
+                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+            </div>
         </div>
-        <div class="col-md-12">
-            <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-        </div>
     </div>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html
index bf667a02eef..59b4fd7bed5 100644
--- a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html
+++ b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.html
@@ -1,52 +1,61 @@
-<h1 mat-dialog-title>{{data.action.label}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
-        <mat-spinner style="margin:auto;"></mat-spinner>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{data.action.label}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loading" class="loading" style="display:flex;height:100%;">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-sidenav-container autosize style="height:100%;">
+            <mat-sidenav-content style="background: white;padding:10px;">
+                <div>
+                    {{lang.makeActionOn}}
+                    <b *ngIf="data.resIds.length === 0" color="primary"
+                        class="highlight">{{lang.currentIndexingMail}}</b>
+                    <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
+                    <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
+                        {{lang.elements}}</b> ?
+                </div>
+                <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
+                    <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue"
+                        (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">
+                        {{lang[inteKey.key+'_doc']}}</mat-checkbox>
+                </div>
+                <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
+                    <p>
+                        {{lang.canNotMakeAction}} :
+                    </p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesError">
+                            <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
+                        </li>
+                    </ul>
+                </div>
+                <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow.getFirstVisaUser() != '' && appVisaWorkflow.visaWorkflow.items[0].requested_signature"
+                    class="alert-message alert-message-info" role="alert">
+                    <p>{{lang.mailingActionInformations}}</p>
+                    <ul>
+                        <li *ngFor="let ressource of resourcesMailing">
+                            <b>{{ressource.alt_identifier}}</b>
+                        </li>
+                    </ul>
+                </div>
+                <app-visa-workflow *ngIf="data.resIds.length <= 1 || (!noResourceToProcess && data.resIds.length > 1)"
+                    [adminMode]="true" #appVisaWorkflow>
+                </app-visa-workflow>
+                <div style="padding-top: 10px;">
+                    <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
+                </div>
+            </mat-sidenav-content>
+            <mat-sidenav position='end' [opened]="data.resIds.length === 1 && noResourceToProcess" mode="side"
+                style="overflow-x:hidden;" autoFocus="false" [ngStyle]="{'width': '400px'}">
+                <app-attachments-list *ngIf="data.resIds.length === 1 && noResourceToProcess" [resId]="data.resIds[0]"
+                    (afterActionAttachment)="checkSignatureBook()"></app-attachments-list>
+            </mat-sidenav>
+        </mat-sidenav-container>
     </div>
-    <mat-sidenav-container autosize style="height:100%;">
-        <mat-sidenav-content style="background: white;padding:10px;">
-            <div>
-                {{lang.makeActionOn}}
-                <b *ngIf="data.resIds.length === 0" color="primary" class="highlight">{{lang.currentIndexingMail}}</b>
-                <b *ngIf="data.resIds.length == 1" color="primary" class="highlight">{{data.resource.chrono}}</b>
-                <b *ngIf="data.resIds.length > 1" color="primary" class="highlight">{{data.resIds.length}}
-                    {{lang.elements}}</b> ?
-            </div>
-            <div *ngIf="data.resIds.length > 0" style="padding:10px;display: flex;flex-direction: column;">
-                <mat-checkbox color="primary" *ngFor="let inteKey of integrationsInfo | keyvalue" (click)="toggleIntegration(inteKey.key)" [checked]="data.resource.integrations[inteKey.key]">{{lang[inteKey.key+'_doc']}}</mat-checkbox>
-            </div>
-            <div *ngIf="resourcesError.length > 0" class="alert-message alert-message-danger mailList" role="alert">
-                <p>
-                    {{lang.canNotMakeAction}} :
-                </p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesError">
-                        <b>{{ressource.alt_identifier}}</b> : {{lang[ressource.reason]}}
-                    </li>
-                </ul>
-            </div>
-            <div *ngIf="resourcesMailing.length > 0 && appVisaWorkflow.getFirstVisaUser() != '' && appVisaWorkflow.visaWorkflow.items[0].requested_signature" class="alert-message alert-message-info" role="alert">
-                <p>{{lang.mailingActionInformations}}</p>
-                <ul>
-                    <li *ngFor="let ressource of resourcesMailing">
-                        <b>{{ressource.alt_identifier}}</b>
-                    </li>
-                </ul>
-            </div>
-            <app-visa-workflow *ngIf="data.resIds.length <= 1 || (!noResourceToProcess && data.resIds.length > 1)" [adminMode]="true" #appVisaWorkflow>
-            </app-visa-workflow>
-            <div style="padding-top: 10px;">
-                <app-note-editor #noteEditor [resIds]="data.resIds"></app-note-editor>
-            </div>
-        </mat-sidenav-content>
-        <mat-sidenav position='end' [opened]="data.resIds.length === 1 && noResourceToProcess" mode="side" style="overflow-x:hidden;"
-            autoFocus="false" [ngStyle]="{'width': '400px'}">
-            <app-attachments-list *ngIf="data.resIds.length === 1 && noResourceToProcess" [resId]="data.resIds[0]" (afterActionAttachment)="checkSignatureBook()"></app-attachments-list>
-        </mat-sidenav>
-    </mat-sidenav-container>
-</div>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading || !isValidAction()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss
index 014cefd7f79..04040dd72b2 100644
--- a/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss
+++ b/src/frontend/app/actions/visa-send-signature-book-action/send-signature-book-action.component.scss
@@ -1,13 +1,5 @@
 @import '../../../css/vars.scss';
 
-.fullHeight {
-    height: 70vh;
-}
-
-.fullWidth {
-    width: 70vw;
-}
-
 .highlight {
     font-size: 110%;
 }
diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.html b/src/frontend/app/administration/contact/modal/contact-modal.component.html
index c29b06ff90e..d0d492ba3db 100644
--- a/src/frontend/app/administration/contact/modal/contact-modal.component.html
+++ b/src/frontend/app/administration/contact/modal/contact-modal.component.html
@@ -1,4 +1,4 @@
-<div [class.admin-contact]="mode === 'update'">
+<div class="mat-dialog-content-container">
     <h1 mat-dialog-title>
         <span style="flex: 1;">
             {{creationMode ? lang.contactCreation : lang.contact}}
@@ -13,16 +13,20 @@
                     (onSubmitEvent)="dialogRef.close($event)"></app-contact-form>
                 <app-contacts-list *ngIf="mode === 'read'" [contact]="contact"></app-contacts-list>
             </mat-sidenav-content>
-            <mat-sidenav #drawer position='end' mode="side"
-                style="overflow-x:hidden;width: 50%;" autoFocus="false">
-                <app-document-viewer *ngIf="loadedDocument" #appDocumentViewer style="height:100%;width:100%;position: relative;"
-                    [editMode]="false" [base64]="headerService.getLastLoadedFile()">
+            <mat-sidenav #drawer position='end' mode="side" style="overflow-x:hidden;width: 50%;" autoFocus="false">
+                <app-document-viewer *ngIf="loadedDocument" #appDocumentViewer
+                    style="height:100%;width:100%;position: relative;" [editMode]="false"
+                    [base64]="headerService.getLastLoadedFile()">
                 </app-document-viewer>
             </mat-sidenav>
         </mat-sidenav-container>
     </mat-dialog-content>
+    <span class="divider-modal"></span>
     <div mat-dialog-actions class="actions" *ngIf="canUpdate && mode === 'read' && contact.type === 'contact'">
-        <button mat-raised-button color="primary"
-            (click)="switchMode()">{{lang.update}}</button>
+        <button mat-raised-button color="primary" (click)="switchMode()">{{lang.update}}</button>
     </div>
-</div>
\ No newline at end of file
+</div>
+
+<!--<div [class.admin-contact]="mode === 'update'">
+
+</div>-->
\ No newline at end of file
diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.scss b/src/frontend/app/administration/contact/modal/contact-modal.component.scss
index 3cf5f0a7708..cabffd14c3b 100644
--- a/src/frontend/app/administration/contact/modal/contact-modal.component.scss
+++ b/src/frontend/app/administration/contact/modal/contact-modal.component.scss
@@ -1,23 +1,5 @@
 @import '../../../../css/vars.scss';
 
-.mat-dialog-title {
-    padding: 10px;
-    display: flex;
-    align-items: center;
-}
-
-.modal-container {
-    min-height: 250px;
-    height: auto;
-    padding: 0px !important;
-    margin: 0;
-    flex: 1;
-    position: relative;
-}
-
-.modal-body {
-    min-height: auto;
-}
 
 .admin-contact {
     display: flex;
diff --git a/src/frontend/app/administration/contact/modal/contact-modal.component.ts b/src/frontend/app/administration/contact/modal/contact-modal.component.ts
index 53bf890715f..f44d1aac8d1 100644
--- a/src/frontend/app/administration/contact/modal/contact-modal.component.ts
+++ b/src/frontend/app/administration/contact/modal/contact-modal.component.ts
@@ -42,7 +42,8 @@ export class ContactModalComponent {
             this.creationMode = true;
             this.mode = 'update';
             if (this.mode === 'update') {
-                $j('.contact-modal-container').css({'height' : '90vh'});
+                $j('.maarch-modal').css({'height' : '99vh'});
+                $j('.maarch-modal').css({'width' : '99vw'});
             }
             if (this.headerService.getLastLoadedFile() !== null) {
                 this.drawer.toggle();
@@ -57,7 +58,8 @@ export class ContactModalComponent {
     switchMode() {
         this.mode = this.mode === 'read' ? 'update' : 'read';
         if (this.mode === 'update') {
-            $j('.contact-modal-container').css({'height' : '90vh'});
+            $j('.maarch-modal').css({'height' : '99vh'});
+            $j('.maarch-modal').css({'width' : '99vw'});
         }
 
         if (this.headerService.getLastLoadedFile() !== null) {
diff --git a/src/frontend/app/administration/entity/entities-administration.component.ts b/src/frontend/app/administration/entity/entities-administration.component.ts
index 549d716f9d6..3ced15a96d1 100755
--- a/src/frontend/app/administration/entity/entities-administration.component.ts
+++ b/src/frontend/app/administration/entity/entities-administration.component.ts
@@ -691,8 +691,8 @@ export class EntitiesAdministrationComponent implements OnInit {
 
     toggleRole(role: any) {
         if (role.usedIn.length > 0) {
-            this.config = { data: { msg: this.lang.confirmAction, warn: this.lang.roleUsedInTemplateInfo + " : <b>" + role.usedIn.join(', ') + '</b><br/>' + this.lang.roleUsedInTemplateInfo2 } };
-            let dialogRef = this.dialog.open(ConfirmModalComponent, this.config);
+            let dialogRef = this.dialog.open(ConfirmComponent, { autoFocus: false, data: { title: this.lang.confirmAction, msg: this.lang.roleUsedInTemplateInfo + " : <b>" + role.usedIn.join(', ') + '</b><br/>' + this.lang.roleUsedInTemplateInfo2 } });
+
             dialogRef.afterClosed().subscribe(result => {
                 if (result === "ok") {
                     role.available = !role.available;
diff --git a/src/frontend/app/app.module.ts b/src/frontend/app/app.module.ts
index 5e21c879671..36b942828d5 100755
--- a/src/frontend/app/app.module.ts
+++ b/src/frontend/app/app.module.ts
@@ -211,7 +211,6 @@ import { SentResourcePageComponent } from './sentResource/sent-resource-page/sen
     entryComponents: [
         ConfirmModalComponent,
         InfoChangePasswordModalComponent,
-        AttachmentsListComponent,
         SummarySheetComponent,
         ExportComponent,
         ConfirmActionComponent,
diff --git a/src/frontend/app/attachments/attachment-create/attachment-create.component.scss b/src/frontend/app/attachments/attachment-create/attachment-create.component.scss
index 4b2f43f4fde..ef24f10eaab 100644
--- a/src/frontend/app/attachments/attachment-create/attachment-create.component.scss
+++ b/src/frontend/app/attachments/attachment-create/attachment-create.component.scss
@@ -1,10 +1,5 @@
 @import "../../../css/vars.scss";
 
-::ng-deep.modal-container {
-    ::ng-deep.mat-dialog-container {
-        padding: 0px;
-    }
-}
 
 .loading {
     display: flex;
diff --git a/src/frontend/app/attachments/attachments-list.component.ts b/src/frontend/app/attachments/attachments-list.component.ts
index f5c6d409c73..1bd33cf3492 100644
--- a/src/frontend/app/attachments/attachments-list.component.ts
+++ b/src/frontend/app/attachments/attachments-list.component.ts
@@ -82,7 +82,7 @@ export class AttachmentsListComponent implements OnInit {
                     this.attachments = data.attachments;
                     this.attachments.forEach((element: any) => {
                         if (this.filterAttachTypes.filter(attachType => attachType.id === element.type).length === 0) {
-                            this.filterAttachTypes.push( {
+                            this.filterAttachTypes.push({
                                 id: element.type,
                                 label: element.typeLabel
                             });
@@ -122,7 +122,7 @@ export class AttachmentsListComponent implements OnInit {
                 this.attachments = data.attachments;
                 this.attachments.forEach((element: any) => {
                     if (this.filterAttachTypes.filter(attachType => attachType.id === element.type).length === 0) {
-                        this.filterAttachTypes.push( {
+                        this.filterAttachTypes.push({
                             id: element.type,
                             label: element.typeLabel
                         });
@@ -176,7 +176,7 @@ export class AttachmentsListComponent implements OnInit {
     }
 
     showAttachment(attachment: any) {
-        this.dialogRef = this.dialog.open(AttachmentPageComponent, { height: '99vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', panelClass: 'modal-container', disableClose: true, data: { resId: attachment.resId} });
+        this.dialogRef = this.dialog.open(AttachmentPageComponent, { height: '99vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', panelClass: 'attachment-modal-container', disableClose: true, data: { resId: attachment.resId } });
 
         this.dialogRef.afterClosed().pipe(
             filter((data: string) => data === 'success'),
@@ -191,7 +191,7 @@ export class AttachmentsListComponent implements OnInit {
     }
 
     createAttachment() {
-        this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'modal-container', height: '90vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', data: { resIdMaster: this.resId } });
+        this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'attachment-modal-container', height: '90vh', width: this.appService.getViewMode() ? '99vw' : '90vw', maxWidth: this.appService.getViewMode() ? '99vw' : '90vw', data: { resIdMaster: this.resId } });
 
         this.dialogRef.afterClosed().pipe(
             filter((data: string) => data === 'success'),
@@ -229,6 +229,6 @@ export class AttachmentsListComponent implements OnInit {
     }
 
     openMaarchParapheurWorkflow(attachment: any) {
-        this.dialog.open(VisaWorkflowModalComponent, {data: {attachment : attachment}});
+        this.dialog.open(VisaWorkflowModalComponent, { panelClass: 'maarch-modal', data: { attachment: attachment } });
     }
 }
diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.html b/src/frontend/app/attachments/attachments-page/attachment-page.component.html
index 00220374a7d..0dedf6d1e9f 100644
--- a/src/frontend/app/attachments/attachments-page/attachment-page.component.html
+++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.html
@@ -171,7 +171,7 @@
                 <mat-tab-group [selectedIndex]="1" class="pjList" *ngIf="!loading" animationDuration="0" style="height: 100%">
                         <mat-tab label="Document principal" *ngIf="attachment.res_id_master !== null">
                             <ng-template matTabContent>
-                                <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false"
+                                <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false"
                                     [resId]="attachment.resIdMaster.value" [title]="'Document principal'">
                                 </app-document-viewer>
                             </ng-template>
@@ -180,7 +180,7 @@
                             <ng-template mat-tab-label>
                                 <span style="color:green">{{lang.signedAttachment}}</span>
                             </ng-template>
-                            <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false"
+                            <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false"
                                 [resId]="attachment.signedResponse.value" [mode]="'attachment'"
                                 [title]="attachment.chrono.value + ' - ' + attachment.title.value + ' (' + lang.signed + ')'">
                             </app-document-viewer>
@@ -189,7 +189,7 @@
                             <ng-template mat-tab-label>
                                 <span style="color:#135f7f">{{lang.attachment}}</span>
                             </ng-template>
-                            <app-document-viewer #appAttachmentViewer style="height:100%;width:100%;" [editMode]="editMode"
+                            <app-document-viewer #appAttachmentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="editMode"
                                 [resId]="data.resId" [resIdMaster]="attachment['resIdMaster'].value" [mode]="'attachment'"
                                 [format]="attachment['format'].value" [attachType]="attachment['type'].value" [infoPanel]="snavLeft"
                                 (triggerEvent)="setDatasViewer($event)"
@@ -199,7 +199,7 @@
                         <mat-tab label="{{lang.attachment}} ({{lang.version}} {{version.relation}})"
                             *ngFor="let version of versions">
                             <ng-template matTabContent>
-                                <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false"
+                                <app-document-viewer #appDocumentViewer style="display:block;height:100%;width:100%;overflow: auto;" [editMode]="false"
                                     [resId]="version.resId" [mode]="'attachment'" [format]="attachment['format'].value"
                                     [title]="attachment.chrono.value + ' - ' + attachment.title.value + ' (' + version.relation + ')'">
                                 </app-document-viewer>
diff --git a/src/frontend/app/attachments/attachments-page/attachment-page.component.scss b/src/frontend/app/attachments/attachments-page/attachment-page.component.scss
index 6d7d6218e23..07854d1e8cc 100644
--- a/src/frontend/app/attachments/attachments-page/attachment-page.component.scss
+++ b/src/frontend/app/attachments/attachments-page/attachment-page.component.scss
@@ -1,10 +1,5 @@
 @import "../../../css/vars.scss";
 
-::ng-deep.modal-container {
-    ::ng-deep.mat-dialog-container {
-        padding: 0px;
-    }
-}
 
 .attach-container {
     position: relative;
diff --git a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html
index 30d14d0ffb6..0131c67f8dd 100644
--- a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html
+++ b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.html
@@ -1,11 +1,14 @@
-<h1 mat-dialog-title>Ajouter un modèle</h1>
-<mat-dialog-content class="modal-container">
-    <mat-form-field appearance="outline">
-        <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle">
-    </mat-form-field>
-</mat-dialog-content>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>Ajouter un modèle</h1>
+    <mat-dialog-content class="modal-container">
+        <mat-form-field appearance="outline">
+            <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle">
+        </mat-form-field>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss
index 7a15a35b125..a51c80f154a 100644
--- a/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss
+++ b/src/frontend/app/avis/addAvisModel/add-avis-model-modal.component.scss
@@ -1,13 +1 @@
 @import '../../../css/vars.scss';
-
-.mat-dialog-title {
-    padding: 10px;
-}
-
-.modal-container{
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
diff --git a/src/frontend/app/avis/avis-workflow.component.ts b/src/frontend/app/avis/avis-workflow.component.ts
index d5b043b062c..1680ab5e541 100644
--- a/src/frontend/app/avis/avis-workflow.component.ts
+++ b/src/frontend/app/avis/avis-workflow.component.ts
@@ -500,7 +500,7 @@ export class AvisWorkflowComponent implements OnInit {
     }
 
     openPromptSaveModel() {
-        const dialogRef = this.dialog.open(AddAvisModelModalComponent, { data: { avisWorkflow: this.avisWorkflow.items } });
+        const dialogRef = this.dialog.open(AddAvisModelModalComponent, { panelClass: 'maarch-modal', data: { avisWorkflow: this.avisWorkflow.items } });
 
         dialogRef.afterClosed().pipe(
             filter((data: string) => !this.functions.empty(data)),
diff --git a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
index ad9a0c7ebde..3129e38b86d 100755
--- a/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
+++ b/src/frontend/app/contact/autocomplete/contact-autocomplete.component.ts
@@ -330,8 +330,7 @@ export class ContactAutocompleteComponent implements OnInit {
 
     openContact(contact: any = null) {
         this.retrieveDocumentEvent.emit();
-
-        const dialogRef = this.dialog.open(ContactModalComponent, { maxWidth: '100vw', panelClass: 'contact-modal-container', disableClose: true, data: { editMode: this.canUpdate, contactId: contact !== null ? contact.id : null, contactType: contact !== null ? contact.type : null } });
+        const dialogRef = this.dialog.open(ContactModalComponent, { maxWidth: '100vw', width: contact === null ? '99vw' : 'auto', panelClass: contact === null ? 'maarch-full-height-modal' : 'maarch-modal', disableClose: true, data: { editMode: this.canUpdate, contactId: contact !== null ? contact.id : null, contactType: contact !== null ? contact.type : null } });
 
         dialogRef.afterClosed().pipe(
             filter((data: number) => data !== undefined),
diff --git a/src/frontend/app/contact/list/modal/contacts-list-modal.component.html b/src/frontend/app/contact/list/modal/contacts-list-modal.component.html
index 075f69be28b..672cb6e46a0 100644
--- a/src/frontend/app/contact/list/modal/contacts-list-modal.component.html
+++ b/src/frontend/app/contact/list/modal/contacts-list-modal.component.html
@@ -1,10 +1,12 @@
-<h1 mat-dialog-title>
-    <span style="flex: 1;" [title]="data.title">
-        {{data.title | shorten: 50: '...'}}
-    </span>
-    <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
-        <mat-icon class="fa fa-times"></mat-icon>
-    </button></h1>
-<mat-dialog-content class="modal-container">
-    <app-contacts-list [resId]="data.resId" [mode]="data.mode"></app-contacts-list>
-</mat-dialog-content>
\ No newline at end of file
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>
+        <span style="flex: 1;" [title]="data.title">
+            {{data.title | shorten: 50: '...'}}
+        </span>
+        <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
+            <mat-icon class="fa fa-times"></mat-icon>
+        </button></h1>
+    <mat-dialog-content>
+        <app-contacts-list [resId]="data.resId" [mode]="data.mode"></app-contacts-list>
+    </mat-dialog-content>
+</div>
diff --git a/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss b/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss
index a3b61021e19..9fdf3cc5425 100644
--- a/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss
+++ b/src/frontend/app/contact/list/modal/contacts-list-modal.component.scss
@@ -1,15 +1,2 @@
 @import '../../../../css/vars.scss';
 
-.mat-dialog-title {
-    padding: 10px;
-    display: flex;
-    align-items: center;
-}
-.modal-container{
-    min-height: 250px;
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
diff --git a/src/frontend/app/folder/folder-tree.component.ts b/src/frontend/app/folder/folder-tree.component.ts
index 32d12ab4240..64c7d81a1e7 100644
--- a/src/frontend/app/folder/folder-tree.component.ts
+++ b/src/frontend/app/folder/folder-tree.component.ts
@@ -373,7 +373,7 @@ export class FolderTreeComponent implements OnInit {
     }
 
     openFolderAdmin(node: any) {
-        this.dialogRef = this.dialog.open(FolderUpdateComponent, { autoFocus: false, data: { folderId: node.id } });
+        this.dialogRef = this.dialog.open(FolderUpdateComponent, { panelClass: 'maarch-modal', autoFocus: false, data: { folderId: node.id } });
 
         this.dialogRef.afterClosed().pipe(
             tap((data) => {
diff --git a/src/frontend/app/folder/folder-update/folder-update.component.html b/src/frontend/app/folder/folder-update/folder-update.component.html
index 6e8208c394e..36189e47901 100644
--- a/src/frontend/app/folder/folder-update/folder-update.component.html
+++ b/src/frontend/app/folder/folder-update/folder-update.component.html
@@ -1,52 +1,56 @@
-<h1 mat-dialog-title>{{lang.folder}} : {{folder.label}}</h1>
-<form (ngSubmit)="onSubmit()">
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.folder}} : {{folder.label}}</h1>
     <mat-dialog-content>
-        <div class="col-md-12">
-            <mat-form-field>
-                <input matInput placeholder="{{lang.label}}" name="label" [(ngModel)]="folder.label">
-            </mat-form-field>
-        </div>
-        <div class="col-md-12">
-            <mat-tab-group (selectedTabChange)="initService($event)">
-                <mat-tab label="{{lang.setInParentFolder}}">
-                    <mat-form-field appearance="outline">
-                        <input matInput id="jstree_searchFolders" type="text" placeholder="{{lang.searchFolder}}">
-                    </mat-form-field>
-                    <div id="jstreeFolders" class="entitiesList"></div>
-                </mat-tab>
-                <mat-tab label="{{lang.shareToEntities}}">
-                    <div [class.col-md-12]="folder.sharing.entities.length === 0"
-                        [class.col-md-6]="folder.sharing.entities.length > 0">
+        <form #submitForm="ngForm" (ngSubmit)="onSubmit()">
+            <div class="col-md-12">
+                <mat-form-field>
+                    <input matInput placeholder="{{lang.label}}" name="label" [(ngModel)]="folder.label">
+                </mat-form-field>
+            </div>
+            <div class="col-md-12">
+                <mat-tab-group (selectedTabChange)="initService($event)">
+                    <mat-tab label="{{lang.setInParentFolder}}">
                         <mat-form-field appearance="outline">
-                            <input matInput id="jstree_search" type="text" placeholder="{{lang.searchEntities}}">
+                            <input matInput id="jstree_searchFolders" type="text" placeholder="{{lang.searchFolder}}">
                         </mat-form-field>
-                        <div id="jstree" class="entitiesList"></div>
-                    </div>
-                    <div class="col-md-6" *ngIf="folder.sharing.entities.length > 0">
-                        <div class="formType jstreeEntities">
-                            <div class="formType-title">
-                                {{lang.parameters}}
+                        <div id="jstreeFolders" class="entitiesList"></div>
+                    </mat-tab>
+                    <mat-tab label="{{lang.shareToEntities}}">
+                        <div [class.col-md-12]="folder.sharing.entities.length === 0"
+                            [class.col-md-6]="folder.sharing.entities.length > 0">
+                            <mat-form-field appearance="outline">
+                                <input matInput id="jstree_search" type="text" placeholder="{{lang.searchEntities}}">
+                            </mat-form-field>
+                            <div id="jstree" class="entitiesList"></div>
+                        </div>
+                        <div class="col-md-6" *ngIf="folder.sharing.entities.length > 0">
+                            <div class="formType jstreeEntities">
+                                <div class="formType-title">
+                                    {{lang.parameters}}
+                                </div>
+                                <ng-container *ngFor="let entity of entities">
+                                    <mat-expansion-panel class="selectedEntities" *ngIf="checkSelectedFolder(entity)"
+                                        opened>
+                                        <mat-expansion-panel-header>
+                                            <mat-panel-title>
+                                                {{entity.entity_label}}
+                                            </mat-panel-title>
+                                        </mat-expansion-panel-header>
+                                        <mat-slide-toggle color="primary" [checked]="isAdminEnabled(entity)"
+                                            (change)="toggleAdmin(entity, $event)">{{lang.canManageFolder}}
+                                        </mat-slide-toggle>
+                                    </mat-expansion-panel>
+                                </ng-container>
                             </div>
-                            <ng-container *ngFor="let entity of entities">
-                                <mat-expansion-panel class="selectedEntities" *ngIf="checkSelectedFolder(entity)"
-                                    opened>
-                                    <mat-expansion-panel-header>
-                                        <mat-panel-title>
-                                            {{entity.entity_label}}
-                                        </mat-panel-title>
-                                    </mat-expansion-panel-header>
-                                    <mat-slide-toggle color="primary" [checked]="isAdminEnabled(entity)" (change)="toggleAdmin(entity, $event)">{{lang.canManageFolder}}
-                                    </mat-slide-toggle>
-                                </mat-expansion-panel>
-                            </ng-container>
                         </div>
-                    </div>
-                </mat-tab>
-            </mat-tab-group>
-        </div>
+                    </mat-tab>
+                </mat-tab-group>
+            </div>
+        </form>
     </mat-dialog-content>
+    <span class="divider-modal"></span>
     <mat-dialog-actions>
-        <button mat-raised-button color="primary" type="submit">{{lang.validate}}</button>
+        <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()">{{lang.validate}}</button>
         <button mat-raised-button type="button" color="default" (click)="dialogRef.close()">{{lang.cancel}}</button>
     </mat-dialog-actions>
-</form>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/folder/folder-update/folder-update.component.scss b/src/frontend/app/folder/folder-update/folder-update.component.scss
index 98c9836f133..b5c5579602d 100644
--- a/src/frontend/app/folder/folder-update/folder-update.component.scss
+++ b/src/frontend/app/folder/folder-update/folder-update.component.scss
@@ -30,9 +30,6 @@
         color: #135f7f;
     }
 }
-.modal-body{
-    min-height: 600px;
-}
 
 .entitiesList {
     overflow: auto;
diff --git a/src/frontend/app/folder/folder-update/folder-update.component.ts b/src/frontend/app/folder/folder-update/folder-update.component.ts
index fd1eb8c92a2..2f976a80d38 100644
--- a/src/frontend/app/folder/folder-update/folder-update.component.ts
+++ b/src/frontend/app/folder/folder-update/folder-update.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, Input, Output, EventEmitter, Inject, HostListener } from '@angular/core';
+import { Component, OnInit, Inject, HostListener } from '@angular/core';
 import { LANG } from '../../translate.component';
 import { HttpClient } from '@angular/common/http';
 import { map, tap, catchError, exhaustMap, finalize } from 'rxjs/operators';
@@ -12,7 +12,6 @@ declare function $j(selector: any): any;
 @Component({
     templateUrl: "folder-update.component.html",
     styleUrls: ['folder-update.component.scss'],
-    providers: [NotificationService],
 })
 export class FolderUpdateComponent implements OnInit {
 
diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts
index bd25a15cc8c..5bc21b63892 100644
--- a/src/frontend/app/indexation/indexation.component.ts
+++ b/src/frontend/app/indexation/indexation.component.ts
@@ -270,7 +270,7 @@ export class IndexationComponent implements OnInit {
         }
 
         const masterIndexingModel = this.indexingModels.filter((indexingModel) => indexingModel.id === privateIndexingModel.master)[0];
-        this.dialogRef = this.dialog.open(AddPrivateIndexingModelModalComponent, { autoFocus: true, disableClose: true, data: { indexingModel: privateIndexingModel, masterIndexingModel: masterIndexingModel } });
+        this.dialogRef = this.dialog.open(AddPrivateIndexingModelModalComponent, { panelClass: 'maarch-modal', autoFocus: true, disableClose: true, data: { indexingModel: privateIndexingModel, masterIndexingModel: masterIndexingModel } });
 
         this.dialogRef.afterClosed().pipe(
             filter((data: any) => data !== undefined),
diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html
index d4db2795226..7e132bfb9e0 100644
--- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html
+++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.html
@@ -1,16 +1,20 @@
-<h1 mat-dialog-title>{{lang.privateIndexingModelCreation}}</h1>
-<form #submitForm="ngForm" (ngSubmit)="onSubmit()">
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.privateIndexingModelCreation}}</h1>
     <mat-dialog-content>
-        <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
-            [innerHTML]="lang.addPrivateIndexingModelMsg +' <b>'+data.masterIndexingModel.label+'</b> ' + lang.addPrivateIndexingModelMsg2"></div>
-        <mat-form-field appearance="outline">
-            <mat-label>{{lang.label}}</mat-label>
-            <input matInput name="label" placeholder="{{lang.label}}" [(ngModel)]="data.indexingModel.label" required maxlength="256">
-        </mat-form-field>
+        <form #submitForm="ngForm" (ngSubmit)="onSubmit()">
+            <div class="alert-message alert-message-info" role="alert" style="margin-top: 30px;"
+                [innerHTML]="lang.addPrivateIndexingModelMsg +' <b>'+data.masterIndexingModel.label+'</b> ' + lang.addPrivateIndexingModelMsg2">
+            </div>
+            <mat-form-field appearance="outline">
+                <mat-label>{{lang.label}}</mat-label>
+                <input matInput name="label" placeholder="{{lang.label}}" [(ngModel)]="data.indexingModel.label"
+                    required maxlength="256">
+            </mat-form-field>
+        </form>
     </mat-dialog-content>
-
     <mat-dialog-actions>
-        <button mat-raised-button color="primary" type="submit" [disabled]="!submitForm.form.valid">{{lang.validate}}</button>
+        <button mat-raised-button color="primary" type="submit" (click)="submitForm.ngSubmit.emit()"
+            [disabled]="!submitForm.form.valid">{{lang.validate}}</button>
         <button mat-raised-button color="default" type="button" (click)="dialogRef.close()">{{lang.cancel}}</button>
     </mat-dialog-actions>
-</form>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss
index 80935ad615e..4366f021d06 100644
--- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss
+++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.scss
@@ -1,15 +1,3 @@
-.mat-dialog-content{
-    max-height: 80vh;
-}
-
-.modal-body{
-    min-height: auto;
-}
-
-mat-dialog-actions{
-    justify-content: center;
-}
-
-mat-icon{
+mat-icon {
     height: auto !important;
 }
\ No newline at end of file
diff --git a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts
index 6ae2f1d3fa0..de893ed5fc3 100644
--- a/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts
+++ b/src/frontend/app/indexation/private-indexing-model/add-private-indexing-model-modal.component.ts
@@ -6,12 +6,9 @@ import { NotificationService } from '../../notification.service';
 import { tap, catchError } from 'rxjs/operators';
 import { of } from 'rxjs';
 
-declare function $j(selector: any): any;
-
 @Component({
     templateUrl: "add-private-indexing-model-modal.component.html",
     styleUrls: ['add-private-indexing-model-modal.component.scss'],
-    providers: [NotificationService]
 })
 export class AddPrivateIndexingModelModalComponent {
     lang: any               = LANG;
diff --git a/src/frontend/app/info-change-password-modal.component.html b/src/frontend/app/info-change-password-modal.component.html
index 44a00931d4a..84f1ae84407 100755
--- a/src/frontend/app/info-change-password-modal.component.html
+++ b/src/frontend/app/info-change-password-modal.component.html
@@ -1,9 +1,15 @@
-<h2 mat-dialog-title color="primary" *ngIf="data.state=='BEGIN'">{{lang.hello}} <b>{{data.user.firstname}} {{data.user.lastname}}</b>, <br/>{{lang.changePasswordInfo}}.</h2>
-<h2 mat-dialog-title color="primary" *ngIf="data.state=='END'"><i class="fa fa-check-circle fa-2x"></i> <span style="padding-left: 10px;">{{lang.passwordChanged}}</span></h2>
-
-<mat-dialog-content>
-    <mat-dialog-actions style="margin: 5px;margin-bottom:0px;justify-content:center;">
-            <button mat-raised-button color="primary" (click)="dialogRef.close()" *ngIf="data.state=='BEGIN'">Ok</button>
-            <button mat-raised-button color="primary" (click)="redirect()" *ngIf="data.state=='END'">{{lang.homePage}}</button>
-        </mat-dialog-actions>
-</mat-dialog-content>
\ No newline at end of file
+<div class="mat-dialog-content-container">
+    <mat-dialog-content>
+        <p *ngIf="data.state=='BEGIN'">
+            {{lang.hello}} <b>{{data.user.firstname}} {{data.user.lastname}}</b>, <br/>{{lang.changePasswordInfo}}.
+        </p>
+        <p *ngIf="data.state=='END'">
+            <i class="fa fa-check-circle fa-2x"></i> <span style="padding-left: 10px;">{{lang.passwordChanged}}</span>
+        </p>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="primary" (click)="dialogRef.close()" *ngIf="data.state=='BEGIN'">Ok</button>
+        <button mat-raised-button color="primary" (click)="redirect()" *ngIf="data.state=='END'">{{lang.homePage}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html
index 41c4fb67b7e..f2c13dc02a1 100644
--- a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html
+++ b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.html
@@ -1,15 +1,19 @@
-<h1 mat-dialog-title>
-    <span style="flex: 1;" [title]="lang.linkResource">
-        {{lang.linkResource}}
-    </span>
-    <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
-        <mat-icon class="fa fa-times"></mat-icon>
-    </button></h1>
-<mat-dialog-content class="modal-container">
-    <app-criteria-tool (searchUrlGenerated)="launchSearch($event)" [defaultCriteria]="['resourceField','contactField']"></app-criteria-tool>
-    <search-adv-list #appSearchAdvList [currentResId]="data.resId"></search-adv-list>
-</mat-dialog-content>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button color="primary" [disabled]="appSearchAdvList.getSelectedRessources().length === 0"
-        (click)="linkResources()">{{lang.linkSelectedResources}}</button>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>
+        <span style="flex: 1;" [title]="lang.linkResource">
+            {{lang.linkResource}}
+        </span>
+        <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
+            <mat-icon class="fa fa-times"></mat-icon>
+        </button></h1>
+    <mat-dialog-content>
+        <app-criteria-tool (searchUrlGenerated)="launchSearch($event)"
+            [defaultCriteria]="['resourceField','contactField']"></app-criteria-tool>
+        <search-adv-list #appSearchAdvList [currentResId]="data.resId"></search-adv-list>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button color="primary" [disabled]="appSearchAdvList.getSelectedRessources().length === 0"
+            (click)="linkResources()">{{lang.linkSelectedResources}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss
index 7abd563bb58..a51c80f154a 100644
--- a/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss
+++ b/src/frontend/app/linkedResource/linkResourceModal/link-resource-modal.component.scss
@@ -1,15 +1 @@
 @import '../../../css/vars.scss';
-
-.mat-dialog-title {
-    padding: 10px;
-    display: flex;
-    align-items: center;
-}
-.modal-container{
-    min-height: 250px;
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
diff --git a/src/frontend/app/linkedResource/linked-resource-list.component.ts b/src/frontend/app/linkedResource/linked-resource-list.component.ts
index a6dc9fcf5a3..c61bb7c7b6b 100644
--- a/src/frontend/app/linkedResource/linked-resource-list.component.ts
+++ b/src/frontend/app/linkedResource/linked-resource-list.component.ts
@@ -139,7 +139,7 @@ export class LinkedResourceListComponent implements OnInit {
     }
 
     openSearchResourceModal() {
-        const dialogRef =  this.dialog.open(LinkResourceModalComponent, { width: '80%',data: { resId: this.resId, currentLinkedRes : this.linkedResources.map(res => res.resId) } });
+        const dialogRef =  this.dialog.open(LinkResourceModalComponent, { panelClass: 'maarch-full-height-modal', minWidth: '80%',data: { resId: this.resId, currentLinkedRes : this.linkedResources.map(res => res.resId) } });
         dialogRef.afterClosed().pipe(
             filter((data: string) => data === 'success'),
             tap(() => {
@@ -154,6 +154,6 @@ export class LinkedResourceListComponent implements OnInit {
     }
 
     openContact(row: any, mode: string) {
-        this.dialog.open(ContactsListModalComponent, { data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } });
+        this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } });
     }
 }
diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts
index 66764c9e2aa..b1da70195f7 100755
--- a/src/frontend/app/list/basket-list.component.ts
+++ b/src/frontend/app/list/basket-list.component.ts
@@ -484,7 +484,7 @@ export class BasketListComponent implements OnInit {
     }
 
     openContact(row: any, mode: string) {
-        this.dialog.open(ContactsListModalComponent, { data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } });
+        this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${row.chrono} - ${row.subject}`, mode: mode, resId: row.resId } });
     }
 
     viewDocument(row: any) {
diff --git a/src/frontend/app/list/export/export.component.html b/src/frontend/app/list/export/export.component.html
index 325673e0f22..da5d8b8703a 100644
--- a/src/frontend/app/list/export/export.component.html
+++ b/src/frontend/app/list/export/export.component.html
@@ -1,74 +1,87 @@
-<h1 mat-dialog-title>{{lang.exportDatas}}</h1>
-<div mat-dialog-content>
-    <div *ngIf="loadingExport" class="loader">
-        <mat-spinner></mat-spinner>
-    </div>
-    <div class="row">
-        <div [class.col-md-12]="exportModel.format != 'csv'" [class.col-md-3]="exportModel.format == 'csv'">
-            <mat-form-field appearance="outline">
-                <mat-label>{{lang.format}}</mat-label>
-                <mat-select placeholder="{{lang.format}}" [(ngModel)]="exportModel.format" (selectionChange)="changeTemplate($event)">
-                    <mat-option *ngFor="let format of formats" [value]="format">
-                        {{format}}
-                    </mat-option>
-                </mat-select>
-            </mat-form-field>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.exportDatas}}</h1>
+    <div mat-dialog-content>
+        <div *ngIf="loadingExport" class="loader">
+            <mat-spinner></mat-spinner>
         </div>
-        <div class="col-md-9" *ngIf="exportModel.format == 'csv'">
-            <mat-form-field appearance="outline">
-                <mat-label>{{lang.delimiter}}</mat-label>
-                <mat-select placeholder="{{lang.delimiter}}" [(ngModel)]="exportModel.delimiter" [disabled]="exportModel.format != 'csv'">
-                    <mat-option *ngFor="let delimiter of delimiters" [value]="delimiter">
-                        {{delimiter}}
-                    </mat-option>
-                </mat-select>
-            </mat-form-field>
+        <div class="row">
+            <div [class.col-md-12]="exportModel.format != 'csv'" [class.col-md-3]="exportModel.format == 'csv'">
+                <mat-form-field appearance="outline">
+                    <mat-label>{{lang.format}}</mat-label>
+                    <mat-select placeholder="{{lang.format}}" [(ngModel)]="exportModel.format"
+                        (selectionChange)="changeTemplate($event)">
+                        <mat-option *ngFor="let format of formats" [value]="format">
+                            {{format}}
+                        </mat-option>
+                    </mat-select>
+                </mat-form-field>
+            </div>
+            <div class="col-md-9" *ngIf="exportModel.format == 'csv'">
+                <mat-form-field appearance="outline">
+                    <mat-label>{{lang.delimiter}}</mat-label>
+                    <mat-select placeholder="{{lang.delimiter}}" [(ngModel)]="exportModel.delimiter"
+                        [disabled]="exportModel.format != 'csv'">
+                        <mat-option *ngFor="let delimiter of delimiters" [value]="delimiter">
+                            {{delimiter}}
+                        </mat-option>
+                    </mat-select>
+                </mat-form-field>
+            </div>
         </div>
-    </div>
-    <mat-accordion>
-        <mat-expansion-panel [expanded]="true">
-            <mat-expansion-panel-header>
-                <mat-panel-title>
-                    {{lang.datasToExport}}
-                </mat-panel-title>
-            </mat-expansion-panel-header>
+        <mat-accordion>
+            <mat-expansion-panel [expanded]="true">
+                <mat-expansion-panel-header>
+                    <mat-panel-title>
+                        {{lang.datasToExport}}
+                    </mat-panel-title>
+                </mat-expansion-panel-header>
 
-            <div class="row">
-                <div class="col-md-12">
-                    <mat-form-field appearance="outline" class="listFilter">
-                        <input matInput placeholder="{{lang.searchDatas}}" #listFilter cdkFocusInitial>
-                    </mat-form-field>
-                </div>
-            </div>
-            <div class="row exportList">
-                <div class="col-md-6 available-data">
-                    <h2><span class="title">{{lang.availableDatas}}</span> <i class="fa fa-plus-circle removeAllDatas" color="primary" title="{{lang.addAllDatas}}" (click)="addAllData()"></i></h2>
-                    <div id="availableElements" cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" [cdkDropListConnectedTo]="[dataExportList]" class="cdk-list" (cdkDropListDropped)="drop($event)">
-                        <div class="columns" *ngFor="let item of dataAvailable | sortBy: 'label' | filterList:listFilter.value:'label'"
-                            cdkDrag id="{{item.value}}">{{item.label}} <i class="fa fa-plus" color="primary" style="cursor:pointer;"
-                                (click)="addData(item)"></i></div>
-                        <div *ngIf="dataAvailable.length == 0" class="noData">{{lang.noDataAvailable}}</div>
+                <div class="row">
+                    <div class="col-md-12">
+                        <mat-form-field appearance="outline" class="listFilter">
+                            <input matInput placeholder="{{lang.searchDatas}}" #listFilter cdkFocusInitial>
+                        </mat-form-field>
                     </div>
                 </div>
-                <div style="display: flex;align-items: center;">
-                    <i class="fas fa-arrow-right"></i>
-                </div>
+                <div class="row exportList">
+                    <div class="col-md-6 available-data">
+                        <h2><span class="title">{{lang.availableDatas}}</span> <i
+                                class="fa fa-plus-circle removeAllDatas" color="primary" title="{{lang.addAllDatas}}"
+                                (click)="addAllData()"></i></h2>
+                        <div id="availableElements" cdkDropList #dataAvailableList="cdkDropList"
+                            [cdkDropListData]="dataAvailable" [cdkDropListConnectedTo]="[dataExportList]"
+                            class="cdk-list" (cdkDropListDropped)="drop($event)">
+                            <div class="columns"
+                                *ngFor="let item of dataAvailable | sortBy: 'label' | filterList:listFilter.value:'label'"
+                                cdkDrag id="{{item.value}}">{{item.label}} <i class="fa fa-plus" color="primary"
+                                    style="cursor:pointer;" (click)="addData(item)"></i></div>
+                            <div *ngIf="dataAvailable.length == 0" class="noData">{{lang.noDataAvailable}}</div>
+                        </div>
+                    </div>
+                    <div style="display: flex;align-items: center;">
+                        <i class="fas fa-arrow-right"></i>
+                    </div>
 
-                <div class="col-md-6 active-data">
-                    <h2><span class="title">{{lang.chosenDatas}}</span> <i class="fa fa-minus-circle removeAllDatas" color="warn" title="{{lang.removeAllDatas}}" (click)="removeAllData()"></i></h2>
-                    <div id="selectedElements" cdkDropList #dataExportList="cdkDropList" [cdkDropListData]="exportModel.data"
-                        [cdkDropListConnectedTo]="[dataAvailableList]" class="cdk-list" (cdkDropListDropped)="drop($event)">
-                        <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag id="{{item.value}}">{{item.label}} <i
-                                class="fa fa-minus" color="warn" style="cursor:pointer;" (click)="removeData(i)"></i></div>
-                        <div *ngIf="exportModel.data.length == 0" class="noData">{{lang.noDataAvailable}}</div>
+                    <div class="col-md-6 active-data">
+                        <h2><span class="title">{{lang.chosenDatas}}</span> <i class="fa fa-minus-circle removeAllDatas"
+                                color="warn" title="{{lang.removeAllDatas}}" (click)="removeAllData()"></i></h2>
+                        <div id="selectedElements" cdkDropList #dataExportList="cdkDropList"
+                            [cdkDropListData]="exportModel.data" [cdkDropListConnectedTo]="[dataAvailableList]"
+                            class="cdk-list" (cdkDropListDropped)="drop($event)">
+                            <div class="columns" *ngFor="let item of exportModel.data;let i = index" cdkDrag
+                                id="{{item.value}}">{{item.label}} <i class="fa fa-minus" color="warn"
+                                    style="cursor:pointer;" (click)="removeData(i)"></i></div>
+                            <div *ngIf="exportModel.data.length == 0" class="noData">{{lang.noDataAvailable}}</div>
+                        </div>
                     </div>
                 </div>
-            </div>
-        </mat-expansion-panel>
-    </mat-accordion>
-</div>
-
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="exportModel.data.length == 0" (click)="exportData();">{{lang.toExport}}</button>
-    <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button>
-</div>
+            </mat-expansion-panel>
+        </mat-accordion>
+    </div>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="exportModel.data.length == 0"
+            (click)="exportData();">{{lang.toExport}}</button>
+        <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.html b/src/frontend/app/list/summarySheet/summary-sheet.component.html
index 9d60e3afd7d..fef16fe55af 100644
--- a/src/frontend/app/list/summarySheet/summary-sheet.component.html
+++ b/src/frontend/app/list/summarySheet/summary-sheet.component.html
@@ -1,71 +1,87 @@
-<div mat-dialog-content class="summarySheet">
-    <div *ngIf="loading" class="loader">
-        <mat-spinner></mat-spinner>
-    </div>
-    <div class="row header">
-        <div class="col-md-4 text-left">
-            {{lang.appName}} / {{lang.printDate}}
-        </div>
-        <div class="col-md-4 text-center">
-            <b>{{lang.summarySheet}}</b><br/>{{lang.chronoNumber}}
+<div class="mat-dialog-content-container">
+    <div mat-dialog-content class="summarySheet">
+        <div *ngIf="loading" class="loader">
+            <mat-spinner></mat-spinner>
         </div>
-        <div class="col-md-4 text-right" [class.disabled]="!withQrcode">
-            <mat-button-toggle-group style="position: absolute;top:-2px;right:0px;" multiple (change)="toggleQrcode()">
-                <mat-button-toggle style="width: 40px;height: 40px;" class="qrcode" [checked]="withQrcode" title="{{lang.toggleQrcode}}">
-                    <mat-icon fontSet="fas" fontIcon="fa-qrcode" style="height: auto;font-size: 30px;"></mat-icon>
-                </mat-button-toggle>
-            </mat-button-toggle-group>
+        <div class="row header">
+            <div class="col-md-4 text-left">
+                {{lang.appName}} / {{lang.printDate}}
+            </div>
+            <div class="col-md-4 text-center">
+                <b>{{lang.summarySheet}}</b><br />{{lang.chronoNumber}}
+            </div>
+            <div class="col-md-4 text-right" [class.disabled]="!withQrcode">
+                <mat-button-toggle-group style="position: absolute;top:-2px;right:0px;" multiple
+                    (change)="toggleQrcode()">
+                    <mat-button-toggle style="width: 40px;height: 40px;" class="qrcode" [checked]="withQrcode"
+                        title="{{lang.toggleQrcode}}">
+                        <mat-icon fontSet="fas" fontIcon="fa-qrcode" style="height: auto;font-size: 30px;"></mat-icon>
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+            </div>
         </div>
-    </div>
-    <div class="row">
-        <div class="col-md-12 title">
-            {{lang.object}}
+        <div class="row">
+            <div class="col-md-12 title">
+                {{lang.object}}
+            </div>
         </div>
-    </div>
-    <div class="row">
-        <div class="col-md-12">
-            <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" class="cdk-list"
-                (cdkDropListDropped)="drop($event)">
-                <ng-container *ngFor="let item of dataAvailable; let i=index">
-                    <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag id="{{item.id}}"
-                        style="position: relative;">
-                        <div class="unitTitle">
-                            <div class="handleDrag" cdkDragHandle>
-                                <svg width="24px" fill="currentColor" viewBox="0 0 24 24">
-                                    <path d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z"></path>
-                                    <path d="M0 0h24v24H0z" fill="none"></path>
-                                </svg>
+        <div class="row">
+            <div class="col-md-12">
+                <div cdkDropList #dataAvailableList="cdkDropList" [cdkDropListData]="dataAvailable" class="cdk-list"
+                    (cdkDropListDropped)="drop($event)">
+                    <ng-container *ngFor="let item of dataAvailable; let i=index">
+                        <div class="columns" [class.disabled]="!item.enabled" *ngIf="item.unit !== 'qrcode'" cdkDrag
+                            id="{{item.id}}" style="position: relative;">
+                            <div class="unitTitle">
+                                <div class="handleDrag" cdkDragHandle>
+                                    <svg width="24px" fill="currentColor" viewBox="0 0 24 24">
+                                        <path
+                                            d="M10 9h4V6h3l-5-5-5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5-5h-3v-3z">
+                                        </path>
+                                        <path d="M0 0h24v24H0z" fill="none"></path>
+                                    </svg>
+                                </div>
+                                <mat-form-field floatLabel="never" style="margin-top: -10px;">
+                                    <input matInput placeholder="{{lang.label}}" [(ngModel)]="item.label"
+                                        (click)="$event.stopPropagation();">
+                                </mat-form-field>
                             </div>
-                            <mat-form-field floatLabel="never" style="margin-top: -10px;">
-                                <input matInput placeholder="{{lang.label}}" [(ngModel)]="item.label" (click)="$event.stopPropagation();">
-                            </mat-form-field>
-                        </div>
-                        <div class="row" class="unitData" (click)="item.enabled = !item.enabled">
-                            <div class="{{item.css}}" *ngFor="let itemData of item.desc">
-                                {{itemData}}
+                            <div class="row" class="unitData" (click)="item.enabled = !item.enabled">
+                                <div class="{{item.css}}" *ngFor="let itemData of item.desc">
+                                    {{itemData}}
+                                </div>
                             </div>
+                            <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle">
+                            </mat-slide-toggle>
+                            <button *ngIf="item.unit == 'freeField'" mat-icon-button color="warn"
+                                style="position: absolute;right:5px;top:0px;" title="{{lang.deleteUnit}}"
+                                (click)="removeCustomUnit(i)">
+                                <mat-icon fontSet="fas" fontIcon="fa-minus"></mat-icon>
+                            </button>
                         </div>
-                        <mat-slide-toggle [(ngModel)]="item.enabled" color="primary" class="unitToggle"></mat-slide-toggle>
-                        <button *ngIf="item.unit == 'freeField'" mat-icon-button color="warn" style="position: absolute;right:5px;top:0px;" title="{{lang.deleteUnit}}" (click)="removeCustomUnit(i)">
-                            <mat-icon fontSet="fas" fontIcon="fa-minus"></mat-icon>
-                        </button>
-                    </div>
-                </ng-container>
+                    </ng-container>
+                </div>
             </div>
         </div>
+        <div *ngIf="!functions.empty(data.selectedRes) && data.selectedRes.length > 500 && !paramMode"
+            mat-dialog-actions class="actions">
+            <span style="color: #d24747; font-style: italic">{{lang.firstSummarySheetsGenerated}}</span>
+        </div>
+        <div style="padding: 10px">
+            <span class="alert-message alert-message-info">{{lang.arGenWithModelMessage}}</span>
+        </div>
+    </div>
+
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button *ngIf="paramMode" mat-raised-button mat-button color="primary"
+            (click)="closeModalWithParams();">{{lang.validate}}</button>
+        <button *ngIf="!paramMode" mat-raised-button mat-button color="primary"
+            (click)="genSummarySheets();">{{lang.genSummarySheets}}</button>
+        <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button>
+        <button mat-mini-fab color="primary" (click)="addCustomUnit()" style="position: absolute;right: 30px;"
+            title="{{lang.addCustomUnit}}">
+            <mat-icon fontSet="fas" fontIcon="fa-plus" style="height: auto;"></mat-icon>
+        </button>
     </div>
-</div>
-<div *ngIf="!functions.empty(data.selectedRes) && data.selectedRes.length > 500 && !paramMode" mat-dialog-actions class="actions">
-    <span style="color: #d24747; font-style: italic">{{lang.firstSummarySheetsGenerated}}</span>
-</div>
-<div style="padding: 10px">
-    <span class="alert-message alert-message-info">{{lang.arGenWithModelMessage}}</span>
-</div>
-<div mat-dialog-actions class="actions">
-    <button *ngIf="paramMode" mat-raised-button mat-button color="primary" (click)="closeModalWithParams();">{{lang.validate}}</button>
-    <button *ngIf="!paramMode" mat-raised-button mat-button color="primary" (click)="genSummarySheets();">{{lang.genSummarySheets}}</button>
-    <button mat-raised-button mat-button [mat-dialog-close]="">{{lang.cancel}}</button>
-    <button mat-mini-fab color="primary" (click)="addCustomUnit()" style="position: absolute;right: 30px;" title="{{lang.addCustomUnit}}">
-        <mat-icon fontSet="fas" fontIcon="fa-plus" style="height: auto;"></mat-icon>
-    </button>
-</div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.scss b/src/frontend/app/list/summarySheet/summary-sheet.component.scss
index d769b6ea2c9..5fc2012fe61 100644
--- a/src/frontend/app/list/summarySheet/summary-sheet.component.scss
+++ b/src/frontend/app/list/summarySheet/summary-sheet.component.scss
@@ -1,4 +1,4 @@
-.summary-sheet-dialog {
+/*.summary-sheet-dialog {
     .mat-dialog-container {
         position: relative;
         height: 99vh !important;
@@ -10,7 +10,7 @@
     max-height: 92vh;
     padding-bottom: 10px;
     overflow-x: hidden;
-}
+}*/
 
 ::ng-deep.mat-expansion-panel-body {
     padding-bottom: 50px;
@@ -109,6 +109,7 @@
 
 .actions {
     justify-content: center;
+    position: relative;
 }
 
 .loader {
@@ -129,9 +130,9 @@
 }
 
 .qrcode {    
-    .mat-button-toggle-label-content {
-        padding-left: 7px;
-        line-height: 40px;
+    ::ng-deep.mat-button-toggle-label-content {
+        padding-left: 7px !important;
+        line-height: 40px !important;
     }
 }
 
diff --git a/src/frontend/app/list/summarySheet/summary-sheet.component.ts b/src/frontend/app/list/summarySheet/summary-sheet.component.ts
index ecbd9d761f9..a028c5f706a 100644
--- a/src/frontend/app/list/summarySheet/summary-sheet.component.ts
+++ b/src/frontend/app/list/summarySheet/summary-sheet.component.ts
@@ -1,19 +1,16 @@
-import { Component, OnInit, Inject, ViewEncapsulation } from '@angular/core';
+import { Component, OnInit, Inject } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { LANG } from '../../translate.component';
 import { NotificationService } from '../../notification.service';
 import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';
 import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
-import { formatDate } from '@angular/common';
 import { FunctionsService } from '../../../service/functions.service';
 
 declare function $j(selector: any): any;
 
 @Component({
     templateUrl: "summary-sheet.component.html",
-    styleUrls: ['summary-sheet.component.scss'],
-    providers: [NotificationService],
-    encapsulation: ViewEncapsulation.None
+    styleUrls: ['summary-sheet.component.scss']
 })
 export class SummarySheetComponent implements OnInit {
 
diff --git a/src/frontend/app/list/tools/tools-list.component.ts b/src/frontend/app/list/tools/tools-list.component.ts
index e856a467e99..10e23c9e116 100644
--- a/src/frontend/app/list/tools/tools-list.component.ts
+++ b/src/frontend/app/list/tools/tools-list.component.ts
@@ -54,6 +54,7 @@ export class ToolsListComponent implements OnInit {
 
     openExport(): void {
         this.dialog.open(ExportComponent, {
+            panelClass: 'maarch-modal',
             width: '800px',
             data: {
                 ownerId: this.currentBasketInfo.ownerId,
@@ -66,7 +67,7 @@ export class ToolsListComponent implements OnInit {
 
     openSummarySheet(): void {
         this.dialog.open(SummarySheetComponent, {
-            panelClass: 'summary-sheet-dialog',
+            panelClass: 'maarch-full-height-modal',
             width: '800px',
             data: {
                 ownerId: this.currentBasketInfo.ownerId,
diff --git a/src/frontend/app/password-modification.component.ts b/src/frontend/app/password-modification.component.ts
index d2ad6d0cb23..ea58a45e53b 100755
--- a/src/frontend/app/password-modification.component.ts
+++ b/src/frontend/app/password-modification.component.ts
@@ -17,43 +17,43 @@ declare var angularGlobals: any;
 })
 export class PasswordModificationComponent implements OnInit {
 
-    dialogRef                       : MatDialogRef<any>;
-    config                          : any       = {};
-
-    lang            : any       = LANG;
-    loading         : boolean   = false;
-
-    user            : any       = {};
-    ruleText        : string    = '';
-    otherRuleText   : string;
-    hidePassword    : boolean   = true;
-    passLength      : any       = false;
-    arrValidator    : any[]     = [];
-    validPassword   : boolean   = false;
-    matchPassword   : boolean   = false;
-    isLinear        : boolean   = false;
-    firstFormGroup  : FormGroup;
-
-    passwordRules   : any = {
-        minLength           : { enabled: false, value: 0 },
-        complexityUpper     : { enabled: false, value: 0 },
-        complexityNumber    : { enabled: false, value: 0 },
-        complexitySpecial   : { enabled: false, value: 0 },
-        renewal             : { enabled: false, value: 0 },
-        historyLastUse      : { enabled: false, value: 0 },
+    dialogRef: MatDialogRef<any>;
+    config: any = {};
+
+    lang: any = LANG;
+    loading: boolean = false;
+
+    user: any = {};
+    ruleText: string = '';
+    otherRuleText: string;
+    hidePassword: boolean = true;
+    passLength: any = false;
+    arrValidator: any[] = [];
+    validPassword: boolean = false;
+    matchPassword: boolean = false;
+    isLinear: boolean = false;
+    firstFormGroup: FormGroup;
+
+    passwordRules: any = {
+        minLength: { enabled: false, value: 0 },
+        complexityUpper: { enabled: false, value: 0 },
+        complexityNumber: { enabled: false, value: 0 },
+        complexitySpecial: { enabled: false, value: 0 },
+        renewal: { enabled: false, value: 0 },
+        historyLastUse: { enabled: false, value: 0 },
     };
 
-    passwordModel   : any = {
-        currentPassword : "",
-        newPassword     : "",
-        reNewPassword   : "",
+    passwordModel: any = {
+        currentPassword: "",
+        newPassword: "",
+        reNewPassword: "",
     };
 
 
     constructor(
-        public http: HttpClient, 
-        private notify: NotificationService, 
-        private _formBuilder: FormBuilder, 
+        public http: HttpClient,
+        private notify: NotificationService,
+        private _formBuilder: FormBuilder,
         public dialog: MatDialog,
         public appService: AppService
     ) {
@@ -76,18 +76,18 @@ export class PasswordModificationComponent implements OnInit {
     ngOnInit(): void {
         this.prepare();
         setTimeout(() => {
-            this.config = {data:{user:this.user,state:'BEGIN'},disableClose: true};
+            this.config = { panelClass: 'maarch-modal', data: { user: this.user, state: 'BEGIN' }, disableClose: true };
             this.dialogRef = this.dialog.open(InfoChangePasswordModalComponent, this.config);
         }, 0);
 
         this.http.get('../../rest/passwordRules')
             .subscribe((data: any) => {
-                let valArr : ValidatorFn[] = [];
+                let valArr: ValidatorFn[] = [];
                 let ruleTextArr: String[] = [];
                 let otherRuleTextArr: String[] = [];
 
                 valArr.push(Validators.required);
-                
+
                 data.rules.forEach((rule: any) => {
                     if (rule.label == 'minLength') {
                         this.passwordRules.minLength.enabled = rule.enabled;
@@ -121,13 +121,13 @@ export class PasswordModificationComponent implements OnInit {
                         this.passwordRules.renewal.enabled = rule.enabled;
                         this.passwordRules.renewal.value = rule.value;
                         if (rule.enabled) {
-                            otherRuleTextArr.push(this.lang['password' + rule.label] + ' <b>' + rule.value + ' ' + this.lang.days + '</b>. ' + this.lang['password2' + rule.label]+'.');
+                            otherRuleTextArr.push(this.lang['password' + rule.label] + ' <b>' + rule.value + ' ' + this.lang.days + '</b>. ' + this.lang['password2' + rule.label] + '.');
                         }
                     } else if (rule.label == 'historyLastUse') {
                         this.passwordRules.historyLastUse.enabled = rule.enabled;
                         this.passwordRules.historyLastUse.value = rule.value;
                         if (rule.enabled) {
-                            otherRuleTextArr.push(this.lang['passwordhistoryLastUseDesc'] + ' <b>' + rule.value + '</b> ' + this.lang['passwordhistoryLastUseDesc2']+'.');
+                            otherRuleTextArr.push(this.lang['passwordhistoryLastUseDesc'] + ' <b>' + rule.value + '</b> ' + this.lang['passwordhistoryLastUseDesc2'] + '.');
                         }
                     }
                 });
@@ -169,14 +169,14 @@ export class PasswordModificationComponent implements OnInit {
         if (group.controls['newPasswordCtrl'].value == group.controls['retypePasswordCtrl'].value) {
             return false;
         } else {
-            group.controls['retypePasswordCtrl'].setErrors({'mismatch': true});
-            return {'mismatch': true};
+            group.controls['retypePasswordCtrl'].setErrors({ 'mismatch': true });
+            return { 'mismatch': true };
         }
     }
 
     getErrorMessage() {
         if (this.firstFormGroup.controls['newPasswordCtrl'].value != this.firstFormGroup.controls['retypePasswordCtrl'].value) {
-            this.firstFormGroup.controls['retypePasswordCtrl'].setErrors({'mismatch': true});
+            this.firstFormGroup.controls['retypePasswordCtrl'].setErrors({ 'mismatch': true });
         } else {
             this.firstFormGroup.controls['retypePasswordCtrl'].setErrors(null);
         }
@@ -203,7 +203,7 @@ export class PasswordModificationComponent implements OnInit {
         this.passwordModel.reNewPassword = this.firstFormGroup.controls['retypePasswordCtrl'].value;
         this.http.put('../../rest/users/' + angularGlobals.user.id + '/password', this.passwordModel)
             .subscribe(() => {
-                this.config = {data:{state:'END'},disableClose: true};
+                this.config = { panelClass: 'maarch-modal', data: { state: 'END' }, disableClose: true };
                 this.dialogRef = this.dialog.open(InfoChangePasswordModalComponent, this.config);
             }, (err: any) => {
                 this.notify.error(err.error.errors);
@@ -220,7 +220,7 @@ export class PasswordModificationComponent implements OnInit {
 })
 export class InfoChangePasswordModalComponent {
 
-    lang    : any = LANG;
+    lang: any = LANG;
 
     constructor(public http: HttpClient, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef<InfoChangePasswordModalComponent>) {
     }
diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.html b/src/frontend/app/printedFolder/printed-folder-modal.component.html
index c56dcd97d4a..40a3c899195 100644
--- a/src/frontend/app/printedFolder/printed-folder-modal.component.html
+++ b/src/frontend/app/printedFolder/printed-folder-modal.component.html
@@ -1,93 +1,103 @@
-<h1 mat-dialog-title>
-    <span style="flex: 1;">
-        {{lang.generateAndDownloadPrintedFolder}}
-    </span>
-    <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
-        <mat-icon class="fa fa-times"></mat-icon>
-    </button></h1>
-<mat-dialog-content class="modal-container">
-    <div class="loading" *ngIf="loading; else loadingTemplate">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <ng-template #loadingTemplate>
-        <div class="example-loading-shade" *ngIf="isLoadingResults">
-            <mat-spinner *ngIf="isLoadingResults"></mat-spinner>
-        </div>
-        <div style="padding: 10px;">
-            <mat-slide-toggle color="primary" [(ngModel)]="summarySheet"
-                (change)="$event.checked ? openSummarySheet() : false">{{lang.attachSummarySheet}}</mat-slide-toggle>
-        </div>
-        <div style="padding: 10px;">
-            <mat-slide-toggle color="primary" [(ngModel)]="withSeparator">{{lang.generateSeparators}}</mat-slide-toggle>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>
+        <span style="flex: 1;">
+            {{lang.generateAndDownloadPrintedFolder}}
+        </span>
+        <button [title]="lang.close" mat-icon-button (click)="dialogRef.close();">
+            <mat-icon class="fa fa-times"></mat-icon>
+        </button></h1>
+    <mat-dialog-content>
+        <div class="loading" *ngIf="loading; else loadingTemplate">
+            <mat-spinner style="margin:auto;"></mat-spinner>
         </div>
-        <div class="printedFolderContainer">
-            <mat-expansion-panel *ngIf="mainDocumentInformation.format !== null" hideToggle disabled [title]="!mainDocumentInformation.canConvert ? 'Aucune version pdf trouvé!' : ''">
-                <mat-expansion-panel-header>
-                    <mat-panel-title style="color: #135f7f;font-weight: bold;">
-                        <mat-checkbox color="primary" [(ngModel)]="mainDocument" [disabled]="!mainDocumentInformation.canConvert" disableRipple>{{lang.mainDocument}}
-                        </mat-checkbox>
-                    </mat-panel-title>
-                </mat-expansion-panel-header>
-            </mat-expansion-panel>
-            <ng-container *ngFor="let keyVal of printedFolderElement | keyvalue">
-                <div class="printedFolderElement" *ngIf="printedFolderElement[keyVal.key].length > 0">
-                    <mat-expansion-panel >
-                        <mat-expansion-panel-header>
-                            <mat-panel-title style="color: #135f7f;font-weight: bold;">
-                                <mat-checkbox color="primary"
-                                    (change)="$event ? toggleAllElements($event.checked, keyVal.key) : null"
-                                    [checked]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length === printedFolderElement[keyVal.key].length"
-                                    [indeterminate]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length !== printedFolderElement[keyVal.key].length"
-                                    (click)="$event.stopPropagation()" disableRipple>{{lang[keyVal.key]}}</mat-checkbox>
-                            </mat-panel-title>
-                        </mat-expansion-panel-header>
-                        <mat-selection-list [formControl]="selectedPrintedFolderElement[keyVal.key]" color="primary"
-                            class="printedFolderElement-content">
-                            <mat-list-option class="printedFolderElement-option" [title]="!element.canConvert ? 'Aucune version pdf trouvé!' : ''" [class.disabled]="!element.canConvert" checkboxPosition="before"
-                                *ngFor="let element of printedFolderElement[keyVal.key]" [disabled]="!element.canConvert" [value]="element.id">
-                                <div class="printedFolderElement-item {{keyVal.key}}">
-                                    <div color="primary" style="flex:1;font-size: 80%;padding-right: 10px;"
-                                        *ngIf="!functions.empty(element.chrono)">
-                                        {{element.chrono}}
-                                    </div>
-                                    <div color="primary" style="flex:1;display: flex;font-size: 80%;white-space: pre;padding-right: 10px;"
-                                        *ngIf="!functions.empty(element.recipients)">
-                                        {{lang.for | ucfirst}} : {{element.recipients}}
-                                    </div>
-                                    <div *ngIf="!functions.empty(element.creator)" color="primary"
-                                        style="flex:1;font-size: 80%;padding-right: 10px;">
-                                        {{element.creator}}
-                                    </div>
-                                    <div style="flex:2;padding-right: 10px;" [title]="element.label"
-                                        [innerHTML]="element.label | shorten: 150: '...'">
-                                    </div>
-                                    <div *ngIf="!functions.empty(element.type)" color="primary"
-                                        style="flex:1;font-size: 80%;white-space: pre;padding-right: 10px;">
-                                        {{element.type}}
-                                    </div>
+        <ng-template #loadingTemplate>
+            <div class="example-loading-shade" *ngIf="isLoadingResults">
+                <mat-spinner *ngIf="isLoadingResults"></mat-spinner>
+            </div>
+            <div style="padding: 10px;">
+                <mat-slide-toggle color="primary" [(ngModel)]="summarySheet"
+                    (change)="$event.checked ? openSummarySheet() : false">{{lang.attachSummarySheet}}
+                </mat-slide-toggle>
+            </div>
+            <div style="padding: 10px;">
+                <mat-slide-toggle color="primary" [(ngModel)]="withSeparator">{{lang.generateSeparators}}
+                </mat-slide-toggle>
+            </div>
+            <div class="printedFolderContainer">
+                <mat-expansion-panel *ngIf="mainDocumentInformation.format !== null" hideToggle disabled
+                    [title]="!mainDocumentInformation.canConvert ? 'Aucune version pdf trouvé!' : ''">
+                    <mat-expansion-panel-header>
+                        <mat-panel-title style="color: #135f7f;font-weight: bold;">
+                            <mat-checkbox color="primary" [(ngModel)]="mainDocument"
+                                [disabled]="!mainDocumentInformation.canConvert" disableRipple>{{lang.mainDocument}}
+                            </mat-checkbox>
+                        </mat-panel-title>
+                    </mat-expansion-panel-header>
+                </mat-expansion-panel>
+                <ng-container *ngFor="let keyVal of printedFolderElement | keyvalue">
+                    <div class="printedFolderElement" *ngIf="printedFolderElement[keyVal.key].length > 0">
+                        <mat-expansion-panel>
+                            <mat-expansion-panel-header>
+                                <mat-panel-title style="color: #135f7f;font-weight: bold;">
+                                    <mat-checkbox color="primary"
+                                        (change)="$event ? toggleAllElements($event.checked, keyVal.key) : null"
+                                        [checked]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length === printedFolderElement[keyVal.key].length"
+                                        [indeterminate]="selectedPrintedFolderElement[keyVal.key].value.length > 0 && selectedPrintedFolderElement[keyVal.key].value.length !== printedFolderElement[keyVal.key].length"
+                                        (click)="$event.stopPropagation()" disableRipple>{{lang[keyVal.key]}}
+                                    </mat-checkbox>
+                                </mat-panel-title>
+                            </mat-expansion-panel-header>
+                            <mat-selection-list [formControl]="selectedPrintedFolderElement[keyVal.key]" color="primary"
+                                class="printedFolderElement-content">
+                                <mat-list-option class="printedFolderElement-option"
+                                    [title]="!element.canConvert ? 'Aucune version pdf trouvé!' : ''"
+                                    [class.disabled]="!element.canConvert" checkboxPosition="before"
+                                    *ngFor="let element of printedFolderElement[keyVal.key]"
+                                    [disabled]="!element.canConvert" [value]="element.id">
+                                    <div class="printedFolderElement-item {{keyVal.key}}">
+                                        <div color="primary" style="flex:1;font-size: 80%;padding-right: 10px;"
+                                            *ngIf="!functions.empty(element.chrono)">
+                                            {{element.chrono}}
+                                        </div>
+                                        <div color="primary"
+                                            style="flex:1;display: flex;font-size: 80%;white-space: pre;padding-right: 10px;"
+                                            *ngIf="!functions.empty(element.recipients)">
+                                            {{lang.for | ucfirst}} : {{element.recipients}}
+                                        </div>
+                                        <div *ngIf="!functions.empty(element.creator)" color="primary"
+                                            style="flex:1;font-size: 80%;padding-right: 10px;">
+                                            {{element.creator}}
+                                        </div>
+                                        <div style="flex:2;padding-right: 10px;" [title]="element.label"
+                                            [innerHTML]="element.label | shorten: 150: '...'">
+                                        </div>
+                                        <div *ngIf="!functions.empty(element.type)" color="primary"
+                                            style="flex:1;font-size: 80%;white-space: pre;padding-right: 10px;">
+                                            {{element.type}}
+                                        </div>
 
-                                    <div *ngIf="!functions.empty(element.status)">
-                                        <div *ngIf="element.status === 'SIGN'" style="color: green">
-                                            {{lang['attachment_' + element.status]}}
+                                        <div *ngIf="!functions.empty(element.status)">
+                                            <div *ngIf="element.status === 'SIGN'" style="color: green">
+                                                {{lang['attachment_' + element.status]}}
+                                            </div>
                                         </div>
-                                    </div>
 
-                                    <div color="primary" [title]="element.creationDate | fullDate"
-                                        style="flex:1;justify-content: flex-end;display: flex;font-size: 80%;">
-                                        {{element.creationDate | timeAgo : 'full' | ucfirst}}
+                                        <div color="primary" [title]="element.creationDate | fullDate"
+                                            style="flex:1;justify-content: flex-end;display: flex;font-size: 80%;">
+                                            {{element.creationDate | timeAgo : 'full' | ucfirst}}
+                                        </div>
                                     </div>
-                                </div>
-                            </mat-list-option>
-                        </mat-selection-list>
-                    </mat-expansion-panel>
-                </div>
-            </ng-container>
-        </div>
-    </ng-template>
-
-
-</mat-dialog-content>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button color="primary" [disabled]="isLoadingResults || isEmptySelection()"
-        (click)="onSubmit()">{{lang.validate}}</button>
-</div>
+                                </mat-list-option>
+                            </mat-selection-list>
+                        </mat-expansion-panel>
+                    </div>
+                </ng-container>
+            </div>
+        </ng-template>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button color="primary" [disabled]="isLoadingResults || isEmptySelection()"
+            (click)="onSubmit()">{{lang.validate}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/printedFolder/printed-folder-modal.component.ts b/src/frontend/app/printedFolder/printed-folder-modal.component.ts
index bdbc57a52b1..1ed40455080 100644
--- a/src/frontend/app/printedFolder/printed-folder-modal.component.ts
+++ b/src/frontend/app/printedFolder/printed-folder-modal.component.ts
@@ -286,7 +286,7 @@ export class PrintedFolderModalComponent {
     openSummarySheet(): void {
 
         const dialogRef = this.dialog.open(SummarySheetComponent, {
-            panelClass: 'summary-sheet-dialog',
+            panelClass: 'maarch-full-height-modal',
             width: '800px',
             data: {
                 paramMode : true
diff --git a/src/frontend/app/process/process.component.ts b/src/frontend/app/process/process.component.ts
index 2c09e6dbe95..5aa49bb1aae 100755
--- a/src/frontend/app/process/process.component.ts
+++ b/src/frontend/app/process/process.component.ts
@@ -711,7 +711,7 @@ export class ProcessComponent implements OnInit {
 
     openContact() {
         if (this.hasContact) {
-            this.dialog.open(ContactsListModalComponent, { data: { title: `${this.currentResourceInformations.chrono} - ${this.currentResourceInformations.subject}`, mode: this.currentResourceInformations.categoryId !== 'outgoing' ? 'senders' : 'recipients', resId: this.currentResourceInformations.resId } });
+            this.dialog.open(ContactsListModalComponent, { panelClass: 'maarch-modal', data: { title: `${this.currentResourceInformations.chrono} - ${this.currentResourceInformations.subject}`, mode: this.currentResourceInformations.categoryId !== 'outgoing' ? 'senders' : 'recipients', resId: this.currentResourceInformations.resId } });
         }
     }
 
@@ -813,6 +813,6 @@ export class ProcessComponent implements OnInit {
     }
 
     openPrintedFolderPrompt() {
-        this.dialog.open(PrintedFolderModalComponent, { data: { resId: this.currentResourceInformations.resId } });
+        this.dialog.open(PrintedFolderModalComponent, { panelClass: 'maarch-modal', data: { resId: this.currentResourceInformations.resId } });
     }
 }
diff --git a/src/frontend/app/sentResource/sent-resource-list.component.ts b/src/frontend/app/sentResource/sent-resource-list.component.ts
index fae35725ec2..ef70cb37f46 100644
--- a/src/frontend/app/sentResource/sent-resource-list.component.ts
+++ b/src/frontend/app/sentResource/sent-resource-list.component.ts
@@ -252,7 +252,7 @@ export class SentResourceListComponent implements OnInit {
         }
 
         if (row.canManage || row.id === null) {
-            const dialogRef = this.dialog.open(SentResourcePageComponent, { maxWidth: '90vw', width: '750px', minHeight:'500px', disableClose: true, data: { title: title, resId: this.resId, emailId: row.id, emailType: row.type } });
+            const dialogRef = this.dialog.open(SentResourcePageComponent, { panelClass: 'maarch-modal', disableClose: true, data: { title: title, resId: this.resId, emailId: row.id, emailType: row.type } });
 
             dialogRef.afterClosed().pipe(
                 filter((data: any) => data.state === 'success' || data === 'success'),
diff --git a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
index f2f6e13555a..4149ebaee5d 100644
--- a/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
+++ b/src/frontend/app/sentResource/sent-resource-page/sent-resource-page.component.html
@@ -1,186 +1,199 @@
-<h1 mat-dialog-title>
-    <span style="flex: 1;">
-        {{data.title}}
-    </span>
-    <button [title]="lang.saveAndClose" mat-icon-button (click)="saveDraft()">
-        <mat-icon class="fa fa-times"></mat-icon>
-    </button></h1>
-<mat-dialog-content class="modal-container">
-    <div *ngIf="loading" class="loading">
-        <mat-spinner style="margin:auto;"></mat-spinner>
-    </div>
-    <mat-form-field>
-        <span matPrefix class="attachLabel">{{lang.senderShort}}&nbsp;:&nbsp;</span>
-        <input *ngIf="!canManageMail()" matInput [value]="currentSender.email" readonly>
-        <mat-select *ngIf="canManageMail()" [compareWith]="this.compareSenders" [(ngModel)]="currentSender">
-            <mat-option *ngFor="let email of availableSenders | sortBy: 'label'" [value]="email">
-                {{email.label}} ({{email.email}})
-            </mat-option>
-        </mat-select>
-        <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" [class.activeButton]="showCopies"
-            (click)="$event.stopPropagation();showCopies = !showCopies">{{lang.copieShort}}</button>
-        <button mat-button color="primary" matSuffix [disabled]="!canManageMail()"
-            [class.activeButton]="showInvisibleCopies"
-            (click)="$event.stopPropagation();showInvisibleCopies = !showInvisibleCopies">{{lang.invisibleCopyShort}}</button>
-    </mat-form-field>
-    <mat-form-field>
-        <span matPrefix class="attachLabel">{{lang.recipientShort}}&nbsp;:&nbsp;</span>
-        <mat-chip-list id="recipients-list" #recipientsList cdkDropList
-            [cdkDropListConnectedTo]="['copies-list','invcopies-list']" [cdkDropListData]="recipients"
-            (cdkDropListDropped)="drop($event)">
-            <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="recipients" *ngFor="let recipient of recipients" [selectable]="selectable"
-                [removable]="canManageMail()" (removed)="remove(recipient, 'recipients')" (click)="remove(recipient, 'recipients')" [title]="recipient.email"
-                [class.badFormat]="recipient.badFormat">
-                {{recipient.label}}{{recipient.label !== recipient.email ? ' (' + recipient.email + ')' : ''}}
-                <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
-            </mat-chip>
-            <input [formControl]="recipientsInput" [matChipInputFor]="recipientsList"
-                [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
-                (matChipInputTokenEnd)="add($event, 'recipients')" [matAutocomplete]="autoEmails"
-                (focus)="resetAutocomplete()">
-        </mat-chip-list>
-        <mat-autocomplete #autoEmails="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'recipients')">
-            <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
-                {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
-                    ({{option.email}})</span>
-            </mat-option>
-        </mat-autocomplete>
-    </mat-form-field>
-    <mat-form-field *ngIf="showCopies">
-        <span matPrefix class="attachLabel">{{lang.copieShort}}&nbsp;:&nbsp;</span>
-        <mat-chip-list id="copies-list" #copiesList cdkDropList
-            [cdkDropListConnectedTo]="['recipients-list','invcopies-list']" [cdkDropListData]="copies"
-            (cdkDropListDropped)="drop($event)">
-            <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" *ngFor="let copy of copies" [selectable]="selectable"
-                [removable]="canManageMail()" (removed)="remove(copy, 'copies')" (click)="remove(copycopy, 'recipients')" [title]="copy.email"
-                [class.badFormat]="copy.badFormat">
-                {{copy.label}}{{copy.label !== copy.email ? ' (' + copy.email + ')' : ''}}
-                <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
-            </mat-chip>
-            <input [formControl]="recipientsInput" [matChipInputFor]="copiesList"
-                [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
-                (matChipInputTokenEnd)="add($event, 'copies')" [matAutocomplete]="autoEmails2"
-                (focus)="resetAutocomplete()">
-        </mat-chip-list>
-        <mat-autocomplete #autoEmails2="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'copies')">
-            <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
-                {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
-                    ({{option.email}})</span>
-            </mat-option>
-        </mat-autocomplete>
-    </mat-form-field>
-    <mat-form-field *ngIf="showInvisibleCopies">
-        <span matPrefix class="attachLabel">{{lang.invisibleCopyShort}}&nbsp;:&nbsp;</span>
-        <mat-chip-list id="invcopies-list" #invCopiesList cdkDropList
-            [cdkDropListConnectedTo]="['recipients-list','copies-list']" [cdkDropListData]="invisibleCopies"
-            (cdkDropListDropped)="drop($event)">
-            <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy" *ngFor="let invCopy of invisibleCopies" [selectable]="selectable"
-                [removable]="canManageMail()" (removed)="remove(invCopy, 'invisibleCopies')" (click)="remove(invCopy, 'recipients')" [title]="invCopy.email"
-                [class.badFormat]="invCopy.badFormat">
-                {{invCopy.label}}{{invCopy.label !== invCopy.email ? ' (' + invCopy.email + ')' : ''}}
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>
+        <span style="flex: 1;">
+            {{data.title}}
+        </span>
+        <button [title]="lang.saveAndClose" mat-icon-button (click)="saveDraft()">
+            <mat-icon class="fa fa-times"></mat-icon>
+        </button></h1>
+    <mat-dialog-content class="modal-container">
+        <div *ngIf="loading" class="loading">
+            <mat-spinner style="margin:auto;"></mat-spinner>
+        </div>
+        <mat-form-field>
+            <span matPrefix class="attachLabel">{{lang.senderShort}}&nbsp;:&nbsp;</span>
+            <input *ngIf="!canManageMail()" matInput [value]="currentSender.email" readonly>
+            <mat-select *ngIf="canManageMail()" [compareWith]="this.compareSenders" [(ngModel)]="currentSender">
+                <mat-option *ngFor="let email of availableSenders | sortBy: 'label'" [value]="email">
+                    {{email.label}} ({{email.email}})
+                </mat-option>
+            </mat-select>
+            <button mat-button color="primary" matSuffix [disabled]="!canManageMail()" [class.activeButton]="showCopies"
+                (click)="$event.stopPropagation();showCopies = !showCopies">{{lang.copieShort}}</button>
+            <button mat-button color="primary" matSuffix [disabled]="!canManageMail()"
+                [class.activeButton]="showInvisibleCopies"
+                (click)="$event.stopPropagation();showInvisibleCopies = !showInvisibleCopies">{{lang.invisibleCopyShort}}</button>
+        </mat-form-field>
+        <mat-form-field>
+            <span matPrefix class="attachLabel">{{lang.recipientShort}}&nbsp;:&nbsp;</span>
+            <mat-chip-list id="recipients-list" #recipientsList cdkDropList
+                [cdkDropListConnectedTo]="['copies-list','invcopies-list']" [cdkDropListData]="recipients"
+                (cdkDropListDropped)="drop($event)">
+                <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="recipients"
+                    *ngFor="let recipient of recipients" [selectable]="selectable" [removable]="canManageMail()"
+                    (removed)="remove(recipient, 'recipients')" (click)="remove(recipient, 'recipients')"
+                    [title]="recipient.email" [class.badFormat]="recipient.badFormat">
+                    {{recipient.label}}{{recipient.label !== recipient.email ? ' (' + recipient.email + ')' : ''}}
+                    <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
+                </mat-chip>
+                <input [formControl]="recipientsInput" [matChipInputFor]="recipientsList"
+                    [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
+                    (matChipInputTokenEnd)="add($event, 'recipients')" [matAutocomplete]="autoEmails"
+                    (focus)="resetAutocomplete()">
+            </mat-chip-list>
+            <mat-autocomplete #autoEmails="matAutocomplete"
+                (optionSelected)="addEmail($event.option.value, 'recipients')">
+                <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
+                    {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
+                        ({{option.email}})</span>
+                </mat-option>
+            </mat-autocomplete>
+        </mat-form-field>
+        <mat-form-field *ngIf="showCopies">
+            <span matPrefix class="attachLabel">{{lang.copieShort}}&nbsp;:&nbsp;</span>
+            <mat-chip-list id="copies-list" #copiesList cdkDropList
+                [cdkDropListConnectedTo]="['recipients-list','invcopies-list']" [cdkDropListData]="copies"
+                (cdkDropListDropped)="drop($event)">
+                <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy"
+                    *ngFor="let copy of copies" [selectable]="selectable" [removable]="canManageMail()"
+                    (removed)="remove(copy, 'copies')" (click)="remove(copycopy, 'recipients')" [title]="copy.email"
+                    [class.badFormat]="copy.badFormat">
+                    {{copy.label}}{{copy.label !== copy.email ? ' (' + copy.email + ')' : ''}}
+                    <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
+                </mat-chip>
+                <input [formControl]="recipientsInput" [matChipInputFor]="copiesList"
+                    [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
+                    (matChipInputTokenEnd)="add($event, 'copies')" [matAutocomplete]="autoEmails2"
+                    (focus)="resetAutocomplete()">
+            </mat-chip-list>
+            <mat-autocomplete #autoEmails2="matAutocomplete" (optionSelected)="addEmail($event.option.value, 'copies')">
+                <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
+                    {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
+                        ({{option.email}})</span>
+                </mat-option>
+            </mat-autocomplete>
+        </mat-form-field>
+        <mat-form-field *ngIf="showInvisibleCopies">
+            <span matPrefix class="attachLabel">{{lang.invisibleCopyShort}}&nbsp;:&nbsp;</span>
+            <mat-chip-list id="invcopies-list" #invCopiesList cdkDropList
+                [cdkDropListConnectedTo]="['recipients-list','copies-list']" [cdkDropListData]="invisibleCopies"
+                (cdkDropListDropped)="drop($event)">
+                <mat-chip cdkDrag [cdkDragDisabled]="emailStatus == 'SENT' || emailStatus == 'ERROR'" class="copy"
+                    *ngFor="let invCopy of invisibleCopies" [selectable]="selectable" [removable]="canManageMail()"
+                    (removed)="remove(invCopy, 'invisibleCopies')" (click)="remove(invCopy, 'recipients')"
+                    [title]="invCopy.email" [class.badFormat]="invCopy.badFormat">
+                    {{invCopy.label}}{{invCopy.label !== invCopy.email ? ' (' + invCopy.email + ')' : ''}}
+                    <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
+                </mat-chip>
+                <input [formControl]="recipientsInput" [matChipInputFor]="invCopiesList"
+                    [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
+                    (matChipInputTokenEnd)="add($event, 'invisibleCopies')" [matAutocomplete]="autoEmails3"
+                    (focus)="resetAutocomplete()">
+            </mat-chip-list>
+            <mat-autocomplete #autoEmails3="matAutocomplete"
+                (optionSelected)="addEmail($event.option.value, 'invisibleCopies')">
+                <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
+                    {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
+                        ({{option.email}})</span>
+                </mat-option>
+            </mat-autocomplete>
+        </mat-form-field>
+        <mat-form-field floatLabel="never">
+            <input matInput [placeholder]="lang.object" [readonly]="!canManageMail()" [(ngModel)]="emailsubject"
+                maxlength="70">
+            <button mat-icon-button matSuffix *ngFor="let keyVal of emailAttachTool | keyvalue"
+                [disabled]="!canManageMail() || (emailAttachTool[keyVal.key].list.length === 0)"
+                [title]="emailAttachTool[keyVal.key].title"
+                (click)="$event.stopPropagation();currentEmailAttachTool=keyVal.key;"
+                [matMenuTriggerFor]="emailAttachListMenu">
+                <mat-icon class="{{emailAttachTool[keyVal.key].icon}}"
+                    [class.activeButton]="(keyVal.key === 'document' && emailAttach.document.isLinked) || (keyVal.key !== 'document' && emailAttach[keyVal.key].length > 0)"
+                    color="primary"></mat-icon>
+            </button>
+            <mat-menu #emailAttachListMenu="matMenu" [class]="'attachListMenu'">
+                <ng-container *ngFor="let keyVal of emailAttachTool | keyvalue">
+                    <ng-container *ngIf="keyVal.key === currentEmailAttachTool">
+                        <button mat-menu-item style="line-height: normal;" disableRipple
+                            *ngFor="let attach of emailAttachTool[keyVal.key].list"
+                            [disabled]="isSelectedAttachMail(attach,keyVal.key)"
+                            (click)="$event.stopPropagation();toggleAttachMail(attach,keyVal.key,'original');">
+                            <span (click)="toggleAttachMail(attach,keyVal.key,'original')" [title]="attach.label">
+                                <div style="font-size: 10px;opacity: 0.5;">{{attach.chrono}} - {{attach.typeLabel}}
+                                    ({{attach.creator}})</div>
+                                {{attach.label | shorten: 45: '...'}} - {{attach.format}}
+                            </span>&nbsp;<span class="pdfVersion" *ngIf="!functions.empty(attach.convertedDocument)"
+                                (click)="toggleAttachMail(attach,keyVal.key,'pdf');">({{lang.pdfVersion}})
+                            </span>
+                        </button>
+                    </ng-container>
+                </ng-container>
+            </mat-menu>
+        </mat-form-field>
+        <mat-chip-list>
+            <mat-chip class="copy" *ngIf="emailAttach.document.isLinked" [selectable]="selectable"
+                [removable]="canManageMail()" (removed)="removeAttachMail(0, 'document')"
+                [title]="emailAttach.document.chrono + ' - ' + emailAttach.document.label">
+                <i
+                    class="fa fa-file attachLabel"></i>&nbsp;{{emailAttach.document.label | shorten: 25: '...'}}&nbsp;<small
+                    class="attachLabel">({{emailAttach.document.format}} - {{emailAttach.document.size}})</small>
                 <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
             </mat-chip>
-            <input [formControl]="recipientsInput" [matChipInputFor]="invCopiesList"
-                [matChipInputSeparatorKeyCodes]="separatorKeysCodes" [matChipInputAddOnBlur]="true"
-                (matChipInputTokenEnd)="add($event, 'invisibleCopies')" [matAutocomplete]="autoEmails3"
-                (focus)="resetAutocomplete()">
-        </mat-chip-list>
-        <mat-autocomplete #autoEmails3="matAutocomplete"
-            (optionSelected)="addEmail($event.option.value, 'invisibleCopies')">
-            <mat-option *ngFor="let option of filteredEmails | async" [value]="option">
-                {{option.label}}<span class="attachLabel" *ngIf="option.type !== 'contactGroup'">
-                    ({{option.email}})</span>
-            </mat-option>
-        </mat-autocomplete>
-    </mat-form-field>
-    <mat-form-field floatLabel="never">
-        <input matInput [placeholder]="lang.object" [readonly]="!canManageMail()" [(ngModel)]="emailsubject"
-            maxlength="70">
-        <button mat-icon-button matSuffix *ngFor="let keyVal of emailAttachTool | keyvalue"
-            [disabled]="!canManageMail() || (emailAttachTool[keyVal.key].list.length === 0)"
-            [title]="emailAttachTool[keyVal.key].title"
-            (click)="$event.stopPropagation();currentEmailAttachTool=keyVal.key;"
-            [matMenuTriggerFor]="emailAttachListMenu">
-            <mat-icon class="{{emailAttachTool[keyVal.key].icon}}"
-                [class.activeButton]="(keyVal.key === 'document' && emailAttach.document.isLinked) || (keyVal.key !== 'document' && emailAttach[keyVal.key].length > 0)"
-                color="primary"></mat-icon>
-        </button>
-        <mat-menu #emailAttachListMenu="matMenu" [class]="'attachListMenu'">
-            <ng-container *ngFor="let keyVal of emailAttachTool | keyvalue">
-                <ng-container *ngIf="keyVal.key === currentEmailAttachTool">
-                    <button mat-menu-item style="line-height: normal;" disableRipple
-                        *ngFor="let attach of emailAttachTool[keyVal.key].list"
-                        [disabled]="isSelectedAttachMail(attach,keyVal.key)" (click)="$event.stopPropagation();toggleAttachMail(attach,keyVal.key,'original');">
-                        <span (click)="toggleAttachMail(attach,keyVal.key,'original')" [title]="attach.label">
-                            <div style="font-size: 10px;opacity: 0.5;">{{attach.chrono}} - {{attach.typeLabel}}
-                                ({{attach.creator}})</div>
-                            {{attach.label | shorten: 45: '...'}} - {{attach.format}}
-                        </span>&nbsp;<span class="pdfVersion" *ngIf="!functions.empty(attach.convertedDocument)"
-                            (click)="toggleAttachMail(attach,keyVal.key,'pdf');">({{lang.pdfVersion}})
-                        </span>
-                    </button>
+            <ng-container *ngFor="let keyVal of emailAttach | keyvalue">
+                <ng-container *ngIf="keyVal.key !== 'document'">
+                    <mat-chip class="copy" *ngFor="let item of emailAttach[keyVal.key]; let i=index;"
+                        [selectable]="selectable" [removable]="canManageMail()"
+                        (removed)="removeAttachMail(i, keyVal.key)" [title]="item.title">
+                        <i
+                            class="{{emailAttachTool[keyVal.key].icon}} attachLabel"></i>&nbsp;{{item.label | shorten: 25: '...'}}&nbsp;<small
+                            class="attachLabel">({{item.format}}{{!functions.empty(item.size) ? ' - '+item.size : ''}})</small>
+                        <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
+                    </mat-chip>
                 </ng-container>
             </ng-container>
-        </mat-menu>
-    </mat-form-field>
-    <mat-chip-list>
-        <mat-chip class="copy" *ngIf="emailAttach.document.isLinked" [selectable]="selectable"
-            [removable]="canManageMail()" (removed)="removeAttachMail(0, 'document')"
-            [title]="emailAttach.document.chrono + ' - ' + emailAttach.document.label">
-            <i class="fa fa-file attachLabel"></i>&nbsp;{{emailAttach.document.label | shorten: 25: '...'}}&nbsp;<small
-                class="attachLabel">({{emailAttach.document.format}} - {{emailAttach.document.size}})</small>
-            <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
-        </mat-chip>
-        <ng-container *ngFor="let keyVal of emailAttach | keyvalue">
-            <ng-container *ngIf="keyVal.key !== 'document'">
-                <mat-chip class="copy" *ngFor="let item of emailAttach[keyVal.key]; let i=index;"
-                    [selectable]="selectable" [removable]="canManageMail()" (removed)="removeAttachMail(i, keyVal.key)"
-                    [title]="item.title">
-                    <i
-                        class="{{emailAttachTool[keyVal.key].icon}} attachLabel"></i>&nbsp;{{item.label | shorten: 25: '...'}}&nbsp;<small
-                        class="attachLabel">({{item.format}}{{!functions.empty(item.size) ? ' - '+item.size : ''}})</small>
-                    <mat-icon matChipRemove class="fa fa-times" *ngIf="canManageMail()"></mat-icon>
-                </mat-chip>
-            </ng-container>
-        </ng-container>
-    </mat-chip-list>
-    <div class="models" *ngIf="canManageMail()">
-        <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel"
-            [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels"
-            [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)">
-        </plugin-select-search>
+        </mat-chip-list>
+        <div class="models" *ngIf="canManageMail()">
+            <plugin-select-search *ngIf="availableEmailModels.length > 0" [label]="lang.emailModel"
+                [placeholderLabel]="lang.emailModel" [datas]="availableEmailModels"
+                [formControlSelect]="templateEmailListForm" (afterSelected)="mergeEmailTemplate($event)">
+            </plugin-select-search>
 
-        <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0" [label]="lang.emailSignatures"
-            [placeholderLabel]="lang.emailSignatures" [datas]="availableSignEmailModels"
-            [formControlSelect]="emailSignListForm" (afterSelected)="mergeSignEmailTemplate($event)">
-        </plugin-select-search>
-    </div>
-    <div style="padding-top: 10px;">
-        <textarea *ngIf="!pdfMode" style="padding-top: 10px;" name="emailSignature" id="emailSignature"
-            [(ngModel)]="emailContent"></textarea>
+            <plugin-select-search #templateList *ngIf="availableSignEmailModels.length > 0"
+                [label]="lang.emailSignatures" [placeholderLabel]="lang.emailSignatures"
+                [datas]="availableSignEmailModels" [formControlSelect]="emailSignListForm"
+                (afterSelected)="mergeSignEmailTemplate($event)">
+            </plugin-select-search>
+        </div>
+        <div style="padding-top: 10px;">
+            <textarea *ngIf="!pdfMode" style="padding-top: 10px;" name="emailSignature" id="emailSignature"
+                [(ngModel)]="emailContent"></textarea>
 
-        <app-document-viewer *ngIf="pdfMode" #appDocumentViewer
-            style="display:block;height:400px;width:100%;overflow: auto;" [editMode]="false" [base64]="emailContent">
-        </app-document-viewer>
-    </div>
-</mat-dialog-content>
-<div mat-dialog-actions class="actions" *ngIf="!loading">
-    <button mat-raised-button color="primary" style="min-width: auto;width: 30px;padding: 0;background-color: white; color: grey;"
-        *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')"
-        [matMenuTriggerFor]="emailActionMenu">
-        <mat-icon style="height:auto;" class="fas fa-ellipsis-v"></mat-icon>
-    </button>
-    <mat-menu #emailActionMenu="matMenu" [class]="'attachListMenu'">
-        <button mat-menu-item (click)="switchEditionMode()" *ngIf="htmlMode">
-            {{lang.switchInPlainText}}
+            <app-document-viewer *ngIf="pdfMode" #appDocumentViewer
+                style="display:block;height:400px;width:100%;overflow: auto;" [editMode]="false"
+                [base64]="emailContent">
+            </app-document-viewer>
+        </div>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions" *ngIf="!loading">
+        <button mat-raised-button color="primary"
+            style="min-width: auto;width: 30px;padding: 0;background-color: white; color: grey;"
+            *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')"
+            [matMenuTriggerFor]="emailActionMenu">
+            <mat-icon style="height:auto;" class="fas fa-ellipsis-v"></mat-icon>
         </button>
-        <button mat-menu-item (click)="switchEditionMode()" *ngIf="!htmlMode">
-            {{lang.switchInHtml}}
-        </button>
-    </mat-menu>
-    <button mat-raised-button color="primary"
-        *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()"
-        [disabled]="recipients.length === 0">{{lang.send}}</button>
-    <button mat-raised-button color="warn" (click)="deleteEmail()" *ngIf="data.emailId && data.emailType === 'email'"
-        [disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button>
-</div>
+        <mat-menu #emailActionMenu="matMenu" [class]="'attachListMenu'">
+            <button mat-menu-item (click)="switchEditionMode()" *ngIf="htmlMode">
+                {{lang.switchInPlainText}}
+            </button>
+            <button mat-menu-item (click)="switchEditionMode()" *ngIf="!htmlMode">
+                {{lang.switchInHtml}}
+            </button>
+        </mat-menu>
+        <button mat-raised-button color="primary"
+            *ngIf="canManageMail() && privilegeService.hasCurrentUserPrivilege('sendmail')" (click)="onSubmit()"
+            [disabled]="recipients.length === 0">{{lang.send}}</button>
+        <button mat-raised-button color="warn" (click)="deleteEmail()"
+            *ngIf="data.emailId && data.emailType === 'email'"
+            [disabled]="headerService.user.id !== emailCreatorId">{{lang.delete}}</button>
+    </div>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/signature-book.component.ts b/src/frontend/app/signature-book.component.ts
index c3df638f3a6..e007a251847 100755
--- a/src/frontend/app/signature-book.component.ts
+++ b/src/frontend/app/signature-book.component.ts
@@ -527,7 +527,7 @@ export class SignatureBookComponent implements OnInit {
     }
 
     createAttachment() {
-        this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'modal-container', height: '90vh', width: '90vw', data: { resIdMaster: this.resId } });
+        this.dialogRef = this.dialog.open(AttachmentCreateComponent, { disableClose: true, panelClass: 'attachment-modal-container', height: '90vh', width: '90vw', data: { resIdMaster: this.resId } });
 
         this.dialogRef.afterClosed().pipe(
             filter((data: string) => data === 'success'),
diff --git a/src/frontend/app/viewer/document-viewer.component.ts b/src/frontend/app/viewer/document-viewer.component.ts
index 4802d338647..7cd083e1d71 100644
--- a/src/frontend/app/viewer/document-viewer.component.ts
+++ b/src/frontend/app/viewer/document-viewer.component.ts
@@ -936,7 +936,7 @@ export class DocumentViewerComponent implements OnInit {
         this.http.get(`../../rest/resources/${this.resId}/content/${version}?type=${type}`).pipe(
             tap((data: any) => {
 
-                this.dialog.open(DocumentViewerModalComponent, { autoFocus: false, height: '90vh', width: '90vw', data: { title: `${title}`, base64: data.encodedDocument } });
+                this.dialog.open(DocumentViewerModalComponent, { autoFocus: false, panelClass: 'maarch-full-height-modal', data: { title: `${title}`, base64: data.encodedDocument } });
             }),
             catchError((err: any) => {
                 this.notify.handleSoftErrors(err);
diff --git a/src/frontend/app/viewer/modal/document-viewer-modal.component.html b/src/frontend/app/viewer/modal/document-viewer-modal.component.html
index a60e8c6ae43..99f185ca1da 100644
--- a/src/frontend/app/viewer/modal/document-viewer-modal.component.html
+++ b/src/frontend/app/viewer/modal/document-viewer-modal.component.html
@@ -1,9 +1,13 @@
-<h1 mat-dialog-title>{{data.title}}
-    <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]="">
-        <mat-icon class="fa fa-times-circle fa-2x"></mat-icon>
-    </button>
-</h1>
-<div style="overflow:auto;height: 100%;width: 100%;">
-    <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" [base64]="data.base64" [title]="data.title">
-    </app-document-viewer>
-</div>
\ No newline at end of file
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>
+        <span>{{data.title}}</span>
+        <span class="divider-modal"></span>
+        <button title="{{lang.close}}" mat-icon-button [mat-dialog-close]="">
+            <mat-icon class="fa fa-times-circle fa-2x"></mat-icon>
+        </button>
+    </h1>
+    <mat-dialog-content>
+        <app-document-viewer #appDocumentViewer style="height:100%;width:100%;" [editMode]="false" [base64]="data.base64" [title]="data.title">
+        </app-document-viewer>
+    </mat-dialog-content>
+</div>
diff --git a/src/frontend/app/viewer/modal/document-viewer-modal.component.scss b/src/frontend/app/viewer/modal/document-viewer-modal.component.scss
index f1c85626d8d..e69de29bb2d 100644
--- a/src/frontend/app/viewer/modal/document-viewer-modal.component.scss
+++ b/src/frontend/app/viewer/modal/document-viewer-modal.component.scss
@@ -1,5 +0,0 @@
-button {
-    z-index: 1;
-    float: right;
-    top: -5px;
-}
\ No newline at end of file
diff --git a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html
index 30d14d0ffb6..0131c67f8dd 100644
--- a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html
+++ b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.html
@@ -1,11 +1,14 @@
-<h1 mat-dialog-title>Ajouter un modèle</h1>
-<mat-dialog-content class="modal-container">
-    <mat-form-field appearance="outline">
-        <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle">
-    </mat-form-field>
-</mat-dialog-content>
-<div mat-dialog-actions class="actions">
-    <button mat-raised-button mat-button color="primary" [disabled]="loading"
-        (click)="onSubmit()">{{lang.validate}}</button>
-    <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>Ajouter un modèle</h1>
+    <mat-dialog-content class="modal-container">
+        <mat-form-field appearance="outline">
+            <input type="text" matInput [(ngModel)]="template.title" placeholder="Nom du modèle">
+        </mat-form-field>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <div mat-dialog-actions class="actions">
+        <button mat-raised-button mat-button color="primary" [disabled]="loading"
+            (click)="onSubmit()">{{lang.validate}}</button>
+        <button mat-raised-button mat-button [disabled]="loading" [mat-dialog-close]="">{{lang.cancel}}</button>
+    </div>
 </div>
\ No newline at end of file
diff --git a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss
index de22a63f264..60cea6b8505 100644
--- a/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss
+++ b/src/frontend/app/visa/addVisaModel/add-visa-model-modal.component.scss
@@ -1,8 +1,5 @@
 @import '../../../css/vars.scss';
 
-.mat-dialog-title {
-    padding: 10px;
-}
 .avatarAccount {
     border: solid 3px #F99830;
     height: 45px !important;
@@ -10,12 +7,4 @@
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
-}
-
-.modal-container{
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
+}
\ No newline at end of file
diff --git a/src/frontend/app/visa/modal/visa-workflow-modal.component.html b/src/frontend/app/visa/modal/visa-workflow-modal.component.html
index 312dbac3a24..14326fc1a13 100644
--- a/src/frontend/app/visa/modal/visa-workflow-modal.component.html
+++ b/src/frontend/app/visa/modal/visa-workflow-modal.component.html
@@ -1,4 +1,6 @@
-<h1 mat-dialog-title>{{lang.externalVisaWorkflow}}</h1>
-<mat-dialog-content class="modal-container">
-    <app-visa-workflow #appVisaWorkflow [adminMode]="false"></app-visa-workflow>
-</mat-dialog-content>
\ No newline at end of file
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.externalVisaWorkflow}}</h1>
+    <mat-dialog-content>
+        <app-visa-workflow #appVisaWorkflow [adminMode]="false"></app-visa-workflow>
+    </mat-dialog-content>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/visa/modal/visa-workflow-modal.component.scss b/src/frontend/app/visa/modal/visa-workflow-modal.component.scss
index de22a63f264..60cea6b8505 100644
--- a/src/frontend/app/visa/modal/visa-workflow-modal.component.scss
+++ b/src/frontend/app/visa/modal/visa-workflow-modal.component.scss
@@ -1,8 +1,5 @@
 @import '../../../css/vars.scss';
 
-.mat-dialog-title {
-    padding: 10px;
-}
 .avatarAccount {
     border: solid 3px #F99830;
     height: 45px !important;
@@ -10,12 +7,4 @@
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
-}
-
-.modal-container{
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
+}
\ No newline at end of file
diff --git a/src/frontend/css/maarch-material-modal.scss b/src/frontend/css/maarch-material-modal.scss
index 2ead5e44a4e..db267251330 100644
--- a/src/frontend/css/maarch-material-modal.scss
+++ b/src/frontend/css/maarch-material-modal.scss
@@ -1,6 +1,6 @@
 @import 'vars.scss';
 
-.mat-dialog-title {
+/*.mat-dialog-title {
   margin: -24px !important;
   margin-bottom: -24px !important;
   margin-bottom: 0 !important;
@@ -22,4 +22,126 @@
 .mat-dialog-actions, .mat-dialog-title {
   justify-content: center;
   text-align: center;
-}
\ No newline at end of file
+}*/
+
+
+.maarch-full-height-modal {
+  height: 99%;
+  min-height: 99%;
+
+  .mat-dialog-title {
+    margin: 0;
+    padding: 5px;
+    padding-left: 10px;
+    background: $primary;
+    color: white;
+    display: flex;
+    align-items: center;
+
+    small {
+      color: #F99830; 
+    }
+  }
+
+  .mat-dialog-content-container {
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+  }
+
+  .mat-dialog-content {
+    height: 100%;
+    max-height: 100% !important;
+    margin: 0px;
+    position: relative;
+  }
+
+  .mat-dialog-container {
+    padding: 0px;
+  }
+
+  .mat-dialog-actions {
+    margin: 0px;
+    padding: 0px;
+    justify-content: center;
+  }
+
+  .divider-modal {
+    flex: 1 1 auto;
+  }
+}
+
+.maarch-modal {
+  height: auto;
+
+  .mat-dialog-title {
+    margin: 0;
+    padding: 5px;
+    padding-left: 10px;
+    background: $primary;
+    color: white;
+    display: flex;
+    align-items: center;
+
+    small {
+      color: #F99830; 
+    }
+  }
+
+  .mat-dialog-content-container {
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+  }
+
+  .mat-dialog-content {
+    height: 100%;
+    max-height: 100% !important;
+    margin: 0px;
+    position: relative;
+  }
+
+  .mat-dialog-container {
+    padding: 0px;
+  }
+
+  .mat-dialog-actions {
+    margin: 0px;
+    padding: 0px;
+    justify-content: center;
+  }
+
+  .divider-modal {
+    flex: 1 1 auto;
+  }
+}
+
+.attachment-modal-container {
+  .mat-dialog-title {
+      margin: -24px !important;
+      margin-bottom: -24px !important;
+      margin-bottom: 0 !important;
+      background: $primary;
+      color: white;
+      padding: 5px;
+    
+      small {
+        color: #F99830; 
+      }
+    }
+    
+    .mat-dialog-content {
+      padding-top: 10px !important;
+      position: relative;
+      max-height: 80vh !important;
+    }
+    
+    .mat-dialog-actions, .mat-dialog-title {
+      justify-content: center;
+      text-align: center;
+    }
+
+  .mat-dialog-container {
+      padding: 0px;
+  }
+}
-- 
GitLab