diff --git a/dev/js/src/match/table.js b/dev/js/src/match/table.js
index d889026..f55dc6f 100644
--- a/dev/js/src/match/table.js
+++ b/dev/js/src/match/table.js
@@ -164,8 +164,15 @@
         if (name instanceof Array && name[1] !== undefined) {
 
           // There are multiple values to add
+          c.classList.add('matchkeyvalues');
+          for (var n = 0; n < name.length; n++) {
+            var text = d.createTextNode(name[n]);
+            var e = c.appendChild(d.createElement('div'));
+            e.appendChild(text);
+          };
 
           // These are andgroups
+          /*
           if (name.some(function (item) { return item.indexOf(':') == -1 ? false : true})) {
             c.classList.add('matchkeyvalues');
             for (var n = 0; n < name.length; n++) {
@@ -184,6 +191,7 @@
               };
             };
           };
+          */
         }
         else {
           c.appendChild(d.createTextNode(name));
diff --git a/dev/scss/main/matchinfo.scss b/dev/scss/main/matchinfo.scss
index b71f691..dab1d83 100644
--- a/dev/scss/main/matchinfo.scss
+++ b/dev/scss/main/matchinfo.scss
@@ -214,18 +214,18 @@
     vertical-align: top;
     text-align: center;
     div {
-      background-color: $middle-orange; // $nearly-white;
+      background-color: $light-orange; // $nearly-white;
     }
   }
   tr:nth-child(even) > td {
     background-color: $light-orange;
     div:nth-child(even) {
-      background-color: $light-orange;
+      background-color: $middle-orange;
     }
   }
 
   tr:nth-child(odd) > td > div:nth-child(odd) {
-    background-color: $light-orange;
+    background-color: $middle-orange;
   }
 
 
