diff --git a/assets/sass/_theme/sections/diplomas.sass b/assets/sass/_theme/sections/diplomas.sass
index c5b2d68c5dd83fbc8aa7a5e8080d1885869f8763..71fa6e826d84767ea3aed98f2a144a684af64e77 100644
--- a/assets/sass/_theme/sections/diplomas.sass
+++ b/assets/sass/_theme/sections/diplomas.sass
@@ -38,14 +38,28 @@ ul.diplomas
             @include media-breakpoint-down(desktop)
                 margin-top: $spacing1
             li
-                @include h3
                 display: block
                 border-bottom: 0
                 padding: 0
-                + li
-                    margin-top: $spacing1
+                + li, > ol
+                    margin-top: $spacing0
+                    @include media-breakpoint-up(sm) 
+                        margin-top: $spacing1
                 a:hover
                     color: $color-accent
+                ol li a   
+                    @include inherit-text
+                    @include media-breakpoint-up(sm)
+                        @include h3
+                    @include icon(list-hyphen, before)
+                        margin-right: half($spacing0)
+                        @include media-breakpoint-up(sm)
+                            margin-right: $spacing0
+                    display: flex
+                    ol
+                        margin-left: $spacing1
+            > li a 
+                @include h3
                         
         .program
             div
@@ -149,4 +163,15 @@ ul.diplomas
     ol.programs
         li
             @include grid(2, desktop)
-            align-items: start
\ No newline at end of file
+            align-items: start
+            a
+                @include media-breakpoint-between(sm, desktop)
+                    display: flex
+                    margin-right: $spacing0
+                    &::after
+                        bottom: unset
+                + p
+                    margin-top: $spacing0
+                @include media-breakpoint-down(sm)
+                    &::after
+                        transform: translateY(50%)
\ No newline at end of file
diff --git a/layouts/diplomas/term.html b/layouts/diplomas/term.html
index edf2d8bc514d2c7225d59bc5aeed57a95af40913..807600e004d965ff28e56ef214cb0b84a2e45e2f 100644
--- a/layouts/diplomas/term.html
+++ b/layouts/diplomas/term.html
@@ -8,12 +8,15 @@
         {{- range .Pages -}}
           <li>
             {{- $title := partial "PrepareHTML" .Title -}}
+            {{/*  TODO: check title class relevance */}}
             <a href="{{ .Permalink }}" class="title" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" $title)) }}">
               {{- $title -}}
             </a>
-            <p class="description">
-              {{- partial "PrepareHTML" .Params.summary -}}
-            </p>
+            {{ if .Params.summary }}
+              <p class="description">
+                {{- partial "PrepareHTML" .Params.summary -}}
+              </p>
+            {{ end }}
           </li>
         {{- end -}}
       </ol>
diff --git a/layouts/partials/diplomas/diplomas.html b/layouts/partials/diplomas/diplomas.html
index 1e8ff864fc3c0c38d75b4bc31409615d182e11d3..1f9b63028b93200a6ba5890877114b4dbb5d71a9 100644
--- a/layouts/partials/diplomas/diplomas.html
+++ b/layouts/partials/diplomas/diplomas.html
@@ -15,16 +15,31 @@
         </div>
 
         <ol class="programs">
-          {{- range .Pages -}}
-            <li>
-              <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .Title)) }}">
-                {{- partial "PrepareHTML" .Title -}}
-              </a>
-            </li>
+          {{- range .Params.programs -}}
+            {{- template "programsList" . -}}
           {{- end -}}
         </ol>
-
       </div>
     </li>
   {{ end }}
 </ul>
+
+{{- define "programsList" -}}
+  <li>
+    <a href="{{ .Permalink }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .label)) }}">
+      {{- partial "PrepareHTML" .label -}}
+    </a>
+    <ol>
+      {{- range .children -}}
+      <li>
+        <a href="{{ .path }}" title="{{ safeHTML (i18n "commons.more_aria" (dict "Title" .label)) }}">
+          {{- partial "PrepareHTML" .label -}}
+        </a>
+        {{ if .children }}
+          {{- template "programsList" . -}}
+        {{ end }}
+      </li>
+      {{ end }}
+    </ol>
+  </li>
+{{- end -}}
\ No newline at end of file