diff --git a/district/blocks.py b/district/blocks.py
index 7a29e7414a00500ed2fb68e175dc6a8512dff689..6cba4aca96e9492d28279f8abcc89da1e7d7033c 100644
--- a/district/blocks.py
+++ b/district/blocks.py
@@ -61,6 +61,34 @@ class CandidateListBlock(StructBlock):
         label = "List kanditátů"
 
 
+class CardLinkBlock(StructBlock):
+    image = ImageChooserBlock(label="Obrázek")
+    title = CharBlock(label="Titulek", required=True)
+    page = PageChooserBlock(
+        label="Stránka",
+        page_type=[
+            "district.DistrictAfterElectionPage",
+            "district.DistrictArticlePage",
+            "district.DistrictArticlesPage",
+            "district.DistrictCenterPage",
+            "district.DistrictContactPage",
+            "district.DistrictCrossroadPage",
+            "district.DistrictCustomPage",
+            "district.DistrictElectionPage",
+            "district.DistrictElectionPointPage",
+            "district.DistrictPeoplePage",
+            "district.DistrictPersonPage",
+            "district.DistrictProgramPage",
+            "district.DistrictTagsPage",
+        ],
+    )
+
+    class Meta:
+        template = "district/blocks/card_link_block.html"
+        icon = "link"
+        label = "Karta odkazu"
+
+
 class CenterContactBlock(StructBlock):
     title = CharBlock(label="Titulek", required=True)
     contact_list = ListBlock(
diff --git a/district/migrations/0037_districtcrossroadpage_districtcustompage.py b/district/migrations/0037_districtcrossroadpage_districtcustompage.py
new file mode 100644
index 0000000000000000000000000000000000000000..e23d9d25026fcf3473c6c7332906c1c50df2492d
--- /dev/null
+++ b/district/migrations/0037_districtcrossroadpage_districtcustompage.py
@@ -0,0 +1,139 @@
+# Generated by Django 3.2.11 on 2022-03-03 09:45
+
+import django.db.models.deletion
+import wagtail.core.blocks
+import wagtail.core.fields
+import wagtail.images.blocks
+import wagtailmetadata.models
+from django.db import migrations, models
+
+import shared.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("wagtailimages", "0023_add_choose_permissions"),
+        ("wagtailcore", "0066_collection_management_permissions"),
+        ("district", "0036_districtpersonpage_other_urls"),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name="DistrictCustomPage",
+            fields=[
+                (
+                    "page_ptr",
+                    models.OneToOneField(
+                        auto_created=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        parent_link=True,
+                        primary_key=True,
+                        serialize=False,
+                        to="wagtailcore.page",
+                    ),
+                ),
+                (
+                    "search_image",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.SET_NULL,
+                        related_name="+",
+                        to="wagtailimages.image",
+                        verbose_name="Search image",
+                    ),
+                ),
+            ],
+            options={
+                "abstract": False,
+            },
+            bases=(
+                shared.models.SubpageMixin,
+                wagtailmetadata.models.WagtailImageMetadataMixin,
+                "wagtailcore.page",
+                models.Model,
+            ),
+        ),
+        migrations.CreateModel(
+            name="DistrictCrossroadPage",
+            fields=[
+                (
+                    "page_ptr",
+                    models.OneToOneField(
+                        auto_created=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        parent_link=True,
+                        primary_key=True,
+                        serialize=False,
+                        to="wagtailcore.page",
+                    ),
+                ),
+                (
+                    "cards_content",
+                    wagtail.core.fields.StreamField(
+                        [
+                            (
+                                "cards",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "image",
+                                            wagtail.images.blocks.ImageChooserBlock(
+                                                label="Obrázek"
+                                            ),
+                                        ),
+                                        (
+                                            "title",
+                                            wagtail.core.blocks.CharBlock(
+                                                label="Titulek", required=True
+                                            ),
+                                        ),
+                                        (
+                                            "page",
+                                            wagtail.core.blocks.PageChooserBlock(
+                                                label="Stránka",
+                                                page_type=[
+                                                    "district.DistrictArticlesPage",
+                                                    "district.DistrictCenterPage",
+                                                    "district.DistrictContactPage",
+                                                    "district.DistrictCrossroadPage",
+                                                    "district.DistrictCustomPage",
+                                                    "district.DistrictElectionPage",
+                                                    "district.DistrictPeoplePage",
+                                                    "district.DistrictProgramPage",
+                                                    "district.DistrictTagsPage",
+                                                ],
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            )
+                        ],
+                        blank=True,
+                        verbose_name="Karty rozcestníku",
+                    ),
+                ),
+                (
+                    "search_image",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.SET_NULL,
+                        related_name="+",
+                        to="wagtailimages.image",
+                        verbose_name="Search image",
+                    ),
+                ),
+            ],
+            options={
+                "abstract": False,
+            },
+            bases=(
+                shared.models.SubpageMixin,
+                wagtailmetadata.models.WagtailImageMetadataMixin,
+                "wagtailcore.page",
+                models.Model,
+            ),
+        ),
+    ]
diff --git a/district/migrations/0038_auto_20220303_1107.py b/district/migrations/0038_auto_20220303_1107.py
new file mode 100644
index 0000000000000000000000000000000000000000..980e524fbb270f87fb86321f6c6f7d9eb35c48de
--- /dev/null
+++ b/district/migrations/0038_auto_20220303_1107.py
@@ -0,0 +1,83 @@
+# Generated by Django 3.2.11 on 2022-03-03 10:07
+
+import wagtail.core.blocks
+import wagtail.core.fields
+import wagtail.images.blocks
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("district", "0037_districtcrossroadpage_districtcustompage"),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name="districtcrossroadpage",
+            options={"verbose_name": "Rozcestník s kartami"},
+        ),
+        migrations.AlterModelOptions(
+            name="districtcustompage",
+            options={"verbose_name": "Libovolná vlastní stránka"},
+        ),
+        migrations.AddField(
+            model_name="districtcustompage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [("text", wagtail.core.blocks.RichTextBlock())],
+                blank=True,
+                verbose_name="Obsah",
+            ),
+        ),
+        migrations.AlterField(
+            model_name="districtcrossroadpage",
+            name="cards_content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    (
+                        "cards",
+                        wagtail.core.blocks.StructBlock(
+                            [
+                                (
+                                    "image",
+                                    wagtail.images.blocks.ImageChooserBlock(
+                                        label="Obrázek"
+                                    ),
+                                ),
+                                (
+                                    "title",
+                                    wagtail.core.blocks.CharBlock(
+                                        label="Titulek", required=True
+                                    ),
+                                ),
+                                (
+                                    "page",
+                                    wagtail.core.blocks.PageChooserBlock(
+                                        label="Stránka",
+                                        page_type=[
+                                            "district.DistrictAfterElectionPage",
+                                            "district.DistrictArticlePage",
+                                            "district.DistrictArticlesPage",
+                                            "district.DistrictCenterPage",
+                                            "district.DistrictContactPage",
+                                            "district.DistrictCrossroadPage",
+                                            "district.DistrictCustomPage",
+                                            "district.DistrictElectionPage",
+                                            "district.DistrictElectionPointPage",
+                                            "district.DistrictPeoplePage",
+                                            "district.DistrictPersonPage",
+                                            "district.DistrictProgramPage",
+                                            "district.DistrictTagsPage",
+                                        ],
+                                    ),
+                                ),
+                            ]
+                        ),
+                    )
+                ],
+                blank=True,
+                verbose_name="Karty rozcestníku",
+            ),
+        ),
+    ]
diff --git a/district/migrations/0039_alter_districtcustompage_content.py b/district/migrations/0039_alter_districtcustompage_content.py
new file mode 100644
index 0000000000000000000000000000000000000000..28cc6131ba20c5b6c0ff02d87ef4c3aa05b68923
--- /dev/null
+++ b/district/migrations/0039_alter_districtcustompage_content.py
@@ -0,0 +1,28 @@
+# Generated by Django 3.2.11 on 2022-03-03 11:17
+
+import wagtail.contrib.table_block.blocks
+import wagtail.core.blocks
+import wagtail.core.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("district", "0038_auto_20220303_1107"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="districtcustompage",
+            name="content",
+            field=wagtail.core.fields.StreamField(
+                [
+                    ("text", wagtail.core.blocks.RichTextBlock()),
+                    ("table", wagtail.contrib.table_block.blocks.TableBlock()),
+                ],
+                blank=True,
+                verbose_name="Obsah",
+            ),
+        ),
+    ]
diff --git a/district/models.py b/district/models.py
index e5b2a7a5e9565089beea612a9520efff37bd96a8..3daa8edacfd2f742633571b04ec4fbd3279f85c5 100644
--- a/district/models.py
+++ b/district/models.py
@@ -14,6 +14,8 @@ from wagtail.admin.edit_handlers import (
     PageChooserPanel,
     StreamFieldPanel,
 )
+from wagtail.contrib.table_block.blocks import TableBlock
+from wagtail.core.blocks import RichTextBlock
 from wagtail.core.fields import RichTextField, StreamField
 from wagtail.core.models import Page
 from wagtail.images.edit_handlers import ImageChooserPanel
@@ -165,6 +167,8 @@ class DistrictHomePage(MetadataPageMixin, CalendarMixin, Page):
         "district.DistrictArticlesPage",
         "district.DistrictCenterPage",
         "district.DistrictContactPage",
+        "district.DistrictCrossroadPage",
+        "district.DistrictCustomPage",
         "district.DistrictElectionPage",
         "district.DistrictPeoplePage",
         "district.DistrictProgramPage",
@@ -705,6 +709,7 @@ class DistrictProgramPage(SubpageMixin, MetadataPageMixin, Page):
 
 class DistrictCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page):
     ### FIELDS
+    # TODO tohle by šlo asi nahradit DistrictCustomPage
 
     perex = models.TextField("Perex", blank=True, null=True)
     background_photo = models.ForeignKey(
@@ -755,3 +760,73 @@ class DistrictCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page):
     @property
     def has_calendar(self):
         return self.calendar_id is not None
+
+
+class DistrictCrossroadPage(SubpageMixin, MetadataPageMixin, Page):
+
+    ### FIELDS
+
+    cards_content = StreamField(
+        [("cards", CardLinkBlock())],
+        verbose_name="Karty rozcestníku",
+        blank=True,
+    )
+
+    ### PANELS
+
+    content_panels = Page.content_panels + [
+        StreamFieldPanel("cards_content"),
+    ]
+
+    ### RELATIONS
+
+    parent_page_types = ["district.DistrictHomePage"]
+    subpage_types = [
+        "district.DistrictAfterElectionPage",
+        "district.DistrictArticlePage",
+        "district.DistrictArticlesPage",
+        "district.DistrictCenterPage",
+        "district.DistrictContactPage",
+        "district.DistrictCrossroadPage",
+        "district.DistrictCustomPage",
+        "district.DistrictElectionPage",
+        "district.DistrictElectionPointPage",
+        "district.DistrictPeoplePage",
+        "district.DistrictPersonPage",
+        "district.DistrictProgramPage",
+        "district.DistrictTagsPage",
+    ]
+    ### OTHERS
+
+    class Meta:
+        verbose_name = "Rozcestník s kartami"
+
+
+class DistrictCustomPage(SubpageMixin, MetadataPageMixin, Page):
+
+    ### FIELDS
+
+    content = StreamField(
+        [
+            ("text", RichTextBlock()),
+            ("table", TableBlock()),
+        ],
+        verbose_name="Obsah",
+        blank=True,
+    )
+
+    ### PANELS
+
+    content_panels = Page.content_panels + [
+        StreamFieldPanel("content"),
+    ]
+
+    ### RELATIONS
+
+    parent_page_types = ["district.DistrictHomePage", "district.DistrictCrossroadPage"]
+    subpage_types = []
+
+    ### OTHERS
+
+    class Meta:
+        verbose_name = "Libovolná vlastní stránka"
diff --git a/district/templates/district/blocks/card_link_block.html b/district/templates/district/blocks/card_link_block.html
new file mode 100644
index 0000000000000000000000000000000000000000..0ae2036a29040263757fa52b39c7db3be73c6d98
--- /dev/null
+++ b/district/templates/district/blocks/card_link_block.html
@@ -0,0 +1,16 @@
+{% load wagtailcore_tags wagtailimages_tags %}
+
+{% image self.image width-356 as img %}
+<article class="card card--hoveractive">
+  <a href="{{ self.page.url }}">
+    <img src="{{ img.url }}" alt="{{ self.page.title }}" class="w-full h-48 object-cover">
+  </a>
+  <div class="card__body p-4">
+    <h1 class="card-headline mb-2">
+      <a href="{{ self.page.url }}">
+        {{ self.page.title }}
+      </a>
+    </h1>
+    <p class="card-body-text"></p>
+  </div>
+</article>
diff --git a/district/templates/district/district_crossroad_page.html b/district/templates/district/district_crossroad_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..d628406a73f57c769eee196aa233175335ffaa20
--- /dev/null
+++ b/district/templates/district/district_crossroad_page.html
@@ -0,0 +1,12 @@
+{% extends "district/base.html" %}
+{% load wagtailcore_tags %}
+
+{% block content %}
+  <main>
+    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8  pt-8 lg:py-24">
+      {% for card_block in page.cards_content %}
+        {% include_block card_block %}
+      {% endfor %}
+    </div>
+  </main>
+{% endblock %}
diff --git a/district/templates/district/district_custom_page.html b/district/templates/district/district_custom_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..8002f54c34bf50e425f8addf5c1c6a0ef2920db1
--- /dev/null
+++ b/district/templates/district/district_custom_page.html
@@ -0,0 +1,53 @@
+{% extends "district/base.html" %}
+{% load static wagtailcore_tags %}
+
+{% block content %}
+  <main>
+    <article class="pt-8 lg:py-24">
+      <header>
+        <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-4">
+          {{ page.title }}
+        </h1>
+      </header>
+
+      <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8  ">
+      </div>
+
+      <div class="lg:flex mt-8 lg:space-x-16">
+        <div class="lg:w-2/3">
+          {% for block in page.content %}
+            <div class="content-block mb-8">
+              {% include_block block %}
+            </div>
+          {% endfor %}
+        </div>
+
+        <div class="pt-8 lg:w-1/3 md:pt-0">
+          <div class="space-y-8">
+            <div class="sharebox md:card md:elevation-10 ">
+              <div class="md:card__body">
+                <span class="head-alt-base md:head-alt-md">Sdílení je aktem lásky</span>
+                <div class="flex w-full space-x-4 pt-4 md:pt-8 text-center text-white">
+                  <a
+                    href="https://www.facebook.com/sharer/sharer.php?u={{ page.full_url|urlencode }}"
+                    onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
+                    class="bg-brands-facebook px-8 py-3 text-2xl w-full"
+                  ><i class="ico--facebook"></i></a>
+                  <a
+                    href="https://twitter.com/intent/tweet?text={{ page.title|urlencode }}&url={{ page.full_url|urlencode }}"
+                    onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
+                    class="bg-brands-twitter px-8 py-3 text-2xl w-full"
+                  ><i class="ico--twitter"></i></a>
+                </div>
+              </div>
+              <div class="h-52 overflow-hidden hidden md:block">
+                <img src="{% static "shared/img/flag.png" %}" alt="Pirátská strana" class="w-80 object-cover m-auto"/>
+              </div>
+            </div>
+          </div>
+        </div>
+
+      </div>
+    </article>
+  </main>
+{% endblock %}
diff --git a/region/blocks.py b/region/blocks.py
index 39942e2617c276294e30dab59284b266c414d617..a1320b62e58d679686009915349bba9d906bfd5c 100644
--- a/region/blocks.py
+++ b/region/blocks.py
@@ -61,6 +61,34 @@ class CandidateListBlock(StructBlock):
         label = "List kanditátů"
 
 
+class CardLinkBlock(StructBlock):
+    image = ImageChooserBlock(label="Obrázek")
+    title = CharBlock(label="Titulek", required=True)
+    page = PageChooserBlock(
+        label="Stránka",
+        page_type=[
+            "region.RegionAfterElectionPage",
+            "region.RegionArticlePage",
+            "region.RegionArticlesPage",
+            "region.RegionCenterPage",
+            "region.RegionContactPage",
+            "region.RegionCrossroadPage",
+            "region.RegionCustomPage",
+            "region.RegionElectionPage",
+            "region.RegionElectionPointPage",
+            "region.RegionPeoplePage",
+            "region.RegionPersonPage",
+            "region.RegionProgramPage",
+            "region.RegionTagsPage",
+        ],
+    )
+
+    class Meta:
+        template = "region/blocks/card_link_block.html"
+        icon = "link"
+        label = "Karta odkazu"
+
+
 class CenterContactBlock(StructBlock):
     title = CharBlock(label="Titulek", required=True)
     contact_list = ListBlock(
diff --git a/region/migrations/0014_regioncrossroadpage_regioncustompage.py b/region/migrations/0014_regioncrossroadpage_regioncustompage.py
new file mode 100644
index 0000000000000000000000000000000000000000..e5fae5491fb8e71ac57921f84f898d6867d1cb12
--- /dev/null
+++ b/region/migrations/0014_regioncrossroadpage_regioncustompage.py
@@ -0,0 +1,155 @@
+# Generated by Django 3.2.11 on 2022-03-03 11:18
+
+import django.db.models.deletion
+import wagtail.contrib.table_block.blocks
+import wagtail.core.blocks
+import wagtail.core.fields
+import wagtail.images.blocks
+import wagtailmetadata.models
+from django.db import migrations, models
+
+import shared.models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("wagtailimages", "0023_add_choose_permissions"),
+        ("wagtailcore", "0066_collection_management_permissions"),
+        ("region", "0013_regionpersonpage_other_urls"),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name="RegionCustomPage",
+            fields=[
+                (
+                    "page_ptr",
+                    models.OneToOneField(
+                        auto_created=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        parent_link=True,
+                        primary_key=True,
+                        serialize=False,
+                        to="wagtailcore.page",
+                    ),
+                ),
+                (
+                    "content",
+                    wagtail.core.fields.StreamField(
+                        [
+                            ("text", wagtail.core.blocks.RichTextBlock()),
+                            ("table", wagtail.contrib.table_block.blocks.TableBlock()),
+                        ],
+                        blank=True,
+                        verbose_name="Obsah",
+                    ),
+                ),
+                (
+                    "search_image",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.SET_NULL,
+                        related_name="+",
+                        to="wagtailimages.image",
+                        verbose_name="Search image",
+                    ),
+                ),
+            ],
+            options={
+                "verbose_name": "Libovolná vlastní stránka",
+            },
+            bases=(
+                shared.models.SubpageMixin,
+                wagtailmetadata.models.WagtailImageMetadataMixin,
+                "wagtailcore.page",
+                models.Model,
+            ),
+        ),
+        migrations.CreateModel(
+            name="RegionCrossroadPage",
+            fields=[
+                (
+                    "page_ptr",
+                    models.OneToOneField(
+                        auto_created=True,
+                        on_delete=django.db.models.deletion.CASCADE,
+                        parent_link=True,
+                        primary_key=True,
+                        serialize=False,
+                        to="wagtailcore.page",
+                    ),
+                ),
+                (
+                    "cards_content",
+                    wagtail.core.fields.StreamField(
+                        [
+                            (
+                                "cards",
+                                wagtail.core.blocks.StructBlock(
+                                    [
+                                        (
+                                            "image",
+                                            wagtail.images.blocks.ImageChooserBlock(
+                                                label="Obrázek"
+                                            ),
+                                        ),
+                                        (
+                                            "title",
+                                            wagtail.core.blocks.CharBlock(
+                                                label="Titulek", required=True
+                                            ),
+                                        ),
+                                        (
+                                            "page",
+                                            wagtail.core.blocks.PageChooserBlock(
+                                                label="Stránka",
+                                                page_type=[
+                                                    "region.RegionAfterElectionPage",
+                                                    "region.RegionArticlePage",
+                                                    "region.RegionArticlesPage",
+                                                    "region.RegionCenterPage",
+                                                    "region.RegionContactPage",
+                                                    "region.RegionCrossroadPage",
+                                                    "region.RegionCustomPage",
+                                                    "region.RegionElectionPage",
+                                                    "region.RegionElectionPointPage",
+                                                    "region.RegionPeoplePage",
+                                                    "region.RegionPersonPage",
+                                                    "region.RegionProgramPage",
+                                                    "region.RegionTagsPage",
+                                                ],
+                                            ),
+                                        ),
+                                    ]
+                                ),
+                            )
+                        ],
+                        blank=True,
+                        verbose_name="Karty rozcestníku",
+                    ),
+                ),
+                (
+                    "search_image",
+                    models.ForeignKey(
+                        blank=True,
+                        null=True,
+                        on_delete=django.db.models.deletion.SET_NULL,
+                        related_name="+",
+                        to="wagtailimages.image",
+                        verbose_name="Search image",
+                    ),
+                ),
+            ],
+            options={
+                "verbose_name": "Rozcestník s kartami",
+            },
+            bases=(
+                shared.models.SubpageMixin,
+                wagtailmetadata.models.WagtailImageMetadataMixin,
+                "wagtailcore.page",
+                models.Model,
+            ),
+        ),
+    ]
diff --git a/region/models.py b/region/models.py
index 5485313221efd72fc399924b1500161116b0fb0d..fe9144bb1a00263f8540c7ebac6dee772adde65e 100644
--- a/region/models.py
+++ b/region/models.py
@@ -14,6 +14,8 @@ from wagtail.admin.edit_handlers import (
     PageChooserPanel,
     StreamFieldPanel,
 )
+from wagtail.contrib.table_block.blocks import TableBlock
+from wagtail.core.blocks import RichTextBlock
 from wagtail.core.fields import RichTextField, StreamField
 from wagtail.core.models import Page
 from wagtail.images.edit_handlers import ImageChooserPanel
@@ -165,6 +167,8 @@ class RegionHomePage(MetadataPageMixin, CalendarMixin, Page):
         "region.RegionArticlesPage",
         "region.RegionCenterPage",
         "region.RegionContactPage",
+        "region.RegionCrossroadPage",
+        "region.RegionCustomPage",
         "region.RegionElectionPage",
         "region.RegionPeoplePage",
         "region.RegionProgramPage",
@@ -748,3 +752,73 @@ class RegionCenterPage(CalendarMixin, SubpageMixin, MetadataPageMixin, Page):
     @property
     def has_calendar(self):
         return self.calendar_id is not None
+
+
+class RegionCrossroadPage(SubpageMixin, MetadataPageMixin, Page):
+
+    ### FIELDS
+
+    cards_content = StreamField(
+        [("cards", CardLinkBlock())],
+        verbose_name="Karty rozcestníku",
+        blank=True,
+    )
+
+    ### PANELS
+
+    content_panels = Page.content_panels + [
+        StreamFieldPanel("cards_content"),
+    ]
+
+    ### RELATIONS
+
+    parent_page_types = ["region.RegionHomePage"]
+    subpage_types = [
+        "region.RegionAfterElectionPage",
+        "region.RegionArticlePage",
+        "region.RegionArticlesPage",
+        "region.RegionCenterPage",
+        "region.RegionContactPage",
+        "region.RegionCrossroadPage",
+        "region.RegionCustomPage",
+        "region.RegionElectionPage",
+        "region.RegionElectionPointPage",
+        "region.RegionPeoplePage",
+        "region.RegionPersonPage",
+        "region.RegionProgramPage",
+        "region.RegionTagsPage",
+    ]
+    ### OTHERS
+
+    class Meta:
+        verbose_name = "Rozcestník s kartami"
+
+
+class RegionCustomPage(SubpageMixin, MetadataPageMixin, Page):
+
+    ### FIELDS
+
+    content = StreamField(
+        [
+            ("text", RichTextBlock()),
+            ("table", TableBlock()),
+        ],
+        verbose_name="Obsah",
+        blank=True,
+    )
+
+    ### PANELS
+
+    content_panels = Page.content_panels + [
+        StreamFieldPanel("content"),
+    ]
+
+    ### RELATIONS
+
+    parent_page_types = ["region.RegionHomePage", "region.RegionCrossroadPage"]
+    subpage_types = []
+
+    ### OTHERS
+
+    class Meta:
+        verbose_name = "Libovolná vlastní stránka"
diff --git a/region/templates/region/blocks/card_link_block.html b/region/templates/region/blocks/card_link_block.html
new file mode 100644
index 0000000000000000000000000000000000000000..0ae2036a29040263757fa52b39c7db3be73c6d98
--- /dev/null
+++ b/region/templates/region/blocks/card_link_block.html
@@ -0,0 +1,16 @@
+{% load wagtailcore_tags wagtailimages_tags %}
+
+{% image self.image width-356 as img %}
+<article class="card card--hoveractive">
+  <a href="{{ self.page.url }}">
+    <img src="{{ img.url }}" alt="{{ self.page.title }}" class="w-full h-48 object-cover">
+  </a>
+  <div class="card__body p-4">
+    <h1 class="card-headline mb-2">
+      <a href="{{ self.page.url }}">
+        {{ self.page.title }}
+      </a>
+    </h1>
+    <p class="card-body-text"></p>
+  </div>
+</article>
diff --git a/region/templates/region/region_crossroad_page.html b/region/templates/region/region_crossroad_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..14c5a89782397749436531244b03e81de4d8b8f1
--- /dev/null
+++ b/region/templates/region/region_crossroad_page.html
@@ -0,0 +1,12 @@
+{% extends "region/base.html" %}
+{% load wagtailcore_tags %}
+
+{% block content %}
+  <main>
+    <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8  pt-8 lg:py-24">
+      {% for card_block in page.cards_content %}
+        {% include_block card_block %}
+      {% endfor %}
+    </div>
+  </main>
+{% endblock %}
diff --git a/region/templates/region/region_custom_page.html b/region/templates/region/region_custom_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..d798342e9837dad5520329c3f897ada306ff5ade
--- /dev/null
+++ b/region/templates/region/region_custom_page.html
@@ -0,0 +1,53 @@
+{% extends "region/base.html" %}
+{% load static wagtailcore_tags %}
+
+{% block content %}
+  <main>
+    <article class="pt-8 lg:py-24">
+      <header>
+        <h1 itemprop="headline" class="head-alt-md md:head-alt-lg max-w-5xl mb-4">
+          {{ page.title }}
+        </h1>
+      </header>
+
+      <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8  ">
+      </div>
+
+      <div class="lg:flex mt-8 lg:space-x-16">
+        <div class="lg:w-2/3">
+          {% for block in page.content %}
+            <div class="content-block mb-8">
+              {% include_block block %}
+            </div>
+          {% endfor %}
+        </div>
+
+        <div class="pt-8 lg:w-1/3 md:pt-0">
+          <div class="space-y-8">
+            <div class="sharebox md:card md:elevation-10 ">
+              <div class="md:card__body">
+                <span class="head-alt-base md:head-alt-md">Sdílení je aktem lásky</span>
+                <div class="flex w-full space-x-4 pt-4 md:pt-8 text-center text-white">
+                  <a
+                    href="https://www.facebook.com/sharer/sharer.php?u={{ page.full_url|urlencode }}"
+                    onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
+                    class="bg-brands-facebook px-8 py-3 text-2xl w-full"
+                  ><i class="ico--facebook"></i></a>
+                  <a
+                    href="https://twitter.com/intent/tweet?text={{ page.title|urlencode }}&url={{ page.full_url|urlencode }}"
+                    onclick="window.open(this.href, 'pop-up', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;"
+                    class="bg-brands-twitter px-8 py-3 text-2xl w-full"
+                  ><i class="ico--twitter"></i></a>
+                </div>
+              </div>
+              <div class="h-52 overflow-hidden hidden md:block">
+                <img src="{% static "shared/img/flag.png" %}" alt="Pirátská strana" class="w-80 object-cover m-auto"/>
+              </div>
+            </div>
+          </div>
+        </div>
+
+      </div>
+    </article>
+  </main>
+{% endblock %}