diff --git a/main/blocks.py b/main/blocks.py
index ce1ec8319603b69be1e882859481b23398667d54..f0ffe7fe26f04414518c8366f561f88e9be3c702 100644
--- a/main/blocks.py
+++ b/main/blocks.py
@@ -14,6 +14,25 @@ from wagtail.images.blocks import ImageChooserBlock
 
 from shared.blocks import CardLinkBlockMixin, CardLinkWithHeadlineBlockMixin
 
+PROGRAM_RICH_TEXT_FEATURES = [
+    "h3",
+    "h4",
+    "h5",
+    "bold",
+    "italic",
+    "ol",
+    "ul",
+    "hr",
+    "link",
+    "document-link",
+    "image",
+    "superscript",
+    "subscript",
+    "strikethrough",
+    "blockquote",
+    "embed",
+]
+
 
 class CardLinkBlock(CardLinkBlockMixin):
     page = PageChooserBlock(
@@ -57,6 +76,7 @@ class ProgramGroupBlockMixin(StructBlock):
     perex = RichTextBlock(
         label="Perex části programu",
         required=False,
+        features=PROGRAM_RICH_TEXT_FEATURES,
     )
     # point_list = ListBlock(ProgramBlock(), label="Jednotlivé články programu")
 
@@ -164,7 +184,10 @@ class ProgramBlock(StructBlock):
         required=False,
     )
     title = CharBlock(label="Titulek článku programu")
-    text = RichTextBlock(label="Obsah")
+    text = RichTextBlock(
+        label="Obsah",
+        features=PROGRAM_RICH_TEXT_FEATURES,
+    )
 
     class Meta:
         icon = "date"
@@ -173,7 +196,10 @@ class ProgramBlock(StructBlock):
 
 class ProgramBlockPopout(StructBlock):
     title = CharBlock(label="Titulek vyskakovacího bloku")
-    content = RichTextBlock(label="Obsah")
+    content = RichTextBlock(
+        label="Obsah",
+        features=PROGRAM_RICH_TEXT_FEATURES,
+    )
 
     class Meta:
         icon = "date"
diff --git a/main/migrations/0045_alter_mainprogrampage_program.py b/main/migrations/0045_alter_mainprogrampage_program.py
new file mode 100644
index 0000000000000000000000000000000000000000..1cada2e279788620e8cc7fb85b463f4320449e31
--- /dev/null
+++ b/main/migrations/0045_alter_mainprogrampage_program.py
@@ -0,0 +1,21 @@
+# Generated by Django 4.1.5 on 2023-02-14 13:33
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+import wagtail.images.blocks
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('main', '0044_alter_mainprogrampage_program'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='mainprogrampage',
+            name='program',
+            field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug části programu', required=False)), ('perex', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Perex části programu', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('url', wagtail.blocks.URLBlock(label='Odkaz pokrývající celou tuto část', required=False)), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('title', wagtail.blocks.CharBlock(label='Titulek článku programu')), ('text', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé články programu'))])), ('program_group_crossroad', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug části programu', required=False)), ('perex', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Perex části programu', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('image', wagtail.images.blocks.ImageChooserBlock(label='Obrázek')), ('title', wagtail.blocks.CharBlock(label='Titulek', required=True)), ('text', wagtail.blocks.RichTextBlock(label='Krátký text pod nadpisem', required=False)), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['main.MainArticlesPage', 'main.MainArticlePage', 'main.MainProgramPage', 'main.MainPeoplePage', 'main.MainPersonPage', 'main.MainSimplePage', 'main.MainContactPage', 'main.MainCrossroadPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek části programu')), ('slug', wagtail.blocks.CharBlock(help_text='Není třeba vyplňovat, bude automaticky vyplněno', label='Slug části programu', required=False)), ('perex', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Perex části programu', required=False)), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('point_list', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(label='Titulek vyskakovacího bloku')), ('content', wagtail.blocks.RichTextBlock(features=['h3', 'h4', 'h5', 'bold', 'italic', 'ol', 'ul', 'hr', 'link', 'document-link', 'image', 'superscript', 'subscript', 'strikethrough', 'blockquote', 'embed'], label='Obsah'))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))]))], blank=True, use_json_field=True, verbose_name='Program'),
+        ),
+    ]
diff --git a/main/templates/main/main_program_page.html b/main/templates/main/main_program_page.html
index cac34f0f786a6d95b971f702ce8981d52a53d7b7..04701efdecaa22eafa15523eba0018b665bef6f4 100644
--- a/main/templates/main/main_program_page.html
+++ b/main/templates/main/main_program_page.html
@@ -87,9 +87,11 @@
                         {% for category in program_group.value.categories %}
                           <li class="grow">
                             <div class="flex gap-3 mb-3 items-center bg-grey-150 p-5">
-                              {% image category.icon height-24 as icon %}
+                              {% image category.icon max-75x75 as icon %}
                               <img
                                 src="{{ icon.url }}"
+                                width="20"
+                                height="20"
                                 alt=""{% comment %} (decorative image, https://stackoverflow.com/a/52557065) {% endcomment %}
                               >
                               <h2 class="font-alt text-2xl">{{ category.name }}</h2>