diff --git a/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py b/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py
index 1ae4a5d0d66910400141c1ce91d5fd07492d3ac0..19a2b7f7b919ac3226d4bf514bc77376acf3ea2a 100644
--- a/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py
+++ b/czech_inspirational/migrations/0008_alter_czechinspirationalhomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('czech_inspirational', '0007_czechinspirationalhomepage_title_suffix'),
+        ("czech_inspirational", "0007_czechinspirationalhomepage_title_suffix"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='czechinspirationalhomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="czechinspirationalhomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/district/migrations/0225_auto_20240613_1111.py b/district/migrations/0225_auto_20240613_1111.py
index a71ba1afce9da85cef45b411f80f2d97847dc0c7..47d2510eeb3c588cc04c790ef85a2e27d672044d 100644
--- a/district/migrations/0225_auto_20240613_1111.py
+++ b/district/migrations/0225_auto_20240613_1111.py
@@ -6,10 +6,18 @@ from django.db import migrations
 def remove_old_program_pages(apps, schema_editor):
     DistrictElectionRootPage = apps.get_model("district", "DistrictElectionRootPage")
     DistrictProgramPage = apps.get_model("district", "DistrictProgramPage")
-    DistrictInteractiveProgramPage = apps.get_model("district", "DistrictInteractiveProgramPage")
-    DistrictElectionCampaignPage = apps.get_model("district", "DistrictElectionCampaignPage")
-    DistrictElectionProgramPage = apps.get_model("district", "DistrictElectionProgramPage")
-    DistrictPostElectionStrategyPage = apps.get_model("district", "DistrictPostElectionStrategyPage")
+    DistrictInteractiveProgramPage = apps.get_model(
+        "district", "DistrictInteractiveProgramPage"
+    )
+    DistrictElectionCampaignPage = apps.get_model(
+        "district", "DistrictElectionCampaignPage"
+    )
+    DistrictElectionProgramPage = apps.get_model(
+        "district", "DistrictElectionProgramPage"
+    )
+    DistrictPostElectionStrategyPage = apps.get_model(
+        "district", "DistrictPostElectionStrategyPage"
+    )
 
     for model in (
         DistrictElectionRootPage,
@@ -17,17 +25,14 @@ def remove_old_program_pages(apps, schema_editor):
         DistrictInteractiveProgramPage,
         DistrictElectionCampaignPage,
         DistrictElectionProgramPage,
-        DistrictPostElectionStrategyPage
+        DistrictPostElectionStrategyPage,
     ):
         model.objects.filter().delete()
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0224_alter_districtpeoplepage_perex_col_1_and_more'),
+        ("district", "0224_alter_districtpeoplepage_perex_col_1_and_more"),
     ]
 
-    operations = [
-        migrations.RunPython(remove_old_program_pages)
-    ]
+    operations = [migrations.RunPython(remove_old_program_pages)]
diff --git a/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py b/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py
index a92ef2664918e83ea628e27baafd836c56f7388f..983678990075af1b9d66a205280859aa65f5c9c5 100644
--- a/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py
+++ b/district/migrations/0226_remove_districtelectionprogrampage_page_ptr_and_more.py
@@ -7,53 +7,703 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0225_auto_20240613_1111'),
+        ("district", "0225_auto_20240613_1111"),
     ]
 
     operations = [
         migrations.RemoveField(
-            model_name='districtelectionprogrampage',
-            name='page_ptr',
+            model_name="districtelectionprogrampage",
+            name="page_ptr",
         ),
         migrations.RemoveField(
-            model_name='districtelectionrootpage',
-            name='page_ptr',
+            model_name="districtelectionrootpage",
+            name="page_ptr",
         ),
         migrations.RemoveField(
-            model_name='districtinteractiveprogrampage',
-            name='page_ptr',
+            model_name="districtinteractiveprogrampage",
+            name="page_ptr",
         ),
         migrations.RemoveField(
-            model_name='districtpostelectionstrategypage',
-            name='page_ptr',
+            model_name="districtpostelectionstrategypage",
+            name="page_ptr",
         ),
         migrations.RemoveField(
-            model_name='districtprogrampage',
-            name='page_ptr',
+            model_name="districtprogrampage",
+            name="page_ptr",
         ),
         migrations.AlterField(
-            model_name='districtnewprogrampage',
-            name='program',
-            field=wagtail.fields.StreamField([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('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(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('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=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', 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')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('program_group_with_candidates', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('preamble_content', wagtail.blocks.RichTextBlock(help_text='Text, který se zobrazí před přepínačem mezi kandidáty a programem.', label='Preambule', required=False)), ('primary_candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False)), ('description', wagtail.blocks.TextBlock(label='Popis'))]), label=' '))], help_text='Zobrazí se ve velkých blocích na začátku stránky.', label='Osoby na čele kandidátky')), ('secondary_candidates', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(default='Ostatní kandidátky', label='Nadpis zbytku kandidátky')), ('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.CharBlock(label='Číslo')), ('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['district.DistrictPersonPage'])), ('image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybrán, použije se obrázek ze stránky kandidáta', label='Obrázek', required=False))]), label='Zbylí kandidáti na listině'))], help_text='Zobrazí se v kompaktním seznamu pod čelem kandidátky.', label='Ostatní osoby na kandidátce')), ('program', wagtail.blocks.StreamBlock([('program_group', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('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(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('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=['district.DistrictArticlePage', 'district.DistrictArticlesPage', 'district.DistrictCenterPage', 'district.DistrictContactPage', 'district.DistrictCrossroadPage', 'district.DistrictCustomPage', 'district.DistrictPeoplePage', 'district.DistrictPersonPage', 'district.DistrictNewProgramPage'], required=False)), ('link', wagtail.blocks.URLBlock(label='Odkaz', required=False))]), label='Karty programu'))])), ('program_group_popout', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...", label='Název programu')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Název')), ('icon', wagtail.images.blocks.ImageChooserBlock(label='Ikona', required=False)), ('description', wagtail.blocks.RichTextBlock(label='Popis', 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')), ('guarantor', wagtail.blocks.PageChooserBlock(label='Garant', page_type=['district.DistrictPersonPage'], required=False))]), label='Jednotlivé bloky programu'))]), label='Kategorie programu'))])), ('carousel_program', wagtail.blocks.StructBlock([('label', wagtail.blocks.CharBlock(default='Program', help_text="Např. 'Program'", label='Nadpis')), ('categories', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('number', wagtail.blocks.IntegerBlock(label='Číslo')), ('name', wagtail.blocks.CharBlock(label='Název')), ('points', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('content', wagtail.blocks.TextBlock(label='Obsah'))]), label='Body'))]), label='Kategorie')), ('long_version_url', wagtail.blocks.URLBlock(help_text='Pro zobrazení odkazu na celou verzi programu musí být obě následující pole vyplněná.', label='Odkaz na celou verzi programu', required=False)), ('long_version_text', wagtail.blocks.CharBlock(label='Nadpis odkazu na celou verzi programu', required=False))], template='styleguide2/includes/molecules/program/program_block.html'))]))]))], blank=True, verbose_name='Programy'),
+            model_name="districtnewprogrampage",
+            name="program",
+            field=wagtail.fields.StreamField(
+                [
+                    (
+                        "program_group",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "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(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "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=[
+                                                            "district.DistrictArticlePage",
+                                                            "district.DistrictArticlesPage",
+                                                            "district.DistrictCenterPage",
+                                                            "district.DistrictContactPage",
+                                                            "district.DistrictCrossroadPage",
+                                                            "district.DistrictCustomPage",
+                                                            "district.DistrictPeoplePage",
+                                                            "district.DistrictPersonPage",
+                                                            "district.DistrictNewProgramPage",
+                                                        ],
+                                                        required=False,
+                                                    ),
+                                                ),
+                                                (
+                                                    "link",
+                                                    wagtail.blocks.URLBlock(
+                                                        label="Odkaz", required=False
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Karty programu",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "program_group_popout",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "categories",
+                                    wagtail.blocks.ListBlock(
+                                        wagtail.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "name",
+                                                    wagtail.blocks.CharBlock(
+                                                        label="Název"
+                                                    ),
+                                                ),
+                                                (
+                                                    "icon",
+                                                    wagtail.images.blocks.ImageChooserBlock(
+                                                        label="Ikona", required=False
+                                                    ),
+                                                ),
+                                                (
+                                                    "description",
+                                                    wagtail.blocks.RichTextBlock(
+                                                        label="Popis", 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",
+                                                                    ),
+                                                                ),
+                                                                (
+                                                                    "guarantor",
+                                                                    wagtail.blocks.PageChooserBlock(
+                                                                        label="Garant",
+                                                                        page_type=[
+                                                                            "district.DistrictPersonPage"
+                                                                        ],
+                                                                        required=False,
+                                                                    ),
+                                                                ),
+                                                            ]
+                                                        ),
+                                                        label="Jednotlivé bloky programu",
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Kategorie programu",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "program_group_with_candidates",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                        label="Název programu",
+                                    ),
+                                ),
+                                (
+                                    "preamble_content",
+                                    wagtail.blocks.RichTextBlock(
+                                        help_text="Text, který se zobrazí před přepínačem mezi kandidáty a programem.",
+                                        label="Preambule",
+                                        required=False,
+                                    ),
+                                ),
+                                (
+                                    "primary_candidates",
+                                    wagtail.blocks.StructBlock(
+                                        [
+                                            (
+                                                "candidates",
+                                                wagtail.blocks.ListBlock(
+                                                    wagtail.blocks.StructBlock(
+                                                        [
+                                                            (
+                                                                "page",
+                                                                wagtail.blocks.PageChooserBlock(
+                                                                    label="Stránka",
+                                                                    page_type=[
+                                                                        "district.DistrictPersonPage"
+                                                                    ],
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "image",
+                                                                wagtail.images.blocks.ImageChooserBlock(
+                                                                    help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta",
+                                                                    label="Obrázek",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "description",
+                                                                wagtail.blocks.TextBlock(
+                                                                    label="Popis"
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    label=" ",
+                                                ),
+                                            )
+                                        ],
+                                        help_text="Zobrazí se ve velkých blocích na začátku stránky.",
+                                        label="Osoby na čele kandidátky",
+                                    ),
+                                ),
+                                (
+                                    "secondary_candidates",
+                                    wagtail.blocks.StructBlock(
+                                        [
+                                            (
+                                                "heading",
+                                                wagtail.blocks.CharBlock(
+                                                    default="Ostatní kandidátky",
+                                                    label="Nadpis zbytku kandidátky",
+                                                ),
+                                            ),
+                                            (
+                                                "candidates",
+                                                wagtail.blocks.ListBlock(
+                                                    wagtail.blocks.StructBlock(
+                                                        [
+                                                            (
+                                                                "number",
+                                                                wagtail.blocks.CharBlock(
+                                                                    label="Číslo"
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "page",
+                                                                wagtail.blocks.PageChooserBlock(
+                                                                    label="Stránka",
+                                                                    page_type=[
+                                                                        "district.DistrictPersonPage"
+                                                                    ],
+                                                                ),
+                                                            ),
+                                                            (
+                                                                "image",
+                                                                wagtail.images.blocks.ImageChooserBlock(
+                                                                    help_text="Pokud není vybrán, použije se obrázek ze stránky kandidáta",
+                                                                    label="Obrázek",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    label="Zbylí kandidáti na listině",
+                                                ),
+                                            ),
+                                        ],
+                                        help_text="Zobrazí se v kompaktním seznamu pod čelem kandidátky.",
+                                        label="Ostatní osoby na kandidátce",
+                                    ),
+                                ),
+                                (
+                                    "program",
+                                    wagtail.blocks.StreamBlock(
+                                        [
+                                            (
+                                                "program_group",
+                                                wagtail.blocks.StructBlock(
+                                                    [
+                                                        (
+                                                            "title",
+                                                            wagtail.blocks.CharBlock(
+                                                                help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                                                label="Název programu",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "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(
+                                                                help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                                                label="Název programu",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "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=[
+                                                                                    "district.DistrictArticlePage",
+                                                                                    "district.DistrictArticlesPage",
+                                                                                    "district.DistrictCenterPage",
+                                                                                    "district.DistrictContactPage",
+                                                                                    "district.DistrictCrossroadPage",
+                                                                                    "district.DistrictCustomPage",
+                                                                                    "district.DistrictPeoplePage",
+                                                                                    "district.DistrictPersonPage",
+                                                                                    "district.DistrictNewProgramPage",
+                                                                                ],
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "link",
+                                                                            wagtail.blocks.URLBlock(
+                                                                                label="Odkaz",
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                    ]
+                                                                ),
+                                                                label="Karty programu",
+                                                            ),
+                                                        ),
+                                                    ]
+                                                ),
+                                            ),
+                                            (
+                                                "program_group_popout",
+                                                wagtail.blocks.StructBlock(
+                                                    [
+                                                        (
+                                                            "title",
+                                                            wagtail.blocks.CharBlock(
+                                                                help_text="Např. 'Krajské volby 2024', 'Evropské volby 2024', ...",
+                                                                label="Název programu",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "categories",
+                                                            wagtail.blocks.ListBlock(
+                                                                wagtail.blocks.StructBlock(
+                                                                    [
+                                                                        (
+                                                                            "name",
+                                                                            wagtail.blocks.CharBlock(
+                                                                                label="Název"
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "icon",
+                                                                            wagtail.images.blocks.ImageChooserBlock(
+                                                                                label="Ikona",
+                                                                                required=False,
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "description",
+                                                                            wagtail.blocks.RichTextBlock(
+                                                                                label="Popis",
+                                                                                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",
+                                                                                            ),
+                                                                                        ),
+                                                                                        (
+                                                                                            "guarantor",
+                                                                                            wagtail.blocks.PageChooserBlock(
+                                                                                                label="Garant",
+                                                                                                page_type=[
+                                                                                                    "district.DistrictPersonPage"
+                                                                                                ],
+                                                                                                required=False,
+                                                                                            ),
+                                                                                        ),
+                                                                                    ]
+                                                                                ),
+                                                                                label="Jednotlivé bloky programu",
+                                                                            ),
+                                                                        ),
+                                                                    ]
+                                                                ),
+                                                                label="Kategorie programu",
+                                                            ),
+                                                        ),
+                                                    ]
+                                                ),
+                                            ),
+                                            (
+                                                "carousel_program",
+                                                wagtail.blocks.StructBlock(
+                                                    [
+                                                        (
+                                                            "label",
+                                                            wagtail.blocks.CharBlock(
+                                                                default="Program",
+                                                                help_text="Např. 'Program'",
+                                                                label="Nadpis",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "categories",
+                                                            wagtail.blocks.ListBlock(
+                                                                wagtail.blocks.StructBlock(
+                                                                    [
+                                                                        (
+                                                                            "number",
+                                                                            wagtail.blocks.IntegerBlock(
+                                                                                label="Číslo"
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "name",
+                                                                            wagtail.blocks.CharBlock(
+                                                                                label="Název"
+                                                                            ),
+                                                                        ),
+                                                                        (
+                                                                            "points",
+                                                                            wagtail.blocks.ListBlock(
+                                                                                wagtail.blocks.StructBlock(
+                                                                                    [
+                                                                                        (
+                                                                                            "content",
+                                                                                            wagtail.blocks.TextBlock(
+                                                                                                label="Obsah"
+                                                                                            ),
+                                                                                        )
+                                                                                    ]
+                                                                                ),
+                                                                                label="Body",
+                                                                            ),
+                                                                        ),
+                                                                    ]
+                                                                ),
+                                                                label="Kategorie",
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "long_version_url",
+                                                            wagtail.blocks.URLBlock(
+                                                                help_text="Pro zobrazení odkazu na celou verzi programu musí být obě následující pole vyplněná.",
+                                                                label="Odkaz na celou verzi programu",
+                                                                required=False,
+                                                            ),
+                                                        ),
+                                                        (
+                                                            "long_version_text",
+                                                            wagtail.blocks.CharBlock(
+                                                                label="Nadpis odkazu na celou verzi programu",
+                                                                required=False,
+                                                            ),
+                                                        ),
+                                                    ],
+                                                    template="styleguide2/includes/molecules/program/program_block.html",
+                                                ),
+                                            ),
+                                        ]
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="Programy",
+            ),
         ),
         migrations.DeleteModel(
-            name='DistrictElectionCampaignPage',
+            name="DistrictElectionCampaignPage",
         ),
         migrations.DeleteModel(
-            name='DistrictElectionProgramPage',
+            name="DistrictElectionProgramPage",
         ),
         migrations.DeleteModel(
-            name='DistrictElectionRootPage',
+            name="DistrictElectionRootPage",
         ),
         migrations.DeleteModel(
-            name='DistrictInteractiveProgramPage',
+            name="DistrictInteractiveProgramPage",
         ),
         migrations.DeleteModel(
-            name='DistrictPostElectionStrategyPage',
+            name="DistrictPostElectionStrategyPage",
         ),
         migrations.DeleteModel(
-            name='DistrictProgramPage',
+            name="DistrictProgramPage",
         ),
     ]
diff --git a/district/migrations/0227_auto_20240613_1137.py b/district/migrations/0227_auto_20240613_1137.py
index 84852bcfc336c01a3589586bcafe31c891771e5f..1c64a9bf0f706a64ae9d420a95593fab70dfd8f6 100644
--- a/district/migrations/0227_auto_20240613_1137.py
+++ b/district/migrations/0227_auto_20240613_1137.py
@@ -9,8 +9,14 @@ def fix_suffixes(apps, schema_editor):
     for home_page in DistrictHomePage.objects.all():
         old_suffix = str(home_page.title_suffix)
 
-        home_page.title_suffix = home_page.title_suffix.replace("piráti", "").replace("Piráti", "").replace("PIRÁTI", "")
-        home_page.title_suffix = home_page.title_suffix.replace("MS", "").replace("KS", "")
+        home_page.title_suffix = (
+            home_page.title_suffix.replace("piráti", "")
+            .replace("Piráti", "")
+            .replace("PIRÁTI", "")
+        )
+        home_page.title_suffix = home_page.title_suffix.replace("MS", "").replace(
+            "KS", ""
+        )
         home_page.title_suffix = home_page.title_suffix.strip()
 
         if home_page.title_suffix != old_suffix:
@@ -20,11 +26,8 @@ def fix_suffixes(apps, schema_editor):
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0226_remove_districtelectionprogrampage_page_ptr_and_more'),
+        ("district", "0226_remove_districtelectionprogrampage_page_ptr_and_more"),
     ]
 
-    operations = [
-        migrations.RunPython(fix_suffixes)
-    ]
+    operations = [migrations.RunPython(fix_suffixes)]
diff --git a/district/migrations/0228_alter_districthomepage_title_suffix.py b/district/migrations/0228_alter_districthomepage_title_suffix.py
index 989fde3a705f849f2dd45d06dd25f1d78bbec906..c93d307196bb8a3e22c1c1c48675958dba062188 100644
--- a/district/migrations/0228_alter_districthomepage_title_suffix.py
+++ b/district/migrations/0228_alter_districthomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0227_auto_20240613_1137'),
+        ("district", "0227_auto_20240613_1137"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='districthomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="districthomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/district/models.py b/district/models.py
index 40ce46a134eda0ea80e5ea337c45ee6ad91c6440..04ae6b615286b25b6213108b7ecf04d1de035f8e 100644
--- a/district/models.py
+++ b/district/models.py
@@ -1106,4 +1106,4 @@ class LegacyProgramPageMixin(Page):
         return HttpResponseRedirect("/programy/")
 
     class Meta:
-        abstract = True
\ No newline at end of file
+        abstract = True
diff --git a/districts/migrations/0003_alter_districtshomepage_title_suffix.py b/districts/migrations/0003_alter_districtshomepage_title_suffix.py
index 6d843ffa1c1699b90acf2b2fdb9cc9635fddc2e5..82fed57534adfdd5dbaa67ba9241906560d92e96 100644
--- a/districts/migrations/0003_alter_districtshomepage_title_suffix.py
+++ b/districts/migrations/0003_alter_districtshomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('districts', '0002_districtshomepage_title_suffix'),
+        ("districts", "0002_districtshomepage_title_suffix"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='districtshomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="districtshomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/elections/migrations/0038_alter_electionshomepage_title_suffix.py b/elections/migrations/0038_alter_electionshomepage_title_suffix.py
index 679ad6f4e35b1ad4cca221a160f5d77b9664ad7b..949bd1f395e754c30539cc26b144d26a6baacd31 100644
--- a/elections/migrations/0038_alter_electionshomepage_title_suffix.py
+++ b/elections/migrations/0038_alter_electionshomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('elections', '0037_alter_electionshomepage_content'),
+        ("elections", "0037_alter_electionshomepage_content"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='electionshomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="electionshomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py b/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py
index 3af91a5631db9fe04a55341bc1e9fbef2df33432..a9f1a892de8a3e556214b1c88e9e11436ea0a7f9 100644
--- a/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py
+++ b/green_deal/migrations/0009_alter_greendealhomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('green_deal', '0008_alter_greendealhomepage_content_and_more'),
+        ("green_deal", "0008_alter_greendealhomepage_content_and_more"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='greendealhomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="greendealhomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/main/migrations/0096_alter_mainhomepage_title_suffix.py b/main/migrations/0096_alter_mainhomepage_title_suffix.py
index 2128b46ef2e0183863209ad90a511a6a6d4b9c0d..c80e41fc7639da3bbfee84f94e71955be5c2ebe9 100644
--- a/main/migrations/0096_alter_mainhomepage_title_suffix.py
+++ b/main/migrations/0096_alter_mainhomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('main', '0095_alter_mainpeoplepage_perex_col_1_and_more'),
+        ("main", "0095_alter_mainpeoplepage_perex_col_1_and_more"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='mainhomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="mainhomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py b/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py
index 62a7c50a264cd760e3d4f0306c94c821a71dc3fa..63ee6860a6092ee81f59ca60be0ecea6507fd2f2 100644
--- a/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py
+++ b/regulace_konopi/migrations/0011_alter_regkonhomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('regulace_konopi', '0010_alter_regkonhomepage_content_and_more'),
+        ("regulace_konopi", "0010_alter_regkonhomepage_content_and_more"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='regkonhomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="regkonhomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py b/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py
index 70d4081b3418eb6ca41c7203d59d0673264a0dd7..3641ac288c4c84d9c8ba5929bf8488081918e4e4 100644
--- a/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py
+++ b/senat_campaign/migrations/0015_alter_senatcampaignhomepage_title_suffix.py
@@ -4,15 +4,20 @@ from django.db import migrations, models
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('senat_campaign', '0014_alter_senatcampaignhomepage_calendar'),
+        ("senat_campaign", "0014_alter_senatcampaignhomepage_calendar"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='senatcampaignhomepage',
-            name='title_suffix',
-            field=models.CharField(blank=True, help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.", max_length=100, null=True, verbose_name='Přípona titulku stránky'),
+            model_name="senatcampaignhomepage",
+            name="title_suffix",
+            field=models.CharField(
+                blank=True,
+                help_text="Umožňuje přidat příponu k základnímu titulku stránky. Pokud je např. titulek stránky pojmenovaný 'Kontakt' a do přípony vyplníte 'MS Pardubice', výsledný titulek bude 'Kontakt | Piráti MS Pardubice'. Pokud příponu nevyplníte, použije se název domovské stránky a text 'Piráti', např. 'Kontakt | Piráti Pardubice'.",
+                max_length=100,
+                null=True,
+                verbose_name="Přípona titulku stránky",
+            ),
         ),
     ]
diff --git a/shared/models/main.py b/shared/models/main.py
index a0aac336daad281c67102968fca2a0f412d2e84e..f26ed644b0c56b9e7b56f7a237410c4516a66531 100644
--- a/shared/models/main.py
+++ b/shared/models/main.py
@@ -255,8 +255,10 @@ class PageInMenuMixin(Page):
         for menu in menu_iterator:
             if menu.block_type == "menu_item":
                 if (
-                    instance.full_url is not None and len(instance.full_url) != 0
-                    and menu.value["link"] is not None and len(menu.value["link"]) != 0
+                    instance.full_url is not None
+                    and len(instance.full_url) != 0
+                    and menu.value["link"] is not None
+                    and len(menu.value["link"]) != 0
                 ) and menu.value["link"].strip() == instance.full_url.strip():
                     return menu.value["title"]
 
@@ -268,8 +270,10 @@ class PageInMenuMixin(Page):
             elif menu.block_type == "menu_parent":
                 for item in menu.value["menu_items"]:
                     if (
-                        instance.full_url is not None and len(instance.full_url) != 0
-                        and item.value["link"] is not None and len(menu.value["link"]) != 0
+                        instance.full_url is not None
+                        and len(instance.full_url) != 0
+                        and item.value["link"] is not None
+                        and len(menu.value["link"]) != 0
                     ) and item.value["link"].strip() == instance.full_url.strip():
                         return item.value["title"]