diff --git a/modules/features/dvg_ct_task/dvg_ct_task.js b/modules/features/dvg_ct_task/dvg_ct_task.js
index bb5751f..ed0456f 100644
--- a/modules/features/dvg_ct_task/dvg_ct_task.js
+++ b/modules/features/dvg_ct_task/dvg_ct_task.js
@@ -68,7 +68,52 @@
             }
           });
         });
+
+        // Set classes when elements are in view.
+        var setActiveSection = function() {
+          // Use current to determine wich task-section is active.
+          var current = null;
+          var top = $(this).scrollTop() + 1;
+          // Check which task-section is in view.
+          $('.task-section').each(function() {
+            // Get dimensions and position of task-section.
+            var height = $(this).outerHeight(true);
+            var position = $(this).offset();
+            var start = position.top;
+            var end = start + height;
+            // Get ID of task-section.
+            var id = $(this).attr('id');
+            // When section is in view.
+            if (top >= start && top <= end) {
+              $(this).addClass('in-view');
+              current = id;
+            } else {
+              $(this).removeClass('in-view');
+            }
+          });
+          // Make menu-item active when corresponding task-section is in view.
+          $('.section-list').find('a').each(function() {
+            var anchor = $(this).attr('href').split('#')[1];
+            if (anchor == current) {
+              $(this).parent().addClass('active-section');
+            } else {
+              $(this).parent().removeClass('active-section');
+            }
+            // Indicate that a task-section is in view.
+            if (current !== null) {
+              $('.section-list').addClass('active-sections');
+            } else {
+              $('.section-list').removeClass('active-sections');
+            }
+          });
+        };
+        // Apply on pageload.
+        setActiveSection();
+        // Apply on scroll.
+        $(window).scroll(function() {
+          setActiveSection();
+        });
       }
     }
-  }
+  };
 }(jQuery));
