diff --git a/index.html b/index.html
index b184de4..779fb60 100644
--- a/index.html
+++ b/index.html
@@ -140,8 +140,7 @@
                         document.getElementById('fme-maps-container').classList.remove('hidden');
                     }
 
-
-                    for (var classe of data.payload.classes) {
+                    for (var [i, classe] of data.payload.classes.entries()) {
                         console.log(classe);
 
                         var hora_inici = formatDate(new Date(parseInt(classe.begins)*1000));
@@ -163,6 +162,12 @@
                         var span = document.createElement('span');
                         span.textContent = classe.room;
 
+                        if (i > 0 && data.payload.classes[i-1].friendly_name == classe.friendly_name) {
+                            div1.classList.add('has-text-danger', 'has-text-weight-bold');
+                        } else if (data.payload.classes.length >= i && data.payload.classes[i+1].friendly_name == classe.friendly_name) {
+                            div1.classList.add('has-text-danger', 'has-text-weight-bold');
+                        }
+
                         div1.textContent = 'Aula ';
                         div1.appendChild(span);
 
@@ -311,7 +316,7 @@
 
             function toggleVisibility(id) {
                 var x = document.getElementById(id);
-                if (x.style.display === "none") {
+                if (x.style.display == "none") {
                     x.style.display = "block";
                 } else {
                     x.style.display = "none";
