diff --git a/resources/assets/stylesheets/less/autocomplete.less b/resources/assets/stylesheets/less/autocomplete.less
deleted file mode 100644
index 2d0df4202eb72dd89e9bffb80da9fa46acb14b82..0000000000000000000000000000000000000000
--- a/resources/assets/stylesheets/less/autocomplete.less
+++ /dev/null
@@ -1,31 +0,0 @@
-/* --- Autocompleter -------------------------------------------------------- */
-div.autocomplete { position: absolute; }
-
-.ac_odd  { background-color: #eee; }
-.ac_over { background-color: #ffb; }
-
-.ac_results {
-    background-color: white;
-    border: 1px solid #888;
-    margin: 0;
-    padding: 0;
-    position: absolute;
-    z-index: 99999;
-
-    ul {
-        list-style: none outside none;
-        margin: 0;
-        padding: 0;
-        width: 100%;
-    }
-    li {
-        list-style-type: none;
-        cursor: pointer;
-        display: block;
-        font-size: 0.75em;
-        margin: 0;
-        min-height: 2em;
-        padding: 2px;
-        text-align: left;
-    }
-}
diff --git a/resources/assets/stylesheets/less/news.less b/resources/assets/stylesheets/less/news.less
deleted file mode 100644
index c8e52523061ab6e53e37b2c9a23cc14adc894e52..0000000000000000000000000000000000000000
--- a/resources/assets/stylesheets/less/news.less
+++ /dev/null
@@ -1,93 +0,0 @@
-/* --- news --------------------------------------------------- */
-#news_dialog_content {
-    overflow-y: auto; 
-    padding-right: 15px; 
-    padding-top: 10px
-}
- 
-.news_dialog_content {
-    button {
-        vertical-align:middle;
-    }
-    
-    select {
-        width: 45%;
-    }
-    
-    option {
-        height: 16px;
-    }
-}
-
-.news_admin {
-    button {
-        vertical-align:middle;
-    }
-}
-
-.news_reset_filter {
-    float: right;
-}
-
-img.news_area_icon {
-    vertical-align: middle;
-}
-
-div.news_area_title {
-    display: inline; 
-    height: 32px; 
-    vertical-align: middle;
-}
-input.news_topic {
-    width: 90%;
-}
-
-textarea.news_body {
-    resize: vertical; 
-    width: 90%; 
-    font-size: 10pt;
-}
-    
-select.news_area_options {
-    min-width: 200px; 
-    width: 100%; 
-    height: 116px;
-}
-    
-optgroup.news_area_title {
-    text-indent: 26px; 
-    background-repeat: no-repeat; 
-
-    option {
-        text-indent: 6px;
-    }
-}
-    
-input.news_search_term {
-    width: 45%;
-}
-    
-div.news_area_selectable {
-    display: inline-block; 
-    float: left; 
-    width: 45%; 
-    height: 100%;
-}
-
-div.news_area_actions {
-    display: inline-block; 
-    width: 8%; 
-    text-align: center;
-}
-    
-div.news_area_selected {
-    display: inline-block; 
-    float: right; 
-    width: 45%; 
-    height: 100%;
-}
-    
-div.news_dialog_buttons {
-    margin-right: 15px; 
-    border-top: 1px solid #d1d1d1;
-}
diff --git a/resources/assets/stylesheets/less/badges.less b/resources/assets/stylesheets/scss/badges.scss
similarity index 75%
rename from resources/assets/stylesheets/less/badges.less
rename to resources/assets/stylesheets/scss/badges.scss
index 897f51ae0122676ecb611a431075c3bab03c924f..90095cadf57544d319ca3761023a7105d3d91f55 100644
--- a/resources/assets/stylesheets/less/badges.less
+++ b/resources/assets/stylesheets/scss/badges.scss
@@ -2,22 +2,22 @@
     .badge {
         position: relative;
     }
+
     .badge:after {
         content: attr(data-badge-number);
         position: absolute;
-        top: 0px;
+        top: 0;
         right: 15px;
         display: inline-block;
         max-width: 30px;
         width: auto;
         overflow: hidden;
 
-        margin: 0px;
+        margin: 0;
         padding: 1px 5px;
-        /* border: 2px solid white; */
 
-        background-color: #D60000;
-        color: white;
+        background-color: $red;
+        color: $white;
 
         font-size: 10px;
         font-weight: bold;
@@ -28,6 +28,6 @@
         text-shadow: rgba(0, 0, 0, 0.496094) 0px -1px 0px;
 
         border-radius: 9px;
-        box-shadow: black 0px 1px 3px;
-    }    
+        box-shadow: $black 0 1px 3px;
+    }
 }
diff --git a/resources/assets/stylesheets/less/comments.less b/resources/assets/stylesheets/scss/comments.scss
similarity index 66%
rename from resources/assets/stylesheets/less/comments.less
rename to resources/assets/stylesheets/scss/comments.scss
index a336763f670242d8a6185f406367d92757db351d..44bd4dc107c0f278c43509fd8625eeb87a78d197 100644
--- a/resources/assets/stylesheets/less/comments.less
+++ b/resources/assets/stylesheets/scss/comments.scss
@@ -1,9 +1,9 @@
 section.comments {
     text-align: left;
-    border-color: @content-color-40;
+    border-color: $content-color-40;
     border-top-style: none;
     border-width: 1px;
-    background-color: white;
+    background-color: $white;
     padding: 5px;
 
     h1 {
@@ -14,19 +14,18 @@ section.comments {
     }
     article.comment {
         border: 0;
-        border-top: 1px solid @light-gray-color-40;
+        border-top: 1px solid $light-gray-color-40;
         max-width: 1260px;
-        margin: auto;
         margin-bottom: 4px;
 
         h1 {
-            margin-bottom: 0px;
+            margin-bottom: 0;
         }
 
         time {
             float: right;
             font-size: 0.8em;
-            color: @light-gray-color-40;
+            color: $light-gray-color-40;
         }
     }
 }
diff --git a/resources/assets/stylesheets/less/enrolment.less b/resources/assets/stylesheets/scss/enrolment.scss
similarity index 76%
rename from resources/assets/stylesheets/less/enrolment.less
rename to resources/assets/stylesheets/scss/enrolment.scss
index 9aae6d2e64f2ed9bd21ca8b2da80236965b44795..417cd55f8f75f1d7ddcc8994f589580fb24f290a 100644
--- a/resources/assets/stylesheets/less/enrolment.less
+++ b/resources/assets/stylesheets/scss/enrolment.scss
@@ -1,17 +1,16 @@
 #enrollment {
     ul {
-        border-top: 1px solid @base-color;
+        border-top: 1px solid $base-color;
         list-style: none inside;
-        margin: 0px;
+        margin: 0;
         overflow-x: auto;
-        padding: 0px;
+        padding: 0;
 
-        .media-breakpoint-medium-up({
+        @include media-breakpoint-medium-up() {
             max-height: 200px;
-        });
-
+        }
         li {
-            border-bottom: 1px solid @base-color;
+            border-bottom: 1px solid $base-color;
             padding: 5px;
 
             &.ui-draggable.ui-draggable-handle {
@@ -43,14 +42,14 @@
     #available-courses li.visible,
     #selected-courses li {
         &:hover {
-            background-color: @base-color-20;
+            background-color: $base-color-20;
         }
     }
 
     #available-courses li.ui-draggable.ui-draggable-dragging,
     #selected-courses li.ui-sortable-helper {
-        background-color: @base-color-20;
-        border: 1px solid @base-color;
+        background-color: $base-color-20;
+        border: 1px solid $base-color;
         list-style: none inside;
         padding: 5px;
         width: auto;
@@ -69,12 +68,12 @@
         }
 
         &.ui-sortable-placeholder {
-            background-color: @yellow-20;
+            background-color: $yellow-20;
         }
     }
 
     .ui-sortable-helper .delete {
-        display:none;
+        display: none;
     }
 
     input[name="filter"] {
@@ -82,7 +81,7 @@
     }
 
     .ui-state-highlight {
-        background: @red;
+        background: $red;
         border: 0;
         height: 30px;
         padding: 10px;
@@ -99,17 +98,13 @@
         .selected {
             flex: 1;
         }
+
         .available {
             margin-right: 0.5em;
         }
+
         .selected {
             margin-left: 0.5em;
         }
-        //
-        // .available #available-courses,
-        // .selected #selected-courses {
-        //     position: sticky;
-        //     top: 0;
-        // }
     }
 }
diff --git a/resources/assets/stylesheets/less/feedback.less b/resources/assets/stylesheets/scss/feedback.scss
similarity index 90%
rename from resources/assets/stylesheets/less/feedback.less
rename to resources/assets/stylesheets/scss/feedback.scss
index f8c297d8d8a11b5c074a32214b87531da4e314a7..14fdb403ecd04286f8c9d1cb505a669bfbcdf975 100644
--- a/resources/assets/stylesheets/less/feedback.less
+++ b/resources/assets/stylesheets/scss/feedback.scss
@@ -44,9 +44,8 @@ article.studip.feedback-stream {
     .feedback-entry {
         margin-top: 10px;
         padding: 5px;
-        background-color: @content-color-10;
-        border: 1px solid @content-color-40;
-        border-width: 1px 0;
+        background-color: $content-color-10;
+        border: 1px solid $content-color-40;
 
         header {
             background: transparent;
@@ -71,7 +70,7 @@ article.studip.feedback-stream {
             }
         }
         .date {
-            color: #999;
+            color: $base-gray;
             text-align: right;
             font-size: 12px;
         }
@@ -99,7 +98,7 @@ table.feedback {
 .percentage-bar {
     margin-left: -5px;
     padding: 0 5px;
-    color: @content-color-10;
-    background-color: @base-color;
+    color: $content-color-10;
+    background-color: $base-color;
     min-width: 20px;
 }
diff --git a/resources/assets/stylesheets/less/index.less b/resources/assets/stylesheets/scss/index.scss
similarity index 76%
rename from resources/assets/stylesheets/less/index.less
rename to resources/assets/stylesheets/scss/index.scss
index 6f6cf125c1c587e22e9ed0e02d21c6bccd3c1602..ffa3221234d8960c23516f4fc046429d5a622fc5 100644
--- a/resources/assets/stylesheets/less/index.less
+++ b/resources/assets/stylesheets/scss/index.scss
@@ -1,9 +1,9 @@
 div.index_container {
     margin: 0 0;
     top: 111px;
-    bottom: 0px;
+    bottom: 0;
     width: 100%;
-    height: ~"calc(100% - 110px)";
+    height: calc(100% - 110px);
 
     ul#tabs {
         display: none;
@@ -31,7 +31,7 @@ div.index_container {
 
     div.index_main {
         background-color: rgba(255, 255, 255, 0.8);
-        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
+        box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
         margin-left: 50px;
         margin-top: 50px;
         width: 500px;
@@ -42,7 +42,6 @@ div.index_container {
 
         form {
             padding: 20px;
-            padding-bottom: 0;
         }
 
         footer {
@@ -50,7 +49,7 @@ div.index_container {
             padding: 20px;
 
             div#languages {
-                border-top: 1px solid @light-gray-color;
+                border-top: 1px solid $light-gray-color;
                 font-size: 0.9em;
                 padding: 10px;
 
@@ -63,23 +62,23 @@ div.index_container {
                 display: flex;
                 align-items: center;
                 gap: 5px;
-                border-top: 1px solid @light-gray-color;
+                border-top: 1px solid $light-gray-color;
                 font-size: 0.9em;
                 padding: 10px;
 
                 a {
                     text-decoration: underline;
-                    color: @contrast-blue;
+                    color: $base-color;
 
                     &:hover, &:focus {
                         font-size: 1em;
-                        color: @red;
+                        color: $red;
                     }
                 }
             }
 
             div.login_info {
-                border-top: 1px solid @light-gray-color;
+                border-top: 1px solid $light-gray-color;
                 font-size: 0.8em;
                 div {
                     text-align: right;
@@ -97,7 +96,7 @@ div.index_container {
         }
         nav {
             h1 {
-                border-bottom: 0px;
+                border-bottom: 0;
             }
             padding: 10px;
             margin-left: 20px;
@@ -113,7 +112,7 @@ div.index_container {
                     font-size: 1.5em;
                     p {
                         font-size: 0.5em;
-                        color: @black;
+                        color: $black;
                     }
                 }
             }
@@ -128,19 +127,3 @@ div.index_container {
         margin-bottom: -25px;
     }
 }
-
-@-moz-document url-prefix() {
-    div.index_container {
-        height: calc(100% - 145px);
-    }
-
-    #index,
-    #login {
-        height: calc(100% - 34px);
-
-        #layout_footer {
-            position: inherit;
-            top: 0;
-        }
-    }
-}
diff --git a/resources/assets/stylesheets/less/overlapping.less b/resources/assets/stylesheets/scss/overlapping.scss
similarity index 64%
rename from resources/assets/stylesheets/less/overlapping.less
rename to resources/assets/stylesheets/scss/overlapping.scss
index 5b567584c08df7af7ef1ef8d90561aaac0a4ccf1..05520b84f586129420ae8ec49ad60d60c9d947b7 100644
--- a/resources/assets/stylesheets/less/overlapping.less
+++ b/resources/assets/stylesheets/scss/overlapping.scss
@@ -1,32 +1,29 @@
-div.mvv-ovl-modulteil {
-    position: absolute;
-    top: 0px;
-    left: 30px;
-    right: 230px;
-    border-bottom: solid 1px @light-gray-color-40;
-}
 .mvv-ovl-selection {
     margin-bottom: 25px;
 }
+
 .mvv-ovl-base-abschnitt {
     position: relative;
     width: 100%;
     height: 30px;
     margin-bottom: 5px;
-    color: @dark-gray-color;
+    color: $dark-gray-color;
     font-weight: 700;
     font-size: 16px;
-    border-bottom: 1px solid @light-gray-color-40;
+    border-bottom: 1px solid $light-gray-color-40;
+
     h2 {
         position: absolute;
         left: 5px;
         border: none;
-        margin: 7px 0px;
+        margin: 7px 0;
     }
+
     & > div {
         position: absolute;
         left: unset;
-        right: 0px;
+        right: 0;
+
         div {
             display: inline-block;
             width: 25px;
@@ -34,21 +31,25 @@ div.mvv-ovl-modulteil {
         }
     }
 }
+
 ul.mvv-ovl-conflict {
     width: 100%;
+
     .mvv-ovl-base-modulteil, .mvv-ovl-comp-modulteil {
         > div {
             position: absolute;
-            top: 0px;
-            right: 0px;
+            top: 0;
+            right: 0;
             text-align: right;
-            border-bottom: solid 1px @light-gray-color-40;
+            border-bottom: solid 1px $light-gray-color-40;
+
             &:first-of-type {
                 left: 30px;
                 width: auto;
                 text-align: left;
-                border-bottom: solid 1px @light-gray-color-40;
+                border-bottom: solid 1px $light-gray-color-40;
             }
+
             & > div {
                 display: inline-block;
                 width: 25px;
@@ -56,26 +57,31 @@ ul.mvv-ovl-conflict {
             }
         }
     }
+
     .mvv-ovl-version {
         font-size: 1.2em;
     }
 }
+
 .mvv-ovl-base-course {
     position: absolute;
     width: 5px;
-    color: red;
+    color: $red;
     left: 10px;
+
     ~ label {
         padding-left: 4px;
     }
 }
+
 .mvv-overlapping-exclude {
     cursor: pointer;
     width: 16px;
     height: 16px;
     position: absolute;
-    background: rgba(255, 255, 255, 0.5) url("@{image-path}/icons/blue/visibility-visible.svg") center center no-repeat;
+    background: rgba(255, 255, 255, 0.5) url("#{$image-path}/icons/blue/visibility-visible.svg") center center no-repeat;
+
     &.mvv-overlapping-invisible {
-        background: rgba(255, 255, 255, 0.5) url("@{image-path}/icons/blue/visibility-invisible.svg") center center no-repeat;
+        background: rgba(255, 255, 255, 0.5) url("#{$image-path}/icons/blue/visibility-invisible.svg") center center no-repeat;
     }
 }
diff --git a/resources/assets/stylesheets/less/search.less b/resources/assets/stylesheets/scss/search.scss
similarity index 75%
rename from resources/assets/stylesheets/less/search.less
rename to resources/assets/stylesheets/scss/search.scss
index 12319dc7fba7882057b6c04833e412f0d8ad9dfb..6f8eee156b4acf0ed3d80612f7efd89e64d0f96c 100644
--- a/resources/assets/stylesheets/less/search.less
+++ b/resources/assets/stylesheets/scss/search.scss
@@ -1,27 +1,28 @@
+$icon-size: 32px;
 label.inactive-settings-category {
-        color:red;
+    color: $red;
 }
 
 #search {
     // "Searching..." info
     #searching-gif {
-        @icon-size: 32px;
-
-        color: @dark-gray-color-45;
+        color: $dark-gray-color-45;
         display: none;
         text-align: center;
 
-        background-image: url("@{image-path}/ajax-indicator-black.svg");
+        background-image: url("#{$image-path}/ajax-indicator-black.svg");
         background-position: center bottom;
         background-repeat: no-repeat;
-        background-size: @icon-size;
+        background-size: $icon-size;
         margin-bottom: 10px;
-        padding-bottom: (@icon-size + 5px);
+        padding-bottom: ($icon-size + 5px);
     }
+
     &.is-searching {
         #searching-gif {
             display: block;
         }
+
         #search-results {
             display: none;
         }
@@ -41,13 +42,13 @@ label.inactive-settings-category {
         }
 
         article {
-            border: 1px solid @content-color-40;
+            border: 1px solid $content-color-40;
             margin-bottom: 8px;
             margin-top: 8px;
 
             > header {
-                background-color: @content-color-20;
-                color: @base-color;
+                background-color: $content-color-20;
+                color: $base-color;
 
                 display: flex;
                 flex-direction: row;
@@ -61,9 +62,9 @@ label.inactive-settings-category {
                 }
 
                 div.search-more-results {
-                    font-size: @font-size-base;
+                    font-size: $font-size-base;
                     font-weight: normal;
-                    line-height: @font-size-h3;
+                    line-height: $font-size-h3;
                     margin-bottom: auto;
                     margin-top: auto;
                     margin-right: 5px;
@@ -77,18 +78,18 @@ label.inactive-settings-category {
                 flex-wrap: nowrap;
 
                 padding: 8px;
-                transition: background-color @transition-duration;
+                transition: background-color $transition-duration;
 
                 &.search-is-subcourse {
                     padding-left: 30px;
                 }
 
                 &:not(:first-child) {
-                    border-top: 1px solid @content-color-40;
+                    border-top: 1px solid $content-color-40;
                 }
 
                 &:hover {
-                    background-color: fadeout(@light-gray-color, 80%);
+                    background-color: mix($light-gray-color, $white, 80%);
                 }
 
                 &.search-extended-result {
@@ -109,7 +110,7 @@ label.inactive-settings-category {
                     margin-right: 8px;
 
                     img {
-                        .square(36px);
+                        @include square(36px);
                         vertical-align: middle;
                     }
                 }
@@ -125,13 +126,13 @@ label.inactive-settings-category {
                     }
 
                     .search-result-title {
-                        font-size: @font-size-base;
+                        font-size: $font-size-base;
                         font-weight: bold;
                     }
 
                     .search-result-details {
-                        color: @dark-gray-color-80;
-                        font-size: @font-size-small;
+                        color: $dark-gray-color-80;
+                        font-size: $font-size-small;
                     }
                 }
 
@@ -144,16 +145,16 @@ label.inactive-settings-category {
 
 
                     .search-result-time {
-                        color: @dark-gray-color-80;
+                        color: $dark-gray-color-80;
                         flex: 1;
-                        font-size: @font-size-small;
+                        font-size: $font-size-small;
                         text-align: right;
                         white-space: nowrap;
                     }
 
                     .search-result-additional {
-                        color: @dark-gray-color-80;
-                        font-size: @font-size-small;
+                        color: $dark-gray-color-80;
+                        font-size: $font-size-small;
                         text-align: right;
                     }
 
@@ -168,8 +169,8 @@ label.inactive-settings-category {
                     margin: 20px 0 0 -32px;
 
                     a {
-                        .background-icon('arr_1right', 'clickable', 24);
-                        .square(24px);
+                        @include background-icon(arr_1right, clickable, 24);
+                        @include square(24px);
                         display: inline-block;
                     }
                 }
@@ -179,10 +180,11 @@ label.inactive-settings-category {
 }
 
 a.no-result {
-    color: grey;
+    color: $base-gray;
     pointer-events: none;
     cursor: default;
 }
+
 div#div-search-input {
     margin-top: 0;
     margin-bottom: 16px;
@@ -201,29 +203,32 @@ div#div-search-input {
     flex-direction: row;
     align-items: baseline;
     margin: 10px 0;
+
     h5 {
         margin-right: 10px;
     }
+
     .filter-items {
         .button {
-            background-color: @content-color-20;
-            color: @brand-color-dark;
-            min-width:auto;
+            background-color: $content-color-20;
+            color: $brand-color-dark;
+            min-width: auto;
             border: 0;
             white-space: nowrap;
             padding: 8px;
             margin: 0 5px;
+
             &::before {
                 background-repeat: no-repeat;
                 content: " ";
                 float: right;
                 height: 16px;
                 width: 16px;
-                .background-icon('trash', 'clickable');
+                @include background-icon(trash, clickable);
             }
 
             &:hover::before {
-                .background-icon('trash', 'attention');
+                @include background-icon(trash, clickable);
             }
         }
     }
diff --git a/resources/assets/stylesheets/studip.less b/resources/assets/stylesheets/studip.less
index c66e5094f18ca9a50991d42b4203e3f1325d6977..2a8024fa64a4ab4c5defe52a18424daae3799b4b 100644
--- a/resources/assets/stylesheets/studip.less
+++ b/resources/assets/stylesheets/studip.less
@@ -23,15 +23,11 @@
 @import "less/clipboard.less";
 @import "less/helpbar.less";
 @import "less/content_box.less";
-@import "less/badges.less";
 @import "less/studip-selection.less";
-@import "less/comments.less";
 
-@import "less/autocomplete.less";
 @import "less/avatar.less";
 @import "less/buttons.less";
 @import "less/messagebox.less";
-@import "less/search.less";
 @import "less/tabs.less";
 @import "less/copyable-links.less";
 
@@ -41,8 +37,6 @@
 @import "less/documents.less";
 @import "less/files.less";
 @import "less/evaluation.less";
-@import "less/index.less";
-@import "less/news.less";
 @import "less/schedule.less";
 @import "less/study-area-selection.less";
 @import "less/ilias-interface.less";
@@ -52,7 +46,6 @@
 
 @import "less/activityfeed.less";
 @import "less/mobile.less";
-@import "less/enrolment.less";
 @import "less/dialog.less";
 @import "less/studip-overlay.less";
 @import "less/selects.less";
@@ -67,9 +60,6 @@
 
 @import "less/deprecated.less";
 
-@import "less/overlapping.less";
-
-@import "less/feedback.less";
 
 /* --- Standardvorgaben ----------------------------------------------------- */
 //TODO: the Body-Background color should be similar to A:link.toolbar and A:visited.toolbar for best effect!!
diff --git a/resources/assets/stylesheets/studip.scss b/resources/assets/stylesheets/studip.scss
index 9e0d1f88b1a428d8a08290db797d66d264ef1d17..86e324356c122eeecd7f1915746b3b0f87146cdf 100644
--- a/resources/assets/stylesheets/studip.scss
+++ b/resources/assets/stylesheets/studip.scss
@@ -15,18 +15,23 @@
 @import "scss/article";
 @import "scss/ajax";
 @import "scss/avatar";
+@import "scss/badges";
 @import "scss/blubber";
 @import "scss/buttons";
 @import "scss/contentbar";
 @import "scss/contents";
+@import "scss/comments";
 @import "scss/courseware";
 @import "scss/css_tree";
 @import "scss/dates";
 @import "scss/dashboard";
+@import "scss/enrolment";
 @import "scss/files";
+@import "scss/feedback";
 @import "scss/forum";
 @import "scss/grid";
 @import "scss/i18n";
+@import "scss/index";
 @import "scss/fullscreen";
 @import "scss/links";
 @import "scss/lists";
@@ -34,6 +39,7 @@
 @import "scss/my_courses";
 @import "scss/mvv";
 @import "scss/oer";
+@import "scss/overlapping";
 @import "scss/qrcode";
 @import "scss/questionnaire";
 @import "scss/quicksearch";
@@ -47,6 +53,7 @@
 @import "scss/resources";
 @import "scss/sidebar";
 @import "scss/select";
+@import "scss/search";
 @import "scss/skiplinks";
 @import "scss/start";
 @import "scss/scroll-to-top";