diff --git a/district/blocks.py b/district/blocks.py
index 0fbf5b90be0632348c8d1332fbd34591431e91bf..6dd6cde94b3840a2d26078e2a26a839cfe8bd886 100644
--- a/district/blocks.py
+++ b/district/blocks.py
@@ -2,6 +2,7 @@ from django.forms.utils import ErrorList
 from django.utils.text import slugify
 from wagtail import blocks
 from wagtail.blocks import (
+    BooleanBlock,
     CharBlock,
     DateTimeBlock,
     IntegerBlock,
@@ -12,7 +13,6 @@ from wagtail.blocks import (
     StructBlock,
     TextBlock,
     URLBlock,
-    BooleanBlock,
 )
 from wagtail.blocks.struct_block import StructBlockValidationError
 from wagtail.images.blocks import ImageChooserBlock
@@ -560,7 +560,7 @@ class ProgramGroupWithCandidatesBlock(StructBlock):
         label="Zobrazit povolání",
         help_text="Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.",
         default=True,
-        required=False
+        required=False,
     )
 
     primary_candidates = CandidateListBlock(
diff --git a/district/migrations/0229_alter_districtnewprogrampage_program.py b/district/migrations/0229_alter_districtnewprogrampage_program.py
index 9504dbcf583a28102f032767e972d1cedd1474c5..972c807baee31c45266f154a896afcb1e3bbc537 100644
--- a/district/migrations/0229_alter_districtnewprogrampage_program.py
+++ b/district/migrations/0229_alter_districtnewprogrampage_program.py
@@ -7,15 +7,675 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0228_alter_districthomepage_title_suffix'),
+        ("district", "0228_alter_districthomepage_title_suffix"),
     ]
 
     operations = [
         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)), ('show_job', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.', label='Zobrazit povolání', required=True)), ('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', required=False))]), 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,
+                                    ),
+                                ),
+                                (
+                                    "show_job",
+                                    wagtail.blocks.BooleanBlock(
+                                        default=True,
+                                        help_text="Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.",
+                                        label="Zobrazit povolání",
+                                        required=True,
+                                    ),
+                                ),
+                                (
+                                    "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",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    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",
+            ),
         ),
     ]
diff --git a/district/migrations/0230_alter_districtnewprogrampage_program.py b/district/migrations/0230_alter_districtnewprogrampage_program.py
index e2f2f27a7383a39c4ab19683ee08712ca7d29fb9..5f5fe2ec7f0e9263cab456488e470c53fad2251b 100644
--- a/district/migrations/0230_alter_districtnewprogrampage_program.py
+++ b/district/migrations/0230_alter_districtnewprogrampage_program.py
@@ -7,15 +7,674 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0229_alter_districtnewprogrampage_program'),
+        ("district", "0229_alter_districtnewprogrampage_program"),
     ]
 
     operations = [
         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)), ('show_job', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.', label='Zobrazit povolání')), ('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', required=False))]), 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,
+                                    ),
+                                ),
+                                (
+                                    "show_job",
+                                    wagtail.blocks.BooleanBlock(
+                                        default=True,
+                                        help_text="Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.",
+                                        label="Zobrazit povolání",
+                                    ),
+                                ),
+                                (
+                                    "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",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    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",
+            ),
         ),
     ]
diff --git a/district/migrations/0231_alter_districtnewprogrampage_program.py b/district/migrations/0231_alter_districtnewprogrampage_program.py
index 678326bae49d524c0389b0871d176d13d49f3fa7..3473ddda481d6dcd993348949cdefb69486ddeaa 100644
--- a/district/migrations/0231_alter_districtnewprogrampage_program.py
+++ b/district/migrations/0231_alter_districtnewprogrampage_program.py
@@ -7,15 +7,675 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('district', '0230_alter_districtnewprogrampage_program'),
+        ("district", "0230_alter_districtnewprogrampage_program"),
     ]
 
     operations = [
         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)), ('show_job', wagtail.blocks.BooleanBlock(default=True, help_text='Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.', label='Zobrazit povolání', 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', required=False))]), 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,
+                                    ),
+                                ),
+                                (
+                                    "show_job",
+                                    wagtail.blocks.BooleanBlock(
+                                        default=True,
+                                        help_text="Pokud je vybráno, u osob se zobrazí povolání místo stranické pozice.",
+                                        label="Zobrazit povolání",
+                                        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",
+                                                                    required=False,
+                                                                ),
+                                                            ),
+                                                        ]
+                                                    ),
+                                                    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",
+            ),
         ),
     ]
diff --git a/elections/migrations/0039_alter_electionshomepage_content.py b/elections/migrations/0039_alter_electionshomepage_content.py
index 3f88a65ece62efe20108b72a7b97a52cfd025ac2..99251b4af8c3509e8f087acd5b39e48147c9b7f5 100644
--- a/elections/migrations/0039_alter_electionshomepage_content.py
+++ b/elections/migrations/0039_alter_electionshomepage_content.py
@@ -7,15 +7,243 @@ from django.db import migrations
 
 
 class Migration(migrations.Migration):
-
     dependencies = [
-        ('elections', '0038_alter_electionshomepage_title_suffix'),
+        ("elections", "0038_alter_electionshomepage_title_suffix"),
     ]
 
     operations = [
         migrations.AlterField(
-            model_name='electionshomepage',
-            name='content',
-            field=wagtail.fields.StreamField([('carousel', wagtail.blocks.StructBlock([('desktop_image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud není vybráno video, ukáže se na desktopu.', label='Obrázek na pozadí (desktop)')), ('mobile_image', wagtail.images.blocks.ImageChooserBlock(help_text='Pokud je vybrán, ukáže se místo videa na mobilu.', label='Obrázek (mobil)', required=False)), ('video_url', wagtail.blocks.URLBlock(help_text='Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.', label='URL videa', required=False)), ('mobile_line_1', wagtail.blocks.TextBlock(label='První mobilní řádek')), ('mobile_line_2', wagtail.blocks.TextBlock(label='Druhý mobilní řádek'))])), ('candidates', wagtail.blocks.StructBlock([('candidates', wagtail.blocks.ListBlock(wagtail.blocks.StructBlock([('page', wagtail.blocks.PageChooserBlock(label='Stránka', page_type=['elections.ElectionsCandidatePage'])), ('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', required=False))]), label='Kandidáti'))])), ('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=['elections.ElectionsCandidatePage'])), ('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='Kandidáti'))])), ('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))])), ('news', wagtail.blocks.StructBlock([('title', wagtail.blocks.CharBlock(help_text='Nejnovější články se načtou automaticky', label='Titulek')), ('description', wagtail.blocks.TextBlock(label='Popis', required=False))], template='styleguide2/includes/organisms/articles/elections/articles_section.html')), ('calendar', wagtail.blocks.StructBlock([('heading', wagtail.blocks.CharBlock(label='Nadpis'))]))], blank=True, verbose_name='Hlavní obsah'),
+            model_name="electionshomepage",
+            name="content",
+            field=wagtail.fields.StreamField(
+                [
+                    (
+                        "carousel",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "desktop_image",
+                                    wagtail.images.blocks.ImageChooserBlock(
+                                        help_text="Pokud není vybráno video, ukáže se na desktopu.",
+                                        label="Obrázek na pozadí (desktop)",
+                                    ),
+                                ),
+                                (
+                                    "mobile_image",
+                                    wagtail.images.blocks.ImageChooserBlock(
+                                        help_text="Pokud je vybrán, ukáže se místo videa na mobilu.",
+                                        label="Obrázek (mobil)",
+                                        required=False,
+                                    ),
+                                ),
+                                (
+                                    "video_url",
+                                    wagtail.blocks.URLBlock(
+                                        help_text="Pokud je vybráno, ukáže se na desktopech s povoleným autoplayem místo obrázku.",
+                                        label="URL videa",
+                                        required=False,
+                                    ),
+                                ),
+                                (
+                                    "mobile_line_1",
+                                    wagtail.blocks.TextBlock(
+                                        label="První mobilní řádek"
+                                    ),
+                                ),
+                                (
+                                    "mobile_line_2",
+                                    wagtail.blocks.TextBlock(
+                                        label="Druhý mobilní řádek"
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "candidates",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "candidates",
+                                    wagtail.blocks.ListBlock(
+                                        wagtail.blocks.StructBlock(
+                                            [
+                                                (
+                                                    "page",
+                                                    wagtail.blocks.PageChooserBlock(
+                                                        label="Stránka",
+                                                        page_type=[
+                                                            "elections.ElectionsCandidatePage"
+                                                        ],
+                                                    ),
+                                                ),
+                                                (
+                                                    "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", required=False
+                                                    ),
+                                                ),
+                                            ]
+                                        ),
+                                        label="Kandidáti",
+                                    ),
+                                )
+                            ]
+                        ),
+                    ),
+                    (
+                        "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=[
+                                                            "elections.ElectionsCandidatePage"
+                                                        ],
+                                                    ),
+                                                ),
+                                                (
+                                                    "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="Kandidáti",
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "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,
+                                    ),
+                                ),
+                            ]
+                        ),
+                    ),
+                    (
+                        "news",
+                        wagtail.blocks.StructBlock(
+                            [
+                                (
+                                    "title",
+                                    wagtail.blocks.CharBlock(
+                                        help_text="Nejnovější články se načtou automaticky",
+                                        label="Titulek",
+                                    ),
+                                ),
+                                (
+                                    "description",
+                                    wagtail.blocks.TextBlock(
+                                        label="Popis", required=False
+                                    ),
+                                ),
+                            ],
+                            template="styleguide2/includes/organisms/articles/elections/articles_section.html",
+                        ),
+                    ),
+                    (
+                        "calendar",
+                        wagtail.blocks.StructBlock(
+                            [("heading", wagtail.blocks.CharBlock(label="Nadpis"))]
+                        ),
+                    ),
+                ],
+                blank=True,
+                verbose_name="HlavnĂ­ obsah",
+            ),
         ),
     ]
diff --git a/shared/blocks/main.py b/shared/blocks/main.py
index 64f628e0bc3cf5470e6bd51b73307dbaa3807738..d4a46c7630e5ebb8a8bcd2cf2a4f161cabf4ec12 100644
--- a/shared/blocks/main.py
+++ b/shared/blocks/main.py
@@ -312,13 +312,12 @@ class CandidateBlock(StructBlock):
         required=False,
     )
 
-    description = TextBlock(
-        label="Popis",
-        required=False
-    )
+    description = TextBlock(label="Popis", required=False)
 
     class Meta:
-        template = "styleguide2/includes/molecules/candidates/candidate_primary_box.html"
+        template = (
+            "styleguide2/includes/molecules/candidates/candidate_primary_box.html"
+        )
         icon = "form"
         label = "Kandidát"
 
diff --git a/shared/models/main.py b/shared/models/main.py
index 64cf3dd4a6c212f1f4ea81cd168e339d0b147691..4da83ac7e1101d1c735237d4259b186a59569960 100644
--- a/shared/models/main.py
+++ b/shared/models/main.py
@@ -261,14 +261,8 @@ class PageInMenuMixin(Page):
         for menu in menu_iterator:
             if menu.block_type == "menu_item":
                 if (
-                    menu.value["link"].strip()
-                    if menu.value["link"] is not None
-                    else ""
-                ) == (
-                    instance.full_url.strip()
-                    if instance.full_url
-                    else ""
-                ):
+                    menu.value["link"].strip() if menu.value["link"] is not None else ""
+                ) == (instance.full_url.strip() if instance.full_url else ""):
                     return menu.value["title"]
 
                 if menu.value["page"] is None:
@@ -278,14 +272,8 @@ class PageInMenuMixin(Page):
                     return menu.value["title"]
             elif menu.block_type == "menu_parent":
                 for item in menu.value["menu_items"]:
-                    if (
-                        item["link"].strip()
-                        if item["link"] is not None
-                        else ""
-                    ) == (
-                        instance.full_url.strip()
-                        if instance.full_url
-                        else ""
+                    if (item["link"].strip() if item["link"] is not None else "") == (
+                        instance.full_url.strip() if instance.full_url else ""
                     ):
                         return menu.value["title"]
 
diff --git a/shared/static/styleguide2/pirati-ui.svg b/shared/static/styleguide2/pirati-ui.svg
index ffc20eccf43c3d89476c0124b2475cd314fe2ecd..c6e3a71ad07f5229dda5d69c9289dc5ce339be12 100644
--- a/shared/static/styleguide2/pirati-ui.svg
+++ b/shared/static/styleguide2/pirati-ui.svg
@@ -127,4 +127,4 @@
 <glyph unicode="&#xe976;" glyph-name="price-tags" horiz-adv-x="1280" d="M1232 960h-384c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l476.118 476.118c18.666 18.666 33.94 55.54 33.94 81.94v384c0 26.4-21.6 48-48 48zM992 576c-53.020 0-96 42.98-96 96s42.98 96 96 96 96-42.98 96-96-42.98-96-96-96zM128 416l544 544h-80c-26.4 0-63.274-15.274-81.942-33.942l-476.116-476.116c-18.668-18.668-18.668-49.214 0-67.882l412.118-412.118c18.668-18.668 49.214-18.668 67.882 0l30.058 30.058-416 416z" />
 <glyph unicode="&#xe977;" glyph-name="twitter" horiz-adv-x="1001" d="M596.009 526.629l372.819 433.371h-88.346l-323.718-376.29-258.553 376.29h-298.21l390.983-569.018-390.983-454.457h88.351l341.855 397.375 273.051-397.375h298.21l-405.458 590.103zM475 385.969l-354.815 507.521h135.702l624.636-893.48h-135.702l-269.821 385.959z" />
 <glyph unicode="&#xe99b;" glyph-name="stats-dots" d="M128 64h896v-128h-1024v1024h128zM288 128c-53.020 0-96 42.98-96 96s42.98 96 96 96c2.828 0 5.622-0.148 8.388-0.386l103.192 171.986c-9.84 15.070-15.58 33.062-15.58 52.402 0 53.020 42.98 96 96 96s96-42.98 96-96c0-19.342-5.74-37.332-15.58-52.402l103.192-171.986c2.766 0.238 5.56 0.386 8.388 0.386 2.136 0 4.248-0.094 6.35-0.23l170.356 298.122c-10.536 15.408-16.706 34.036-16.706 54.11 0 53.020 42.98 96 96 96s96-42.98 96-96c0-53.020-42.98-96-96-96-2.14 0-4.248 0.094-6.35 0.232l-170.356-298.124c10.536-15.406 16.706-34.036 16.706-54.11 0-53.020-42.98-96-96-96s-96 42.98-96 96c0 19.34 5.74 37.332 15.578 52.402l-103.19 171.984c-2.766-0.238-5.56-0.386-8.388-0.386s-5.622 0.146-8.388 0.386l-103.192-171.986c9.84-15.068 15.58-33.060 15.58-52.4 0-53.020-42.98-96-96-96z" />
-</font></defs></svg>
\ No newline at end of file
+</font></defs></svg>
diff --git a/shared/templates/styleguide2/includes/molecules/candidates/candidate_secondary_box.html b/shared/templates/styleguide2/includes/molecules/candidates/candidate_secondary_box.html
index d56d9f908bcab72865f5a78b723bd72212b28e58..ac52a85ff420b280eacb96fcee3463f12d570512 100644
--- a/shared/templates/styleguide2/includes/molecules/candidates/candidate_secondary_box.html
+++ b/shared/templates/styleguide2/includes/molecules/candidates/candidate_secondary_box.html
@@ -24,7 +24,7 @@
     <div
       class="
         flex gap-2 flex-col w-full
-        
+
         lg:gap-6 lg:flex-row
       "
     >
@@ -44,7 +44,7 @@
         <div
           class="
             font-bold flex items-center gap-1
-            
+
             lg:ml-auto
           "
         >
diff --git a/shared/templates/styleguide2/includes/organisms/candidates/candidate_primary_list.html b/shared/templates/styleguide2/includes/organisms/candidates/candidate_primary_list.html
index 0d3df96e0741ebdaf3bacbc60023b140c0632c81..8afe2b939fa948f1bca1a16c68381978f24fa0ac 100644
--- a/shared/templates/styleguide2/includes/organisms/candidates/candidate_primary_list.html
+++ b/shared/templates/styleguide2/includes/organisms/candidates/candidate_primary_list.html
@@ -12,7 +12,7 @@
     {% endif %}
 
     {% firstof candidate.description candidate.page.perex as description %}
-  
+
     {% if show_job %}
       {% include "styleguide2/includes/molecules/candidates/candidate_primary_box.html" with name=candidate.page.title position=candidate.page.job description=description url=candidate.page.url candidate_image=resized_candidate_image %}
     {% else %}
diff --git a/shared/templatetags/shared_filters.py b/shared/templatetags/shared_filters.py
index a8bb00aa3495549f37e9beac81cb80a633b2b0cc..2f06f9ad6a92564d9e3e51757ad0d935f2f7f84f 100644
--- a/shared/templatetags/shared_filters.py
+++ b/shared/templatetags/shared_filters.py
@@ -8,4 +8,4 @@ register = template.Library()
 @register.filter
 def markdown(value):
     """Prekonvertuje vstupni text na markdown, necekane"""
-    return mark_safe(md.markdown(value))
\ No newline at end of file
+    return mark_safe(md.markdown(value))
diff --git a/shared_legacy/utils.py b/shared_legacy/utils.py
index 358f50566c9ff816a42e937a16987bcbe12fd546..75742236803d07848c25639de5d7ae0071560a1a 100644
--- a/shared_legacy/utils.py
+++ b/shared_legacy/utils.py
@@ -48,7 +48,7 @@ def make_promote_panels(
         panels.append(FieldPanel("search_description"))
     if search_image:
         # TODO
-        panels.append(FieldPanel("search_image")) #, label="Obrázek pro embed"))
+        panels.append(FieldPanel("search_image"))  # , label="Obrázek pro embed"))
     panels.append(HelpPanel(help_content))
     panels.append(CommentPanel())