diff --git a/.gitignore b/.gitignore
index 55c1218005cf228c4e2a8393b62cf583ca615c06..30bc1627986aa5d1e6aebc1718de71eaee6021c5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1 @@
-/node_modules
-sp-project-metadata.xml
-sp-project-metadata-m4lab.xml
+/node_modules
\ No newline at end of file
diff --git a/views/DE/project/projectList_backup.pug b/views/DE/project/projectList_backup.pug
new file mode 100644
index 0000000000000000000000000000000000000000..6a6047bdcea4b9ea6bcda905f04ae17c697a2f03
--- /dev/null
+++ b/views/DE/project/projectList_backup.pug
@@ -0,0 +1,90 @@
+doctype html
+html(lang="de")
+  head
+    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.min.css")
+    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/m4lab.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.
+        .title-container {
+            position: relative;
+            color: white;
+        }
+        .card-title-bottom-left {
+            position: absolute;
+            bottom: 0px;
+            width: 100%;
+            color: black;
+            font-weight: bold;
+            background: rgb(255, 255, 255, 0.5);
+            text-align: left;
+            padding: 5px
+        }
+        .card-img-top {
+            height: 15vw;
+            object-fit: cover;
+        }
+  body
+    div(class="container")
+        div(class="pt-4 pb-4")
+            input(id="searchInput", class="form-control form-control-dark w-100", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
+        h3(class="mb-3 font-weight-bold") Projekte
+
+        div(class="container")
+            | <div class="row">
+            for item in project
+                div(class="py-4 col-sm")
+                    div(class="card", style="width: 18rem;")
+                        div(class="title-container")
+                            h5(class="card-title-bottom-left") #{item.name}
+                            img(class="card-img-top", src=item.logo)
+                        div(class="card-body")
+                            div(class="row")
+                                each key in item.keywords
+                                    h6
+                                        span(class="badge badge-pill badge-primary px-2") #{key}
+                                        | &nbsp;
+                            div(class="row")
+                                div(class="col-9")
+                                    p(class="card-text") #{item.desc}
+                                div(class="col-3")
+                                    svg(class="bi bi-chevron-right", width="32", height="32", viewBox="0 0 20 20", fill="currentColor", xmlns="http://www.w3.org/2000/svg")
+                                        | <a xlink:href="#{item.weburl}" target="_blank"><path fill-rule="evenodd" d="M6.646 3.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L12.293 10 6.646 4.354a.5.5 0 010-.708z"></path></a>
+            | </div>
+
+    // 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")
+    // Bootstrap
+    script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
+    // Header
+    script(src="https://transfer.hft-stuttgart.de/js/headfoot.js")
+
+    // search: https://www.w3schools.com/howto/howto_js_filter_lists.asp
+    script.
+        function searchFunction() {
+            var input = document.getElementById("searchInput")
+            var filter = input.value.toUpperCase()
+            
+            var cards = document.getElementsByClassName("col-sm")
+            var cardTitle, cardText, titleValue, textValue
+            
+            var i
+            for (i = 0; i < cards.length; i++) {
+                cardTitle = cards[i].getElementsByClassName("card-title-bottom-left");
+                cardBody = cards[i].getElementsByClassName("card-body");
+                cardText = cards[i].getElementsByClassName("card-text");
+                
+                titleValue = cardTitle[0].textContent || cardTitle[0].innerText;
+                bodyValue = cardBody[0].textContent || cardBody[0].innerText;
+                textValue = cardText[0].textContent || cardText[0].innerText;
+                
+                if (titleValue.toUpperCase().indexOf(filter) > -1 || bodyValue.toUpperCase().indexOf(filter) > -1 || textValue.toUpperCase().indexOf(filter) > -1) {
+                    cards[i].style.display = "block";
+                } else {
+                    cards[i].style.display = "none";
+                }
+            }
+        }
\ No newline at end of file
diff --git a/views/DE/project/projectList_card.pug b/views/DE/project/projectList_card-row.pug
similarity index 85%
rename from views/DE/project/projectList_card.pug
rename to views/DE/project/projectList_card-row.pug
index 44994fd43c5fa9cd6d833bb313c6ee1843296c2e..c0fd1c8303369942cc02efb7c6d2b7d3ec57bddb 100644
--- a/views/DE/project/projectList_card.pug
+++ b/views/DE/project/projectList_card-row.pug
@@ -25,7 +25,8 @@ html(lang="de")
         }
   body
     div(class="container")
-        input(id="searchInput", class="form-control form-control-dark w-100", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
+        div(class="pt-4 pb-4")
+            input(id="searchInput", class="form-control form-control-dark w-100", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
         h3(class="mb-3 font-weight-bold") Projekte
 
         div(class="container")
@@ -56,18 +57,6 @@ html(lang="de")
                     | </div>
                     - colCounter = 0
 
-        //h3(class="mb-3 font-weight-bold") Websites
-    if website.length > 0
-        div(class="container")
-            h3(class="mb-3 font-weight-bold") Websites
-            table(class="table table-striped")
-                for item in website
-                    tr
-                        td
-                            img(src=item.logo, width="40", height="40")
-                        td <a href="#{item.weburl}" target="_blank">#{item.name}</a>
-                        td #{item.desc}
-
     // 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")
@@ -82,7 +71,8 @@ html(lang="de")
             var input = document.getElementById("searchInput")
             var filter = input.value.toUpperCase()
             
-            var cards = document.getElementsByClassName("card")
+            //var cards = document.getElementsByClassName("card")
+            var cards = document.getElementsByClassName("col-sm")
             var cardTitle, cardText, titleValue, textValue
             
             var i
diff --git a/views/DE/project/projectList_table.pug b/views/DE/project/projectList_table.pug
new file mode 100644
index 0000000000000000000000000000000000000000..1e2d62c47d0b94d52775e893ae3711f11d942fc9
--- /dev/null
+++ b/views/DE/project/projectList_table.pug
@@ -0,0 +1,59 @@
+doctype html
+html(lang="de")
+  head
+    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.min.css")
+    link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/m4lab.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")
+        div(class="pt-4 pb-4")
+            input(id="searchInput", class="form-control form-control-dark w-100", type="text", placeholder="Suchen Sie hier nach Themen und Projekten", onkeyup="searchFunction()")
+        h3(class="mb-3 font-weight-bold") Projekte
+        table(class="table table-striped")
+            tbody
+                for item in project
+                    tr
+                        td
+                            img(src=item.logo, width="40", height="40")
+                        td <a href="#{item.weburl}" target="_blank">#{item.name}</a>
+                        td #{item.desc}
+
+    // 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")
+    // Bootstrap
+    script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous")
+    // Header
+    script(src="https://transfer.hft-stuttgart.de/js/headfoot.js")
+    script.
+        function searchFunction() {
+            var input, filter, rows, col, txtValue;
+            var isFound = true;
+            input = document.getElementById("searchInput");
+            filter = input.value.toUpperCase();
+            
+            rows = document.getElementsByTagName("tr");
+            for (i = 0; i < rows.length; i++) {
+                cols = rows[i].getElementsByTagName("td");
+                // check all cos
+                for (j = 0; j < cols.length; j++) {
+                    txtValue = cols[j].textContent || cols[j].innerText;
+                    if (txtValue.toUpperCase().indexOf(filter) > -1) {
+                        isFound = true;
+                        break;
+                    } else {
+                        isFound = false;
+                    }
+                }
+                if (isFound) {
+                    rows[i].style.display = "block";
+                }
+                else {
+                    rows[i].style.display = "none";
+                }
+            }
+        }
\ No newline at end of file
diff --git a/views/cards.html b/views/cards.html
new file mode 100644
index 0000000000000000000000000000000000000000..5c9f9f104cdfbf6e20fc2368a694057573c67d55
--- /dev/null
+++ b/views/cards.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <title>Bootstrap Example</title>
+  <meta charset="utf-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
+  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
+</head>
+<body>
+ 
+    <button type="button" class="btn btn-primary" onclick="hideCardsRow()">hide</button>
+
+    <div class="row">
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                <h5 class="card-title">Special title treatment 1</h5>
+                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                <h5 class="card-title">Special title treatment 2</h5>
+                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                    <h5 class="card-title">Special title treatment 3</h5>
+                    <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                    <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                <h5 class="card-title">Special title treatment 4a</h5>
+                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                <h5 class="card-title">Special title treatment 4b</h5>
+                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                <h5 class="card-title">Special title treatment 5</h5>
+                <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+        <div class="col-sm-4">
+            <div class="card">
+                <div class="card-body">
+                    <h5 class="card-title">Special title treatment 6</h5>
+                    <p class="card-text">With supporting text below as a natural lead-in to additional content.</p>
+                    <a href="#" class="btn btn-primary">Go somewhere</a>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="container">
+        <div class="card" style="width:400px">
+            <img class="card-img-top" src="/public/test.png" alt="Card image" style="width:100%">
+            <div class="card-body">
+                <h4 class="card-title">John Doe</h4>
+                <p class="card-text">Some example text some example text. John Doe is an architect and engineer</p>
+                <a href="#" class="btn btn-primary">See Profile</a>
+            </div>
+        </div>
+        <div class="card" style="width:400px">
+            <div class="card-body">
+                <h4 class="card-title">Jane Doe</h4>
+                <p class="card-text">Some example text some example text. Jane Doe is an architect and engineer</p>
+                <a href="#" class="btn btn-primary">See Profile</a>
+            </div>
+            <img class="card-img-bottom" src="img_avatar6.png" alt="Card image" style="width:100%">
+        </div>
+    </div>
+
+    <script>
+        function hideCardsRow() {
+            var cardsRow = document.getElementsByClassName("row")
+            var cardCols = cardsRow[0].getElementsByClassName("col-sm-4")
+            cardCols[1].style.display = "none"
+        }
+    </script>
+
+</body>
+</html>