diff --git a/app.js b/app.js
index 68d3e9442d8290a20f6bded553c389810031c0ac..3e4b3a6f53257678359370704206a1c14ebb9436 100644
--- a/app.js
+++ b/app.js
@@ -16,7 +16,7 @@ i18n.configure({
   directory: './locales'
 });
 
-var env = process.env.NODE_ENV || 'development';
+var env = process.env.NODE_ENV || 'testing';
 const config = require('./config/config')[env];
 
 var app = express();
diff --git a/config/config.js b/config/config.js
index b4c47761de28b53ca6532d256f34e203e9ea8e06..201291a1b012ff0452c9c660d81a96c050af8d53 100644
--- a/config/config.js
+++ b/config/config.js
@@ -2,14 +2,48 @@ module.exports = {
   development: {
     app: {
       name: 'User Account Management',
-      port: process.env.PORT || 9989
+      port: process.env.PORT || 9989,
+      host: 'http://localhost:9989'
+    },
+    passport: {
+      strategy: 'saml',
+      saml: {
+        path: process.env.SAML_PATH || '/saml/SSO',
+        entryPoint: process.env.SAML_ENTRY_POINT || 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SSOService.php',
+        issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata
+        logoutUrl: 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SingleLogoutService.php'
+      }
+    },
+    database: {
+      host: 'localhost',      	  // DB host
+      user: 'DBManager',          // DB username
+      password: 'Stuttgart2019',  // DB password
+      port: 3306,                 // MySQL port
+      dbUser: 'userdb',           // User DB
+      host_project: 'localhost', // DB host project db
+      dbProject: 'projectDB'     // Project DB
+    },
+    mailer: {
+      host: 'mail.hft-stuttgart.de',  // hostname
+      secureConnection: false,        // TLS requires secureConnection to be false
+      port: 587,                      // port for secure SMTP
+      authUser: 'ad\\support-transfer',
+      authPass: '6laumri2',
+      tlsCiphers: 'SSLv3',
+      from: 'support-transfer@hft-stuttgart.de',
+    }
+  },
+  testing: {
+    app: {
+      name: 'User Account Management',
+      port: process.env.PORT || 9989,
+      host: 'https://m4lab.hft-stuttgart.de/account'
     },
     passport: {
       strategy: 'saml',
       saml: {
         path: process.env.SAML_PATH || '/saml/SSO',
         entryPoint: process.env.SAML_ENTRY_POINT || 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SSOService.php',
-        //issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata
         issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata
         //issuer: 'sp-account-prod.m4lab.hft-stuttgart.de', //production metadata
         logoutUrl: 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SingleLogoutService.php'
@@ -22,7 +56,6 @@ module.exports = {
       port: 3306,                 // MySQL port
       dbUser: 'userdb',           // User DB
       host_project: 'm4lab.hft-stuttgart.de', // DB host project db
-      //host_project: 'localhost', // local
       dbProject: 'projectDB'     // Project DB
     },
     mailer: {
@@ -35,4 +68,4 @@ module.exports = {
       from: 'support-transfer@hft-stuttgart.de',
     }
   }
-}
+}
\ No newline at end of file
diff --git a/routes/dbconn.js b/routes/dbconn.js
index 834eb1aaa465674e73190ffc8d8809b2d28c3274..a39f7368e9872389db9b36555b87a92d40a6eb05 100644
--- a/routes/dbconn.js
+++ b/routes/dbconn.js
@@ -1,6 +1,6 @@
 const mysql = require('mysql')
 
-var env = process.env.NODE_ENV || 'development';
+var env = process.env.NODE_ENV || 'testing';
 const config = require('../config/config')[env]
 
 // ==== USER ACOOUNT DB CONNECTION ====
diff --git a/routes/mailer.js b/routes/mailer.js
index 510b5bb1d11e075f446cdf19b8a954411025ee38..2c51bd7d5ed5682bfdd9fa0c48788e1bd4affe19 100644
--- a/routes/mailer.js
+++ b/routes/mailer.js
@@ -1,6 +1,6 @@
 const nodemailer = require('nodemailer')
 
-var env = process.env.NODE_ENV || 'development';
+var env = process.env.NODE_ENV || 'testing';
 const config = require('../config/config')[env]
 
 var smtpTransport = nodemailer.createTransport({
diff --git a/routes/methods.js b/routes/methods.js
index 9864273b4322e89b4d4e3093f1979b4b8b01986b..7b34268a026e36bd286cdfe311d8185e88918755 100644
--- a/routes/methods.js
+++ b/routes/methods.js
@@ -42,14 +42,26 @@ var methods = {
                                 throw err
                             });
                         }
-                        // COMMIT
-                        dbconn.user.commit(function(err) {
+                        // MLAB-129: INSERT verification token
+                        let verificationData = {
+                            user_id: newUserId,
+                            token: data.verificationToken
+                        }
+                        dbconn.user.query('INSERT INTO verification SET ?', verificationData, function (err, results, fields) {
                             if (err) {
                                 return dbconn.user.rollback(function() {
                                     throw err
                                 });
                             }
-                        });
+                            // COMMIT
+                            dbconn.user.commit(function(err) {
+                                if (err) {
+                                    return dbconn.user.rollback(function() {
+                                        throw err
+                                    })
+                                }
+                            })
+                        })
                     })
                 });
             });
@@ -57,7 +69,20 @@ var methods = {
         })
     },
     getUserByEmail: function(email, callback) {
-        dbconn.user.query('SELECT salutation, title, firstname, lastname, industry, organisation, speciality FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
+        dbconn.user.query('SELECT verificationStatus, salutation, title, firstname, lastname, industry, organisation, speciality, m4lab_idp FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
+            if (err) {
+                throw err;
+            }
+            else {
+                if ( rows.length > 0) {
+                    user = rows[0];
+                }
+            }
+            callback(user, err);
+        });
+    },
+    getUserById: function(userId, callback) {
+        dbconn.user.query('SELECT verificationStatus, email, salutation, title, firstname, lastname, industry, organisation, speciality FROM user WHERE id = ' +userId, function (err, rows, fields) {
             if (err) {
                 throw err;
             }
@@ -70,7 +95,7 @@ var methods = {
         });
     },
 	checkUserEmail: function(email, callback) {
-        var user;
+        let user
         dbconn.user.query('SELECT id, email FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
             if (err) {
                 throw err;
@@ -84,7 +109,7 @@ var methods = {
         });
     },
     getUserByToken: function(token, callback) {
-        var user;
+        let user
         dbconn.user.query('SELECT t1.user_id, t2.email FROM userdb.credential AS t1 INNER JOIN userdb.user AS t2 ON t1.user_id = t2.id AND t1.resetPasswordToken = "'
             +token+'" and resetPasswordExpires > '+Date.now(), function (err, rows, fields) {
                 if (err) {
@@ -100,42 +125,92 @@ var methods = {
             }
         );
     },
-	updateUser: function(userData, callback) {
-		dbconn.user.query('UPDATE user SET ? WHERE email = "' +userData.email+'"', userData, function (err, rows, fields) {
-            if (err) throw err;
-            callback(err);
+	updateUserById: function(userData, callback) {
+		dbconn.user.query('UPDATE user SET ? WHERE id = ' +userData.id, userData, function (err, rows, fields) {
+            if (err) throw err
+            callback(err)
         })
     },
     updateCredential: function(data, callback) {
         dbconn.user.query('UPDATE credential SET ? WHERE user_id = ' +data.user_id, data, function (err, rows, fields) {
-            if (err) throw err;
-            callback(err);
+            if (err) throw err
+            callback(err)
         })
     },
     getUserIdByEmail: function(email, callback) {
-        var userId
+        let userId
         dbconn.user.query('SELECT id FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
             if (err) {
-                throw err;
+                throw err
             }
             else {
                 if ( rows.length > 0) {
-                    userId = rows[0].id;
+                    userId = rows[0].id
                 }
             }
-            callback(userId, err);
+            callback(userId, err)
         });
     },
     getUserProjectRole: function(userId, callback) {
         dbconn.user.query('SELECT project_id, role_id FROM user_project_role WHERE user_id = "' +userId+'"', function (err, rows, fields) {
-            if (err) throw err;
-            callback(rows, err);
+            if (err) throw err
+            callback(rows, err)
         });
     },
     addUserProjectRole: function(data, callback) {
         dbconn.user.query('INSERT INTO user_project_role SET ?', data, function (err, results, fields){
-            if (err) throw err;
-            callback(err);
+            if (err) throw err
+            callback(err)
+        })
+    },
+    getVerificationTokenByUserId: function(userId, callback) {
+        let token
+        dbconn.user.query('SELECT token FROM verification WHERE user_id = "' +userId+'"', function (err, rows, fields) {
+            if (err) {
+                throw err
+            }
+            else {
+                if (rows.length > 0) {
+                    token = rows[0].token
+                }
+            }
+            callback(token, err)
+        })
+    },
+    getUserIdByVerificationToken: function(token, callback) {
+        let userId
+        dbconn.user.query('SELECT user_id FROM verification WHERE token = "' +token+'"', function (err, rows, fields) {
+            if (err) {
+                throw err
+            }
+            else if(rows[0]) {
+                userId = rows[0].user_id
+            }
+            callback(userId, err)
+        })
+    },
+    verifyUserAccount: function(userData, callback) {
+        dbconn.user.beginTransaction(function(err) { // START TRANSACTION
+            if (err) { throw err }
+            // update user status
+            dbconn.user.query('UPDATE user SET ? WHERE id =' +userData.id, userData, function (err, rows, fields) {
+                if (err) {
+                    return dbconn.user.rollback(function() { throw err })
+                }
+                // delete verification token
+                dbconn.user.query('DELETE FROM verification WHERE user_id = '+userData.id, function (err, rows, fields) {
+                    if (err) {
+                        return dbconn.user.rollback(function() { throw err })
+                    }
+                    // COMMIT
+                    dbconn.user.commit(function(err) {
+                        if (err) {
+                            return dbconn.user.rollback(function() { throw err })
+                        }
+                    })
+                })
+            })
+            callback(err)
         })
     },
     // ======================= project db =======================
diff --git a/routes/routes-account.js b/routes/routes-account.js
index 43394cac613791892e2b9bb950a3b827ec394e3a..40c54b58c2c32ea7a11ce12758da2ac6987d22cc 100644
--- a/routes/routes-account.js
+++ b/routes/routes-account.js
@@ -142,10 +142,18 @@ module.exports = function (app, config, passport, i18n) {
     if (req.isAuthenticated()) {
       methods.getUserByEmail(req.user.email, function(data, err){
         if (!err) {
-          res.render(lang+'/account/profile', {
-            user: data,
-            email: req.user.email
-          });
+          if (data.verificationStatus == 1) {
+            console.log(data)
+            res.render(lang+'/account/profile', {
+              user: data,
+              email: req.user.email
+            })
+          }
+          else {
+            res.render(lang+'/account/home', {
+              user: data
+            });
+          }
         }
       })
     } else {
@@ -155,63 +163,74 @@ module.exports = function (app, config, passport, i18n) {
 
   app.get('/services', function (req, res) {
     if (req.isAuthenticated()) {
-      async.waterfall([
-        // get userId by email from userdb
-        function(done) {
-          methods.getUserIdByEmail(req.user.email, function(userId, err) {
-            if (!err) {
-              done(err, userId)
-            }
-          })
-        },
-        // get user-project-role from userdb
-        function(userId, done) {
-          methods.getUserProjectRole(userId, function(userProjects, err) {
-            if (!err) {
-              done(err, userProjects)
-            }
-          })
-        },
-        // get all projects from projectdb
-        function(userProjects, done) {
-          methods.getAllProjects(function(projectsOverview, err) {
-            if (!err) {
-              done(err, userProjects, projectsOverview)
-            }
-          })
-        },
-        // create JSON object of projects and user status for front-end
-        function(userProjects, projectsOverview, done) {
-          var allProjects = []  // JSON object
-
-          var userProjectId = []  // array of user's project_id
-          for (var i = 0; i < userProjects.length; i++) {
-            userProjectId.push(userProjects[i].project_id)
+      methods.getUserByEmail(req.user.email, function(data, err){
+        if (!err) {
+          if (data.verificationStatus == 1) {
+            async.waterfall([
+              // get userId by email from userdb
+              function(done) {
+                methods.getUserIdByEmail(req.user.email, function(userId, err) {
+                  if (!err) {
+                    done(err, userId)
+                  }
+                })
+              },
+              // get user-project-role from userdb
+              function(userId, done) {
+                methods.getUserProjectRole(userId, function(userProjects, err) {
+                  if (!err) {
+                    done(err, userProjects)
+                  }
+                })
+              },
+              // get all projects from projectdb
+              function(userProjects, done) {
+                methods.getAllProjects(function(projectsOverview, err) {
+                  if (!err) {
+                    done(err, userProjects, projectsOverview)
+                  }
+                })
+              },
+              // create JSON object of projects and user status for front-end
+              function(userProjects, projectsOverview, done) {
+                var allProjects = []  // JSON object
+      
+                var userProjectId = []  // array of user's project_id
+                for (var i = 0; i < userProjects.length; i++) {
+                  userProjectId.push(userProjects[i].project_id)
+                }
+      
+                for (var i = 0; i < projectsOverview.length; i++) {
+                  // check if projectId is exist in userProjectId[]
+                  var status = false
+                  if (userProjectId.indexOf(projectsOverview[i].id) > -1) {
+                    status = true
+                  }
+                  // add data to JSON object
+                  allProjects.push({
+                    id: projectsOverview[i].id,
+                    title: projectsOverview[i].title,
+                    summary: projectsOverview[i].onelinesummary,
+                    cp: projectsOverview[i].contact_email,
+                    userStatus: status
+                  });
+                }
+      
+                // render the page
+                res.render(lang+'/account/services', {
+                  user: data,
+                  project: allProjects
+                });
+              }
+            ])
           }
-
-          for (var i = 0; i < projectsOverview.length; i++) {
-            // check if projectId is exist in userProjectId[]
-            var status = false
-            if (userProjectId.indexOf(projectsOverview[i].id) > -1) {
-              status = true
-            }
-            // add data to JSON object
-            allProjects.push({
-              id: projectsOverview[i].id,
-              title: projectsOverview[i].title,
-              summary: projectsOverview[i].onelinesummary,
-              cp: projectsOverview[i].contact_email,
-              userStatus: status
+          else {
+            res.render(lang+'/account/home', {
+              user: data
             });
           }
-
-          // render the page
-          res.render(lang+'/account/services', {
-            user: req.user,
-            project: allProjects
-          });
         }
-      ])
+      })
     } else {
       res.redirect('/login');
     }
@@ -219,9 +238,20 @@ module.exports = function (app, config, passport, i18n) {
 
   app.get('/security', function (req, res) {
     if (req.isAuthenticated()) {
-      res.render(lang+'/account/security', {
-        user: req.user // useful for view engine, useless for HTML
-      });
+      methods.getUserByEmail(req.user.email, function(data, err){
+        if (!err) {
+          if (data.verificationStatus == 1 && data.m4lab_idp == 1) {
+            res.render(lang+'/account/security', {
+              user: data
+            })
+          }
+          else {
+            res.render(lang+'/account/home', {
+              user: data
+            });
+          }
+        }        
+      })
     } else {
       res.redirect('/login');
     }
@@ -474,16 +504,11 @@ module.exports = function (app, config, passport, i18n) {
 
   });
 
-  // todo: user registration with captcha
+  // ============= NEW USERS REGISTRATION ===========================
   app.get('/registration', function(req, res) {
     res.render(lang+'/account/registration')
   })
-
   app.post('/registration', function(req, res) {
-    // TODO:
-    // create gitlab account?
-    // send email to activate profile?
-
     // user data
     var curDate = new Date()
     var userData = {
@@ -497,27 +522,167 @@ module.exports = function (app, config, passport, i18n) {
       speciality: req.body.inputSpeciality,
       createdDate: curDate.toISOString().slice(0,10)
     }
-    // encrypt password
-    bcrypt.genSalt(saltRounds, function(err, salt) {
-      bcrypt.hash(req.body.inputPassword, salt, function(err, hash) {
-        // create account
-        var newAccount = {
-          profile: userData,
-          password: hash
+
+    var userEmail = userData.email
+    var pos = userEmail.indexOf('@')
+    var emailLength = userEmail.length
+    var emailDomain = userEmail.slice(pos, emailLength);
+
+    if ( emailDomain.toLowerCase() == "@hft-stuttgart.de") {
+        req.flash('error', "Fehlgeschlagen: HFT-Account")
+        res.redirect('/account/registration');
+    }
+    else {
+      let token
+      async.waterfall([
+        function(done) {
+          crypto.randomBytes(20, function(err, buf) {
+            token = buf.toString('hex');
+            done(err, token);
+          });
+        },
+        // encrypt password
+        function(token, done) {
+          bcrypt.genSalt(saltRounds, function(err, salt) {
+            bcrypt.hash(req.body.inputPassword, salt, function(err, hash) {
+              var newAccount = {
+                profile: userData,
+                password: hash,
+                verificationToken: token
+              }
+              done(err, newAccount)
+            });
+          });
+        },
+        // save data
+        function(newAccount, err) {
+          methods.registerNewUser(newAccount, function(err){
+            if (err) {
+              req.flash('error', "Fehlgeschlagen")
+            }
+            else {
+              // send email
+              var emailSubject = "Bitte bestätigen Sie Ihr M4_LAB Benutzerkonto"
+              var emailContent = "Lieber Nutzer,\n\n"+
+                  "vielen Dank für Ihre Anmeldung am Transferportal der HFT Stuttgart.\n"+
+                  "Um Ihre Anmeldung zu bestätigen, klicken Sie bitte diesen Link: "+config.app.host+"/verifyAccount?token="+token+"\n"+
+                  "Ohne Bestätigung Ihres Kontos müssen wir Ihr Konto leider nach 7 Tagen löschen.\n\n"+
+                  "Sollten Sie sich selbst nicht mit Ihren Daten am Transferportal registriert haben, ignorieren Sie diese E-Mail bitte.\n\n"+mailSignature
+              
+              mailer.options.to = req.body.inputEmail;
+              mailer.options.subject = emailSubject;
+              mailer.options.text = emailContent;
+              mailer.transport.sendMail(mailer.options, function(err) {
+                if (err) {
+                  console.log('cannot send email')
+                  throw err
+                }
+              })
+              // user feedback
+              req.flash('success', 'Vielen Dank für Ihre Registrierung!'+'\r\n\r\n'+
+                'Wir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enthält einen Link zur Bestätigung Ihres Accounts.'+'\r\n'+
+                'Wenn Sie die Mail nicht in ihrem Postfach vorfinden, prüfen Sie bitte auch Ihren Spam-Ordner.')
+            }
+            res.redirect('/account/registration')
+          })
+        }
+      ])
+    }
+  })
+
+  // ============= USER VERIFICATION ================================
+  app.get("/verifyAccount", function(req, res){
+    console.log(req.query)
+    methods.getUserIdByVerificationToken(req.query.token, function(userId, err){
+      if (userId) {
+        let userData = {
+          id: userId,
+          verificationStatus: 1
         }
-        methods.registerNewUser(newAccount, function(err){
+        methods.verifyUserAccount(userData, function(err){
           if (err) {
-            //req.flash('error', "Failed")
-            req.flash('error', "Fehlgeschlagen")
+            console.log("Error: "+err)
+            res.render(lang+'/account/verification', {
+              status: false
+            });
           }
           else {
-            //req.flash('success', 'Your account has been created. Please log in.')
-            req.flash('success', 'Ihr Benutzerkonto wurde angelegt. Bitte melden Sie sich an.')
+            // send welcome email after successful account verification
+            methods.getUserById(userId, function(data, err){
+              if (err) {
+                console.log("Error: "+err)
+              }
+              else {
+                // send email
+                var emailSubject = "Herzlich willkommen"
+                var emailContent = "Lieber Nutzer,\n\n"+
+                    "herzlich willkommen beim Transferportal der HFT Stuttgart!\n"+ 
+                    "Sie können nun alle Dienste des Portals nutzen.\n\n"+mailSignature
+                
+                mailer.options.to = data.email;
+                mailer.options.subject = emailSubject;
+                mailer.options.text = emailContent;
+                mailer.transport.sendMail(mailer.options, function(err) {
+                  if (err) {
+                    console.log('cannot send email')
+                    throw err
+                  }
+                })
+              }
+            })
+
+            res.render(lang+'/account/verification', {
+              status: true
+            });
           }
-          res.redirect('/account/registration');
         })
-      });
-    });
+      }
+      else {
+        res.render(lang+'/account/verification', {
+          status: null
+        });
+      }
+    })
+  })
+  app.get("/resendVerificationEmail", function(req, res){
+    if (req.isAuthenticated()) {
+      var emailAddress = req.user.email
+      
+      methods.getUserIdByEmail(req.user.email, function(userId, err) {
+        if (!err) {
+          // get token
+          methods.getVerificationTokenByUserId(userId, function(token, err){
+            if (!err) {
+              if (token) {
+                // send email
+                var emailSubject = "Bitte bestätigen Sie Ihr M4_LAB Benutzerkonto"
+                var emailContent = "Lieber Nutzer,\n\n"+
+                    "vielen Dank für Ihre Anmeldung am Transferportal der HFT Stuttgart. "+ 
+                    "\nUm Ihre Anmeldung zu bestätigen, klicken Sie bitte diesen Link: "+config.app.host+"/verifyAccount?token="+token+
+                    "\n\nOhne Bestätigung Ihres Kontos müssen wir Ihr Konto leider nach 7 Tagen löschen.\n\n"+mailSignature
+                
+                mailer.options.to = emailAddress;
+                mailer.options.subject = emailSubject;
+                mailer.options.text = emailContent;
+                mailer.transport.sendMail(mailer.options, function(err) {
+                  if (err) {
+                    console.log('cannot send email')
+                    throw err
+                  }
+                })
+                res.send(true)
+              }
+              else {
+                res.send(false)
+              }
+            }
+            else {
+              console.log(err)
+            }
+          })
+        }
+      })
+    }
   })
 
   app.get('/email/:email', function(req, res) {
diff --git a/views/DE/404.pug b/views/DE/404.pug
index c4178253b9cec40907906ccd33fc39ac6e85c990..28d105ae7464ac0ecc218d73ad5b6f5a0d65f825 100644
--- a/views/DE/404.pug
+++ b/views/DE/404.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "404 - Page not found"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     style.
       .container { 
         height: 400px;
diff --git a/views/DE/500.pug b/views/DE/500.pug
index 704573397c7252fc0a8034428da47602afa9b994..b18e630cbae156b148b0a831253d57ea342744ec 100644
--- a/views/DE/500.pug
+++ b/views/DE/500.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "500 - Internal Server Error"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     style.
       .container { 
         height: 400px;
diff --git a/views/DE/account/contact.pug b/views/DE/account/contact.pug
index 25e4dc9c402ef556088b707e1bbe2ce99b41c2a5..ddf00d4f930fe91f48e285a041829e90ff3d5a63 100644
--- a/views/DE/account/contact.pug
+++ b/views/DE/account/contact.pug
@@ -4,12 +4,12 @@ html(lang="de")
     title= "Kontakt"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", type="text/css", href="/css/bootstrap.min.css")
     link(rel="stylesheet", type="text/css", href="/fonts/ionicons.min.css")
     link(rel="stylesheet", type="text/css", href="/css/Contact-Form-Clean.css")
     link(rel="stylesheet", type="text/css", href="/css/Testimonials.css")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css")
+    link(rel="stylesheet", type="text/css", href="/css/custom/login.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/account/forgotPwd.pug b/views/DE/account/forgotPwd.pug
index 46210a02d8c8cbbafed3ed8e9b65b3c086ad8246..a0e333baf44847958156baea212cfcdc9b1c98ee 100644
--- a/views/DE/account/forgotPwd.pug
+++ b/views/DE/account/forgotPwd.pug
@@ -4,8 +4,8 @@ html(lang="de")
     title= "Forgot Password"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/custom/login.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/account/home.pug b/views/DE/account/home.pug
index fa11d3f7d186ba91c1f1bccae8307e5602df3e24..0d42723272db9b6ae98ae1e784d4556eaf0e4631 100644
--- a/views/DE/account/home.pug
+++ b/views/DE/account/home.pug
@@ -4,38 +4,48 @@ html(lang="de")
     title= "User Account"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
   body
-    div(class="container-fluid")
-        div(class="row min-vh-100 flex-column flex-md-row")
-            aside(class="col-12 col-md-2 p-0 flex-shrink-1")
-                nav(class="navbar navbar-expand flex-md-column flex-row align-items-start py-2")
-                    div(class="collapse navbar-collapse")
-                        ul(class="flex-md-column flex-row navbar-nav w-100 justify-content-between")
-                            li(class="nav-item")
-                                a(class="nav-link pl-0 text-nowrap" href="#")
-                                    span(class="font-weight-bold" style="color:black;") #{user.firstname} #{user.lastname}
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/account/profile")
-                                    i(class="fa fa-user fa-fw")
-                                    span(class="d-none d-md-inline") Benutzerprofil
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/account/security")
-                                    i(class="fa fa-lock fa-fw")
-                                    span(class="d-none d-md-inline") Sicherheitseinstellungen
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/account/services")
-                                    i(class="fa fa-tasks fa-fw")
-                                    span(class="d-none d-md-inline") Projekte und Dienste
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/logout")
-                                    i(class="fa fa-sign-out-alt fa-fw")
-                                    span(class="d-none d-md-inline") Logout
-            main(class="col bg-faded py-3 flex-grow-1")
-                p Willkommen im Benutzerkonto-Bereich des HFT Transferportals
-                p In diesem Bereich können Sie Ihr Benutzerkonto pflegen.<br/> Dazu finden Sie auf der linken Seite verschiedene Menüs.
-                p Bei Rückfragen kontaktieren Sie uns bitte unter: <a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a>
+    div(class="container")
+        if user.verificationStatus == 0
+            div.alert.alert-warning.alert-dismissible
+                | Willkommen im Benutzerkonto-Bereich des HFT Transferportals
+                | <br/><br/>
+                | Wir haben Ihnen eine E-Mail an Ihre verwendete Adresse gesendet. Diese enthält einen Link zur Bestätigung Ihres Accounts.
+                | Wenn Sie die Mail nicht in ihrem Postfach vorfinden, prüfen Sie bitte auch Ihren Spam-Ordner.
+                | <br >Falls Sie keine E-Mail von uns erhalten haben, können Sie <a href="javascript:void(0);" onclick="verify();">diese hier</a> erneut anfordern.
+                div(class="spinner-border text-secondary", role="status", style="display: none")
+        else
+            div(class="row min-vh-100 flex-column flex-md-row")
+                aside(class="col-12 col-md-3 p-0 flex-shrink-1")
+                    nav(class="navbar navbar-expand flex-md-column flex-row align-items-start py-2")
+                        div(class="collapse navbar-collapse")
+                            ul(class="flex-md-column flex-row navbar-nav w-100 justify-content-between")
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0 text-nowrap" href="#")
+                                        span(class="font-weight-bold" style="color:black;") #{user.firstname} #{user.lastname}
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0" href="/account/profile")
+                                        i(class="fa fa-user fa-fw")
+                                        span(class="d-none d-md-inline") Benutzerprofil
+                                if user.m4lab_idp == 1
+                                    li(class="nav-item")
+                                        a(class="nav-link pl-0" href="/account/security")
+                                            i(class="fa fa-lock fa-fw")
+                                            span(class="d-none d-md-inline") Sicherheitseinstellungen
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0" href="/account/services")
+                                        i(class="fa fa-tasks fa-fw")
+                                        span(class="d-none d-md-inline") Projekte und Dienste
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0" href="/logout" style="color:red;")
+                                        i(class="fa fa-sign-out-alt fa-fw")
+                                        span(class="d-none d-md-inline") Logout
+                main(class="col bg-faded py-3 flex-grow-1")
+                    p Willkommen im Benutzerkonto-Bereich des HFT Transferportals
+                    p In diesem Bereich können Sie Ihr Benutzerkonto pflegen.<br/> Dazu finden Sie auf der linken Seite verschiedene Menüs.
+                    p Bei Rückfragen kontaktieren Sie uns bitte unter: <a href="mailto:support-transfer@hft-stuttgart.de">support-transfer@hft-stuttgart.de</a>
                 
     // jQuery
     script(src="https://code.jquery.com/jquery-3.3.1.min.js")
@@ -43,4 +53,25 @@ html(lang="de")
     // Bootstrap
     script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
     // M4_LAB
-    script(src="/js/headfoot.js")
\ No newline at end of file
+    script(src="https://m4lab.hft-stuttgart.de/js/headfoot.js")
+    script.
+        // call verifyAccount
+        function verify() {
+            $(".spinner-border").show()
+            $.get( "/resendVerificationEmail", function( data ) {
+                console.log(data)
+                if (data) {
+                    alert( "Email sent!" )
+                }
+                else {
+                    alert("Please contact support-transfer@hft-stuttgart.de to verify your account.")
+                }
+            })
+            .fail(function() {
+                alert( "Something went wrong. Please try again." ) // todo: to DE
+            })
+            .always(function() {
+                $(".spinner-border").hide()
+            })
+            
+        }
\ No newline at end of file
diff --git a/views/DE/account/profile.pug b/views/DE/account/profile.pug
index 12f789894c9c8b1348e41bf12e12cd5c81d9433c..5ea7640ab479d2bb4d80c4476ae65f8aba83410b 100644
--- a/views/DE/account/profile.pug
+++ b/views/DE/account/profile.pug
@@ -4,32 +4,33 @@ html(lang="de")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
   body
-    div(class="container-fluid")
+    div(class="container")
         div(class="row min-vh-100 flex-column flex-md-row")
-            aside(class="col-12 col-md-2 p-0 flex-shrink-1")
+            aside(class="col-12 col-md-3 p-0 flex-shrink-1")
                 nav(class="navbar navbar-expand flex-md-column flex-row align-items-start py-2")
                     div(class="collapse navbar-collapse")
                         ul(class="flex-md-column flex-row navbar-nav w-100 justify-content-between")
                             li(class="nav-item")
-                                a(class="nav-link pl-0 text-nowrap" href="#")
+                                a(class="nav-link pl-0 text-nowrap" href="/account/")
                                     span(class="font-weight-bold" style="color:black;") #{user.firstname} #{user.lastname}
                             li(class="nav-item")
                                 a(class="nav-link pl-0" href="/account/profile")
                                     i(class="fa fa-user fa-fw" style="color:black;")
                                     span(class="d-none d-md-inline" style="color:black;") Benutzerprofil
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/account/security")
-                                    i(class="fa fa-lock fa-fw")
-                                    span(class="d-none d-md-inline") Sicherheitseinstellungen
+                            if user.m4lab_idp == 1
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0" href="/account/security")
+                                        i(class="fa fa-lock fa-fw")
+                                        span(class="d-none d-md-inline") Sicherheitseinstellungen
                             li(class="nav-item")
                                 a(class="nav-link pl-0" href="/account/services")
                                     i(class="fa fa-tasks fa-fw")
                                     span(class="d-none d-md-inline") Projekte und Dienste
                             li(class="nav-item")
-                                a(class="nav-link pl-0" href="/logout")
+                                a(class="nav-link pl-0" href="/logout" style="color:red;")
                                     i(class="fa fa-sign-out-alt fa-fw")
                                     span(class="d-none d-md-inline") Logout
             main(class="col bg-faded py-3 flex-grow-1")
@@ -45,7 +46,7 @@ html(lang="de")
                     div(class="form-row")
                         div(class='form-group col-md-2')
                             label(for="title") Anrede
-                            select#inputSalutation(name="inputSalutation", class="form-control", , value=user.salutation)
+                            select#inputSalutation(name="inputSalutation", class="form-control", value=user.salutation)
                                 option(value="") - Anrede -
                                 option(value="Herr") Herr
                                 option(value="Frau") Frau
@@ -99,4 +100,4 @@ html(lang="de")
     // Bootstrap
     script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
     // M4_LAB
-    script(src="/js/headfoot.js")
\ No newline at end of file
+    script(src="https://m4lab.hft-stuttgart.de/js/headfoot.js")
\ No newline at end of file
diff --git a/views/DE/account/registration.pug b/views/DE/account/registration.pug
index 3de3ed5a731a614fc8baa4eea95465e98a6df82f..5d169e73d02c62ab8ddd446c6ac24f4918537ba3 100644
--- a/views/DE/account/registration.pug
+++ b/views/DE/account/registration.pug
@@ -4,29 +4,9 @@ html(lang="de")
     title= "Create New Account"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
-        .collapse {
-            display: none;
-        }
-        .collapse.in {
-            display: block;
-        }
-        .collapsing {
-            position: relative;
-            height: 0;
-            overflow: hidden;
-            -webkit-transition-timing-function: ease;
-            -o-transition-timing-function: ease;
-            transition-timing-function: ease;
-            -webkit-transition-duration: .35s;
-            -o-transition-duration: .35s;
-            transition-duration: .35s;
-            -webkit-transition-property: height,visibility;
-            -o-transition-property: height,visibility;
-            transition-property: height,visibility;
-        }
         .warning {
             color: red;
             font-size: 11px;
@@ -34,9 +14,12 @@ html(lang="de")
   body
     div(class="container-fluid")
         div(class="row")
-            div(class="col-md-6 offset-md-2")
+            div(class="pt-4 pb-4 col-md-6 offset-md-2")
                 h3(class="mb-3 font-weight-bold") Neues Benutzerkonto anlegen
             div(class="col-md-6 offset-md-3")
+                div(class="alert alert-info" role="alert")
+                    | Auf dieser Seite können sich Benutzer, die keinen Account an der HFT haben, registrieren.<br/>
+                    | Um sich mit ihrem HFT-Account anzumelden, klicken Sie <a class="font-weight-bold" href="https://transfer.hft-stuttgart.de/account/">hier</a>.
                 if successes
                     for success in successes
                         div.alert.alert-success.alert-dismissible #{ success }
@@ -46,7 +29,7 @@ html(lang="de")
                         div.alert.alert-danger.alert-dismissible.fade.show #{ error }
                             a(class="close", href="#", data-dismiss="alert", aria-label="close") &times;
                 form(method="POST")
-                    h5(class="mb-3 font-weight-bold") Anmeldedaten
+                    h5(class="pt-2 mb-3 font-weight-bold") Anmeldedaten
                     div(class='form-row')
                         div(class='form-group col-md-6')
                             input#inputEmail(name="inputEmail", type="email", class="form-control", placeholder="E-Mail-Adresse*", maxlength="45" required)
@@ -54,7 +37,7 @@ html(lang="de")
                         div(class="form-group col-md-6")
                             input#inputPassword(name="inputPassword", type="password", class="form-control", data-toggle="password", placeholder="Passwort*", maxlength="45" required)
                             span#passwordWarning(class='warning')
-                    h5(class="mb-3 font-weight-bold") Benutzerprofil
+                    h5(class="pt-2 mb-3 font-weight-bold") Benutzerprofil
                     div(class="form-row")
                         div(class='form-group col-md-2')
                             select#inputSalutation(name="inputSalutation", class="form-control")
@@ -94,4 +77,4 @@ html(lang="de")
     // M4_LAB
     script(src="/js/generalFunction.js")
     script(src="/js/registration.js")
-    script(src="/js/headfoot.js")
\ No newline at end of file
+    script(src="https://m4lab.hft-stuttgart.de/js/headfoot.js")
\ No newline at end of file
diff --git a/views/DE/account/reset.pug b/views/DE/account/reset.pug
index 56aa2d9220f06e178f93b0f985d187d61938828c..ede0800cc345623aed1008a13953d2796e5dd628 100644
--- a/views/DE/account/reset.pug
+++ b/views/DE/account/reset.pug
@@ -4,8 +4,8 @@ html(lang="de")
     title= "Reset Password"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/custom/login.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/account/security.pug b/views/DE/account/security.pug
index 15c438871580fd7d9edc0ffdfef78a0bbc531827..d060e233172473f1626c71af91290f8d61bac012 100644
--- a/views/DE/account/security.pug
+++ b/views/DE/account/security.pug
@@ -4,21 +4,21 @@ html(lang="de")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .warning {
             font-size: 11px;
         }
   body
-    div(class="container-fluid")
+    div(class="container")
         div(class="row min-vh-100 flex-column flex-md-row")
-            aside(class="col-12 col-md-2 p-0 flex-shrink-1")
+            aside(class="col-12 col-md-3 p-0 flex-shrink-1")
                 nav(class="navbar navbar-expand flex-md-column flex-row align-items-start py-2")
                     div(class="collapse navbar-collapse")
                         ul(class="flex-md-column flex-row navbar-nav w-100 justify-content-between")
                             li(class="nav-item")
-                                a(class="nav-link pl-0 text-nowrap" href="#")
+                                a(class="nav-link pl-0 text-nowrap" href="/account/")
                                     span(class="font-weight-bold" style="color:black;") #{user.firstname} #{user.lastname}
                             li(class="nav-item")
                                 a(class="nav-link pl-0" href="/account/profile")
@@ -33,7 +33,7 @@ html(lang="de")
                                     i(class="fa fa-tasks fa-fw")
                                     span(class="d-none d-md-inline") Projekte und Dienste
                             li(class="nav-item")
-                                a(class="nav-link pl-0" href="/logout")
+                                a(class="nav-link pl-0" href="/logout" style="color:red;")
                                     i(class="fa fa-sign-out-alt fa-fw")
                                     span(class="d-none d-md-inline") Logout
             main(class="col bg-faded py-3 flex-grow-1")
@@ -64,7 +64,7 @@ html(lang="de")
                             span#message
                             div(class="invalid-feedback") Bitte füllen Sie dieses Feld aus.
                     input#updateBtn(type="submit", class="btn btn-primary", value="Passwort ändern" disabled)
-                    
+                        
     // jQuery
     script(src="https://code.jquery.com/jquery-3.3.1.min.js")
     script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous")
@@ -73,7 +73,7 @@ html(lang="de")
     // M4_LAB
     script(src="/js/security.js")
     script(src="/js/generalFunction.js")
-    script(src="/js/headfoot.js")
+    script(src="https://m4lab.hft-stuttgart.de/js/headfoot.js")
     script.
         // check input fields
         'use strict';
diff --git a/views/DE/account/services.pug b/views/DE/account/services.pug
index 8b99f630e68a19498f6f833937b1296b580c962e..bb9dba43c55e48ca14aceee18670ff01aec648ba 100644
--- a/views/DE/account/services.pug
+++ b/views/DE/account/services.pug
@@ -4,32 +4,33 @@ html(lang="de")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
   body
-    div(class="container-fluid")
+    div(class="container")
         div(class="row min-vh-100 flex-column flex-md-row")
-            aside(class="col-12 col-md-2 p-0 flex-shrink-1")
+            aside(class="col-12 col-md-3 p-0 flex-shrink-1")
                 nav(class="navbar navbar-expand flex-md-column flex-row align-items-start py-2")
                     div(class="collapse navbar-collapse")
                         ul(class="flex-md-column flex-row navbar-nav w-100 justify-content-between")
                             li(class="nav-item")
-                                a(class="nav-link pl-0 text-nowrap" href="#")
+                                a(class="nav-link pl-0 text-nowrap" href="/")
                                     span(class="font-weight-bold" style="color:black;") #{user.firstname} #{user.lastname}
                             li(class="nav-item")
                                 a(class="nav-link pl-0" href="/account/profile")
                                     i(class="fa fa-user fa-fw")
                                     span(class="d-none d-md-inline") Benutzerprofil
-                            li(class="nav-item")
-                                a(class="nav-link pl-0" href="/account/security")
-                                    i(class="fa fa-lock fa-fw")
-                                    span(class="d-none d-md-inline") Sicherheitseinstellungen
+                            if user.m4lab_idp == 1
+                                li(class="nav-item")
+                                    a(class="nav-link pl-0" href="/account/security")
+                                        i(class="fa fa-lock fa-fw")
+                                        span(class="d-none d-md-inline") Sicherheitseinstellungen
                             li(class="nav-item")
                                 a(class="nav-link pl-0" href="/account/services")
                                     i(class="fa fa-tasks fa-fw" style="color:black;")
                                     span(class="d-none d-md-inline" style="color:black;") Projekte und Dienste
                             li(class="nav-item")
-                                a(class="nav-link pl-0" href="/logout")
+                                a(class="nav-link pl-0" href="/logout" style="color:red;")
                                     i(class="fa fa-sign-out-alt fa-fw")
                                     span(class="d-none d-md-inline") Logout
             main(class="col bg-faded py-3 flex-grow-1")
@@ -41,4 +42,4 @@ html(lang="de")
     // Bootstrap
     script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
     // M4_LAB
-    script(src="/js/headfoot.js")
\ No newline at end of file
+    script(src="https://m4lab.hft-stuttgart.de/js/headfoot.js")
\ No newline at end of file
diff --git a/views/DE/account/verification.pug b/views/DE/account/verification.pug
new file mode 100644
index 0000000000000000000000000000000000000000..a5518385d140d8c51d0b485087e46097b01d98ec
--- /dev/null
+++ b/views/DE/account/verification.pug
@@ -0,0 +1,35 @@
+doctype html
+html(lang="de")
+  head
+    title= "User Verification"
+    meta(charset="UTF-8")
+    meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
+    style.
+      .container { 
+        height: 400px;
+        position: relative;
+      }
+      .center {
+        margin: 0;
+        position: absolute;
+        top: 50%;
+        left: 50%;
+        -ms-transform: translate(-50%, -50%);
+        transform: translate(-50%, -50%);
+      }
+  body
+    div(class="container")
+      div(class="center", align="center")
+        a(href="https://m4lab.hft-stuttgart.de")
+          img(src="https://transfer.hft-stuttgart.de/images/demo/m4lab_logo.jpg", class="img-responsive center-block", width="185", height="192")
+        br
+        br
+        if status == true
+          p(class="h5") Ihr Benutzerkonto wurde bestätigt. Bitte <a href="https://m4lab.hft-stuttgart.de/account/">melden Sie sich an</a>.
+        else if status == false
+          p(class="h5") Ihr Benutzerkonto konnte nicht bestätigt werden, bitte versuchen Sie es erneut.
+        else
+          p(class="h5") Ihr Benutzerkonto wude nicht gefunden.
+    // Bootstrap
+    script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
\ No newline at end of file
diff --git a/views/DE/project/addProjectOverview.pug b/views/DE/project/addProjectOverview.pug
index f6517d29faccb116a9e7345b04084ca0a86e53d5..5752e8b9d13e54bf75971a3c0339aa908b4f966c 100644
--- a/views/DE/project/addProjectOverview.pug
+++ b/views/DE/project/addProjectOverview.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Add Project Overview"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     // jQuery UI - Datepicker
     link(rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css")
diff --git a/views/DE/project/landingpage.pug b/views/DE/project/landingpage.pug
index a835ec04d9823d0f847956b9bf6012eaf92b083f..d00050e9dc26993a9e4e5085e1ba423f8cd0ebe4 100644
--- a/views/DE/project/landingpage.pug
+++ b/views/DE/project/landingpage.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/project/mailinglists.pug b/views/DE/project/mailinglists.pug
index c38c8042e3dead88fbbf9febf47439d6258e1eab..5f24660fb586aad062716a25a04d2490e459762d 100644
--- a/views/DE/project/mailinglists.pug
+++ b/views/DE/project/mailinglists.pug
@@ -3,7 +3,7 @@ html(lang="de")
     title= "Mailinglisten"
     meta(charset="UTF-8")
     meta(name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     link(rel="stylesheet" href="/fonts/ionicons.min.css")
     link(rel="stylesheet" href="assets/css/Testimonials.css")
diff --git a/views/DE/project/project-simplified.pug b/views/DE/project/project-simplified.pug
index cb868f9ab04683fb3d9c4d4cd5c514c91083f284..a7f317b77723ab65a994c6e23bd4dee7b8bb0a1e 100644
--- a/views/DE/project/project-simplified.pug
+++ b/views/DE/project/project-simplified.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
       .help .card-title > a:before {
diff --git a/views/DE/project/projectOverview.pug b/views/DE/project/projectOverview.pug
index e015d1e650c22ff70c32feda6ebff7d2edd7b3b2..beacda4ade66f74fedff45552362b49ec0f6c383 100644
--- a/views/DE/project/projectOverview.pug
+++ b/views/DE/project/projectOverview.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/project/projects.pug b/views/DE/project/projects.pug
index c2730b807aa30e4e7446275dc791777989f1c30b..f3693d924585c0e8cccd20a3cd9dd8efd6eb9f70 100644
--- a/views/DE/project/projects.pug
+++ b/views/DE/project/projects.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/DE/project/videoconferences.pug b/views/DE/project/videoconferences.pug
index e6ee7b6907023ec96a97b4e4345c72d94587491e..20706244c7f9eaffe886c48e1b07d66b4efb82a1 100644
--- a/views/DE/project/videoconferences.pug
+++ b/views/DE/project/videoconferences.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/forgotPwd.pug b/views/EN/account/forgotPwd.pug
index 1cde0888090e2046496e472178d2d296a6f8c647..985793b02c8551de670b8d7e05851d81ce6f648f 100644
--- a/views/EN/account/forgotPwd.pug
+++ b/views/EN/account/forgotPwd.pug
@@ -4,8 +4,8 @@ html(lang="en")
     title= "Forgot Password"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/custom/login.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/home.pug b/views/EN/account/home.pug
index d2f3875a5a831fde499fae7baddb5acfbd47e34d..df71fe1840f6c5bd6be7cf0ba88e320669129905 100644
--- a/views/EN/account/home.pug
+++ b/views/EN/account/home.pug
@@ -4,7 +4,7 @@ html(lang="en")
     title= "User Account"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/profile.pug b/views/EN/account/profile.pug
index 47c1f7e8683e370e2fb368337c4fca5d419230fe..60788795491df06cca87c2faa1c76465c6f6f47c 100644
--- a/views/EN/account/profile.pug
+++ b/views/EN/account/profile.pug
@@ -4,7 +4,7 @@ html(lang="en")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/registration.pug b/views/EN/account/registration.pug
index 88ef5a932c510753f110253fec986dd426f6896f..2e1aba4c72ce4001e89aad36138ac9218b4e4c93 100644
--- a/views/EN/account/registration.pug
+++ b/views/EN/account/registration.pug
@@ -4,7 +4,7 @@ html(lang="en")
     title= "Create New Account"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/reset.pug b/views/EN/account/reset.pug
index b8939ea2200d627786fa64a8feae03da02d5b346..606b304f69f9a56a5ac414cb2869179c2a311f8e 100644
--- a/views/EN/account/reset.pug
+++ b/views/EN/account/reset.pug
@@ -4,8 +4,8 @@ html(lang="en")
     title= "Reset Password"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/custom/login.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/custom/login.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/security.pug b/views/EN/account/security.pug
index 2a5c248ce1f9e98b429b52eb9261f322cd38fcf9..c2c997b0ececb95abc04617a40ce0fd373b88ea1 100644
--- a/views/EN/account/security.pug
+++ b/views/EN/account/security.pug
@@ -4,7 +4,7 @@ html(lang="en")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/account/services.pug b/views/EN/account/services.pug
index f095144beb05de603a741230ae857d11b543b3f9..c70d729fa83da0e81bf5d82058008a5b14b9d3d5 100644
--- a/views/EN/account/services.pug
+++ b/views/EN/account/services.pug
@@ -4,7 +4,7 @@ html(lang="en")
     title= "User Profile"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/project/addProjectOverview.pug b/views/EN/project/addProjectOverview.pug
index 7b40b54fc63b3d774caf8d0b8af272f4e3a554ce..d0a4b0ebff6e43d8f1760471c8a6598d584204c3 100644
--- a/views/EN/project/addProjectOverview.pug
+++ b/views/EN/project/addProjectOverview.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Add Project Overview"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/project/mailinglists.pug b/views/EN/project/mailinglists.pug
index f2ddbd8b8e7eb89a85e4dc16310b96acf74e06e3..fdc0ef2398bf1b2e4495cca2bd66d34d419df497 100644
--- a/views/EN/project/mailinglists.pug
+++ b/views/EN/project/mailinglists.pug
@@ -3,7 +3,7 @@ html(lang="en")
     title= "Mailinglisten"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {
diff --git a/views/EN/project/projects.pug b/views/EN/project/projects.pug
index 56f65c10de4655b786ec93a865b6e57adc5f5e10..f1ecc57944a7619206f29ed7cadcff181f2c7050 100644
--- a/views/EN/project/projects.pug
+++ b/views/EN/project/projects.pug
@@ -4,7 +4,7 @@ html(lang="de")
     title= "Project List"
     meta(charset="UTF-8")
     meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no")
-    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
+    link(rel="stylesheet", type="text/css", href="/css/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
         .collapse {