diff --git a/assets/sass/_theme/sections/posts.sass b/assets/sass/_theme/sections/posts.sass
index 5c319a79ad3653fca4f326a81ee818a298629a33..2f16991f055de2123a379edd2fd25ede8dc87de0 100644
--- a/assets/sass/_theme/sections/posts.sass
+++ b/assets/sass/_theme/sections/posts.sass
@@ -1,5 +1,11 @@
 .post
     @include article
+    .post-title
+        @include h3
+        a
+            @include stretched-link
+            display: block
+            text-decoration: none
     time
         color: $post-time-color
         display: inline-block
diff --git a/assets/sass/_theme/sections/programs.sass b/assets/sass/_theme/sections/programs.sass
index d2895899dece67290a8aa77ae3c05244e2754557..112981bded4184cb6dab698177cc94b97a238592 100644
--- a/assets/sass/_theme/sections/programs.sass
+++ b/assets/sass/_theme/sections/programs.sass
@@ -1,5 +1,11 @@
 .program
     @include article
+    h2, h3, .program-title
+        @include h3
+        a
+            @include stretched-link
+            display: block
+            text-decoration: none
 
 div.programs,
 section.programs
diff --git a/assets/sass/_theme/sections/projects.sass b/assets/sass/_theme/sections/projects.sass
index fe4c656195c1c7179d25006eeafd0fbef31947ad..19b41f6451debceb83738bf0379229cdc96366e0 100644
--- a/assets/sass/_theme/sections/projects.sass
+++ b/assets/sass/_theme/sections/projects.sass
@@ -1,5 +1,11 @@
 .project
     @include article(auto)
+    .project-title
+        @include h3
+        a
+            @include stretched-link
+            display: block
+            text-decoration: none
 
 .projects__section,
 .projects_categories__term
diff --git a/assets/sass/_theme/sections/volumes.sass b/assets/sass/_theme/sections/volumes.sass
index 2b3d83aa8ccf3d7d7bd92c5824a65d5a6f058b0e..b9f768e9cd2ca435ba05f54a15887a1a43e2caeb 100644
--- a/assets/sass/_theme/sections/volumes.sass
+++ b/assets/sass/_theme/sections/volumes.sass
@@ -1,5 +1,11 @@
 .volume
     @include article
+    .volume-title
+        @include h3
+        a
+            @include stretched-link
+            display: block
+            text-decoration: none
     .suptitle
         @include meta
 
diff --git a/assets/sass/_theme/utils/shame.sass b/assets/sass/_theme/utils/shame.sass
index 1be170d21d897d77612726d2666090c4d977098b..d966d30f2c140d65101e86313b0fa14a3bbb7db6 100644
--- a/assets/sass/_theme/utils/shame.sass
+++ b/assets/sass/_theme/utils/shame.sass
@@ -32,12 +32,6 @@
             object-fit: cover
             @if $aspect-ratio
                 aspect-ratio: $aspect-ratio
-    h2, h3, [itemprop=headline],  [itemprop=name]
-        @include h3
-        a
-            @include stretched-link
-            display: block
-            text-decoration: none
     p + time
             margin-top: $spacing-2
     .post-categories, .project-categories
diff --git a/layouts/partials/blocks/templates/pages.html b/layouts/partials/blocks/templates/pages.html
index 64394a082c26a6abd62fc1415e37fdb721eeb2ce..ee6e9a41ab919d2b0d9de97fe15b5fb629adf654 100644
--- a/layouts/partials/blocks/templates/pages.html
+++ b/layouts/partials/blocks/templates/pages.html
@@ -22,7 +22,7 @@
       {{ $title = .Title }}
     {{ end }}
     {{ if .Params.bodyclass }}
-      {{- $page_class = printf "block-page-%s" .Params.bodyclass }}
+      {{- $page_class = printf "block-%s" .Params.bodyclass }}
     {{ end }}
     {{ if $show_main_description }}
       {{- $main_description = partial "GetTruncateContent" ( dict 
diff --git a/layouts/partials/posts/post.html b/layouts/partials/posts/post.html
index 0137312c24227bf98f93550bec9aec4ead3f75d3..eb9f661498990a25fe620c8d05ae53db427a3329 100644
--- a/layouts/partials/posts/post.html
+++ b/layouts/partials/posts/post.html
@@ -2,7 +2,7 @@
 {{- $direction := "" -}}
 {{ $heading := .heading | default "h2" }}
 {{ $heading_tag := (dict 
-    "open" ((printf "<%s itemprop='headline'>" $heading) | safeHTML)
+    "open" ((printf "<%s class='post-title' itemprop='headline'>" $heading) | safeHTML)
     "close" ((printf "</%s>" $heading) | safeHTML)
     ) }}
 {{ $index := .index}}
diff --git a/layouts/partials/projects/project.html b/layouts/partials/projects/project.html
index c7ec5b2829b8440a7bacdaf57a5554e731d6bb09..c6f825ad4e665bbeca3429981ae2228d122aed08 100644
--- a/layouts/partials/projects/project.html
+++ b/layouts/partials/projects/project.html
@@ -1,7 +1,7 @@
 {{ $project := .project }}
 {{ $heading := .heading | default "h2" }}
 {{ $heading_tag := (dict 
-    "open" ((printf "<%s itemprop='name'>" $heading) | safeHTML)
+    "open" ((printf "<%s class='project-title' itemprop='name'>" $heading) | safeHTML)
     "close" ((printf "</%s>" $heading) | safeHTML)
     ) }}
 
diff --git a/layouts/partials/volumes/volume.html b/layouts/partials/volumes/volume.html
index 2ff521816ad11ff47f33a8e972279017f04d6368..d5ca03d13c8aabbf06f453f23d0a764d81a6d9d4 100644
--- a/layouts/partials/volumes/volume.html
+++ b/layouts/partials/volumes/volume.html
@@ -1,7 +1,7 @@
 <article class="volume" itemscope itemtype="https://schema.org/Book https://schema.org/PublicationVolume">
   <hgroup>
     <p class="suptitle" itemprop="volumeNumber">{{ i18n "volumes.volume_number" (dict "Number" .Params.Number) }}</p>
-    <h2><a href="{{ .Permalink }}" title="{{ i18n "commons.more_aria" (dict "Title" .Title) }}" itemprop="name">{{ partial "PrepareHTML" .Title }}</a></h2>
+    <h2 class="volume-title"><a href="{{ .Permalink }}" title="{{ i18n "commons.more_aria" (dict "Title" .Title) }}" itemprop="name">{{ partial "PrepareHTML" .Title }}</a></h2>
   </hgroup>
   <div class="media">
     {{- if .Params.image -}}