diff --git a/webapp/api/http_request.js b/webapp/api/http_request.js
index d4eb519aed46a1dc76cb85eaf2c468fd1957e473..de708b07558832961f1c800556e9c34cedbca95d 100644
--- a/webapp/api/http_request.js
+++ b/webapp/api/http_request.js
@@ -4,6 +4,28 @@ var config = require('../config/config.json')
 var search = require('../class/appointement/search_cities')
 
 module.exports = {
+  get_city: (name) => {
+    const url = "https://nominatim.openstreetmap.org/search?email=marc888@hotmail.ch&q=" + name + "&format=json&addressdetails=1"
+
+    return new Promise(function(resolve, reject){
+
+      request(url, function (error, response, body) {
+        if(error){
+          reject(error)
+        }else{
+          body = JSON.parse(body)
+
+          console.log(body);
+
+          console.log("Get city: " + "cholet" + " for entry: " + name);
+
+          resolve("cholet")
+        }
+      })
+
+    })
+  },
+
   get_cities: (point) => {
     var city_param = config.city_search
 
@@ -60,9 +82,6 @@ module.exports = {
 
     const url = "https://nominatim.openstreetmap.org/search?email=marc888@hotmail.ch&q=" + address + "&format=json&addressdetails=1"
 
-    coordinate.lat = 47.3723941
-    coordinate.lon = 8.5423328
-
     return new Promise(function(resolve, reject){
 
       request(url, function (error, response, body) {
diff --git a/webapp/class/appointement/appointement.js b/webapp/class/appointement/appointement.js
index a6a06d198524a18d5ada512a955a5c13f24a6fb2..fa2fc6f96275c547db072de4e37fef6151c5ce6c 100644
--- a/webapp/class/appointement/appointement.js
+++ b/webapp/class/appointement/appointement.js
@@ -1,5 +1,6 @@
 "use strict"
 var db = require('../db/db_request')
+var email = require('../email/email')
 
 module.exports = {
   choose_appointment: (idMeeting, callback) => {
@@ -41,6 +42,7 @@ function choose_date(idMeeting, callback){
 
     if(percentage < 80){
       console.log("J'envoie un mail à tout le monde pour leur dire");
+      //email.send()
     }
 
 
diff --git a/webapp/class/appointement/city.js b/webapp/class/appointement/city.js
index 0d35cfc7728c3b5a0c73925c324531f2156b5133..d6ed6e6cdebf462ebc527f63e2c3b45ff13617dc 100644
--- a/webapp/class/appointement/city.js
+++ b/webapp/class/appointement/city.js
@@ -178,7 +178,7 @@ function validate_city(idMeeting, city_to, date){
           console.log(error);
         })
       }
-      
+
 
       // wait for all promises to be done
       Promise.all(promises).then(function(){
@@ -188,7 +188,12 @@ function validate_city(idMeeting, city_to, date){
 
         diff = max - min
 
-        res({city: city_to, diff: diff});
+        //var sum = tableTimes.reduce((previous, current) => current += previous);
+        //var avg = sum / tableTimes.length;
+
+        console.log("Sum: ", sum);
+
+        res({city: city_to, diff: diff, avg: 'holet'});
 
       }, function(error){
         console.log(error);
diff --git a/webapp/class/db/db_request.js b/webapp/class/db/db_request.js
index e5ed6b3346ae722d49c7b02becd84b94c99b2751..e841e70886ef8bf8093c1e0c667f0e454ccd7e71 100644
--- a/webapp/class/db/db_request.js
+++ b/webapp/class/db/db_request.js
@@ -2,39 +2,31 @@
 var db = require('./connect_db')
 
 module.exports = {
-  // MEETING
+
+  // ----- GET -----
   get_meeting: (idMeeting, callback) => {
     let query = "SELECT * FROM t_meeting WHERE idMeeting = ?";
 
     db.query(query, idMeeting, (error, results, fields) => {
-      var json
-        if (error){
-          json = ''
-        }else {
-          json = JSON.parse(results[0]['data'])
-        }
+      if (error) throw error;
 
-        callback(json)
+      callback(JSON.parse(results[0]['data']))
     })
   },
 
-  get_ids: (callback) => {
-    let query = "SELECT idMeeting FROM t_meeting"
-
-    db.query(query, (error, results, fields) => {
-        if (error) throw error;
-
-        callback(results)
+  get_user: (idMeeting, idUser, callback) => {
+    get_users(idMeeting, function(users){
+      callback(users[idUser])
     })
   },
 
-  reset_meeting: (idMeeting, callback) => {
-    let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.percentage', 0, '$.location', '', '$.date', CAST('{}' AS JSON)) WHERE idMeeting = ?"
+  get_ids: (callback) => {
+    let query = "SELECT idMeeting FROM t_meeting"
 
-    db.query(query, idMeeting, (error, results, fields) => {
-        if (error) throw error;
+    db.query(query, (error, results, fields) => {
+      if (error) throw error;
 
-        callback()
+      callback(results)
     })
   },
 
@@ -90,30 +82,43 @@ module.exports = {
     })
   },
 
+
+
+
+  // ----- ADD -----
+
   add_user: (idMeeting, data, callback) => {
     let query = "UPDATE t_meeting SET data = JSON_ARRAY_APPEND(data, '$.user_table', CAST(? AS JSON)) WHERE idMeeting = ?"
 
     db.query(query, [data, idMeeting], (error, results, fields) => {
-        if (error) throw error;
-        callback(results)
+      if (error) throw error;
+      callback(results)
     })
   },
 
-  count_users: (idMeeting, callback) => {
-    get_users(idMeeting, function(users){
+  create_meeting: (id, data, callback) => {
+    let query = "INSERT INTO t_meeting (idMeeting, data) VALUES (?, ?);"
 
-      callback(users.length)
+    db.query(query, [id, data], (error, results, fields) => {
+      if (error) throw error;
+      console.log("Meeting created");
+
+      callback(results)
     })
   },
 
-  create_meeting: (id, data, callback) => {
-    let query = "INSERT INTO t_meeting (idMeeting, data) VALUES (?, ?);"
 
-    db.query(query, [id, data], (error, results, fields) => {
-        if (error) throw error;
-        console.log("Meeting created");
 
-        callback(results)
+  // ----- UPDATE -----
+  update_user: (idMeeting, idUser, data, callback) => {
+    let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.user_table[?]', CAST(? AS JSON)) WHERE idMeeting = ?"
+
+    db.query(query, [idUser, data, idMeeting], (error, results, fields) => {
+      if (error) throw error;
+
+      console.log('User', idUser, 'have been updated:', data);
+      
+      callback(results)
     })
   },
 
@@ -122,10 +127,10 @@ module.exports = {
 
 
     db.query(query, [city_to, idMeeting], (error, results, fields) => {
-        if (error) throw error;
+      if (error) throw error;
 
-        console.log('Appointement city changed to : ' + city_to);
-        callback(results)
+      console.log('Appointement city changed to : ' + city_to);
+      callback(results)
     })
   },
 
@@ -133,10 +138,10 @@ module.exports = {
     let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.date', CAST(? AS JSON), '$.percentage', ?) WHERE idMeeting = ?"
 
     db.query(query, [date, percentage, idMeeting], (error, results, fields) => {
-        if (error) throw error;
+      if (error) throw error;
 
-        console.log('Appointement changed to : ' + date);
-        callback(results)
+      console.log('Appointement changed to : ' + date);
+      callback(results)
     })
   },
 
@@ -144,21 +149,47 @@ module.exports = {
     let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.user_table[?].journey', CAST(? AS JSON)) WHERE idMeeting = ?"
 
     db.query(query, [idUser, data, idMeeting], (error, results, fields) => {
-        if (error) throw error;
+      if (error) throw error;
 
-        console.log('Journey has been updated for user: ', idUser, 'in', idMeeting);
-        callback(results)
+      console.log('Journey has been updated for user: ', idUser, 'in', idMeeting);
+      callback(results)
     })
   },
 
+
+
+
+  // ----- REMOVE -----
+
   remove_user: (idMeeting, idUser, callback) => {
     let query = "UPDATE t_meeting SET data = JSON_REMOVE(data, '$.user_table[?]') WHERE idMeeting = ?"
 
     db.query(query, [idUser, idMeeting], (error, results, fields) => {
-        if (error) throw error;
+      if (error) throw error;
 
-        console.log('User removed : ' + idUser + ' in meeting: ' + idMeeting);
-        callback(results)
+      console.log('User removed : ' + idUser + ' in meeting: ' + idMeeting);
+      callback(results)
+    })
+  },
+
+
+
+  // ----- OTHERS -----
+
+  reset_meeting: (idMeeting, callback) => {
+    let query = "UPDATE t_meeting SET data = JSON_SET(data, '$.percentage', 0, '$.location', '', '$.date', CAST('{}' AS JSON)) WHERE idMeeting = ?"
+
+    db.query(query, idMeeting, (error, results, fields) => {
+      if (error) throw error;
+
+      callback()
+    })
+  },
+
+  count_users: (idMeeting, callback) => {
+    get_users(idMeeting, function(users){
+
+      callback(users.length)
     })
   },
 
@@ -166,17 +197,17 @@ module.exports = {
     let query = "SELECT idMeeting FROM t_meeting WHERE idMeeting = ?"
 
     db.query(query, idMeeting, (error, results, fields) => {
-        if (error) throw error;
-        var resp = false
-
-        if(results.length != 0){
-          if(results[0]['idMeeting'] == idMeeting){
-            resp = true
-            console.log("Meeting id ", idMeeting, " has been loaded.");
-          }
+      if (error) throw error;
+      var resp = false
+
+      if(results.length != 0){
+        if(results[0]['idMeeting'] == idMeeting){
+          resp = true
+          console.log("Meeting id ", idMeeting, " has been loaded.");
         }
+      }
 
-        callback(resp)
+      callback(resp)
     })
   }
 
@@ -186,11 +217,11 @@ function get_users(idMeeting, callback){
   let query = "SELECT data->'$.user_table' as user_table FROM t_meeting WHERE idMeeting = ?";
 
   db.query(query, idMeeting, (error, results, fields) => {
-      if (error) throw error;
+    if (error) throw error;
 
-      var json = JSON.parse(results[0]['user_table'])
+    var json = JSON.parse(results[0]['user_table'])
 
 
-      callback(json)
+    callback(json)
   })
 }
diff --git a/webapp/class/email/email.js b/webapp/class/email/email.js
index 9f7beda78e95e75eb107efb7f1201d5b598449fb..c48334df84ae82e3bc84e27733cca220750e2e62 100644
--- a/webapp/class/email/email.js
+++ b/webapp/class/email/email.js
@@ -1,7 +1,47 @@
 "use strict"
 
+const nodemailer = require('nodemailer')
+const credentials = require('../../config/credentials.json')
+
 module.exports = {
-  send: (type) => {
+  send: () => {
+    var to = "vachon.marc@outlook.com"
 
+    main(to).catch(console.error);
   }
 }
+
+// async..await is not allowed in global scope, must use a wrapper
+async function main(to){
+
+  // Generate test SMTP service account from ethereal.email
+  // Only needed if you don't have a real mail account for testing
+  //let testAccount = await nodemailer.createTestAccount();
+
+  // create reusable transporter object using the default SMTP transport
+  let transporter = nodemailer.createTransport({
+    host: "smtp.gmail.com",
+    port: 587,
+    secure: false, // true for 465, false for other ports
+    auth: {
+      user: credentials.gmail.account, // generated ethereal user
+      pass: credentials.gmail.password // generated ethereal password
+    }
+  });
+
+  // send mail with defined transport object
+  let info = await transporter.sendMail({
+    from: '"Marc Vachon" <' + credentials.gmail.account + '>', // sender address
+    to: to, // list of receivers
+    subject: "Hello ✔", // Subject line
+    text: "Hello world?", // plain text body
+    html: "<b>Hello world?</b>" // html body
+  });
+
+  console.log("Message sent: %s", info.messageId);
+  // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>
+
+  // Preview only available when sending through an Ethereal account
+  console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
+  // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
+}
diff --git a/webapp/class/email/template.json b/webapp/class/email/template.json
new file mode 100644
index 0000000000000000000000000000000000000000..4887232ed6570ec13831d41577c9af96532a6b22
--- /dev/null
+++ b/webapp/class/email/template.json
@@ -0,0 +1,12 @@
+{
+  "not_enough_people":{
+    "subject": "Hello ✔",
+    "text": "Hello world?",
+    "html": "<b>Hello world?</b>"
+  },
+  "new_meeting":{
+    "subject": "Hello ✔",
+    "text": "Hello world?",
+    "html": "<b>Hello world?</b>"
+  }
+}
diff --git a/webapp/class/appointement/hash/hash.js b/webapp/class/hash/hash.js
similarity index 92%
rename from webapp/class/appointement/hash/hash.js
rename to webapp/class/hash/hash.js
index 285353329d84f97533a571a9bdd5ceaa49d01375..0e75c2a377a1e4038cb9340e567b75c527eb08a5 100644
--- a/webapp/class/appointement/hash/hash.js
+++ b/webapp/class/hash/hash.js
@@ -1,7 +1,7 @@
 "use strict"
 
 var objectHash = require('object-hash')
-var db = require('../../db/db_request')
+var db = require('../db/db_request')
 
 module.exports = {
   generate_id: (data, callback) => {
diff --git a/webapp/class/journey/journey.js b/webapp/class/journey/journey.js
index 486c3fec082002e155a95c8a033c771a4b826177..748e46a5953c8d02a856c9f45dcc395895f185df 100644
--- a/webapp/class/journey/journey.js
+++ b/webapp/class/journey/journey.js
@@ -220,8 +220,10 @@ function validate_city(idMeeting, city_to, date){
           diff = min
         }
 
+        var sum = tableTimes.reduce((previous, current) => current += previous);
+        var avg = parseInt(sum / tableTimes.length);
 
-        res({city: city_to, diff: diff});
+        res({city: city_to, diff: diff, avg: avg});
 
       }, function(error){
         console.log(error);
diff --git a/webapp/class/meetus.js b/webapp/class/meetus.js
index dc86c18564cbeedb5bb78b75ef1d1d69a8b0b0ec..5ce00c1131e44b0fb1fab96831ee63b6a2c93383 100644
--- a/webapp/class/meetus.js
+++ b/webapp/class/meetus.js
@@ -7,7 +7,7 @@ var appointement = require('./appointement/appointement')
 var journey = require('./journey/journey')
 var user = require('./user/user')
 var search = require('./appointement/search_cities')
-var hash = require('./appointement/hash/hash')
+var hash = require('./hash/hash')
 
 module.exports = {
   create_meeting: (id, data) => {
diff --git a/webapp/config/credentials.json b/webapp/config/credentials.json
new file mode 100644
index 0000000000000000000000000000000000000000..79a7fb0561c2ab05f29e08673f23f7fec81d8660
--- /dev/null
+++ b/webapp/config/credentials.json
@@ -0,0 +1,6 @@
+{
+  "gmail": {
+    "account": "marc.vachon.1996@gmail.com",
+    "password": "Marc8salmelainen"
+  }
+}
diff --git a/webapp/package.json b/webapp/package.json
index 769774c14231e38e72b4b936e7bbb7298e630665..97654627500f53ff1ec5782ea392fc88634fa9fc 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -19,6 +19,7 @@
     "jquery": "^3.4.1",
     "jsdom": "^15.1.1",
     "mysql": "^2.17.1",
+    "nodemailer": "^6.3.0",
     "nodemon": "^1.19.1",
     "object-hash": "^1.3.1",
     "request": "^2.88.0",
diff --git a/webapp/ressources/socket.js b/webapp/ressources/socket.js
index 959db174e6698177de36cafe831512a3a36ef217..add8ede0c8c23d5037b48eee93e17a82fceba94b 100644
--- a/webapp/ressources/socket.js
+++ b/webapp/ressources/socket.js
@@ -1,12 +1,14 @@
 var socket = require('socket.io')
 
 var db = require('../class/db/db_request')
+var http = require('../api/http_request')
 
 // ---- temp ----
 var journey = require('../class/journey/journey')
 var appointement = require('../class/appointement/appointement')
 var meetus = require('../class/meetus')
-var hash = require('../class/appointement/hash/hash')
+var hash = require('../class/hash/hash')
+var email = require('../class/email/email')
 
 var config = require('../config/config.json')
 
@@ -21,6 +23,14 @@ module.exports = function(server){
       get_meeting(idMeeting)
     })
 
+    socket.on('get_user', function(idMeeting, idUser){
+
+      db.get_user(idMeeting, idUser, function(user){
+        socket.emit('get_user', user)
+      })
+
+    })
+
     socket.on('create_meeting', function(idMeeting, data){
       meetus.create_meeting(idMeeting, data)
     })
@@ -32,6 +42,10 @@ module.exports = function(server){
 
     })
 
+    socket.on('update_user', function(idMeeting, idUser, data){
+
+    })
+
     socket.on('remove_user', function(idMeeting, idUser){
       meetus.remove_user(idMeeting, idUser, function(){
         get_meeting(idMeeting)
@@ -44,6 +58,10 @@ module.exports = function(server){
       })
     })
 
+    socket.on('find_city', function(name){
+
+    })
+
 
 
 
@@ -69,7 +87,8 @@ module.exports = function(server){
     socket.on('test_class', function(){
       //meetus.load_cities()
       //meetus.update_journeys()
-      hash.generate_id()
+      //hash.generate_id()
+      email.send()
     })
 
 
@@ -80,6 +99,7 @@ module.exports = function(server){
 
     function get_meeting(idMeeting){
       db.get_meeting(idMeeting, function(data){
+        console.log("get get");
         socket.emit('get_meeting', data)
       })
     }
diff --git a/webapp/views/include/add_user.ejs b/webapp/views/include/user.ejs
similarity index 93%
rename from webapp/views/include/add_user.ejs
rename to webapp/views/include/user.ejs
index d81636b5d54988011b08b7bed0436e5294b812fb..b4794f960e34e135387290329ed6c052d6781b4c 100644
--- a/webapp/views/include/add_user.ejs
+++ b/webapp/views/include/user.ejs
@@ -1,4 +1,4 @@
-<main class="container-fluid position-fixed d-none" id="add-user">
+<main class="container-fluid position-fixed d-none" id="user">
   <div class="card">
     <div class="card-body">
 
@@ -52,7 +52,6 @@
 
         <button type="button" name="button" class="btn btn-danger" id="remove_date">Remove date</button>
         <button type="button" name="button" class="btn btn-primary" id="add_date">Add date</button>
-        <button type="button" name="button" class="btn btn-info" onclick="create_calendar()">Create calendar</button>
 
       </form>
 
diff --git a/webapp/views/js/meeting.js b/webapp/views/js/meeting.js
index b0373514ec808f939e91ddf0371b5bfaa47acf22..bba43569ba8ca67d084d5988d03cf057a26ba6e8 100644
--- a/webapp/views/js/meeting.js
+++ b/webapp/views/js/meeting.js
@@ -87,12 +87,12 @@ socket.on('get_meeting', function(data){
     var user = data.user_table[i]
 
     const markup = `
-    <div class="col-md-6 mb-3">
+    <div class="col-md-6 mb-3 px-0 px-md-3">
     <div class="card">
     <div class="card-header">
     <h5 class="card-subtitle d-inline-block">${user.name}</h5>
     <div class="d-inline-block">
-    <button class="btn btn-warning" type="button" name="button">Modify</button>
+    <button class="btn btn-warning" type="button" name="button" onclick="toggle_modify_user(${i})">Modify</button>
     <button class="btn btn-danger" type="button" name="button" onclick="remove_user(${i})">delete</button>
     <button type="button" class="btn btn-outline-primary" onclick="toggle_user_info(${i})" id="show_more">Afficher plus</button>
     </div>
@@ -161,7 +161,20 @@ socket.on('get_meeting', function(data){
   }
 
   function toggle_add_user(){
-    $('#add-user').toggleClass('d-none d-flex');
+    $('#user').toggleClass('d-none d-flex');
+  }
+
+  function toggle_modify_user(idUser){
+    socket.emit('get_user', id_meeting, idUser)
+
+    socket.on('get_user', function(data){
+      $('#name').val(data.name)
+      $('#email').val(data.email)
+      $('#city').val(data.address)
+
+      $('#user').toggleClass('d-none d-flex');
+    })
+
   }
 
   function toggle_user_info(id){
diff --git a/webapp/views/js/user_form.js b/webapp/views/js/user_form.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/webapp/views/meeting.ejs b/webapp/views/meeting.ejs
index 1c17ff1b7d1eaefb7eaa918dcf51a9bed513955c..8a2667f38ef5288f03a33cbc8c64b9844f459d17 100644
--- a/webapp/views/meeting.ejs
+++ b/webapp/views/meeting.ejs
@@ -12,30 +12,32 @@
   </script>
   <script type="text/javascript" src="/js/meeting.js"></script>
 
-  <%- include('include/add_user.ejs') %>
+  <%- include('include/user.ejs') %>
 
   <%- include('elements/nav.inc.ejs') %>
 
+  <div class="card mb-5">
+    <div class="card-body">
+      <div class="row mb-4" id="parameters">
+
+      </div>
+    </div>
+  </div>
+
   <div class="w-100 d-flex mb-3">
+    <h2 class="font-weight-bold">Utilisateurs</h2>
     <div class="d-flex justify-content-end w-100">
       <button type="button" name="add user" class="btn btn-primary" onclick="toggle_add_user()">Ajouter un membre</button>
-      <!--
+
       <button type="button" name="button" class="btn btn-info mx-2" onclick="update_center()">Center</button>
       <button type="button" name="button" class="btn btn-secondary mx-2" onclick="update_appointement()">Appointement</button>
       <button type="button" name="button" class="btn btn-danger mx-2" onclick="update_journeys()">Journey</button>
       <button type="button" name="button" class="btn btn-success mx-2" onclick="socket.emit('test_class')">Test</button>
-    -->
-    </div>
-  </div>
-  <div class="card mb-4">
-    <div class="card-body">
-      <div class="row mb-4" id="parameters">
 
-      </div>
     </div>
   </div>
 
-  <div class="row" id="users">
+  <div class="row w-100 px-0 px-md-3" id="users">
 
   </div>
 
diff --git a/webapp/views/style/add-user.scss b/webapp/views/style/add-user.scss
index cbddcfd1738bea8496a9e4b5445f224b164283a4..1e609fbb3c0eb2603e777f4437e2acf60f53e7c7 100644
--- a/webapp/views/style/add-user.scss
+++ b/webapp/views/style/add-user.scss
@@ -1,4 +1,4 @@
-#add-user{
+#user{
   background-color: rgb(0, 0, 0, 0.7);
   z-index: 100;
   height: 100vh;
@@ -18,7 +18,6 @@
     }
     .date{
       width: 50%;
-        background-color: blue;
       .form-control{
         width: 30%;
       }
diff --git a/webapp/views/style/style.css b/webapp/views/style/style.css
index ed7ab6f3329415f1e17b1e85778fea7a3d947d69..7b962316ae0cf68a56c8369b025d461db91517a4 100644
--- a/webapp/views/style/style.css
+++ b/webapp/views/style/style.css
@@ -70,39 +70,38 @@
     width: 300px !important;
   }
 }
-#add-user {
+#user {
   background-color: rgba(0, 0, 0, 0.7);
   z-index: 100;
   height: 100vh;
 }
-#add-user .card {
+#user .card {
   width: 500px;
   margin: auto;
   box-shadow: none;
 }
-#add-user .user-calendar {
+#user .user-calendar {
   width: 100%;
 }
-#add-user .user-calendar .tr {
+#user .user-calendar .tr {
   width: 100%;
 }
-#add-user .user-calendar .form-control {
+#user .user-calendar .form-control {
   display: inline-block;
 }
-#add-user .user-calendar .date {
+#user .user-calendar .date {
   width: 50%;
-  background-color: blue;
 }
-#add-user .user-calendar .date .form-control {
+#user .user-calendar .date .form-control {
   width: 30%;
 }
-#add-user .user-calendar .duration {
+#user .user-calendar .duration {
   width: 45%;
 }
-#add-user .user-calendar .duration .form-control {
+#user .user-calendar .duration .form-control {
   width: 40%;
 }
-#add-user .user-calendar tbody {
+#user .user-calendar tbody {
   height: 300px;
   overflow: auto;
 }
diff --git a/webapp/views/style/style.css.map b/webapp/views/style/style.css.map
index 592d68b0d32f3c23c023690872cd29d5c5b2927b..40092384bea8e9b6f11238efd4f06225d160f5dc 100644
--- a/webapp/views/style/style.css.map
+++ b/webapp/views/style/style.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["vars.scss","navbar.scss","add-user.scss","style.scss"],"names":[],"mappings":"AAAA;AACE;AAEA;AACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EAEA;;;ACrBF;EACE;;;AAGF;EACE;;AACA;EACE;;AAGA;EACE;;;AAKJ;EACE;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;;AAGJ;EAEI;IACE;;;EAGJ;IACE;;;ACvDJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;EACE;;AACF;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;;AC5BN;EACE;EACA;;;AAIF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["vars.scss","navbar.scss","add-user.scss","style.scss"],"names":[],"mappings":"AAAA;AACE;AAEA;AACA;EACA;EACA;AAEA;EACA;EACA;EACA;EAGA;EACA;EAEA;EAEA;EAEA;;;ACrBF;EACE;;;AAGF;EACE;;AACA;EACE;;AAGA;EACE;;;AAKJ;EACE;EACA;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;EACA;EACA;;;AAIF;EACE;EACA;;;AAGJ;EAEI;IACE;;;EAGJ;IACE;;;ACvDJ;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;;AAGF;EACE;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AACA;EACE;;AAGJ;EACE;;AACA;EACE;;AAGJ;EACE;EACA;;;AC3BN;EACE;EACA;;;AAIF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA","file":"style.css"}
\ No newline at end of file