diff --git a/CHANGELOG.md b/CHANGELOG.md
index 95949bda1006d91d93f0e112c38a6b64a328d004..1b90d7719a59ad88f90b3a7512ec677faa7dea9a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,33 @@
 
 All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
 
+## [1.11.0](https://forge.grandlyon.com///compare/v1.10.0...v1.11.0) (2022-01-12)
+
+
+### Features
+
+* refactor of reset password and change password ([e90b4a5](https://forge.grandlyon.com///commit/e90b4a5234b33bd6ab2c407c7157876b707a0009))
+* **create-structure:** add alert when structure info is deprecated in structure modification modules ([f03fd00](https://forge.grandlyon.com///commit/f03fd00b0d4e979100ae23177d2386f6550dd02e))
+* **map:** temp remove of france service makers. Use instead default makers ([c6f1a68](https://forge.grandlyon.com///commit/c6f1a68947d9f94ef6c9cde9d47cdc0f9205f626))
+* design refacto for form, pop-up, carto and password-reset ([60337f9](https://forge.grandlyon.com///commit/60337f91071cb501cd80eb9914a564506d1c9a22))
+* **newsletter:** admin can now see newsletter recipients at first loading ([8fa515a](https://forge.grandlyon.com///commit/8fa515acbe59fa0436a8b3017769d27dcbc2386f))
+* add structure description shaping ([f01e39f](https://forge.grandlyon.com///commit/f01e39fbd60cdab1c4b7977102ba0027494f8c0b))
+* **carto:** add 'Conseillers numérique' display on map and code refactor for pin style ([dbddccf](https://forge.grandlyon.com///commit/dbddccf4d66865a28c6ed1e445c2b5f08265a809))
+* handle 0 as default of equipments ([a265f8d](https://forge.grandlyon.com///commit/a265f8de8cf8c86bf23a26523a4d5a49641100b6))
+
+
+### Bug Fixes
+
+* **profile:** update remove user from structure style ([6f56bee](https://forge.grandlyon.com///commit/6f56beec1a2e046e2ad29117021d392b693201b6))
+* **structure-form:** add missing info alert in structure modification categories ([f959d45](https://forge.grandlyon.com///commit/f959d4594140bb9cb7e5e4964c2364379def9a74))
+* **structure-form:** update internet add/remove items text ([d161279](https://forge.grandlyon.com///commit/d1612790d77d6e685f84831f64eaed30b85776f0))
+* add space after ':' ([813fdc0](https://forge.grandlyon.com///commit/813fdc0e1d9b2d1ea24207f6e0b21deef2de272e))
+* borken link un profil for editing structure and .gitlabci rollback ([f3e5884](https://forge.grandlyon.com///commit/f3e5884cb98c8d28802e80b3adeb84f279059bd2))
+* fix create-structure typo ([46a8475](https://forge.grandlyon.com///commit/46a8475deead58480aaac8830a285588e99f1cc6))
+* typo in title tag ([5f51a8f](https://forge.grandlyon.com///commit/5f51a8fa62b9983a5df0768656c1f599f0b4964b))
+* **cicd:** add stop cmd for deploy job ([7c19cd0](https://forge.grandlyon.com///commit/7c19cd089c6104b8551a1cca57a6dd473a1bd616))
+* **news:** fix scroll position when going on an article page ([1a9bd9d](https://forge.grandlyon.com///commit/1a9bd9d63ebf7155eee1a7495a1682e976d14c95))
+
 ## [1.10.0](https://forge.grandlyon.com///compare/v1.9.1...v1.10.0) (2021-12-22)
 
 
diff --git a/package-lock.json b/package-lock.json
index 3bc108ad829e476d6513fe8119d0cf51b45f9d0b..f08d173097762be94ceb8a517a5cc4e2e4e84b35 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "pamn",
-  "version": "1.10.0",
+  "version": "1.11.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index d8b19aab4e250f2c5793dd3397e37862c15855d6..afd4b144520f656fc19f1c26c1d40f07424e89c5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "pamn",
-  "version": "1.10.0",
+  "version": "1.11.0",
   "scripts": {
     "ng": "ng",
     "start": "ng serve --configuration=fr --proxy-config proxy.conf.json",
diff --git a/src/app/admin/components/newsletter-users/newsletter-users.component.html b/src/app/admin/components/newsletter-users/newsletter-users.component.html
index d89d280e15ef1ce273a22540b1eabb1163c3ea1e..ece8e1fef1b235ea75a139efe392960c89ef86fe 100644
--- a/src/app/admin/components/newsletter-users/newsletter-users.component.html
+++ b/src/app/admin/components/newsletter-users/newsletter-users.component.html
@@ -1,7 +1,8 @@
 <div fxLayout="column" fxLayoutGap="5px" fxLayoutAlign="center center" class="userBlock">
   <h2>Gestion abonnement newsletter</h2>
-  <div fxLayout="row">
+  <div fxLayout="row" fxLayoutGap="20px" fxLayoutAlign="center center">
     <button (click)="copySubscription()">Copier les adresses dans le presse papier</button>
+    <button (click)="searchSubscribedEmail('')">Afficher tous les inscrits</button>
   </div>
   <div fxLayout="row">Il y a actuellement {{ subscriptionsCount }} abonnés à la newsletter.</div>
   <div fxLayout="row">
diff --git a/src/app/footer/footer.component.ts b/src/app/footer/footer.component.ts
index e5bb30b81ecb85b19ca6d6521c5a4386ac1993b8..4d75caf8e2a67818fe00134a62a79c16df7df93d 100644
--- a/src/app/footer/footer.component.ts
+++ b/src/app/footer/footer.component.ts
@@ -7,12 +7,4 @@ import { Component } from '@angular/core';
 })
 export class FooterComponent {
   constructor() {}
-
-  public openLegalNotice(): void {
-    console.log('openLegalNotice');
-  }
-
-  public openContactDialog(): void {
-    console.log('openContactDialog');
-  }
 }
diff --git a/src/app/form/structure-form/form.component.html b/src/app/form/structure-form/form.component.html
index 5708572035137182328d49b6c83d14bb02c5002c..827a2522eb9ace02ee8be6f17ab4e6ae8684356d 100644
--- a/src/app/form/structure-form/form.component.html
+++ b/src/app/form/structure-form/form.component.html
@@ -130,11 +130,11 @@
           <p>Ces informations ne seront pas visibles sur la plateforme</p>
         </div>
         <div *ngIf="!isClaimMode" class="title">
-          <h4>Vous possédez déja un compte ? Connectez-vous:</h4>
+          <h4>Vous possédez déja un compte ? Connectez-vous :</h4>
           <button class="btn-primary small next" *ngIf="!isLoggedIn" (click)="isPopUpOpen = !isPopUpOpen">
             Se connecter
           </button>
-          <h4>Sinon, inscrivez-vous en suivant le formulaire ci-dessous:</h4>
+          <h4>Sinon, inscrivez-vous en suivant le formulaire ci-dessous :</h4>
         </div>
         <div class="form-group" fxLayout="column">
           <label for="surname">Nom</label>
@@ -243,16 +243,17 @@
                 invalid: accountForm.get('password').value.length < 8,
                 valid: accountForm.get('password').value.length >= 8
               }"
+              class=""
             >
               <app-svg-icon
                 *ngIf="accountForm.get('password').value.length >= 8"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'validate'"
               ></app-svg-icon>
               <app-svg-icon
                 *ngIf="accountForm.get('password').value.length < 8"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'notValidate'"
               ></app-svg-icon>
@@ -266,18 +267,38 @@
             >
               <app-svg-icon
                 *ngIf="checkIfPasswordHasSpecialChar(accountForm.get('password').value)"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'validate'"
               ></app-svg-icon>
               <app-svg-icon
                 *ngIf="!checkIfPasswordHasSpecialChar(accountForm.get('password').value)"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'notValidate'"
               ></app-svg-icon>
               <p>un caractère spécial</p>
             </li>
+            <li
+              [ngClass]="{
+                invalid: !checkIfPasswordHasLowerCase(accountForm.get('password').value),
+                valid: checkIfPasswordHasLowerCase(accountForm.get('password').value)
+              }"
+            >
+              <app-svg-icon
+                *ngIf="checkIfPasswordHasLowerCase(accountForm.get('password').value)"
+                [iconClass]="'validation-small'"
+                [type]="'form'"
+                [icon]="'validate'"
+              ></app-svg-icon>
+              <app-svg-icon
+                *ngIf="!checkIfPasswordHasLowerCase(accountForm.get('password').value); s"
+                [iconClass]="'validation-small'"
+                [type]="'form'"
+                [icon]="'notValidate'"
+              ></app-svg-icon>
+              <p>un caractère en minuscule</p>
+            </li>
             <li
               [ngClass]="{
                 invalid: !checkIfPasswordHasUpperCase(accountForm.get('password').value),
@@ -286,13 +307,13 @@
             >
               <app-svg-icon
                 *ngIf="checkIfPasswordHasUpperCase(accountForm.get('password').value)"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'validate'"
               ></app-svg-icon>
               <app-svg-icon
                 *ngIf="!checkIfPasswordHasUpperCase(accountForm.get('password').value); s"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'notValidate'"
               ></app-svg-icon>
@@ -306,20 +327,20 @@
             >
               <app-svg-icon
                 *ngIf="checkIfPasswordHasDigit(accountForm.get('password').value)"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'validate'"
               ></app-svg-icon>
               <app-svg-icon
                 *ngIf="!checkIfPasswordHasDigit(accountForm.get('password').value)"
-                [iconClass]="'validation'"
+                [iconClass]="'validation-small'"
                 [type]="'form'"
                 [icon]="'notValidate'"
               ></app-svg-icon>
               <p>un chiffre</p>
             </li>
           </ul>
-          <div fxLayout="row" fxLayoutGap="13px">
+          <div fxLayout="row" fxLayoutAlign="none center" fxLayoutGap="13px">
             <input
               [type]="isShowPassword ? 'text' : 'password'"
               formControlName="password"
@@ -350,7 +371,7 @@
         </div>
         <div class="form-group" fxLayout="column">
           <label for="confirmPassword">Vérification du mot de passe</label>
-          <div fxLayout="row" fxLayoutGap="13px">
+          <div fxLayout="row" fxLayoutAlign="none center" fxLayoutGap="13px">
             <input
               [type]="isShowConfirmPassword ? 'text' : 'password'"
               formControlName="confirmPassword"
@@ -389,6 +410,18 @@
         <div class="title">
           <h3>Quelle structure voulez-vous réferencer ?</h3>
         </div>
+        <p
+          class="missing-information"
+          *ngIf="isEditMode && (!getStructureControl('structureName').valid || !getStructureControl('address').valid)"
+        >
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner tous les champs</span>
+        </p>
         <div class="form-group" fxLayout="column">
           <label for="structureName">Nom de la structure</label>
           <div fxLayout="row" fxLayoutGap="13px">
@@ -429,6 +462,20 @@
         <div class="title">
           <h3>Comment joindre votre structure ?</h3>
         </div>
+        <p
+          class="missing-information"
+          *ngIf="
+            isEditMode && (!getStructureControl('contactPhone').valid || !getStructureControl('contactMail').valid)
+          "
+        >
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner tous les champs</span>
+        </p>
         <div class="form-group" fxLayout="column">
           <label for="contactPhone">Téléphone de la structure</label>
           <div fxLayout="row" fxLayoutGap="13px">
@@ -476,6 +523,15 @@
           <h3>Quel type de structure ?</h3>
           <p>1 seul choix possible</p>
         </div>
+        <p class="missing-information" *ngIf="isEditMode && !getStructureControl('structureType').valid">
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner un champ</span>
+        </p>
         <div class="type-picker">
           <app-structure-type-picker
             [pickedChoice]="
@@ -490,6 +546,15 @@
           <h3>Quelles sont les modalités d'accueil ?</h3>
           <p>Plusieurs choix possibles</p>
         </div>
+        <p class="missing-information" *ngIf="isEditMode && !getStructureControl('accessModality').valid">
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner au moins un champ</span>
+        </p>
         <div *ngIf="accessModality" fxLayout="row wrap" fxLayoutGap="16px" fxLayoutAlign="flex-start">
           <app-checkbox-form
             *ngFor="let module of accessModality.modules"
@@ -502,40 +567,53 @@
         </div>
       </div>
       <div *ngIf="currentPage == pageTypeEnum.structureHours" class="page">
-        <div class="title">
-          <h3>Quels sont les horaires d'ouverture ?</h3>
-          <p class="notRequired">facultatif</p>
-        </div>
-        <app-hour-picker
-          *ngIf="hoursForm"
-          (updateForm)="updateHours($event)"
-          (updateFormError)="setHoursError()"
-          [structureInput]="hoursForm"
-        ></app-hour-picker>
-        <div class="nextTitle">
-          <h3>Avez-vous des précisions à apporter sur les horaires ?</h3>
-          <p class="notRequired">facultatif</p>
+        <div class="section">
+          <div class="title">
+            <h3>Quels sont les horaires d'ouverture ?</h3>
+            <p class="notRequired">facultatif</p>
+          </div>
+          <app-hour-picker
+            *ngIf="hoursForm"
+            (updateForm)="updateHours($event)"
+            (updateFormError)="setHoursError()"
+            [structureInput]="hoursForm"
+          ></app-hour-picker>
         </div>
-        <div class="textareaBlock" fxLayout="column">
-          <textarea
-            rows="8"
-            placeholder="Exemple : nous ne sommes ouvert que le 1er mercredi du mois."
-            maxlength="500"
-            formControlName="exceptionalClosures"
-          ></textarea>
-          <p>
-            {{
-              getStructureControl('exceptionalClosures').value
-                ? getStructureControl('exceptionalClosures').value.length
-                : 0
-            }}/500
-          </p>
+        <div>
+          <div class="title">
+            <h3>Avez-vous des précisions à apporter sur les horaires ?</h3>
+            <p class="notRequired">facultatif</p>
+          </div>
+          <div class="textareaBlock" fxLayout="column">
+            <textarea
+              rows="8"
+              placeholder="Exemple : nous ne sommes ouvert que le 1er mercredi du mois."
+              maxlength="500"
+              formControlName="exceptionalClosures"
+            ></textarea>
+            <p>
+              {{
+                getStructureControl('exceptionalClosures').value
+                  ? getStructureControl('exceptionalClosures').value.length
+                  : 0
+              }}/500
+            </p>
+          </div>
         </div>
       </div>
       <div *ngIf="currentPage == pageTypeEnum.structurePmr" class="page">
         <div class="title">
           <h3>Est-ce accessible pour les personnes à mobilité réduite ?</h3>
         </div>
+        <p class="missing-information" *ngIf="isEditMode && !getStructureControl('pmrAccess').valid">
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner un champ</span>
+        </p>
         <app-radio-form
           [selectedOption]="getStructureControl('pmrAccess').value"
           (selectedEvent)="onRadioBtnChange('pmrAccess', $event)"
@@ -550,7 +628,10 @@
         <div class="collapse" [ngClass]="{ notCollapsed: !showWebsite }">
           <div fxLayout="column">
             <div class="collapseHeader" fxLayout="row" fxLayoutAlign=" center" (click)="toggleWebSite()">
-              <div class="titleCollapse">J’ajoute un site web</div>
+              <div class="titleCollapse">
+                <p [ngClass]="{ show: showWebsite, hide: !showWebsite }" class="no-margin">J'ajoute un site web</p>
+                <p [ngClass]="{ show: !showWebsite, hide: showWebsite }" class="no-margin">Je retire un site web</p>
+              </div>
               <div class="logo">
                 <svg class="show" aria-hidden="true">
                   <use [attr.xlink:href]="'assets/form/sprite.svg#show'"></use>
@@ -593,7 +674,14 @@
         <div class="collapse" [ngClass]="{ notCollapsed: !showSocialNetwork }">
           <div fxLayout="column">
             <div class="collapseHeader" fxLayout="row" fxLayoutAlign=" center" (click)="toggleSocialNetwork()">
-              <div class="titleCollapse">J’ajoute les réseaux sociaux</div>
+              <div class="titleCollapse">
+                <p [ngClass]="{ show: showSocialNetwork, hide: !showSocialNetwork }" class="no-margin">
+                  J’ajoute les réseaux sociaux
+                </p>
+                <p [ngClass]="{ show: !showSocialNetwork, hide: showSocialNetwork }" class="no-margin">
+                  Je retire des réseaux sociaux
+                </p>
+              </div>
               <div class="logo">
                 <svg class="show" aria-hidden="true">
                   <use [attr.xlink:href]="'assets/form/sprite.svg#show'"></use>
@@ -612,7 +700,7 @@
                   <input
                     type="text"
                     (input)="setValidationsForm()"
-                    placeholder="facebook.com/resonum"
+                    placeholder="facebook.com/resin"
                     formControlName="facebook"
                     class="form-input withIcon"
                   />
@@ -644,7 +732,7 @@
                   <input
                     type="text"
                     (input)="setValidationsForm()"
-                    placeholder="twitter.com/resonum"
+                    placeholder="twitter.com/resin"
                     formControlName="twitter"
                     class="form-input withIcon"
                   />
@@ -677,7 +765,7 @@
                     type="text"
                     (input)="setValidationsForm()"
                     formControlName="instagram"
-                    placeholder="instagram.com/resonum"
+                    placeholder="instagram.com/resin"
                     class="form-input withIcon"
                   />
 
@@ -710,7 +798,7 @@
                     type="text"
                     (input)="setValidationsForm()"
                     formControlName="linkedin"
-                    placeholder="linkedin.com/in/resonum"
+                    placeholder="linkedin.com/in/resin"
                     class="form-input withIcon"
                   />
                   <app-svg-icon
@@ -742,6 +830,15 @@
           <h3>Quel public peut venir vous consulter ?</h3>
           <p>Plusieurs choix possibles</p>
         </div>
+        <p class="missing-information" *ngIf="isEditMode && !getStructureControl('publics').valid">
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner au moins un champ</span>
+        </p>
         <div class="tags" *ngIf="publics">
           <button
             *ngFor="let choice of publics.modules"
@@ -862,6 +959,15 @@
         <div class="title">
           <h3>Proposez vous un accompagnement à distance ?</h3>
         </div>
+        <p class="missing-information" *ngIf="isEditMode && !getStructureControl('remoteAccompaniment').valid">
+          <app-svg-icon
+            [iconClass]="'validation'"
+            [type]="'form'"
+            [icon]="'notValidate'"
+            class="validationIcon"
+          ></app-svg-icon>
+          <span>Il faut renseigner un champ</span>
+        </p>
         <app-radio-form
           [selectedOption]="getStructureControl('remoteAccompaniment').value"
           (selectedEvent)="onRadioBtnChange('remoteAccompaniment', $event)"
@@ -957,7 +1063,14 @@
                 fxLayoutAlign=" center"
                 (click)="toggleEquipmentsServices(equipment)"
               >
-                <div class="titleCollapse">{{ equipment.module.text }}</div>
+                <div class="titleCollapse">
+                  <p [ngClass]="{ show: equipment.openned, hide: !equipment.openned }" class="no-margin">
+                    Ajouter des {{ equipment.module.text | lowercase }}
+                  </p>
+                  <p [ngClass]="{ show: !equipment.openned, hide: equipment.openned }" class="no-margin">
+                    Retirer les {{ equipment.module.text | lowercase }}
+                  </p>
+                </div>
                 <div class="logo">
                   <svg class="show" aria-hidden="true">
                     <use [attr.xlink:href]="'assets/form/sprite.svg#show'"></use>
@@ -976,6 +1089,7 @@
                         type="number"
                         (input)="setValidationsForm()"
                         formControlName="nbComputers"
+                        min="0"
                         class="form-input nbEquipment"
                       />
                       <app-svg-icon
@@ -998,6 +1112,7 @@
                         type="number"
                         (input)="setValidationsForm()"
                         formControlName="nbTablets"
+                        min="0"
                         class="form-input nbEquipment"
                       />
                       <app-svg-icon
@@ -1020,6 +1135,7 @@
                         type="number"
                         (input)="setValidationsForm()"
                         formControlName="nbPrinters"
+                        min="0"
                         class="form-input nbEquipment"
                       />
                       <app-svg-icon
@@ -1042,6 +1158,7 @@
                         type="number"
                         (input)="setValidationsForm()"
                         formControlName="nbNumericTerminal"
+                        min="0"
                         class="form-input nbEquipment"
                       />
                       <app-svg-icon
@@ -1064,6 +1181,7 @@
                         type="number"
                         (input)="setValidationsForm()"
                         formControlName="nbScanners"
+                        min="0"
                         class="form-input nbEquipment"
                       />
                       <app-svg-icon
@@ -1168,20 +1286,23 @@
       </div>
     </form>
     <div *ngIf="currentPage == pageTypeEnum.cgu" class="page">
-      <div class="title">
-        <h3>
-          Acceptez-vous que les informations saisies soient enregistrées par la Métropole de Lyon<span class="asterisk"
-            >*</span
-          >
-          ?
-        </h3>
+      <div class="section">
+        <div class="title">
+          <h3>
+            Acceptez-vous que les informations saisies soient enregistrées par la Métropole de Lyon<span
+              class="asterisk"
+              >*</span
+            >
+            ?
+          </h3>
+        </div>
+        <app-checkbox-form
+          [isChecked]="userAcceptSavedDate"
+          [text]="'J\'accepte'"
+          (checkEvent)="acceptDataBeSaved($event)"
+        >
+        </app-checkbox-form>
       </div>
-      <app-checkbox-form
-        [isChecked]="userAcceptSavedDate"
-        [text]="'J\'accepte'"
-        (checkEvent)="acceptDataBeSaved($event)"
-      >
-      </app-checkbox-form>
       <div *ngIf="!profile">
         <div class="title">
           <h3>Acceptez-vous de recevoir des mails d'informations de la part de Res'in ?</h3>
diff --git a/src/app/form/structure-form/form.component.scss b/src/app/form/structure-form/form.component.scss
index ee1d85d299abeb64441bbf5c0ddd7bfdcb55c8a5..c21116ce490e1ec6b4c2a0eb6025a769abcac45f 100644
--- a/src/app/form/structure-form/form.component.scss
+++ b/src/app/form/structure-form/form.component.scss
@@ -13,6 +13,11 @@
 h3 {
   margin: 0;
 }
+
+h4 {
+  margin-bottom: 16px;
+}
+
 .form {
   background: white;
   width: 100vw;
@@ -158,7 +163,7 @@ h3 {
       }
     }
     .title {
-      margin-bottom: 26px;
+      margin-bottom: 10px;
     }
     .nextTitle {
       margin-bottom: 10px;
@@ -187,6 +192,7 @@ h3 {
       }
     }
     &.notRequired {
+      margin-top: 0px;
       font-style: italic;
       color: $secondary-color;
     }
@@ -296,15 +302,16 @@ h3 {
     display: flex;
     margin-left: 1%;
     font-size: small;
+    align-items: center;
     p {
       margin-left: 10px;
-      margin-top: 12px;
+      margin-top: unset;
     }
     &.valid {
       color: $green;
     }
     &.invalid {
-      color: $red;
+      color: $orange-warning;
     }
   }
   .addressRow {
@@ -432,6 +439,10 @@ img {
     width: 100%;
     @include cn-bold-16;
     color: $grey-2;
+    p {
+      color: $grey-2;
+      @include cn-bold-16;
+    }
   }
   .collapseHeader {
     height: 65px;
@@ -446,6 +457,9 @@ img {
       height: 100%;
       fill: $grey-1;
     }
+  }
+  .logo,
+  .titleCollapse {
     .hide {
       display: block;
     }
@@ -562,3 +576,16 @@ img {
   max-width: 530px;
   margin: 0 auto;
 }
+
+.section {
+  padding-bottom: 2rem;
+}
+
+.missing-information {
+  display: flex;
+  color: $orange-warning;
+  span {
+    margin-top: 12px;
+    margin-left: 1%;
+  }
+}
diff --git a/src/app/form/structure-form/form.component.ts b/src/app/form/structure-form/form.component.ts
index f6a90b9bb96165514e27e67d13c32093c955adcc..939f1f52eb59bcf0e0be4ab5d324d764bbacc0b1 100644
--- a/src/app/form/structure-form/form.component.ts
+++ b/src/app/form/structure-form/form.component.ts
@@ -294,24 +294,27 @@ export class FormComponent implements OnInit {
       socialAndProfessional: this.loadArrayForCheckbox(structure.socialAndProfessional, false),
       digitalCultureSecurity: this.loadArrayForCheckbox(structure.digitalCultureSecurity, false),
       nbComputers: new FormControl(
-        structure.equipmentsAndServices.includes('ordinateurs') ? structure.nbComputers : 1,
-        [Validators.required, Validators.pattern(CustomRegExp.NO_NULL_NUMBER)]
+        structure.equipmentsAndServices.includes('ordinateurs') ? structure.nbComputers : 0,
+        [Validators.required, Validators.pattern(CustomRegExp.NO_NEGATIVE_NUMBER), Validators.min(0)]
       ),
-      nbPrinters: new FormControl(structure.equipmentsAndServices.includes('imprimantes') ? structure.nbPrinters : 1, [
+      nbPrinters: new FormControl(structure.equipmentsAndServices.includes('imprimantes') ? structure.nbPrinters : 0, [
         Validators.required,
-        Validators.pattern(CustomRegExp.NO_NULL_NUMBER),
+        Validators.pattern(CustomRegExp.NO_NEGATIVE_NUMBER),
+        Validators.min(0),
       ]),
-      nbTablets: new FormControl(structure.equipmentsAndServices.includes('tablettes') ? structure.nbTablets : 1, [
+      nbTablets: new FormControl(structure.equipmentsAndServices.includes('tablettes') ? structure.nbTablets : 0, [
         Validators.required,
-        Validators.pattern(CustomRegExp.NO_NULL_NUMBER),
+        Validators.pattern(CustomRegExp.NO_NEGATIVE_NUMBER),
+        Validators.min(0),
       ]),
       nbNumericTerminal: new FormControl(
-        structure.equipmentsAndServices.includes('bornesNumeriques') ? structure.nbNumericTerminal : 1,
-        [Validators.required, Validators.pattern(CustomRegExp.NO_NULL_NUMBER)]
+        structure.equipmentsAndServices.includes('bornesNumeriques') ? structure.nbNumericTerminal : 0,
+        [Validators.required, Validators.pattern(CustomRegExp.NO_NEGATIVE_NUMBER), Validators.min(0)]
       ),
-      nbScanners: new FormControl(structure.equipmentsAndServices.includes('scanners') ? structure.nbScanners : 1, [
+      nbScanners: new FormControl(structure.equipmentsAndServices.includes('scanners') ? structure.nbScanners : 0, [
         Validators.required,
-        Validators.pattern(CustomRegExp.NO_NULL_NUMBER),
+        Validators.pattern(CustomRegExp.NO_NEGATIVE_NUMBER),
+        Validators.min(0),
       ]),
       freeWorkShop: new FormControl(structure.freeWorkShop, [Validators.required]),
     });
@@ -872,23 +875,23 @@ export class FormComponent implements OnInit {
         if (!equipment.openned) {
           switch (e.module.id) {
             case Equipment.computer: {
-              this.getStructureControl('nbComputers').setValue(1);
+              this.getStructureControl('nbComputers').setValue(0);
               break;
             }
             case Equipment.printer: {
-              this.getStructureControl('nbPrinters').setValue(1);
+              this.getStructureControl('nbPrinters').setValue(0);
               break;
             }
             case Equipment.tablet: {
-              this.getStructureControl('nbTablets').setValue(1);
+              this.getStructureControl('nbTablets').setValue(0);
               break;
             }
             case Equipment.bornes: {
-              this.getStructureControl('nbNumericTerminal').setValue(1);
+              this.getStructureControl('nbNumericTerminal').setValue(0);
               break;
             }
             case Equipment.scanner: {
-              this.getStructureControl('nbScanners').setValue(1);
+              this.getStructureControl('nbScanners').setValue(0);
               break;
             }
           }
@@ -910,8 +913,17 @@ export class FormComponent implements OnInit {
     if (this.getStructureControl('freeWorkShop').value === null) {
       this.getStructureControl('freeWorkShop').setValue(false);
     }
-    const structure: Structure = this.structureForm.value;
+    let structure: Structure = this.structureForm.value;
     structure.hours = this.hoursForm.value;
+    // Remove equipments if value is 0
+    structure.equipmentsAndServices = structure.equipmentsAndServices.filter((equipments) => {
+      if (equipments === 'ordinateurs' && structure.nbComputers === 0) return false;
+      if (equipments === 'tablettes' && structure.nbTablets === 0) return false;
+      if (equipments === 'scanners' && structure.nbScanners === 0) return false;
+      if (equipments === 'bornesNumeriques' && structure.nbNumericTerminal === 0) return false;
+      if (equipments === 'imprimantes' && structure.nbPrinters === 0) return false;
+      return true;
+    });
     let user: User;
     // If edit mode, update setbystep
     if (this.isEditMode) {
@@ -1037,8 +1049,13 @@ export class FormComponent implements OnInit {
     return false;
   }
 
-  public checkIfPasswordHasUpperCase(password): boolean {
+  public checkIfPasswordHasUpperCase(password: string): boolean {
     if (password.match(CustomRegExp.UPPERCASE)) return true;
     return false;
   }
+
+  public checkIfPasswordHasLowerCase(password: string): boolean {
+    if (password.match(CustomRegExp.LOWERCASE)) return true;
+    return false;
+  }
 }
diff --git a/src/app/header/header.component.scss b/src/app/header/header.component.scss
index 6a991d53b94f128faca52e2aa178ae1258504d87..590c7925e1db7da471356a62138e8b6147ec7bbf 100644
--- a/src/app/header/header.component.scss
+++ b/src/app/header/header.component.scss
@@ -27,6 +27,7 @@
   @include cn-regular-14;
   text-align: initial;
   outline: none;
+  margin-right: 70px;
   p {
     margin: 0;
   }
@@ -74,7 +75,7 @@ a {
   }
 }
 
-@media #{$tablet} {
+@media #{$desktop} {
   .logo-text {
     display: none !important;
   }
diff --git a/src/app/map/components/map.component.scss b/src/app/map/components/map.component.scss
index 07f80bbd7b20aaa67201d3021b9e9ef940317ba3..2da18137b39d352f0a3123a470c164de3791f37f 100644
--- a/src/app/map/components/map.component.scss
+++ b/src/app/map/components/map.component.scss
@@ -87,10 +87,13 @@
   }
   &:hover {
     svg {
-      fill: $red-info;
+      fill: $blue-hover;
       &.mdm {
         fill: #bd9e6a;
       }
+      &.france-service {
+        fill: $red-info;
+      }
     }
   }
 }
diff --git a/src/app/map/components/map.component.ts b/src/app/map/components/map.component.ts
index d3871abcfaf3293dfc5e1e6030895ad3920d1969..13335af944c9d9007955575b6678f7e88dfa3ade 100644
--- a/src/app/map/components/map.component.ts
+++ b/src/app/map/components/map.component.ts
@@ -82,33 +82,51 @@ export class MapComponent implements OnChanges {
     if (changes.toogleToolTipId && changes.toogleToolTipId.currentValue !== changes.toogleToolTipId.previousValue) {
       if (changes.toogleToolTipId.previousValue !== undefined) {
         if (this.isToPrint(changes.toogleToolTipId.previousValue)) {
-          this.mapService.setAddedToListMarker(changes.toogleToolTipId.previousValue);
+          this.mapService.setAddedToListMarker(
+            changes.toogleToolTipId.previousValue,
+            this.getMarkerTypeByStructureId(changes.toogleToolTipId.previousValue)
+          );
         } else {
-          this.mapService.setUnactiveMarker(changes.toogleToolTipId.previousValue);
+          this.mapService.setUnactiveMarker(
+            changes.toogleToolTipId.previousValue,
+            this.getMarkerTypeByStructureId(changes.toogleToolTipId.previousValue)
+          );
         }
       }
       if (changes.toogleToolTipId.currentValue !== undefined) {
-        this.mapService.setActiveMarker(changes.toogleToolTipId.currentValue);
+        this.mapService.setActiveMarker(
+          changes.toogleToolTipId.currentValue,
+          this.getMarkerTypeByStructureId(changes.toogleToolTipId.currentValue)
+        );
       }
     }
     // Handle map marker selection
     if (changes.selectedMarkerId && this.map) {
       this.map.closePopup();
       if (changes.selectedMarkerId.currentValue === undefined) {
-        this.mapService.setDefaultMarker(changes.selectedMarkerId.previousValue);
+        this.mapService.setDefaultMarker(
+          changes.selectedMarkerId.previousValue,
+          this.getMarkerTypeByStructureId(changes.selectedMarkerId.previousValue)
+        );
         this.map.setView(this.mapOptions.center, this.mapOptions.zoom);
       } else {
-        this.mapService.setSelectedMarker(changes.selectedMarkerId.currentValue);
+        this.mapService.setSelectedMarker(
+          changes.selectedMarkerId.currentValue,
+          this.getMarkerTypeByStructureId(changes.selectedMarkerId.currentValue)
+        );
         this.centerLeafletMapOnMarker(changes.selectedMarkerId.currentValue);
       }
     }
 
     if (changes.structuresToPrint) {
       if (changes.structuresToPrint.currentValue < changes.structuresToPrint.previousValue) {
-        this.mapService.setUnactiveMarker(this.toogleToolTipId);
+        this.mapService.setUnactiveMarker(
+          this.toogleToolTipId,
+          this.getMarkerTypeByStructureId(changes.structuresToPrint.previousValue)
+        );
       }
       this.structuresToPrint.forEach((structure: Structure) => {
-        this.mapService.setAddedToListMarker(structure._id);
+        this.mapService.setAddedToListMarker(structure._id, this.getMarkerTypeByStructureId(structure._id));
       });
     }
   }
@@ -142,9 +160,8 @@ export class MapComponent implements OnChanges {
       this.map = this.mapService.cleanMap(this.map);
       this.getStructuresPositions(this.structures);
       this.structuresToPrint.forEach((structure: Structure) => {
-        this.mapService.setAddedToListMarker(structure._id);
+        this.mapService.setAddedToListMarker(structure._id, this.getMarkerTypeByStructureId(structure._id));
       });
-
     }
   }
 
@@ -152,13 +169,33 @@ export class MapComponent implements OnChanges {
     return this.structuresToPrint.findIndex((elem) => elem._id == id) > -1 ? true : false;
   }
 
+  /**
+   * Returns according marker type base on {MarkerType}
+   * @param {Structure} structure
+   * @returns {MarkerType}
+   */
+  private getMarkerType(structure: Structure): MarkerType {
+    return structure.labelsQualifications.includes('conseillerNumFranceServices')
+      ? MarkerType.conseillerFrance
+      : MarkerType.structure;
+  }
+
+  /**
+   * Return the map marker type given a structure id
+   * @param {string} id - Structure id
+   * @returns {MarkerType}
+   */
+  private getMarkerTypeByStructureId(id: string): MarkerType {
+    return this.getMarkerType(this.structures.find((structure) => structure._id === id));
+  }
+
   private getStructuresPositions(structureList: Structure[]): void {
     structureList.forEach((structure: Structure) => {
       this.mapService
         .createMarker(
           structure.getLat(),
           structure.getLon(),
-          MarkerType.structure,
+          this.getMarkerType(structure),
           structure._id,
           this.buildToolTip(structure)
         )
diff --git a/src/app/map/components/markerType.enum.ts b/src/app/map/components/markerType.enum.ts
index 28a427b55b4bb4012d354b7a4947db5819683d46..9d6c395c7d5ad7d50a22fa3d664827da05c7c335 100644
--- a/src/app/map/components/markerType.enum.ts
+++ b/src/app/map/components/markerType.enum.ts
@@ -1,4 +1,5 @@
 export enum MarkerType {
   structure = 0,
   mdm = 1,
+  conseillerFrance = 2,
 }
diff --git a/src/app/map/services/map.service.ts b/src/app/map/services/map.service.ts
index 9657aac8411ff2321d03b4d2fbf6fe325e6f626e..9db3a9ef475732fff3ca758b281f817cd95e8e65 100644
--- a/src/app/map/services/map.service.ts
+++ b/src/app/map/services/map.service.ts
@@ -1,48 +1,24 @@
-import { HttpClient } from '@angular/common/http';
 import { Injectable } from '@angular/core';
-import { DivIcon, divIcon, Map } from 'leaflet';
-import { Marker } from 'leaflet';
-import { Observable } from 'rxjs';
+import { DivIcon, divIcon, Map, Marker } from 'leaflet';
 import { MarkerType } from '../components/markerType.enum';
-import { AddressGeometry } from '../models/addressGeometry.model';
-
+import {
+  markerIcon,
+  markerIconActive,
+  markerIconAddedToList,
+  markerIconFranceService,
+  markerIconFranceServiceActive,
+  markerIconFranceServiceAddedToList,
+  markerIconFranceServiceHover,
+  markerIconHover,
+  markerIconMdm,
+  markerIconMdmActive,
+} from './marker';
 @Injectable({
   providedIn: 'root',
 })
 export class MapService {
   private static markersList = {};
   private isMarkerActive = false;
-  public markerIconActive = divIcon({
-    className: null,
-    html: '<svg width="40" height="46" fill="#A00000"><use xlink:href="assets/ico/sprite.svg#map-marker"></use></svg>',
-    iconSize: [40, 46],
-    iconAnchor: [20, 46],
-    popupAnchor: [0, -46],
-  });
-  public markerIconAddedToList = divIcon({
-    className: null,
-    html:
-      '<svg width="40" height="46" fill="#47C562" stroke="#fff" stroke-width="2"><use xlink:href="assets/ico/sprite.svg#map-marker-added"></use></svg>',
-    iconSize: [40, 46],
-    iconAnchor: [20, 46],
-    popupAnchor: [0, -46],
-  });
-  public markerIcon = divIcon({
-    className: null,
-    html:
-      '<svg width="40" height="46" fill="#348899" stroke="#fff" stroke-width="2"><use xlink:href="assets/ico/sprite.svg#map-marker"></use></svg>',
-    iconSize: [40, 46],
-    iconAnchor: [20, 46],
-    popupAnchor: [0, -46],
-  });
-  public markerIconMdm = divIcon({
-    className: null,
-    html:
-      '<svg width="19" height="24" fill="#D4C4A9" class="mdm"><use xlink:href="assets/ico/sprite.svg#mdm"></use></svg>',
-    iconSize: [19, 24],
-    iconAnchor: [9, 0],
-  });
-  constructor(private http: HttpClient) {}
 
   public createMarker(lat: number, lon: number, markerType: MarkerType, id?: string, tooltip?: string): Marker {
     const marker = new Marker([lat, lon], {
@@ -53,10 +29,20 @@ export class MapService {
       evt.target.openPopup();
     });
 
+    // handle icon change when select marker
+    marker.on('click', (evt) => {
+      evt.target.setIcon(this.getActiveMarkerIcon(markerType));
+    });
+
     if (tooltip) {
       marker.bindPopup(tooltip, {
         autoPan: false,
       });
+
+      // handle icon change when unselect
+      marker.getPopup().on('remove', (evt) => {
+        marker.setIcon(this.getMarkerIcon(markerType));
+      });
     }
 
     if (id) {
@@ -73,29 +59,63 @@ export class MapService {
     }
   }
 
+  // Note: Marke IconFranceService has been removed temporarly on order to rework on buisness needs.
+  // This comment is applied for the next 4 methods
   private getMarkerIcon(markerType: MarkerType): DivIcon {
     if (markerType === MarkerType.mdm) {
-      return this.markerIconMdm;
+      return markerIconMdm;
+    } else if (markerType === MarkerType.conseillerFrance) {
+      // return markerIconFranceService;
+      return markerIcon;
+    } else {
+      return markerIcon;
+    }
+  }
+
+  private getActiveMarkerIcon(markerType: MarkerType): DivIcon {
+    if (markerType === MarkerType.mdm) {
+      return markerIconMdmActive;
+    } else if (markerType === MarkerType.conseillerFrance) {
+      // return markerIconFranceServiceActive;
+      return markerIconActive;
     } else {
-      return this.markerIcon;
+      return markerIconActive;
+    }
+  }
+
+  private getAddedToListMarkerIcon(markerType: MarkerType): DivIcon {
+    if (markerType === MarkerType.conseillerFrance) {
+      // return markerIconFranceServiceAddedToList;
+      return markerIconAddedToList;
+    } else {
+      return markerIconAddedToList;
+    }
+  }
+
+  private getHoverMarkerIcon(markerType: MarkerType): DivIcon {
+    if (markerType === MarkerType.conseillerFrance) {
+      // return markerIconFranceServiceHover;
+      return markerIconHover;
+    } else {
+      return markerIconHover;
     }
   }
 
   /**
    * @param id marker id
    */
-  public setActiveMarker(id: string): void {
-    this.getMarker(id).setIcon(this.markerIconActive);
+  public setActiveMarker(id: string, type: MarkerType = MarkerType.structure): void {
+    this.getMarker(id).setIcon(this.getHoverMarkerIcon(type));
   }
 
-  public setAddedToListMarker(id: string): void {
-    this.getMarker(id).setIcon(this.markerIconAddedToList);
+  public setAddedToListMarker(id: string, type: MarkerType = MarkerType.structure): void {
+    this.getMarker(id).setIcon(this.getAddedToListMarkerIcon(type));
   }
 
-  public setUnactiveMarker(id: string): void {
+  public setUnactiveMarker(id: string, type: MarkerType = MarkerType.structure): void {
     // To skip mouseleave when user emit click on structure list
     if (!this.isMarkerActive) {
-      this.getMarker(id).setIcon(this.getMarkerIcon(MarkerType.structure));
+      this.getMarker(id).setIcon(this.getMarkerIcon(type));
     }
     this.isMarkerActive = false;
   }
@@ -114,9 +134,9 @@ export class MapService {
    * @param id markerId
    * @param html html to display
    */
-  public setSelectedMarker(id: string): void {
+  public setSelectedMarker(id: string, type: MarkerType = MarkerType.structure): void {
     if (id) {
-      this.getMarker(id).setIcon(this.markerIconActive);
+      this.getMarker(id).setIcon(this.getActiveMarkerIcon(type));
       this.isMarkerActive = true;
     }
   }
@@ -126,16 +146,9 @@ export class MapService {
    * @param id markerId
    * @param html html to display
    */
-  public setDefaultMarker(id: string): void {
+  public setDefaultMarker(id: string, type: MarkerType = MarkerType.structure): void {
     if (id) {
-      const markerIcon = divIcon({
-        className: null,
-        html:
-          '<svg width="40" height="46" fill="#348899" stroke="#fff" stroke-width="2"><use xlink:href="assets/ico/sprite.svg#map-marker"></use></svg>',
-        iconSize: [35, 41],
-        iconAnchor: [13, 41],
-      });
-      this.getMarker(id).setIcon(markerIcon);
+      this.getMarker(id).setIcon(this.getMarkerIcon(type));
     }
   }
 
diff --git a/src/app/map/services/marker.ts b/src/app/map/services/marker.ts
new file mode 100644
index 0000000000000000000000000000000000000000..b33008e4e0c0746c02e1e73b4964bf7baadcee2b
--- /dev/null
+++ b/src/app/map/services/marker.ts
@@ -0,0 +1,73 @@
+import { divIcon } from 'leaflet';
+
+export const markerIcon = divIcon({
+  className: null,
+  html: '<svg width="48" height="48" fill="#348899"><use xlink:href="assets/ico/sprite.svg#map-marker"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconActive = divIcon({
+  className: null,
+  html: '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#map-markerSelected"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconHover = divIcon({
+  className: null,
+  html: '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#map-markerHover"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconAddedToList = divIcon({
+  className: null,
+  html: '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#map-marker-added"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconMdm = divIcon({
+  className: null,
+  html:
+    '<svg width="19" height="24" fill="#D4C4A9" class="mdm"><use xlink:href="assets/ico/sprite.svg#mdm"></use></svg>',
+  iconSize: [19, 24],
+  iconAnchor: [9, 0],
+});
+export const markerIconMdmActive = divIcon({
+  className: null,
+  html: '<svg width="19" height="24"><use xlink:href="assets/ico/sprite.svg#mdmActive"></use></svg>',
+  iconSize: [19, 24],
+  iconAnchor: [9, 0],
+});
+export const markerIconFranceService = divIcon({
+  className: null,
+  html:
+    '<svg width="48" height="48" fill="#ED3939" class="france-service"><use xlink:href="assets/ico/sprite.svg#conseillerFranceService"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconFranceServiceActive = divIcon({
+  className: null,
+  html:
+    '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#conseillerFranceServiceSelected"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconFranceServiceHover = divIcon({
+  className: null,
+  html: '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#conseillerFranceServiceHover"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
+export const markerIconFranceServiceAddedToList = divIcon({
+  className: null,
+  html: '<svg width="48" height="48"><use xlink:href="assets/ico/sprite.svg#conseillerFranceServiceAdded"></use></svg>',
+  iconSize: [48, 48],
+  iconAnchor: [24, 48],
+  popupAnchor: [0, -48],
+});
diff --git a/src/app/models/structure.model.ts b/src/app/models/structure.model.ts
index 5fe14f20be3ac59b3a6c832a445e531ad4ca2b69..b6612172572afe1ce4090c0d90d3467680ea41c9 100644
--- a/src/app/models/structure.model.ts
+++ b/src/app/models/structure.model.ts
@@ -94,12 +94,21 @@ export class Structure {
    * Check if a structure has equipments
    */
   public hasEquipments(): boolean {
-    if (this.equipmentsAndServices.length) {
+    if (this.equipmentsAndServices.length && this.hasNotOnlyEmptyEquipments()) {
       return true;
     }
     return false;
   }
 
+  /**
+   * Verify that a structure as not only equipments with 0 as value. This is mostly use for display.
+   * @returns {Boolean} validation
+   */
+  public hasNotOnlyEmptyEquipments(): boolean {
+    if (this.nbComputers + this.nbPrinters + this.nbTablets + this.nbNumericTerminal + this.nbScanners > 0) return true;
+    return false;
+  }
+
   /**
    * Check if a structure has pass Numeric label
    */
diff --git a/src/app/post/components/post-details/post-details.component.ts b/src/app/post/components/post-details/post-details.component.ts
index 317585f7003799f50a5f31ee0fbb68dcd50f9122..856e877660f8bbd653b5f18b0e753f5e46a2eb1c 100644
--- a/src/app/post/components/post-details/post-details.component.ts
+++ b/src/app/post/components/post-details/post-details.component.ts
@@ -1,6 +1,6 @@
 import { Component, OnInit } from '@angular/core';
 import { DomSanitizer } from '@angular/platform-browser';
-import { ActivatedRoute, Router } from '@angular/router';
+import { ActivatedRoute } from '@angular/router';
 import { RouterListenerService } from '../../../services/routerListener.service';
 import { Post } from '../../models/post.model';
 import { PostService } from '../../services/post.service';
@@ -11,15 +11,17 @@ import { PostService } from '../../services/post.service';
   styleUrls: ['./post-details.component.scss'],
 })
 export class PostDetailsComponent implements OnInit {
+  public post: Post;
+
   constructor(
     private activatedRoute: ActivatedRoute,
-    private router: Router,
     private postService: PostService,
     private sanitizer: DomSanitizer,
     private routerListener: RouterListenerService
   ) {}
-  post: Post;
+
   ngOnInit(): void {
+    this.resetScroll();
     if (history.state.data) {
       this.post = new Post(history.state.data);
       this.post.safeHtml = this.sanitizer.bypassSecurityTrustHtml(this.post.html);
@@ -35,4 +37,10 @@ export class PostDetailsComponent implements OnInit {
   public backToPosts(): void {
     this.routerListener.goToPreviousUrl();
   }
+
+  private resetScroll(): void {
+    if (window.scrollY) {
+      window.scroll(0, 0); // reset the scroll position to the top left of the document.
+    }
+  }
 }
diff --git a/src/app/reset-password/reset-password.component.html b/src/app/reset-password/reset-password.component.html
index 13b83e7cc2081b83a70a132f4170fee86090cf56..c242e2554cf47872a68d431f1fd8e6a09663c3d1 100644
--- a/src/app/reset-password/reset-password.component.html
+++ b/src/app/reset-password/reset-password.component.html
@@ -27,44 +27,6 @@
         </div>
       </form>
     </div>
-    <form *ngIf="token" [formGroup]="resetFormChangePassword" (ngSubmit)="onSubmitPassword()">
-      <div class="form-group">
-        <label for="password">Mot de passe</label>
-        <input
-          type="password"
-          autocomplete="on"
-          formControlName="password"
-          class="form-control"
-          [ngClass]="{ 'is-invalid': submitted && fPassword.password.errors }"
-        />
-        <div *ngIf="submitted && fPassword.password.errors" class="invalid-feedback">
-          <div *ngIf="fPassword.password.errors.required">Le mot de passe est obligatoire</div>
-          <div *ngIf="fPassword.password.errors.pattern">
-            Le mot de passe doit avoir au minimun 8 caractères, une majuscule, une minuscule, un chiffre et un caractère
-            spécial.
-          </div>
-        </div>
-      </div>
-      <div class="form-group">
-        <label for="confirmPassword">Confirmation du mot de passe</label>
-        <input
-          type="password"
-          autocomplete="on"
-          formControlName="confirmPassword"
-          class="form-control"
-          [ngClass]="{ 'is-invalid': submitted && fPassword.confirmPassword.errors }"
-        />
-        <div *ngIf="submitted && fPassword.confirmPassword.errors" class="invalid-feedback">
-          <div *ngIf="fPassword.confirmPassword.errors.required">La confirmation du mot de passe est obligatoire</div>
-          <div *ngIf="fPassword.confirmPassword.errors.mustMatch">Les mot de passe ne sont pas les mêmes</div>
-        </div>
-      </div>
-      <div class="form-group">
-        <button [disabled]="loading" class="btn btn-primary">
-          <span *ngIf="loading" class="spinner-border spinner-border-sm mr-1"></span>
-          Enregistrer
-        </button>
-      </div>
-    </form>
+    <app-password-form *ngIf="token" (passwordForm)="onSubmitPassword($event)"></app-password-form>
   </div>
 </div>
diff --git a/src/app/reset-password/reset-password.component.scss b/src/app/reset-password/reset-password.component.scss
index 89432adb7c7705afea0af6c36c265fc467b90db5..74a6e2327d69d543a3b0269ded79b23cce1f89b2 100644
--- a/src/app/reset-password/reset-password.component.scss
+++ b/src/app/reset-password/reset-password.component.scss
@@ -1,11 +1,19 @@
-.resetPasswordForm {
+@import '../../assets/scss/color';
+
+.form-group {
+  margin-bottom: 26px;
+  label {
+    color: $grey-2;
+  }
+  .resetPasswordForm {
     max-width: 500px;
-}
+  }
 
-.button {
+  .button {
     margin-top: 20px;
-}
+  }
 
-.form-input {
-    width: 100%;
-  }
\ No newline at end of file
+  .form-input {
+    width: 256px;
+  }
+}
diff --git a/src/app/reset-password/reset-password.component.ts b/src/app/reset-password/reset-password.component.ts
index 8a0669fd1537a18189274628d6f47591e2787516..627cff9ba6559c3f4f2c4427c8144e6d58648620 100644
--- a/src/app/reset-password/reset-password.component.ts
+++ b/src/app/reset-password/reset-password.component.ts
@@ -2,8 +2,6 @@ import { Component, OnInit } from '@angular/core';
 import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms';
 import { ActivatedRoute, Router } from '@angular/router';
 import { AuthService } from '../services/auth.service';
-import { MustMatch } from '../shared/validator/form';
-import { CustomRegExp } from '../utils/CustomRegExp';
 
 @Component({
   selector: 'app-reset-password',
@@ -12,10 +10,12 @@ import { CustomRegExp } from '../utils/CustomRegExp';
 })
 export class ResetPasswordComponent implements OnInit {
   public resetForm: FormGroup;
-  public resetFormChangePassword: FormGroup;
   public token: string;
   public loading = false;
   public submitted = false;
+  // Condition form
+  public isShowConfirmPassword = false;
+  public isShowPassword = false;
 
   constructor(
     private formBuilder: FormBuilder,
@@ -29,31 +29,16 @@ export class ResetPasswordComponent implements OnInit {
       this.token = params['token'];
     });
 
-    this.initPasswordForm();
     this.resetForm = this.formBuilder.group({
       email: ['', Validators.required],
     });
   }
 
-  private initPasswordForm(): void {
-    this.resetFormChangePassword = this.formBuilder.group(
-      {
-        password: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
-        confirmPassword: [''],
-      },
-      { validator: MustMatch('password', 'confirmPassword') }
-    );
-  }
-
   // getter for form fields
   get f(): { [key: string]: AbstractControl } {
     return this.resetForm.controls;
   }
 
-  get fPassword(): { [key: string]: AbstractControl } {
-    return this.resetFormChangePassword.controls;
-  }
-
   public onSubmit(): void {
     this.submitted = true;
 
@@ -73,16 +58,8 @@ export class ResetPasswordComponent implements OnInit {
     );
   }
 
-  public onSubmitPassword(): void {
-    this.submitted = true;
-
-    // stop here if form is invalid
-    if (this.resetFormChangePassword.invalid) {
-      return;
-    }
-
-    this.loading = true;
-    this.authService.resetPasswordApply(this.token, this.fPassword.password.value).subscribe(
+  public onSubmitPassword(password: string[]): void {
+    this.authService.resetPasswordApply(this.token, password[0]).subscribe(
       () => {
         this.router.navigate(['']);
       },
diff --git a/src/app/resolvers/structure.resolver.ts b/src/app/resolvers/structure.resolver.ts
index 3eb41ce252aca52ff2c6b7e2909e0f1f86e0ae78..a7eb4d9ce340cdd8845b257f4b7b30be730ff03d 100644
--- a/src/app/resolvers/structure.resolver.ts
+++ b/src/app/resolvers/structure.resolver.ts
@@ -11,8 +11,6 @@ export class StructureResolver implements Resolve<Structure> {
 
   resolve(route: ActivatedRouteSnapshot): Observable<Structure> {
     const structureId = route.params.id;
-    console.log(route);
-    console.info(`Resolver: ${structureId}`);
     return this.structureService.getStructure(structureId).pipe(
       map((res) => res),
       catchError(() => {
diff --git a/src/app/shared/components/button/button.component.scss b/src/app/shared/components/button/button.component.scss
index 4cea9a7352ddd480b6aa1f64232a1fe4c0fefe45..6cb409630b7d94df245f131bcc4fd642d25efebf 100644
--- a/src/app/shared/components/button/button.component.scss
+++ b/src/app/shared/components/button/button.component.scss
@@ -24,7 +24,7 @@ button {
 .btnSearch {
   @include background-hash($grey-2);
   border-color: $grey-4;
-  padding: 0 0 4px 5px;
+  padding: 0 0 4px 4px;
   &:hover {
     border-color: $grey-6;
     .searchButton {
@@ -45,7 +45,7 @@ button {
     padding: 3px 16px 3px 16px;
     display: table-cell;
     vertical-align: middle;
-    border-radius: 4px;
+    border-radius: 2px;
     @include btn-bold;
     font-size: 16px;
     &.withIcon {
diff --git a/src/app/shared/components/index.ts b/src/app/shared/components/index.ts
index 1b135b0434953e6a4df2c462451832b238a7a4a2..a797e721135c9fbd92b35583df9ee1c537e33ad6 100644
--- a/src/app/shared/components/index.ts
+++ b/src/app/shared/components/index.ts
@@ -15,6 +15,7 @@ import { ModalConfirmationComponent } from './modal-confirmation/modal-confirmat
 import { StructureOptionsModalComponent } from './structure-options-modal/structure-options-modal.component';
 import { ModalOptionsComponent } from './modal-options/modal-options.component';
 import { TextInputModalComponent } from './text-input-modal/text-input-modal.component';
+import { PasswordFormComponent } from './password-form/password-form.component';
 
 // tslint:disable-next-line: max-line-length
 export {
@@ -35,6 +36,7 @@ export {
   StructureOptionsModalComponent,
   ModalOptionsComponent,
   TextInputModalComponent,
+  PasswordFormComponent,
 };
 
 // tslint:disable-next-line:variable-name
@@ -56,4 +58,5 @@ export const SharedComponents = [
   StructureOptionsModalComponent,
   ModalOptionsComponent,
   TextInputModalComponent,
+  PasswordFormComponent,
 ];
diff --git a/src/app/shared/components/modal-confirmation/modal-confirmation.component.html b/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
index 018d67fad261bcca0cdc5a6252a94a82ee50ef9a..d3b7781e2584fc66258c527ce9274f18c9be7d82 100644
--- a/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
+++ b/src/app/shared/components/modal-confirmation/modal-confirmation.component.html
@@ -4,8 +4,8 @@
       <h3>ATTENTION</h3>
       <p>{{ content }}</p>
       <div class="footerModal" fxLayout="row" fxLayoutAlign="space-around center">
-        <button class="btn-primary small leave" (click)="closeModal(true)">Confirmer</button>
         <button class="btn-primary small" (click)="closeModal(false)">Annuler</button>
+        <button class="btn-primary small leave" (click)="closeModal(true)">Confirmer</button>
       </div>
     </div>
   </div>
diff --git a/src/app/shared/components/modal-confirmation/modal-confirmation.component.scss b/src/app/shared/components/modal-confirmation/modal-confirmation.component.scss
index 21be72c1313f6a4029b0ad37ac392ab271c300ef..bae7c317e9c23938f37ac351bed75b0c9fd5267e 100644
--- a/src/app/shared/components/modal-confirmation/modal-confirmation.component.scss
+++ b/src/app/shared/components/modal-confirmation/modal-confirmation.component.scss
@@ -3,45 +3,10 @@
 @import '../../../../assets/scss/shapes';
 @import '../../../../assets/scss/z-index';
 
-.modalExitContainer {
-  width: 100%;
-  height: 100%;
-  z-index: $modal-z-index;
-  position: absolute;
-  content: '';
-  top: 0;
-  background-color: $modal-background;
+.modalBackground {
   .modal {
     .contentModal {
-      width: 100%;
-      background: $white;
-      padding: 35px 20px 18px 20px;
-      h3 {
-        @include cn-bold-18;
-        color: $orange-warning;
-      }
-      p {
-        @include cn-bold-16;
-        color: $grey-1;
-        text-align: center;
-      }
-      .footerModal {
-        width: 100%;
-        margin-top: 14px;
-        @include cn-bold-16;
-        .leave {
-          background: none;
-          color: $grey-1;
-          text-decoration: underline;
-        }
-      }
+      padding: 20px !important;
     }
-    width: 350px;
-    margin: auto;
-    border-radius: 6px;
-    @include background-hash($grey-2);
-    border: 1px solid $grey-4;
-    margin-top: 50vh;
-    transform: translateY(-50%);
   }
 }
diff --git a/src/app/shared/components/password-form/password-form.component.html b/src/app/shared/components/password-form/password-form.component.html
new file mode 100644
index 0000000000000000000000000000000000000000..e7fd2bb3fd656679d0adb5342e5a06fba677e22e
--- /dev/null
+++ b/src/app/shared/components/password-form/password-form.component.html
@@ -0,0 +1,192 @@
+<form [formGroup]="accountForm" (ngSubmit)="onSubmitPassword()">
+  <div *ngIf="oldPasswordNeeded" class="form-group" fxLayout="column">
+    <label for="oldPassword">Ancien mot de passe</label>
+    <div fxLayout="row" fxLayoutGap="13px">
+      <input
+        [type]="isShowOldPassword ? 'text' : 'password'"
+        formControlName="oldPassword"
+        class="form-input password"
+        autocomplete="on"
+      />
+      <app-svg-icon
+        (click)="showOldPassword()"
+        [type]="'form'"
+        [iconClass]="'grey'"
+        [icon]="'eyePassword'"
+      ></app-svg-icon>
+      <app-svg-icon *ngIf="passwordError" [type]="'form'" [icon]="'notValidate'"></app-svg-icon>
+    </div>
+  </div>
+  <div class="form-group" fxLayout="column">
+    <label for="password">Création de mot de passe</label>
+    Le mot de passe doit contenir au minimum :
+    <ul>
+      <li
+        [ngClass]="{
+          invalid: accountForm.get('password').value.length < 8,
+          valid: accountForm.get('password').value.length >= 8
+        }"
+        class=""
+      >
+        <app-svg-icon
+          *ngIf="accountForm.get('password').value.length >= 8"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'validate'"
+        ></app-svg-icon>
+        <app-svg-icon
+          *ngIf="accountForm.get('password').value.length < 8"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'notValidate'"
+        ></app-svg-icon>
+        <p>8 caractères</p>
+      </li>
+      <li
+        [ngClass]="{
+          invalid: !checkIfPasswordHasSpecialChar(accountForm.get('password').value),
+          valid: checkIfPasswordHasSpecialChar(accountForm.get('password').value)
+        }"
+      >
+        <app-svg-icon
+          *ngIf="checkIfPasswordHasSpecialChar(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'validate'"
+        ></app-svg-icon>
+        <app-svg-icon
+          *ngIf="!checkIfPasswordHasSpecialChar(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'notValidate'"
+        ></app-svg-icon>
+        <p>un caractère spécial</p>
+      </li>
+      <li
+        [ngClass]="{
+          invalid: !checkIfPasswordHasLowerCase(accountForm.get('password').value),
+          valid: checkIfPasswordHasLowerCase(accountForm.get('password').value)
+        }"
+      >
+        <app-svg-icon
+          *ngIf="checkIfPasswordHasLowerCase(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'validate'"
+        ></app-svg-icon>
+        <app-svg-icon
+          *ngIf="!checkIfPasswordHasLowerCase(accountForm.get('password').value); s"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'notValidate'"
+        ></app-svg-icon>
+        <p>un caractère en minuscule</p>
+      </li>
+      <li
+        [ngClass]="{
+          invalid: !checkIfPasswordHasUpperCase(accountForm.get('password').value),
+          valid: checkIfPasswordHasUpperCase(accountForm.get('password').value)
+        }"
+      >
+        <app-svg-icon
+          *ngIf="checkIfPasswordHasUpperCase(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'validate'"
+        ></app-svg-icon>
+        <app-svg-icon
+          *ngIf="!checkIfPasswordHasUpperCase(accountForm.get('password').value); s"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'notValidate'"
+        ></app-svg-icon>
+        <p>un caractère en majuscule</p>
+      </li>
+      <li
+        [ngClass]="{
+          invalid: !checkIfPasswordHasDigit(accountForm.get('password').value),
+          valid: checkIfPasswordHasDigit(accountForm.get('password').value)
+        }"
+      >
+        <app-svg-icon
+          *ngIf="checkIfPasswordHasDigit(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'validate'"
+        ></app-svg-icon>
+        <app-svg-icon
+          *ngIf="!checkIfPasswordHasDigit(accountForm.get('password').value)"
+          [iconClass]="'validation-small'"
+          [type]="'form'"
+          [icon]="'notValidate'"
+        ></app-svg-icon>
+        <p>un chiffre</p>
+      </li>
+    </ul>
+    <div fxLayout="row" fxLayoutAlign="none center" fxLayoutGap="13px">
+      <input
+        [type]="isShowPassword ? 'text' : 'password'"
+        formControlName="password"
+        class="form-input password"
+        autocomplete="on"
+      />
+      <app-svg-icon
+        [iconClass]="'validation grey hover'"
+        [type]="'form'"
+        [icon]="'eyePassword'"
+        (click)="showPassword()"
+      ></app-svg-icon>
+
+      <app-svg-icon
+        *ngIf="accountForm.get('password').valid"
+        [iconClass]="'validation'"
+        [type]="'form'"
+        [icon]="'validate'"
+      ></app-svg-icon>
+      <app-svg-icon
+        *ngIf="accountForm.get('password').invalid && accountForm.get('password').value"
+        [iconClass]="'validation'"
+        [type]="'form'"
+        [icon]="'notValidate'"
+      ></app-svg-icon>
+    </div>
+  </div>
+  <div class="form-group" fxLayout="column">
+    <label for="confirmPassword">Vérification du mot de passe</label>
+    <div fxLayout="row" fxLayoutAlign="none center" fxLayoutGap="13px">
+      <input
+        [type]="isShowConfirmPassword ? 'text' : 'password'"
+        formControlName="confirmPassword"
+        class="form-input password"
+        autocomplete="on"
+      />
+      <app-svg-icon
+        [iconClass]="'validation grey hover'"
+        [type]="'form'"
+        [icon]="'eyePassword'"
+        (click)="showConfirmPassword()"
+      ></app-svg-icon>
+      <app-svg-icon
+        *ngIf="accountForm.get('confirmPassword').valid && accountForm.get('confirmPassword').value"
+        [iconClass]="'validation'"
+        [type]="'form'"
+        [icon]="'validate'"
+      ></app-svg-icon>
+      <app-svg-icon
+        *ngIf="accountForm.get('confirmPassword').invalid && accountForm.get('confirmPassword').value"
+        [iconClass]="'validation'"
+        [type]="'form'"
+        [icon]="'notValidate'"
+      ></app-svg-icon>
+    </div>
+  </div>
+  <div class="form-group" fxLayout="column" fxLayoutAlign="center center">
+    <button
+      class="btn btn-primary"
+      [disabled]="accountForm.get('confirmPassword').invalid || accountForm.get('password').invalid"
+    >
+      <span class="spinner-border spinner-border-sm mr-1"></span>
+      Enregistrer
+    </button>
+  </div>
+</form>
diff --git a/src/app/shared/components/password-form/password-form.component.scss b/src/app/shared/components/password-form/password-form.component.scss
new file mode 100644
index 0000000000000000000000000000000000000000..25461318be322b86a40a9cf69f5c498076551c90
--- /dev/null
+++ b/src/app/shared/components/password-form/password-form.component.scss
@@ -0,0 +1,34 @@
+@import '../../../../assets/scss/color';
+.form-group {
+  margin-bottom: 26px;
+  label {
+    color: $grey-2;
+  }
+  .resetPasswordForm {
+    max-width: 500px;
+  }
+
+  .button {
+    margin-top: 20px;
+  }
+
+  ul {
+    padding-left: 0;
+  }
+
+  li {
+    display: flex;
+    margin-left: 1%;
+    font-size: small;
+    align-items: center;
+    p {
+      margin: 0 10px;
+    }
+    &.valid {
+      color: $green;
+    }
+    &.invalid {
+      color: $orange-warning;
+    }
+  }
+}
diff --git a/src/app/shared/components/password-form/password-form.component.spec.ts b/src/app/shared/components/password-form/password-form.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..9ec4f0cc5ef2b2cc66594fc3759b770b6745394e
--- /dev/null
+++ b/src/app/shared/components/password-form/password-form.component.spec.ts
@@ -0,0 +1,25 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { PasswordFormComponent } from './password-form.component';
+
+describe('PasswordFormComponent', () => {
+  let component: PasswordFormComponent;
+  let fixture: ComponentFixture<PasswordFormComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      declarations: [ PasswordFormComponent ]
+    })
+    .compileComponents();
+  });
+
+  beforeEach(() => {
+    fixture = TestBed.createComponent(PasswordFormComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/src/app/shared/components/password-form/password-form.component.ts b/src/app/shared/components/password-form/password-form.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..76fbeb38a80e06c3504f2c47332ee1e58498928f
--- /dev/null
+++ b/src/app/shared/components/password-form/password-form.component.ts
@@ -0,0 +1,95 @@
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
+import { FormGroup, Validators, AbstractControl, FormBuilder } from '@angular/forms';
+import { CustomRegExp } from '../../../utils/CustomRegExp';
+import { MustMatch } from '../../validator/form';
+@Component({
+  selector: 'app-password-form',
+  templateUrl: './password-form.component.html',
+  styleUrls: ['./password-form.component.scss'],
+})
+export class PasswordFormComponent implements OnInit {
+  public accountForm: FormGroup;
+  // Condition form
+  public isShowOldPassword = false;
+  public isShowConfirmPassword = false;
+  public isShowPassword = false;
+  // Form output
+  @Input() oldPasswordNeeded: boolean = false;
+  @Output() passwordForm = new EventEmitter<string[]>();
+
+  constructor(private formBuilder: FormBuilder) {}
+
+  ngOnInit(): void {
+    this.initPasswordForm();
+  }
+
+  private initPasswordForm(): void {
+    if (!this.oldPasswordNeeded) {
+      this.accountForm = this.formBuilder.group(
+        {
+          password: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
+          confirmPassword: [''],
+        },
+        { validator: MustMatch('password', 'confirmPassword') }
+      );
+    } else {
+      this.accountForm = this.formBuilder.group(
+        {
+          oldPassword: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
+          password: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
+          confirmPassword: [''],
+        },
+        { validator: MustMatch('password', 'confirmPassword') }
+      );
+    }
+  }
+
+  get fPassword(): { [key: string]: AbstractControl } {
+    return this.accountForm.controls;
+  }
+
+  public showPassword(): void {
+    this.isShowPassword = !this.isShowPassword;
+  }
+
+  public showConfirmPassword(): void {
+    this.isShowConfirmPassword = !this.isShowConfirmPassword;
+  }
+
+  public showOldPassword(): void {
+    this.isShowOldPassword = !this.isShowOldPassword;
+  }
+
+  public checkIfPasswordHasSpecialChar(password: string): boolean {
+    if (password.match(CustomRegExp.SPECHAR)) return true;
+    return false;
+  }
+
+  public checkIfPasswordHasDigit(password: string): boolean {
+    if (password.match(CustomRegExp.DIGIT)) return true;
+    return false;
+  }
+
+  public checkIfPasswordHasUpperCase(password: string): boolean {
+    if (password.match(CustomRegExp.UPPERCASE)) return true;
+    return false;
+  }
+
+  public checkIfPasswordHasLowerCase(password: string): boolean {
+    if (password.match(CustomRegExp.LOWERCASE)) return true;
+    return false;
+  }
+
+  public onSubmitPassword(): void {
+    // stop here if form is invalid
+    if (this.accountForm.invalid) {
+      return;
+    }
+
+    if (this.oldPasswordNeeded) {
+      this.passwordForm.emit([this.accountForm.value.password, this.accountForm.value.oldPassword]);
+    } else {
+      this.passwordForm.emit([this.accountForm.value.password]);
+    }
+  }
+}
diff --git a/src/app/shared/components/signin-modal/signin-modal.component.scss b/src/app/shared/components/signin-modal/signin-modal.component.scss
index 35477fdaedbfe32561204ef93463e45fc2e9880a..313841ed3d4925e33c4fd9cac595d81b10acef51 100644
--- a/src/app/shared/components/signin-modal/signin-modal.component.scss
+++ b/src/app/shared/components/signin-modal/signin-modal.component.scss
@@ -11,7 +11,7 @@ h3 {
 }
 .form {
   max-width: 391px;
-  margin: auto;
+  margin: 0 32px;
   width: 100%;
 }
 .emailAlreadyUse {
diff --git a/src/app/shared/components/signup-modal/signup-modal.component.scss b/src/app/shared/components/signup-modal/signup-modal.component.scss
index 554f25628c63e13198d09d2ed3b8b516415b0558..50508b34cb3c42b80a5084689683811416ea17d8 100644
--- a/src/app/shared/components/signup-modal/signup-modal.component.scss
+++ b/src/app/shared/components/signup-modal/signup-modal.component.scss
@@ -26,7 +26,7 @@ h3 {
 }
 .form {
   max-width: 391px;
-  margin: auto;
+  margin: 0 32px;
   margin-bottom: 8%;
 }
 
diff --git a/src/app/shared/components/structure-options-modal/structure-options-modal.component.html b/src/app/shared/components/structure-options-modal/structure-options-modal.component.html
index a9aab9a7872b158601b109ae9e1faf6565da35ab..87739f4797e849ffade723da9210a3b054cfbbaf 100644
--- a/src/app/shared/components/structure-options-modal/structure-options-modal.component.html
+++ b/src/app/shared/components/structure-options-modal/structure-options-modal.component.html
@@ -17,9 +17,8 @@
 </nav>
 <div *ngIf="editModal" class="modalBackground">
   <div class="modal" (clickOutside)="closeModalOptsProfile()">
-    <form
+    <div
       *ngIf="editModal == typeModalProfile.password"
-      [formGroup]="formPassword"
       class="contentModal"
       fxLayout="column"
       fxLayoutAlign="center start"
@@ -29,90 +28,9 @@
         <h2>Changer de mot de passe</h2>
         <div class="ico-close-details" (click)="closeModalOptsProfile()"></div>
       </div>
-      <div class="form-group" fxLayout="column" fxLayoutGap="4px">
-        <label for="oldPassword">Ancien mot de passe</label>
-        <p *ngIf="passwordError" class="special invalid">Votre ancien mot de passe est incorrect.</p>
-        <div fxLayout="row" fxLayoutGap="13px">
-          <input
-            [type]="isShowOldPassword ? 'text' : 'password'"
-            formControlName="oldPassword"
-            class="form-input password"
-            autocomplete="on"
-          />
-          <app-svg-icon
-            (click)="showOldPassword()"
-            [type]="'form'"
-            [iconClass]="'grey'"
-            [icon]="'eyePassword'"
-          ></app-svg-icon>
-          <app-svg-icon *ngIf="passwordError" [type]="'form'" [icon]="'notValidate'"></app-svg-icon>
-        </div>
-      </div>
-      <div class="form-group" fxLayout="column">
-        <label for="password">Nouveau mot de passe</label>
-        <p class="special" [ngClass]="{ invalid: fpass.password.invalid && fpass.password.value }">
-          Le mot de passe doit contenir au minimum : 8 caractères dont un caractère spécial, un caractère en majuscule
-          et un chiffre.
-        </p>
-        <div fxLayout="row" fxLayoutGap="13px">
-          <input
-            [type]="isShowPassword ? 'text' : 'password'"
-            formControlName="password"
-            class="form-input password"
-            autocomplete="on"
-          />
-          <app-svg-icon
-            (click)="showPassword()"
-            [type]="'form'"
-            [iconClass]="'grey'"
-            [icon]="'eyePassword'"
-          ></app-svg-icon>
-          <app-svg-icon *ngIf="fpass.password.valid" [type]="'form'" [icon]="'validate'"></app-svg-icon>
-          <app-svg-icon
-            *ngIf="fpass.password.invalid && fpass.password.value"
-            [type]="'form'"
-            [icon]="'notValidate'"
-          ></app-svg-icon>
-        </div>
-      </div>
-      <div class="form-group" fxLayout="column">
-        <label for="confirmPassword">Confirmation du mot de passe</label>
-        <div fxLayout="row" fxLayoutGap="13px">
-          <input
-            [type]="isShowConfirmPassword ? 'text' : 'password'"
-            formControlName="confirmPassword"
-            class="form-input password"
-            autocomplete="on"
-          />
-          <app-svg-icon
-            (click)="showConfirmPassword()"
-            [type]="'form'"
-            [iconClass]="'grey'"
-            [icon]="'eyePassword'"
-          ></app-svg-icon>
-          <app-svg-icon
-            *ngIf="fpass.confirmPassword.valid && fpass.password.value"
-            [type]="'form'"
-            [icon]="'validate'"
-          ></app-svg-icon>
-          <app-svg-icon
-            *ngIf="fpass.confirmPassword.invalid && fpass.confirmPassword.value"
-            [type]="'form'"
-            [icon]="'notValidate'"
-          ></app-svg-icon>
-        </div>
-      </div>
-      <div class="footerModal" fxLayout="row" fxLayoutAlign="center center">
-        <button
-          type="submit"
-          [ngClass]="{ invalid: formPassword.invalid }"
-          class="btn-primary small leave"
-          (click)="submitPassword()"
-        >
-          Valider
-        </button>
-      </div>
-    </form>
+      <app-password-form [oldPasswordNeeded]="true" (passwordForm)="submitPassword($event)"></app-password-form>
+      <p *ngIf="passwordError" class="special invalid">Votre ancien mot de passe est incorrect.</p>
+    </div>
     <form
       *ngIf="editModal == typeModalProfile.email"
       [formGroup]="formEmail"
@@ -167,7 +85,7 @@
       </div>
       <div fxLayout="column" fxLayoutGap="16px" class="ownersBlock">
         <div class="row removeOwner" *ngFor="let owner of structure.owners" fxLayoutGap="16px">
-          <button class="btn-primary small" (click)="removeOwner(owner.id)">X</button>
+          <button class="btn-primary" (click)="removeOwner(owner.id)">Supprimer</button>
           <span>
             {{ owner.email }}
           </span>
diff --git a/src/app/shared/components/structure-options-modal/structure-options-modal.component.scss b/src/app/shared/components/structure-options-modal/structure-options-modal.component.scss
index 2d34b631ebd55da49121d92ccebbfe0bb6738f65..2463a8f52cf3fdc2379d80cbf8fef02ea48146ba 100644
--- a/src/app/shared/components/structure-options-modal/structure-options-modal.component.scss
+++ b/src/app/shared/components/structure-options-modal/structure-options-modal.component.scss
@@ -45,10 +45,13 @@ button {
   }
 }
 .contentModal {
-  padding: 35px 34px 18px 54px !important;
+  padding: 18px 32px !important;
   .headerModal {
     width: 100%;
   }
+  h2 {
+    margin-right: 20px;
+  }
   p {
     &.special {
       margin: 8px 0;
@@ -63,12 +66,13 @@ button {
     white-space: nowrap;
     width: 84%;
     text-overflow: ellipsis;
+    @include cn-regular-16;
     button {
-      width: 40px;
+      width: 130px;
       background-color: $red-default;
     }
     span {
-      @include cn-bold-18;
+      @include cn-regular-18;
     }
   }
   button {
diff --git a/src/app/shared/components/structure-options-modal/structure-options-modal.component.ts b/src/app/shared/components/structure-options-modal/structure-options-modal.component.ts
index 7f3ea1a62aa72cc0b60bce324ea9e5beedfac267..e87901d8b1f754432b3871e96bf648a9e0634a12 100644
--- a/src/app/shared/components/structure-options-modal/structure-options-modal.component.ts
+++ b/src/app/shared/components/structure-options-modal/structure-options-modal.component.ts
@@ -27,10 +27,6 @@ export class StructureOptionsModalComponent implements OnInit {
   public active: boolean;
 
   // Password profile
-  public formPassword: FormGroup;
-  public isShowOldPassword = false;
-  public isShowPassword = false;
-  public isShowConfirmPassword = false;
   public passwordError = false;
 
   // AddAccount
@@ -57,14 +53,6 @@ export class StructureOptionsModalComponent implements OnInit {
   ) {}
 
   ngOnInit(): void {
-    this.formPassword = this.formBuilder.group(
-      {
-        oldPassword: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
-        password: ['', [Validators.required, Validators.pattern(CustomRegExp.PASSWORD)]],
-        confirmPassword: [''],
-      },
-      { validator: MustMatch('password', 'confirmPassword') }
-    );
     this.formEmail = this.formBuilder.group({
       email: ['', [Validators.required, Validators.pattern(CustomRegExp.EMAIL)]],
     });
@@ -88,21 +76,6 @@ export class StructureOptionsModalComponent implements OnInit {
     return this.formAddAccount.controls;
   }
 
-  // getter for form fields
-  get fpass(): { [key: string]: AbstractControl } {
-    return this.formPassword.controls;
-  }
-
-  public showOldPassword(): void {
-    this.isShowOldPassword = !this.isShowOldPassword;
-  }
-  public showPassword(): void {
-    this.isShowPassword = !this.isShowPassword;
-  }
-  public showConfirmPassword(): void {
-    this.isShowConfirmPassword = !this.isShowConfirmPassword;
-  }
-
   public closeModalOpts(functionType: number): void {
     switch (functionType) {
       case FunctionTypeModalOptions.changeEmail:
@@ -122,7 +95,7 @@ export class StructureOptionsModalComponent implements OnInit {
         this.editModal = TypeModalProfile.deleteAccount;
         break;
       case FunctionTypeModalOptions.editStructure:
-        this.router.navigateByUrl('/create-structure', { state: { data: this.structure.structure } });
+        this.router.navigateByUrl(`/create-structure/${this.structure.structure._id}`);
         break;
       case FunctionTypeModalOptions.removeStructure:
         this.toggleDeleteStructureModal();
@@ -138,14 +111,12 @@ export class StructureOptionsModalComponent implements OnInit {
   public closeModalOptsProfile(): void {
     this.editModal = null;
     this.formEmail.reset();
-    this.formPassword.reset();
   }
 
   public closeModalOptsProfileAndRefresh(): void {
     this.editModal = null;
     //this.formAddAccount.reset();
     this.formEmail.reset();
-    this.formPassword.reset();
     this.closedWithRefresh.emit();
   }
 
@@ -178,15 +149,12 @@ export class StructureOptionsModalComponent implements OnInit {
     this.authService.logout();
   }
 
-  public submitPassword(): void {
+  public submitPassword(passwords: string[]): void {
     // stop here if form is invalid
-    if (this.formPassword.invalid) {
-      return;
-    }
-    this.profileService.changePassword(this.formPassword.value.password, this.formPassword.value.oldPassword).subscribe(
+    this.passwordError = false;
+    this.profileService.changePassword(passwords[0], passwords[1]).subscribe(
       () => {
         this.closeModalOptsProfile();
-        this.formPassword.reset();
         this.passwordError = false;
       },
       (error) => {
diff --git a/src/app/shared/components/svg-icon/svg-icon.component.scss b/src/app/shared/components/svg-icon/svg-icon.component.scss
index 46654c0439c83bb7dd72cdf91fd7082f1822d260..51458d05e5c669593064271c8b2756a6850c87d3 100644
--- a/src/app/shared/components/svg-icon/svg-icon.component.scss
+++ b/src/app/shared/components/svg-icon/svg-icon.component.scss
@@ -19,7 +19,11 @@
   }
   &.validation {
     height: 40px;
-    width: 26px;
+    width: 20px;
+  }
+  &.validation-small {
+    height: 26px;
+    width: 20px;
   }
   &.hover {
     cursor: pointer;
diff --git a/src/app/structure-list/components/modal-filter/modal-filter.component.scss b/src/app/structure-list/components/modal-filter/modal-filter.component.scss
index d4912ddf026efbe64be0a7a5334990ea4d8403d4..909ebb5f2b09f03a55fa89c26af7ca0e3bc095b6 100644
--- a/src/app/structure-list/components/modal-filter/modal-filter.component.scss
+++ b/src/app/structure-list/components/modal-filter/modal-filter.component.scss
@@ -11,13 +11,13 @@
     margin-left: 0;
   }
 
-  margin-left: 213px;
+  margin-left: 201px;
 }
 .modalmoreFilters {
   @media #{$desktop} {
     margin-left: 0;
   }
-  margin-left: 410px;
+  margin-left: 404px;
 }
 .modal {
   max-width: 754px;
diff --git a/src/app/structure-list/components/modal-filter/modal-filter.component.ts b/src/app/structure-list/components/modal-filter/modal-filter.component.ts
index f48250843c5779a0c98a6fa36d676eeb75ac1209..a7df06d0544ba88a61c959686408beebab205075 100644
--- a/src/app/structure-list/components/modal-filter/modal-filter.component.ts
+++ b/src/app/structure-list/components/modal-filter/modal-filter.component.ts
@@ -26,7 +26,6 @@ export class ModalFilterComponent implements OnInit {
   // Management of the checkbox event (Check / Uncheck)
   public onCheckboxChange(event, categ: string): void {
     const checkValue: string = event.target.value;
-    console.log(checkValue);
     if (event.target.checked) {
       this.checkedModules.push(new Module(checkValue, categ));
     } else {
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.html b/src/app/structure-list/components/structure-details/structure-details.component.html
index f4b137831ed91a16ad78e0f20ee05c7a0be4a62e..3f043a99d471d8d93e5c9c6bc2e54071d66ea18b 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.html
+++ b/src/app/structure-list/components/structure-details/structure-details.component.html
@@ -156,9 +156,7 @@
           Supprimer cette structure
         </a>
       </div>
-      <div>
-        {{ structure.description }}
-      </div>
+      <div class="description">{{ structure.description }}</div>
       <div class="info">
         {{ structure.lockdownActivity }}
       </div>
@@ -317,14 +315,21 @@
     </div>
     <div fxLayout="column">
       <p *ngFor="let equipement of filterOnlyEquipments(structure.equipmentsAndServices)" class="no-margin-bottom">
-        {{ getEquipmentsLabel(equipement) }}
-        <span *ngIf="equipement == 'ordinateurs' && structure.nbComputers"> : {{ structure.nbComputers }}</span>
-        <span *ngIf="equipement == 'tablettes' && structure.nbTablets"> : {{ structure.nbTablets }}</span>
+        <span *ngIf="equipement == 'ordinateurs' && structure.nbComputers"
+          >{{ getEquipmentsLabel(equipement) }} : {{ structure.nbComputers }}</span
+        >
+        <span *ngIf="equipement == 'tablettes' && structure.nbTablets"
+          >{{ getEquipmentsLabel(equipement) }} : {{ structure.nbTablets }}</span
+        >
         <span *ngIf="equipement == 'bornesNumeriques' && structure.nbNumericTerminal">
-          : {{ structure.nbNumericTerminal }}</span
+          {{ getEquipmentsLabel(equipement) }} : {{ structure.nbNumericTerminal }}</span
+        >
+        <span *ngIf="equipement == 'imprimantes' && structure.nbPrinters"
+          >{{ getEquipmentsLabel(equipement) }} : {{ structure.nbPrinters }}</span
+        >
+        <span *ngIf="equipement == 'scanners' && structure.nbScanners"
+          >{{ getEquipmentsLabel(equipement) }} : {{ structure.nbScanners }}</span
         >
-        <span *ngIf="equipement == 'imprimantes' && structure.nbPrinters"> : {{ structure.nbPrinters }}</span>
-        <span *ngIf="equipement == 'scanners' && structure.nbScanners"> : {{ structure.nbScanners }}</span>
       </p>
     </div>
   </div>
diff --git a/src/app/structure-list/components/structure-details/structure-details.component.scss b/src/app/structure-list/components/structure-details/structure-details.component.scss
index 8942e91a98032a60065af0729d6207faf0b8036f..eeeb766c4ac0994aaa242314cff65085e6c8e8f6 100644
--- a/src/app/structure-list/components/structure-details/structure-details.component.scss
+++ b/src/app/structure-list/components/structure-details/structure-details.component.scss
@@ -120,6 +120,11 @@ p,
   color: $ram-hover-principal;
 }
 
+.description {
+  white-space: pre-wrap;
+  float: left;
+}
+
 .wrapper {
   width: 100%;
   display: grid;
diff --git a/src/app/structure-list/components/structure-list-search/structure-list-search.component.html b/src/app/structure-list/components/structure-list-search/structure-list-search.component.html
index 3489ad991b80ebaf757209f8cd7c5bc41c68ad49..254eff12547a6498003e24fde1c479ae102a9242 100644
--- a/src/app/structure-list/components/structure-list-search/structure-list-search.component.html
+++ b/src/app/structure-list/components/structure-list-search/structure-list-search.component.html
@@ -96,7 +96,7 @@
   <div class="footerSearchSection isntPhoneContent" fxLayout="row" fxLayoutAlign="space-between center">
     <div class="checkbox no-width">
       <div class="checkboxItem">
-        <label>
+        <label fxLayout="row" fxLayoutAlign="center center">
           <input
             type="checkbox"
             value="passNumerique"
@@ -110,7 +110,7 @@
     </div>
     <div class="checkbox no-width">
       <div class="checkboxItem">
-        <label>
+        <label fxLayout="row" fxLayoutAlign="center center">
           <input
             type="checkbox"
             value="conseillerNumFranceServices"
diff --git a/src/app/structure-list/components/structure-list-search/structure-list-search.component.scss b/src/app/structure-list/components/structure-list-search/structure-list-search.component.scss
index 30116fa01b02b8d72a836fb5e1dff70cdebd1113..46d79929cf959b24e5616c77ebed36e9a59d335f 100644
--- a/src/app/structure-list/components/structure-list-search/structure-list-search.component.scss
+++ b/src/app/structure-list/components/structure-list-search/structure-list-search.component.scss
@@ -39,7 +39,7 @@
     height: 40px;
     width: 100%;
     border: 1px solid $grey-4;
-    padding: 3px 16px 3px 16px;
+    padding: 3px 8px;
     outline: none;
     border-radius: 4px;
     cursor: pointer;
diff --git a/src/app/utils/CustomRegExp.ts b/src/app/utils/CustomRegExp.ts
index 1c88931310d16aa43457945ca0ec29fe08b4949b..6f5d4379933cd95004d181f8f888c312a9f68360 100644
--- a/src/app/utils/CustomRegExp.ts
+++ b/src/app/utils/CustomRegExp.ts
@@ -29,6 +29,7 @@ export class CustomRegExp {
   public static readonly TWITTER: string = '(twitter.com/.{1,})';
   public static readonly INSTAGRAM: string = '(instagram.com/.{1,})';
   public static readonly NO_NULL_NUMBER: string = '[1-9]{1}[0-9]*?';
+  public static readonly NO_NEGATIVE_NUMBER: RegExp = /^\d+$/;
   /**
    * Validate a location request in search bar
    */
diff --git a/src/assets/form/factures.svg b/src/assets/form/factures.svg
index 80ef31646a374d29a33540a755e30c6d721b0588..af7a8847d698b14137c9f62956849aec4f53f139 100644
--- a/src/assets/form/factures.svg
+++ b/src/assets/form/factures.svg
@@ -1,86 +1,86 @@
-<svg width="170" height="142" viewBox="0 0 170 142" fill="none" xmlns="http://www.w3.org/2000/svg">
-<g clip-path="url(#clip0)">
-<g opacity="0.35" filter="url(#filter0_f)">
-<path d="M96.7349 10.5946L25.9592 23.3835L22.9014 54.5339L93.6772 41.7449L96.7349 10.5946Z" fill="#DC2A59"/>
-<path d="M36.6071 82.3114L32.8077 117.377L103.583 104.589L107.383 69.5224L93.6772 41.7449L22.9014 54.5339L36.6071 82.3114Z" fill="#DC2A59"/>
+<svg width="180" height="180" viewBox="0 0 180 180" fill="none" xmlns="http://www.w3.org/2000/svg">
+<g clip-path="url(#clip0_4810_101286)">
+<g opacity="0.35" filter="url(#filter0_f_4810_101286)">
+<path d="M101.735 29.5946L30.9591 42.3835L27.9013 73.5339L98.677 60.7449L101.735 29.5946Z" fill="#DC2A59"/>
+<path d="M41.607 101.311L37.8076 136.377L108.583 123.589L112.383 88.5224L98.677 60.7449L27.9013 73.5339L41.607 101.311Z" fill="#DC2A59"/>
 </g>
-<path opacity="0.55" d="M97.7301 10.6923L97.8594 9.37522L96.5571 9.61055L25.7814 22.3995L25.0378 22.5338L24.964 23.2858L21.9801 53.6842L21.4173 53.7858L21.8783 54.7203L21.7769 55.7532L22.338 55.6519L35.5816 82.4929L31.8135 117.27L31.6695 118.599L32.9855 118.362L103.761 105.573L104.497 105.44L104.578 104.696L108.377 69.6301L108.408 69.3409L108.28 69.0799L94.7003 41.5585L97.7301 10.6923Z" fill="#348899" stroke="#DC2A59" stroke-width="2"/>
-<path d="M36.6072 82.3113L107.383 69.5224L103.584 104.588L32.8078 117.377L36.6072 82.3113Z" fill="#FDECF0"/>
-<path d="M36.6072 82.3114L107.383 69.5225L93.6771 41.745L22.9014 54.5339L36.6072 82.3114Z" fill="#F3D0D9"/>
-<path d="M25.9592 23.3835L96.7349 10.5946L93.6772 41.7449L22.9015 54.5338L25.9592 23.3835Z" fill="#FDECF0"/>
-<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="40" y="72" width="59" height="37">
-<path d="M42.7433 82.9215L98.8361 72.7857L97.8518 88.4515L75.4952 92.4912L74.3715 102.647L40.2676 108.81L42.7433 82.9215Z" fill="#FF0101"/>
+<path opacity="0.55" d="M30.7813 41.3995L30.0377 41.5338L29.9639 42.2858L26.9061 73.4362L26.8782 73.7203L27.0045 73.9763L40.5815 101.493L36.8134 136.27L36.6693 137.599L37.9854 137.362L108.761 124.573L109.497 124.44L109.577 123.696L113.377 88.6301L113.408 88.3409L113.279 88.0799L99.7001 60.5585L102.73 29.6923L102.859 28.3752L101.557 28.6105L30.7813 41.3995Z" fill="#348899" stroke="#DC2A59" stroke-width="2"/>
+<path d="M41.6069 101.311L112.383 88.5224L108.583 123.589L37.8075 136.377L41.6069 101.311Z" fill="#FDECF0"/>
+<path d="M41.6068 101.311L112.383 88.5225L98.6767 60.745L27.901 73.5339L41.6068 101.311Z" fill="#F3D0D9"/>
+<path d="M30.959 42.3835L101.735 29.5946L98.677 60.7449L27.9013 73.5339L30.959 42.3835Z" fill="#FDECF0"/>
+<mask id="mask0_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="45" y="91" width="59" height="37">
+<path d="M47.7432 101.921L103.836 91.7857L102.852 107.452L80.495 111.491L79.3714 121.647L45.2675 127.81L47.7432 101.921Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask0)">
-<rect x="38.2935" y="86.4759" width="66.6075" height="2.70654" transform="rotate(-10.2426 38.2935 86.4759)" fill="#DC2A59"/>
-<path d="M37.0513 95.0104L99.7692 83.6775L99.7514 86.4311L37.5325 97.6738L37.0513 95.0104Z" fill="#DC2A59"/>
-<rect x="36.916" y="103.571" width="66.6075" height="2.70651" transform="rotate(-10.2426 36.916 103.571)" fill="#DC2A59"/>
+<g mask="url(#mask0_4810_101286)">
+<rect x="43.2933" y="105.476" width="66.6075" height="2.70654" transform="rotate(-10.2426 43.2933 105.476)" fill="#DC2A59"/>
+<path d="M42.0508 114.01L104.769 102.678L104.751 105.431L42.532 116.674L42.0508 114.01Z" fill="#DC2A59"/>
+<rect x="41.9158" y="122.571" width="66.6075" height="2.70651" transform="rotate(-10.2426 41.9158 122.571)" fill="#DC2A59"/>
 </g>
-<mask id="mask1" mask-type="alpha" maskUnits="userSpaceOnUse" x="28" y="17" width="61" height="37">
-<path d="M30.7004 27.6837L88.9863 17.1516L86.5106 43.0399L28.2247 53.5719L30.7004 27.6837Z" fill="#FF0101"/>
+<mask id="mask1_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="33" y="36" width="61" height="37">
+<path d="M35.7004 46.6837L93.9863 36.1517L91.5106 62.0399L33.2247 72.572L35.7004 46.6837Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask1)">
-<path d="M27.3296 41.0132L51.2855 36.6845L50.5941 39.5598L27.8109 43.6766L27.3296 41.0132Z" fill="#DC2A59"/>
-<rect x="25.9912" y="48.8185" width="66.6075" height="2.70654" transform="rotate(-10.2426 25.9912 48.8185)" fill="#DC2A59"/>
+<g mask="url(#mask1_4810_101286)">
+<path d="M32.3297 60.0132L56.2856 55.6845L55.5942 58.5598L32.8109 62.6766L32.3297 60.0132Z" fill="#DC2A59"/>
+<rect x="30.9914" y="67.8185" width="66.6075" height="2.70654" transform="rotate(-10.2426 30.9914 67.8185)" fill="#DC2A59"/>
 </g>
-<mask id="mask2" mask-type="alpha" maskUnits="userSpaceOnUse" x="29" y="45" width="71" height="35">
-<path d="M88.263 45.1299L29.9771 55.6619L41.3563 79.0466L99.6421 68.5146L88.263 45.1299Z" fill="#FF0101"/>
+<mask id="mask2_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="34" y="64" width="71" height="35">
+<path d="M93.2625 64.1299L34.9767 74.662L46.3558 98.0467L104.642 87.5146L93.2625 64.1299Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask2)">
-<rect x="31.9019" y="66.3155" width="66.6075" height="2.70654" transform="rotate(-10.2426 31.9019 66.3155)" fill="#DC2A59"/>
-<rect x="27.7964" y="58.8063" width="66.6075" height="2.70653" transform="rotate(-10.2426 27.7964 58.8063)" fill="#DC2A59"/>
-<rect x="35.3418" y="73.945" width="66.6075" height="2.70653" transform="rotate(-10.2426 35.3418 73.945)" fill="#DC2A59"/>
+<g mask="url(#mask2_4810_101286)">
+<rect x="36.9016" y="85.3156" width="66.6075" height="2.70654" transform="rotate(-10.2426 36.9016 85.3156)" fill="#DC2A59"/>
+<rect x="32.7961" y="77.8063" width="66.6075" height="2.70653" transform="rotate(-10.2426 32.7961 77.8063)" fill="#DC2A59"/>
+<rect x="40.3417" y="92.9451" width="66.6075" height="2.70653" transform="rotate(-10.2426 40.3417 92.9451)" fill="#DC2A59"/>
 </g>
 </g>
-<g clip-path="url(#clip1)">
-<g opacity="0.35" filter="url(#filter1_f)">
-<path d="M154.96 36.732L85.0298 19.9223L69.6811 47.2007L139.611 64.0104L154.96 36.732Z" fill="#348899"/>
-<path d="M71.0339 78.1459L53.4288 108.709L123.359 125.519L140.964 94.9556L139.611 64.0104L69.6811 47.2007L71.0339 78.1459Z" fill="#348899"/>
+<g clip-path="url(#clip1_4810_101286)">
+<g opacity="0.35" filter="url(#filter1_f_4810_101286)">
+<path d="M159.96 55.7321L90.0298 38.9224L74.6811 66.2007L144.611 83.0105L159.96 55.7321Z" fill="#348899"/>
+<path d="M76.0339 97.1459L58.4288 127.709L128.359 144.519L145.964 113.956L144.611 83.0105L74.6811 66.2007L76.0339 97.1459Z" fill="#348899"/>
 </g>
-<path opacity="0.55" d="M155.831 37.2224L156.48 36.069L155.193 35.7597L85.2635 18.95L84.5288 18.7734L84.1583 19.432L69.1801 46.0518L68.6241 45.9181L68.6696 46.9592L68.1606 47.8637L68.7149 47.997L70.0222 77.8989L52.5623 108.21L51.8947 109.369L53.1951 109.682L123.125 126.491L123.852 126.666L124.225 126.018L141.83 95.4547L141.976 95.2026L141.963 94.9119L140.622 64.252L155.831 37.2224Z" fill="#348899" stroke="#348899" stroke-width="2"/>
-<path d="M71.0339 78.1458L140.964 94.9555L123.359 125.519L53.4287 108.709L71.0339 78.1458Z" fill="#EAF8FB"/>
-<path d="M71.0335 78.1459L140.963 94.9556L139.61 64.0104L69.6805 47.2007L71.0335 78.1459Z" fill="#C9ECF3"/>
-<path d="M85.0296 19.9223L154.96 36.732L139.611 64.0104L69.6809 47.2007L85.0296 19.9223Z" fill="#EAF8FB"/>
-<mask id="mask3" mask-type="alpha" maskUnits="userSpaceOnUse" x="63" y="81" width="69" height="31">
-<path d="M76.4042 81.1765L131.827 94.4989L124.614 108.44L102.525 103.131L97.4046 111.973L63.7082 103.873L76.4042 81.1765Z" fill="#FF0101"/>
+<path opacity="0.55" d="M90.2635 37.9501L89.5288 37.7735L89.1583 38.432L73.8096 65.7104L73.6696 65.9592L73.682 66.2444L75.0222 96.8989L57.5623 127.21L56.8948 128.369L58.1951 128.682L128.125 145.491L128.852 145.666L129.225 145.018L146.83 114.455L146.976 114.203L146.963 113.912L145.622 83.252L160.831 56.2224L161.48 55.0691L160.193 54.7598L90.2635 37.9501Z" fill="#348899" stroke="#348899" stroke-width="2"/>
+<path d="M76.034 97.1459L145.964 113.956L128.359 144.519L58.4288 127.709L76.034 97.1459Z" fill="#EAF8FB"/>
+<path d="M76.0338 97.1459L145.964 113.956L144.611 83.0104L74.6808 66.2007L76.0338 97.1459Z" fill="#C9ECF3"/>
+<path d="M90.0299 38.9223L159.96 55.732L144.611 83.0104L74.6812 66.2007L90.0299 38.9223Z" fill="#EAF8FB"/>
+<mask id="mask3_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="68" y="100" width="69" height="31">
+<path d="M81.4043 100.177L136.827 113.499L129.614 127.44L107.525 122.131L102.405 130.973L68.7084 122.873L81.4043 100.177Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask3)">
-<rect x="70.8989" y="82.6369" width="66.6075" height="2.70654" transform="rotate(13.5163 70.8989 82.6369)" fill="#348899"/>
-<path d="M66.3237 89.9475L128.292 104.843L127.166 107.357L65.6912 92.5791L66.3237 89.9475Z" fill="#348899"/>
-<rect x="62.751" y="97.728" width="66.6075" height="2.70651" transform="rotate(13.5163 62.751 97.728)" fill="#348899"/>
+<g mask="url(#mask3_4810_101286)">
+<rect x="75.8995" y="101.637" width="66.6075" height="2.70654" transform="rotate(13.5163 75.8995 101.637)" fill="#348899"/>
+<path d="M71.3239 108.948L133.292 123.843L132.167 126.357L70.6913 111.579L71.3239 108.948Z" fill="#348899"/>
+<rect x="67.7513" y="116.728" width="66.6075" height="2.70651" transform="rotate(13.5163 67.7513 116.728)" fill="#348899"/>
 </g>
-<mask id="mask4" mask-type="alpha" maskUnits="userSpaceOnUse" x="74" y="25" width="72" height="38">
-<path d="M87.6366 25.7683L145.226 39.6116L132.53 62.3084L74.9407 48.4651L87.6366 25.7683Z" fill="#FF0101"/>
+<mask id="mask4_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="79" y="44" width="72" height="38">
+<path d="M92.6367 44.7684L150.226 58.6116L137.53 81.3084L79.9408 67.4651L92.6367 44.7684Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask4)">
-<path d="M79.1812 36.6101L102.851 42.2998L101.06 44.6529L78.5486 39.2417L79.1812 36.6101Z" fill="#348899"/>
-<rect x="74.8115" y="43.2148" width="66.6075" height="2.70654" transform="rotate(13.5163 74.8115 43.2148)" fill="#348899"/>
+<g mask="url(#mask4_4810_101286)">
+<path d="M84.1814 55.6102L107.851 61.2999L106.06 63.6529L83.5488 58.2417L84.1814 55.6102Z" fill="#348899"/>
+<rect x="79.8118" y="62.2148" width="66.6075" height="2.70654" transform="rotate(13.5163 79.8118 62.2148)" fill="#348899"/>
 </g>
-<mask id="mask5" mask-type="alpha" maskUnits="userSpaceOnUse" x="75" y="51" width="60" height="40">
-<path d="M133.292 64.9271L75.7023 51.0838L76.6956 77.0712L134.285 90.9144L133.292 64.9271Z" fill="#FF0101"/>
+<mask id="mask5_4810_101286" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="80" y="70" width="60" height="40">
+<path d="M138.292 83.9271L80.7024 70.0838L81.6957 96.0711L139.285 109.914L138.292 83.9271Z" fill="#FF0101"/>
 </mask>
-<g mask="url(#mask5)">
-<rect x="73.1719" y="61.6101" width="66.6075" height="2.70654" transform="rotate(13.5163 73.1719 61.6101)" fill="#117083"/>
-<rect x="72.4395" y="53.0832" width="66.6075" height="2.70653" transform="rotate(13.5163 72.4395 53.0832)" fill="#117083"/>
-<rect x="73.2466" y="69.9789" width="66.6075" height="2.70653" transform="rotate(13.5163 73.2466 69.9789)" fill="#117083"/>
+<g mask="url(#mask5_4810_101286)">
+<rect x="78.1721" y="80.6101" width="66.6075" height="2.70654" transform="rotate(13.5163 78.1721 80.6101)" fill="#117083"/>
+<rect x="77.4398" y="72.0832" width="66.6075" height="2.70653" transform="rotate(13.5163 77.4398 72.0832)" fill="#117083"/>
+<rect x="78.2468" y="88.9789" width="66.6075" height="2.70653" transform="rotate(13.5163 78.2468 88.9789)" fill="#117083"/>
 </g>
 </g>
 <defs>
-<filter id="filter0_f" x="10.9014" y="-1.4054" width="108.481" height="130.783" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<filter id="filter0_f_4810_101286" x="15.9013" y="17.5946" width="108.481" height="130.783" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
 <feFlood flood-opacity="0" result="BackgroundImageFix"/>
 <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
-<feGaussianBlur stdDeviation="6" result="effect1_foregroundBlur"/>
+<feGaussianBlur stdDeviation="6" result="effect1_foregroundBlur_4810_101286"/>
 </filter>
-<filter id="filter1_f" x="41.4287" y="7.92233" width="125.531" height="129.597" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
+<filter id="filter1_f_4810_101286" x="46.4288" y="26.9224" width="125.531" height="129.597" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
 <feFlood flood-opacity="0" result="BackgroundImageFix"/>
 <feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
-<feGaussianBlur stdDeviation="6" result="effect1_foregroundBlur"/>
+<feGaussianBlur stdDeviation="6" result="effect1_foregroundBlur_4810_101286"/>
 </filter>
-<clipPath id="clip0">
-<rect width="109.547" height="112.659" fill="white" transform="translate(0 19.4793) rotate(-10.2426)"/>
+<clipPath id="clip0_4810_101286">
+<rect width="109.547" height="112.659" fill="white" transform="translate(5 38.4794) rotate(-10.2426)"/>
 </clipPath>
-<clipPath id="clip1">
-<rect width="109.547" height="112.659" fill="white" transform="translate(62.8438 5.89041) rotate(13.5163)"/>
+<clipPath id="clip1_4810_101286">
+<rect width="109.547" height="112.659" fill="white" transform="translate(67.8438 24.8904) rotate(13.5163)"/>
 </clipPath>
 </defs>
 </svg>
diff --git a/src/assets/form/schedule.svg b/src/assets/form/schedule.svg
index 87830d059c3cc2cd032e9e35d3b5eb65ff4d6e79..d1c8acb01a20d3ced6cf79cf0a871b96378f6ae8 100644
--- a/src/assets/form/schedule.svg
+++ b/src/assets/form/schedule.svg
@@ -1,5 +1,5 @@
-<svg width="179" height="179" viewBox="0 0 179 179" fill="none" xmlns="http://www.w3.org/2000/svg">
-<circle cx="89.4997" cy="89.5" r="67.2273" fill="#EAF8FB" stroke="#348899" stroke-width="12"/>
+<svg width="180" height="180" viewBox="0 0 180 180" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="89.5" cy="89.5" r="67.2273" fill="#EAF8FB" stroke="#348899" stroke-width="12"/>
 <path opacity="0.35" d="M91.5 40C91.5 38.8954 90.6046 38 89.5 38C88.3954 38 87.5 38.8954 87.5 40H91.5ZM89.5 89.5H87.5C87.5 90.1511 87.817 90.7615 88.3496 91.1361L89.5 89.5ZM120.35 113.636C121.253 114.271 122.501 114.054 123.136 113.15C123.771 112.247 123.554 110.999 122.65 110.364L120.35 113.636ZM87.5 40V89.5H91.5V40H87.5ZM88.3496 91.1361L120.35 113.636L122.65 110.364L90.6504 87.8639L88.3496 91.1361Z" fill="#348899"/>
 <path d="M62.9482 109V81.1562L55.0908 85.876V79.2842C60.1357 76.8408 64.126 73.8174 67.0615 70.2139H69.8037V109H62.9482ZM83.9365 106.073L86.6523 100.431C89.4473 102.61 91.8467 103.7 93.8506 103.7C98.2803 103.7 100.495 100.976 100.495 95.5264C100.495 92.9072 99.9941 91 98.9922 89.8047C97.9902 88.5918 96.3115 87.9854 93.9561 87.9854C91.8291 87.9854 89.7549 89.0312 87.7334 91.123L85.0176 89.3564V70.2139H105.821V76.041H91.6094V82.9492C92.7695 82.4219 94.1582 82.1582 95.7754 82.1582C99.5723 82.1582 102.49 83.2568 104.529 85.4541C106.586 87.6514 107.614 90.7627 107.614 94.7881C107.614 104.614 103.035 109.527 93.877 109.527C90.0801 109.527 86.7666 108.376 83.9365 106.073ZM124.146 69.1855L126.335 72.1123C124.7 73.3604 123.698 74.2832 123.329 74.8809C122.96 75.4785 122.775 76.1113 122.775 76.7793C122.775 77.4824 123.206 78.2646 124.067 79.126C124.929 79.9873 125.359 80.9102 125.359 81.8945C125.359 84.7422 123.953 86.166 121.141 86.166C119.717 86.166 118.609 85.709 117.818 84.7949C117.045 83.8809 116.658 82.6504 116.658 81.1035C116.658 76.252 119.154 72.2793 124.146 69.1855Z" fill="#DC2A59"/>
 </svg>
diff --git a/src/assets/ico/sprite.svg b/src/assets/ico/sprite.svg
index aedc0249dbaa3a6dcaf02af8910115f1f4d2eb33..c86bb8603c610a3b47d673534f2eff2a86e9cdf4 100644
--- a/src/assets/ico/sprite.svg
+++ b/src/assets/ico/sprite.svg
@@ -1,5 +1,22 @@
 <svg xmlns="http://www.w3.org/2000/svg">
-<symbol id="map-marker" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><path d="M19.72 43.73l.706.66.683-.683c2.038-2.04 4.04-3.864 5.934-5.588l.179-.163c6.32-5.755 11.624-10.585 11.624-18.493C38.846 9.267 30.59 1 20.402 1 10.214 1 1.957 9.267 1.957 19.463c0 4.152 1.08 7.233 3.179 10.152 2.04 2.84 5.05 5.523 8.833 8.899l.078.07c1.717 1.531 3.607 3.217 5.672 5.147zm6.508-24.267a5.83 5.83 0 01-5.826 5.833 5.83 5.83 0 01-5.826-5.833 5.83 5.83 0 015.826-5.833 5.83 5.83 0 015.826 5.833z"/></symbol>
+<symbol id="map-marker" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+<path d="M23.74 45.7307L24.4466 46.3909L25.1301 45.7067C27.1682 43.6665 29.1698 41.8435 31.0637 40.1188L31.2426 39.9559C37.5627 34.201 42.8674 29.3707 42.8674 21.463C42.8674 11.2671 34.6104 3 24.4227 3C14.2349 3 5.97791 11.2671 5.97791 21.463C5.97791 25.615 7.05764 28.6957 9.15679 31.6153C11.1977 34.4541 14.2063 37.1381 17.9903 40.514L18.0681 40.5834C19.7853 42.1155 21.6751 43.8015 23.74 45.7307ZM30.2489 21.463C30.2489 24.6856 27.6394 27.2963 24.4227 27.2963C21.2059 27.2963 18.5965 24.6856 18.5965 21.463C18.5965 18.2403 21.2059 15.6296 24.4227 15.6296C27.6394 15.6296 30.2489 18.2403 30.2489 21.463Z" stroke="white" stroke-width="2"/>
+</symbol>
+
+<symbol  id="map-markerSelected" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M23.74 45.7307L24.4466 46.3909L25.1301 45.7067C27.1682 43.6665 29.1698 41.8435 31.0637 40.1188L31.2426 39.9559C37.5627 34.201 42.8674 29.3707 42.8674 21.463C42.8674 11.2671 34.6104 3 24.4227 3C14.2349 3 5.97791 11.2671 5.97791 21.463C5.97791 25.615 7.05764 28.6957 9.15679 31.6153C11.1977 34.4541 14.2063 37.1381 17.9903 40.514L18.0681 40.5834C19.7853 42.1155 21.6751 43.8015 23.74 45.7307ZM30.2489 21.463C30.2489 24.6856 27.6394 27.2963 24.4227 27.2963C21.2059 27.2963 18.5965 24.6856 18.5965 21.463C18.5965 18.2403 21.2059 15.6296 24.4227 15.6296C27.6394 15.6296 30.2489 18.2403 30.2489 21.463Z" fill="#ED3939" stroke="white" stroke-width="2"/>
+</symbol>
+
+<symbol  id="map-markerHover" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M23.74 45.7307L24.4466 46.3909L25.1301 45.7067C27.1682 43.6665 29.1698 41.8435 31.0637 40.1188L31.2426 39.9559C37.5627 34.201 42.8674 29.3707 42.8674 21.463C42.8674 11.2671 34.6104 3 24.4227 3C14.2349 3 5.97791 11.2671 5.97791 21.463C5.97791 25.615 7.05764 28.6957 9.15679 31.6153C11.1977 34.4541 14.2063 37.1381 17.9903 40.514L18.0681 40.5834C19.7853 42.1155 21.6751 43.8015 23.74 45.7307ZM30.2489 21.463C30.2489 24.6856 27.6394 27.2963 24.4227 27.2963C21.2059 27.2963 18.5965 24.6856 18.5965 21.463C18.5965 18.2403 21.2059 15.6296 24.4227 15.6296C27.6394 15.6296 30.2489 18.2403 30.2489 21.463Z" fill="#117083" stroke="white" stroke-width="2"/>
+</symbol>
+
+<symbol id="map-marker-added" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M23.74 45.7307L24.4466 46.3909L25.1301 45.7067C27.1682 43.6665 29.1698 41.8435 31.0637 40.1188L31.2426 39.9559C37.5627 34.201 42.8674 29.3707 42.8674 21.463C42.8674 11.2671 34.6104 3 24.4227 3C14.2349 3 5.97791 11.2671 5.97791 21.463C5.97791 25.615 7.05764 28.6957 9.15679 31.6153C11.1977 34.4541 14.2063 37.1381 17.9903 40.514L18.0681 40.5834C19.7853 42.1155 21.6751 43.8015 23.74 45.7307ZM30.2489 21.463C30.2489 24.6856 27.6394 27.2963 24.4227 27.2963C21.2059 27.2963 18.5965 24.6856 18.5965 21.463C18.5965 18.2403 21.2059 15.6296 24.4227 15.6296C27.6394 15.6296 30.2489 18.2403 30.2489 21.463Z" fill="#47C562" stroke="white" stroke-width="2"/>
+<circle cx="24.5" cy="21.5" r="11.5" fill="white"/>
+<path d="M32.3299 15.8789C31.7108 15.3285 30.7627 15.3843 30.2123 16.0035L23.0123 24.1034L18.9396 20.8308C18.2939 20.3118 17.3497 20.4147 16.8308 21.0604C16.3119 21.7062 16.4147 22.6504 17.0605 23.1693L22.2457 27.3359C22.8688 27.8367 23.7752 27.7607 24.3064 27.1632L32.4545 17.9966C33.0049 17.3774 32.9491 16.4293 32.3299 15.8789Z" fill="#47C562"/>
+</symbol>
+
 <symbol id="adress" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">
 <path fill-rule="evenodd" clip-rule="evenodd" d="M11 2C12.6055 2.0145 14.1397 2.68885 15.265 3.87463C16.3902 5.06042 17.0142 6.66048 16.9998 8.32269C16.9998 11.8208 12.1242 19 11 19C9.87584 19 5.00025 11.8208 5.00025 8.32269C4.98578 6.66048 5.60982 5.06042 6.73504 3.87463C7.86026 2.68885 9.39446 2.0145 11 2ZM10.9999 5.55695C12.0865 5.53677 13.0768 6.19906 13.5059 7.23274C13.9349 8.26643 13.7173 9.4661 12.9553 10.2683C12.1933 11.0704 11.0384 11.3157 10.0329 10.8888C9.02744 10.4619 8.37129 9.44779 8.37266 8.32272C8.36215 6.80858 9.53743 5.57133 10.9999 5.55695Z" fill="#333333"/>
 </symbol>
@@ -17,7 +34,6 @@
 <path d="M19 21C19.5523 21 20 20.5523 20 20V7C20 6.44772 19.5523 6 19 6H16V17C16 17.5523 15.5523 18 15 18H9V20C9 20.5523 9.44772 21 10 21H19Z" fill="#32383D"/>
 </symbol>
 
-
 <symbol id="copy" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
 <path fill-rule="evenodd" clip-rule="evenodd" d="M4 4C4 3.44771 4.44772 3 5 3H14C14.5523 3 15 3.44772 15 4V6H9C8.44772 6 8 6.44772 8 7V18H5C4.44772 18 4 17.5523 4 17V4ZM10 7C9.44772 7 9 7.44772 9 8V20C9 20.5523 9.44771 21 10 21H19C19.5523 21 20 20.5523 20 20V8C20 7.44772 19.5523 7 19 7H10Z" fill="#32383D"/>
 </symbol>
@@ -50,7 +66,6 @@
 <path d="M18.0992 4.36723C17.7086 3.9767 17.0755 3.9767 16.6849 4.36723L13.1494 7.90276L9.61388 4.36723C9.22336 3.9767 8.59019 3.9767 8.19967 4.36723C7.80914 4.75775 7.80914 5.39092 8.19967 5.78144L11.7352 9.31698L8.19967 12.8525C7.80914 13.243 7.80914 13.8762 8.19967 14.2667C8.59019 14.6572 9.22336 14.6572 9.61388 14.2667L13.1494 10.7312L16.6849 14.2667C17.0755 14.6572 17.7086 14.6572 18.0992 14.2667C18.4897 13.8762 18.4897 13.243 18.0992 12.8525L14.5636 9.31698L18.0992 5.78144C18.4897 5.39092 18.4897 4.75775 18.0992 4.36723Z" fill="white"/>
 </symbol>
 
-
 <symbol id="remove" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
 <path d="M6.97363 12.9062C6.34733 12.9062 5.89876 12.7877 5.62793 12.5507C5.36556 12.3053 5.23438 11.9879 5.23438 11.5986C5.23438 11.2092 5.36556 10.8961 5.62793 10.6591C5.89876 10.4137 6.34733 10.2952 6.97363 10.3036C14.44 10.3036 10.571 10.3036 17.0156 10.3036C17.6419 10.3036 18.0863 10.4221 18.3486 10.6591C18.6195 10.8961 18.7549 11.2092 18.7549 11.5986C18.7549 11.9879 18.6195 12.3053 18.3486 12.5507C18.0863 12.7877 17.6419 12.9062 17.0156 12.9062C9.63742 12.9062 13.3678 12.9062 6.97363 12.9062Z" stroke="none"/>
 </symbol>
@@ -206,7 +221,6 @@
 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 12C5.44772 12 5 12.4477 5 13V21H9V17H23V21H27V13C27 12.4477 26.5523 12 26 12H6Z"/>
 </symbol>
 
-
 <symbol id="menu" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
 <rect x="5" y="9" width="23" height="2" rx="1" fill="#333333"/>
 <rect x="5" y="15" width="23" height="2" rx="1" fill="#333333"/>
@@ -233,7 +247,6 @@
 <path d="M16.9696 9.5759C18.0037 8.95863 18.6962 7.82861 18.6962 6.53684C18.6962 4.5835 17.1127 3 15.1593 3C13.206 3 11.6225 4.5835 11.6225 6.53684C11.6225 7.82861 12.315 8.95863 13.349 9.5759C11.81 10.2675 10.7383 11.8139 10.7383 13.6105V15.1579H19.5804V13.6105C19.5804 11.8139 18.5087 10.2675 16.9696 9.5759Z" stroke="none"/>
 </symbol>
 
-
 <symbol id="calendar" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">
 <path d="M8 10H5V13H8V10Z" fill="#333333"/>
 <path fill-rule="evenodd" clip-rule="evenodd" d="M6 2C5.44772 2 5 2.44772 5 3V4H3C2.44772 4 2 4.44772 2 5V19C2 19.5523 2.44772 20 3 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44772 19.5523 4 19 4H17V3C17 2.44772 16.5523 2 16 2C15.4477 2 15 2.44772 15 3V4H7V3C7 2.44772 6.55229 2 6 2ZM4 9V18H18V9H4Z" fill="#333333"/>
@@ -254,6 +267,49 @@
 <path fill-rule="evenodd" clip-rule="evenodd" d="M2.84054 5.57617C1.72559 6.04339 1 7.13416 1 8.34305V23H8V18.5C8 17.6716 8.67157 17 9.5 17C10.3284 17 11 17.6716 11 18.5V23H18V8.40362C18 7.1644 17.2381 6.05271 16.0823 5.60565L14.5555 5.01505C14.1291 4.85011 13.746 4.5899 13.4355 4.2543L10.9183 1.5332C10.1451 0.6974 8.83121 0.674761 8.0297 1.48343L5.19821 4.34018C4.92065 4.62023 4.5906 4.84281 4.22694 4.9952L2.84054 5.57617ZM11 4.5C11 5.32843 10.3284 6 9.5 6C8.67157 6 8 5.32843 8 4.5C8 3.67157 8.67157 3 9.5 3C10.3284 3 11 3.67157 11 4.5ZM4.25 15.9354C3.54057 16.0544 3 16.6714 3 17.4146V18.75H4.25V15.9354ZM3 21.9146V19.25H4.25V21.9146H3ZM4.75 21.9146V19.25H6V21.9146H4.75ZM6 17.4146V18.75H4.75V15.9354C5.45943 16.0544 6 16.6714 6 17.4146ZM13 17.4146C13 16.6714 13.5406 16.0544 14.25 15.9354V18.75H13V17.4146ZM13 19.25V21.9146H14.25V19.25H13ZM14.75 19.25V21.9146H16V19.25H14.75ZM16 18.75V17.4146C16 16.6714 15.4594 16.0544 14.75 15.9354V18.75H16ZM14.25 8C13.5406 8.11902 13 8.73601 13 9.47926V10.8146H14.25V8ZM13 13.9793V11.3146H14.25V13.9793H13ZM14.75 13.9793V11.3146H16V13.9793H14.75ZM16 9.47926V10.8146H14.75V8C15.4594 8.11902 16 8.73601 16 9.47926ZM8 9.47926C8 8.73601 8.54057 8.11902 9.25 8V10.8146H8V9.47926ZM8 11.3146V13.9793H9.25V11.3146H8ZM9.75 11.3146V13.9793H11V11.3146H9.75ZM11 10.8146V9.47926C11 8.73601 10.4594 8.11902 9.75 8V10.8146H11ZM4.25 8C3.54057 8.11902 3 8.73601 3 9.47926V10.8146H4.25V8ZM3 13.9793V11.3146H4.25V13.9793H3ZM4.75 13.9793V11.3146H6V13.9793H4.75ZM6 9.47926V10.8146H4.75V8C5.45943 8.11902 6 8.73601 6 9.47926Z" stroke="none"/>
 </symbol>
 
+<symbol id="mdm" viewBox="0 0 18 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M0 23.1087V7.95171C0 6.54134 0.84652 5.26877 2.1473 4.72368L3.5337 4.14271C3.83675 4.01572 4.11179 3.83024 4.34309 3.59687L7.17458 0.740107C8.17647 -0.270723 9.81889 -0.242424 10.7854 0.802322L13.3026 3.52342C13.5613 3.80309 13.8805 4.01994 14.2359 4.15738L15.7627 4.74798C17.1111 5.26956 18 6.56652 18 8.01228V23.1087H10V18.1087C10 17.5564 9.55229 17.1087 9 17.1087C8.44772 17.1087 8 17.5564 8 18.1087V23.1087H0ZM10.5 22.6087V18.1087C10.5 17.2802 9.82843 16.6087 9 16.6087C8.17157 16.6087 7.5 17.2802 7.5 18.1087V22.6087H0.5V7.95171C0.5 6.74282 1.22559 5.65205 2.34054 5.18483L3.72694 4.60386C4.0906 4.45147 4.42065 4.22889 4.69821 3.94885L7.5297 1.09209C8.33121 0.283422 9.64515 0.306061 10.4183 1.14186L12.9355 3.86296C13.246 4.19857 13.6291 4.45878 14.0555 4.62371L15.5823 5.21431C16.7381 5.66137 17.5 6.77306 17.5 8.01228V22.6087H10.5Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M2.34054 5.18483C1.22559 5.65205 0.5 6.74282 0.5 7.95171V22.6087L7.5 22.6087V18.1087C7.5 17.2802 8.17157 16.6087 9 16.6087C9.82843 16.6087 10.5 17.2802 10.5 18.1087V22.6087L17.5 22.6087V8.01228C17.5 6.77306 16.7381 5.66137 15.5823 5.21431L14.0555 4.62371C13.6291 4.45877 13.246 4.19856 12.9355 3.86296L10.4183 1.14186C9.64515 0.306061 8.33121 0.283422 7.5297 1.09209L4.69821 3.94885C4.42065 4.22889 4.0906 4.45147 3.72694 4.60386L2.34054 5.18483ZM10.5 4.10866C10.5 4.93709 9.82843 5.60866 9 5.60866C8.17157 5.60866 7.5 4.93709 7.5 4.10866C7.5 3.28023 8.17157 2.60866 9 2.60866C9.82843 2.60866 10.5 3.28023 10.5 4.10866ZM3.75 15.544C3.04057 15.6631 2.5 16.2801 2.5 17.0233V18.3587H3.75V15.544ZM2.5 21.5233V18.8587H3.75V21.5233H2.5ZM4.25 21.5233V18.8587H5.5V21.5233H4.25ZM5.5 17.0233V18.3587H4.25V15.544C4.95943 15.6631 5.5 16.2801 5.5 17.0233ZM12.5 17.0233C12.5 16.2801 13.0406 15.6631 13.75 15.544V18.3587H12.5V17.0233ZM12.5 18.8587V21.5233H13.75V18.8587H12.5ZM14.25 18.8587V21.5233H15.5V18.8587H14.25ZM15.5 18.3587V17.0233C15.5 16.2801 14.9594 15.6631 14.25 15.544V18.3587H15.5ZM13.75 7.60866C13.0406 7.72768 12.5 8.34467 12.5 9.08792V10.4233H13.75V7.60866ZM12.5 13.5879V10.9233H13.75V13.5879H12.5ZM14.25 13.5879V10.9233H15.5V13.5879H14.25ZM15.5 9.08792V10.4233H14.25V7.60866C14.9594 7.72768 15.5 8.34467 15.5 9.08792ZM7.5 9.08792C7.5 8.34467 8.04057 7.72768 8.75 7.60866V10.4233H7.5V9.08792ZM7.5 10.9233V13.5879H8.75V10.9233H7.5ZM9.25 10.9233V13.5879H10.5V10.9233H9.25ZM10.5 10.4233V9.08792C10.5 8.34467 9.95943 7.72768 9.25 7.60866V10.4233H10.5ZM3.75 7.60866C3.04057 7.72768 2.5 8.34467 2.5 9.08792V10.4233H3.75V7.60866ZM2.5 13.5879V10.9233H3.75V13.5879H2.5ZM4.25 13.5879V10.9233H5.5V13.5879H4.25ZM5.5 9.08792V10.4233H4.25V7.60866C4.95943 7.72768 5.5 8.34467 5.5 9.08792Z"/>
+</symbol>
+
+<symbol id="mdmActive" viewBox="0 0 18 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M0 23.1087V7.95171C0 6.54134 0.84652 5.26877 2.1473 4.72368L3.5337 4.14271C3.83675 4.01572 4.11179 3.83024 4.34309 3.59687L7.17458 0.740107C8.17647 -0.270723 9.81889 -0.242424 10.7854 0.802322L13.3026 3.52342C13.5613 3.80309 13.8805 4.01994 14.2359 4.15738L15.7627 4.74798C17.1111 5.26956 18 6.56652 18 8.01228V23.1087H10V18.1087C10 17.5564 9.55229 17.1087 9 17.1087C8.44772 17.1087 8 17.5564 8 18.1087V23.1087H0ZM10.5 22.6087V18.1087C10.5 17.2802 9.82843 16.6087 9 16.6087C8.17157 16.6087 7.5 17.2802 7.5 18.1087V22.6087H0.5V7.95171C0.5 6.74282 1.22559 5.65205 2.34054 5.18483L3.72694 4.60386C4.0906 4.45147 4.42065 4.22889 4.69821 3.94885L7.5297 1.09209C8.33121 0.283422 9.64515 0.306061 10.4183 1.14186L12.9355 3.86296C13.246 4.19857 13.6291 4.45878 14.0555 4.62371L15.5823 5.21431C16.7381 5.66137 17.5 6.77306 17.5 8.01228V22.6087H10.5Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M2.34054 5.18483C1.22559 5.65205 0.5 6.74282 0.5 7.95171V22.6087L7.5 22.6087V18.1087C7.5 17.2802 8.17157 16.6087 9 16.6087C9.82843 16.6087 10.5 17.2802 10.5 18.1087V22.6087L17.5 22.6087V8.01228C17.5 6.77306 16.7381 5.66137 15.5823 5.21431L14.0555 4.62371C13.6291 4.45877 13.246 4.19856 12.9355 3.86296L10.4183 1.14186C9.64515 0.306061 8.33121 0.283422 7.5297 1.09209L4.69821 3.94885C4.42065 4.22889 4.0906 4.45147 3.72694 4.60386L2.34054 5.18483ZM10.5 4.10866C10.5 4.93709 9.82843 5.60866 9 5.60866C8.17157 5.60866 7.5 4.93709 7.5 4.10866C7.5 3.28023 8.17157 2.60866 9 2.60866C9.82843 2.60866 10.5 3.28023 10.5 4.10866ZM3.75 15.544C3.04057 15.6631 2.5 16.2801 2.5 17.0233V18.3587H3.75V15.544ZM2.5 21.5233V18.8587H3.75V21.5233H2.5ZM4.25 21.5233V18.8587H5.5V21.5233H4.25ZM5.5 17.0233V18.3587H4.25V15.544C4.95943 15.6631 5.5 16.2801 5.5 17.0233ZM12.5 17.0233C12.5 16.2801 13.0406 15.6631 13.75 15.544V18.3587H12.5V17.0233ZM12.5 18.8587V21.5233H13.75V18.8587H12.5ZM14.25 18.8587V21.5233H15.5V18.8587H14.25ZM15.5 18.3587V17.0233C15.5 16.2801 14.9594 15.6631 14.25 15.544V18.3587H15.5ZM13.75 7.60866C13.0406 7.72768 12.5 8.34467 12.5 9.08792V10.4233H13.75V7.60866ZM12.5 13.5879V10.9233H13.75V13.5879H12.5ZM14.25 13.5879V10.9233H15.5V13.5879H14.25ZM15.5 9.08792V10.4233H14.25V7.60866C14.9594 7.72768 15.5 8.34467 15.5 9.08792ZM7.5 9.08792C7.5 8.34467 8.04057 7.72768 8.75 7.60866V10.4233H7.5V9.08792ZM7.5 10.9233V13.5879H8.75V10.9233H7.5ZM9.25 10.9233V13.5879H10.5V10.9233H9.25ZM10.5 10.4233V9.08792C10.5 8.34467 9.95943 7.72768 9.25 7.60866V10.4233H10.5ZM3.75 7.60866C3.04057 7.72768 2.5 8.34467 2.5 9.08792V10.4233H3.75V7.60866ZM2.5 13.5879V10.9233H3.75V13.5879H2.5ZM4.25 13.5879V10.9233H5.5V13.5879H4.25ZM5.5 9.08792V10.4233H4.25V7.60866C4.95943 7.72768 5.5 8.34467 5.5 9.08792Z" fill="#ED3939"/>
+</symbol>
+
+<symbol id="mdmHover" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M15 35.1087V19.9517C15 18.5413 15.8465 17.2688 17.1473 16.7237L18.5337 16.1427C18.8367 16.0157 19.1118 15.8302 19.3431 15.5969L22.1746 12.7401C23.1765 11.7293 24.8189 11.7576 25.7854 12.8023L28.3026 15.5234C28.5613 15.8031 28.8805 16.0199 29.2359 16.1574L30.7627 16.748C32.1111 17.2696 33 18.5665 33 20.0123V35.1087H25V30.1087C25 29.5564 24.5523 29.1087 24 29.1087C23.4477 29.1087 23 29.5564 23 30.1087V35.1087H15ZM25.5 34.6087V30.1087C25.5 29.2802 24.8284 28.6087 24 28.6087C23.1716 28.6087 22.5 29.2802 22.5 30.1087V34.6087H15.5V19.9517C15.5 18.7428 16.2256 17.652 17.3405 17.1848L18.7269 16.6039C19.0906 16.4515 19.4206 16.2289 19.6982 15.9488L22.5297 13.0921C23.3312 12.2834 24.6451 12.3061 25.4183 13.1419L27.9355 15.863C28.246 16.1986 28.6291 16.4588 29.0555 16.6237L30.5823 17.2143C31.7381 17.6614 32.5 18.7731 32.5 20.0123V34.6087H25.5Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M17.3405 17.1848C16.2256 17.652 15.5 18.7428 15.5 19.9517V34.6087L22.5 34.6087V30.1087C22.5 29.2802 23.1716 28.6087 24 28.6087C24.8284 28.6087 25.5 29.2802 25.5 30.1087V34.6087L32.5 34.6087V20.0123C32.5 18.7731 31.7381 17.6614 30.5823 17.2143L29.0555 16.6237C28.6291 16.4588 28.246 16.1986 27.9355 15.863L25.4183 13.1419C24.6451 12.3061 23.3312 12.2834 22.5297 13.0921L19.6982 15.9488C19.4206 16.2289 19.0906 16.4515 18.7269 16.6039L17.3405 17.1848ZM25.5 16.1087C25.5 16.9371 24.8284 17.6087 24 17.6087C23.1716 17.6087 22.5 16.9371 22.5 16.1087C22.5 15.2802 23.1716 14.6087 24 14.6087C24.8284 14.6087 25.5 15.2802 25.5 16.1087ZM18.75 27.544C18.0406 27.6631 17.5 28.2801 17.5 29.0233V30.3587H18.75V27.544ZM17.5 33.5233V30.8587H18.75V33.5233H17.5ZM19.25 33.5233V30.8587H20.5V33.5233H19.25ZM20.5 29.0233V30.3587H19.25V27.544C19.9594 27.6631 20.5 28.2801 20.5 29.0233ZM27.5 29.0233C27.5 28.2801 28.0406 27.6631 28.75 27.544V30.3587H27.5V29.0233ZM27.5 30.8587V33.5233H28.75V30.8587H27.5ZM29.25 30.8587V33.5233H30.5V30.8587H29.25ZM30.5 30.3587V29.0233C30.5 28.2801 29.9594 27.6631 29.25 27.544V30.3587H30.5ZM28.75 19.6087C28.0406 19.7277 27.5 20.3447 27.5 21.0879V22.4233H28.75V19.6087ZM27.5 25.5879V22.9233H28.75V25.5879H27.5ZM29.25 25.5879V22.9233H30.5V25.5879H29.25ZM30.5 21.0879V22.4233H29.25V19.6087C29.9594 19.7277 30.5 20.3447 30.5 21.0879ZM22.5 21.0879C22.5 20.3447 23.0406 19.7277 23.75 19.6087V22.4233H22.5V21.0879ZM22.5 22.9233V25.5879H23.75V22.9233H22.5ZM24.25 22.9233V25.5879H25.5V22.9233H24.25ZM25.5 22.4233V21.0879C25.5 20.3447 24.9594 19.7277 24.25 19.6087V22.4233H25.5ZM18.75 19.6087C18.0406 19.7277 17.5 20.3447 17.5 21.0879V22.4233H18.75V19.6087ZM17.5 25.5879V22.9233H18.75V25.5879H17.5ZM19.25 25.5879V22.9233H20.5V25.5879H19.25ZM20.5 21.0879V22.4233H19.25V19.6087C19.9594 19.7277 20.5 20.3447 20.5 21.0879Z" fill="#BD9E6A"/>
+</symbol>
+
+<symbol id="conseillerFranceService" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
+<path d="M24.1752 4.3111L12 11.3612V25.4094L23.5247 45.3111H24.8255L36.3503 25.4094V11.3612L24.1752 4.3111Z"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M24.1752 2L38.3503 10.2083V25.9467L25.9785 47.3111H22.3718L10 25.9467V10.2082L24.1752 2ZM12 25.4094V11.3612L24.1752 4.31111L36.3503 11.3612V25.4094L24.8255 45.3111H23.5247L12 25.4094Z" fill="white"/>
+<path d="M27.661 16.3823H32.2657V13.7028L24.175 9.02002L16.0582 13.7028V23.0682L24.175 27.725L32.2657 23.0682V20.3887H27.661V16.3823Z" fill="white"/>
+<path d="M27.661 20.3886V16.3823L24.1749 14.3531L20.6889 16.3823V20.3886L24.1749 22.3918L27.661 20.3886Z" fill="#000091"/>
+</symbol>
+
+<symbol id="conseillerFranceServiceSelected" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M24.1752 4.3111L12 11.3612V25.4094L23.5247 45.3111H24.8255L36.3503 25.4094V11.3612L24.1752 4.3111Z" fill="white"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M24.1752 2L38.3503 10.2083V25.9467L25.9785 47.3111H22.3718L10 25.9467V10.2082L24.1752 2ZM12 25.4094V11.3612L24.1752 4.31111L36.3503 11.3612V25.4094L24.8255 45.3111H23.5247L12 25.4094Z" fill="#ED3939"/>
+<path d="M27.661 16.3823H32.2657V13.7028L24.175 9.02002L16.0582 13.7028V23.0682L24.175 27.725L32.2657 23.0682V20.3887H27.661V16.3823Z" fill="#ED3939"/>
+<path d="M27.661 20.3886V16.3823L24.1749 14.3531L20.6889 16.3823V20.3886L24.1749 22.3918L27.661 20.3886Z" fill="#3B3BE7"/>
+</symbol>
+
+<symbol id="conseillerFranceServiceAdded" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M24.1752 4.3111L12 11.3612V25.4094L23.5247 45.3111H24.8255L36.3503 25.4094V11.3612L24.1752 4.3111Z" fill="#47C562"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M24.1752 2L38.3503 10.2083V25.9467L25.9785 47.3111H22.3718L10 25.9467V10.2082L24.1752 2ZM12 25.4094V11.3612L24.1752 4.31111L36.3503 11.3612V25.4094L24.8255 45.3111H23.5247L12 25.4094Z" fill="white"/>
+<path d="M32.5 23.5746V13.9001L24.25 9L16 13.9001V23.5746L24.25 28.4118L32.5 23.5746Z" fill="white"/>
+<path d="M30.6177 15.3789C29.9985 14.8285 29.0504 14.8843 28.5 15.5035L23.452 21.1104L20.4396 18.507C19.7939 17.988 18.8497 18.0909 18.3308 18.7366C17.8119 19.3824 17.9147 20.3266 18.5605 20.8455L22.6853 24.3429C23.3085 24.8436 24.2149 24.7677 24.746 24.1702L30.7422 17.4966C31.2926 16.8774 31.2368 15.9293 30.6177 15.3789Z" fill="#47C562"/>
+</symbol>
+
+<symbol id="conseillerFranceServiceHover" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M24.1752 4.3111L12 11.3612V25.4094L23.5247 45.3111H24.8255L36.3503 25.4094V11.3612L24.1752 4.3111Z" fill="#A00000"/>
+<path fill-rule="evenodd" clip-rule="evenodd" d="M24.1752 2L38.3503 10.2083V25.9467L25.9785 47.3111H22.3718L10 25.9467V10.2082L24.1752 2ZM12 25.4094V11.3612L24.1752 4.31111L36.3503 11.3612V25.4094L24.8255 45.3111H23.5247L12 25.4094Z" fill="white"/>
+<path d="M27.661 16.3823H32.2657V13.7028L24.175 9.02002L16.0582 13.7028V23.0682L24.175 27.725L32.2657 23.0682V20.3887H27.661V16.3823Z" fill="white" fill-opacity="0.8"/>
+<path d="M27.661 20.3886V16.3823L24.1749 14.3531L20.6889 16.3823V20.3886L24.1749 22.3918L27.661 20.3886Z" fill="#010176"/>
+</symbol>
+
 <symbol id="borne" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg">
 <rect x="5" width="12" height="9" rx="1" stroke-width="1.9" fill="none"/>
 <path d="M6 14H16L14.6364 22H7.36364L6 14Z"/>
@@ -282,12 +338,6 @@
 <circle cx="49.5" cy="56.5" r="10.5" fill="#BDBDBD"/>
 </symbol>
 
-<symbol id="map-marker-added" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg">
-<path d="M24.2664 45.7307L24.9731 46.391L25.6566 45.7067C27.6947 43.6665 29.6963 41.8435 31.5902 40.1188L31.7691 39.9559C38.0892 34.201 43.3939 29.3707 43.3939 21.463C43.3939 11.2671 35.1369 3 24.9491 3C14.7614 3 6.50439 11.2671 6.50439 21.463C6.50439 25.615 7.58413 28.6957 9.68328 31.6153C11.7242 34.454 14.7328 37.1381 18.5168 40.514L18.5946 40.5834C20.3118 42.1155 22.2016 43.8015 24.2664 45.7307Z" fill="#47C562" stroke="white" stroke-width="2"/>
-<path d="M24.9487 31.4971C30.4716 31.4971 34.9487 27.0199 34.9487 21.4971C34.9487 15.9742 30.4716 11.4971 24.9487 11.4971C19.4259 11.4971 14.9487 15.9742 14.9487 21.4971C14.9487 27.0199 19.4259 31.4971 24.9487 31.4971Z" fill="white"/>
-<path d="M20.1143 21.9233L24.0031 25.0483L30.1143 18.1733" stroke="#47C562" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
-</symbol>
-
 <symbol id="locateMe" width="25" height="34" viewBox="0 0 24 27" fill="none" xmlns="http://www.w3.org/2000/svg">
 <path fill-rule="evenodd" clip-rule="evenodd" d="M15.5591 23.2986C19.8303 19.413 23.125 16.4157 23.125 11.5C23.125 5.14873 17.9763 0 11.625 0C5.27373 0 0.125 5.14873 0.125 11.5C0.125 16.6933 2.79938 19.0768 7.87479 23.6001C9.00649 24.6087 10.2576 25.7237 11.625 27C12.9811 25.6439 14.3117 24.4334 15.5591 23.2986ZM11.625 16C14.1103 16 16.125 13.9853 16.125 11.5C16.125 9.01472 14.1103 7 11.625 7C9.13972 7 7.125 9.01472 7.125 11.5C7.125 13.9853 9.13972 16 11.625 16Z" fill="#828282"/>
 </symbol>
diff --git a/src/assets/scss/_typography.scss b/src/assets/scss/_typography.scss
index b4067a7947b1711598343a1f9b8a2f991bced8a3..658823519f422e22bfd7c68b609b95b705302417 100644
--- a/src/assets/scss/_typography.scss
+++ b/src/assets/scss/_typography.scss
@@ -174,5 +174,5 @@ h6,
 
 @mixin btn-pass {
   @include cn-regular-14;
-  line-height: 21px;
+  line-height: 15.5px;
 }
diff --git a/src/index.html b/src/index.html
index c9703dd3515e00bef74d2ce52b5b07e9f90a4fca..865dbc0a11b20140011dc5ae517b1f7d7bfceedd 100644
--- a/src/index.html
+++ b/src/index.html
@@ -8,7 +8,7 @@
     <title>Réseau des Acteurs de l'Inclusion Numérique de la Métropole de Lyon</title>
 
     <!-- Search Engine -->
-    <meta name="title" content="Rés'In | Réseau des Acteurs de l'Inclusion Numérique de la Métropole de Lyon" />
+    <meta name="title" content="Rés'In | Réseau des acteurs de l'inclusion numérique de la métropole de Lyon" />
     <meta
       name="description"
       content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
@@ -17,7 +17,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1" />
 
     <!-- Open Graph general -->
-    <meta property="og:title" content="Rés'In | Réseau des Acteurs de l'Inclusion Numérique de la Métropole de Lyon" />
+    <meta property="og:title" content="Rés'In | Réseau des acteurs de l'inclusion numérique de la métropole de Lyon" />
     <meta
       property="og:description"
       content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
@@ -31,7 +31,7 @@
 
     <!-- Twitter -->
     <meta name="twitter:card" content="summary_large_image" />
-    <meta name="twitter:title" content="Rés'In | Réseau des Acteurs de l'Inclusion Numérique de la Métropole de Lyon" />
+    <meta name="twitter:title" content="Rés'In | Réseau des acteurs de l'inclusion numérique de la métropole de Lyon" />
     <meta
       name="twitter:description"
       content="Retrouver tous les lieux de la médiation numérique de la métropole mais aussi les actualités, projets, ressources, études et appels à projet liès à l'inclusion numérique..."
diff --git a/src/styles.scss b/src/styles.scss
index 1e80fc9f46ed949568c4ec1f57e01aa63504d33f..ed277ef13c5f961ff8ba4316e9e4713f5d450520 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -119,11 +119,11 @@ button {
     cursor: pointer;
   }
   .label {
-    padding-left: 16px;
+    padding-left: 8px;
     padding-right: 10px;
     @include btn-pass;
     &.pass {
-      @include cn-regular-18;
+      @include cn-regular-16;
     }
   }
   .customCheck {
@@ -202,7 +202,7 @@ button {
     .contentModal {
       width: 100%;
       background: $white;
-      padding: 35px 20px 18px 20px;
+      padding-top: 20px;
     }
     .footerModal {
       width: 100%;
@@ -226,7 +226,6 @@ button {
       }
     }
     min-width: 350px;
-    width: 80%;
     max-width: 560px;
     margin: auto;
     border-radius: 6px;