diff --git a/home/migrations/0016_homepeoplepage_homepersonpage.py b/home/migrations/0016_homepeoplepage_homepersonpage.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bd66a90926a33612a89527878cfdc8bdb2c8e18
--- /dev/null
+++ b/home/migrations/0016_homepeoplepage_homepersonpage.py
@@ -0,0 +1,44 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:00
+
+from django.db import migrations, models
+import django.db.models.deletion
+import wagtail.contrib.routable_page.models
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('wagtailcore', '0083_workflowcontenttype'),
+        ('wagtailimages', '0025_alter_image_file_alter_rendition_file'),
+        ('home', '0015_alter_homepage_options'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='HomePeoplePage',
+            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.fields.RichTextField(blank=True, null=True, verbose_name='Obsah')),
+            ],
+            options={
+                'verbose_name': 'Rozcestník uživatelů',
+            },
+            bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'),
+        ),
+        migrations.CreateModel(
+            name='HomePersonPage',
+            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')),
+                ('name', models.CharField(max_length=64, verbose_name='Jméno')),
+                ('position', models.TextField(blank=True, null=True, verbose_name='Pracovní pozice')),
+                ('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='Emailová adresa')),
+                ('description', wagtail.fields.RichTextField(blank=True, null=True, verbose_name='Popis')),
+                ('image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='wagtailimages.image', verbose_name='Profilový obrázek')),
+            ],
+            options={
+                'abstract': False,
+            },
+            bases=(wagtail.contrib.routable_page.models.RoutablePageMixin, 'wagtailcore.page'),
+        ),
+    ]
diff --git a/home/migrations/0017_alter_homepeoplepage_options_and_more.py b/home/migrations/0017_alter_homepeoplepage_options_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..3aa1d0c99534947fa6c231e1c9b6333c2e7f0e8a
--- /dev/null
+++ b/home/migrations/0017_alter_homepeoplepage_options_and_more.py
@@ -0,0 +1,21 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:01
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0016_homepeoplepage_homepersonpage'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='homepeoplepage',
+            options={'verbose_name': 'Rozcestník osob'},
+        ),
+        migrations.AlterModelOptions(
+            name='homepersonpage',
+            options={'verbose_name': 'Osoba'},
+        ),
+    ]
diff --git a/home/migrations/0018_remove_homepersonpage_name.py b/home/migrations/0018_remove_homepersonpage_name.py
new file mode 100644
index 0000000000000000000000000000000000000000..9a1c6701c3eae3719cc50c8295ed2a3d3aee1aca
--- /dev/null
+++ b/home/migrations/0018_remove_homepersonpage_name.py
@@ -0,0 +1,17 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:01
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0017_alter_homepeoplepage_options_and_more'),
+    ]
+
+    operations = [
+        migrations.RemoveField(
+            model_name='homepersonpage',
+            name='name',
+        ),
+    ]
diff --git a/home/migrations/0019_alter_homepage_controller_and_more.py b/home/migrations/0019_alter_homepage_controller_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..c13331f77d51fa4389f8eda697f597158dcb1032
--- /dev/null
+++ b/home/migrations/0019_alter_homepage_controller_and_more.py
@@ -0,0 +1,40 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:21
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0018_remove_homepersonpage_name'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='homepage',
+            name='controller',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='council_members',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='director',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='employees',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='volunteers',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'),
+        ),
+    ]
diff --git a/home/migrations/0020_homearticlepage_author_page_and_more.py b/home/migrations/0020_homearticlepage_author_page_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..bc9d6a820bc0365a39264ee69fe689a8429cfc32
--- /dev/null
+++ b/home/migrations/0020_homearticlepage_author_page_and_more.py
@@ -0,0 +1,71 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:27
+
+from django.db import migrations, models
+import django.db.models.deletion
+import wagtail.blocks
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0019_alter_homepage_controller_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='homearticlepage',
+            name='author_page',
+            field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'),
+        ),
+        migrations.AddField(
+            model_name='homedocumentpage',
+            name='author_page',
+            field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'),
+        ),
+        migrations.AddField(
+            model_name='homeeventpage',
+            name='author_page',
+            field=models.ForeignKey(blank=True, help_text='Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže.', null=True, on_delete=django.db.models.deletion.SET_NULL, to='home.homepersonpage', verbose_name='Stránka autora'),
+        ),
+        migrations.AlterField(
+            model_name='homearticlepage',
+            name='author',
+            field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'),
+        ),
+        migrations.AlterField(
+            model_name='homedocumentpage',
+            name='author',
+            field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'),
+        ),
+        migrations.AlterField(
+            model_name='homeeventpage',
+            name='author',
+            field=models.CharField(blank=True, max_length=128, null=True, verbose_name='Jméno autora'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='controller',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='council_members',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='director',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='employees',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='volunteers',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'),
+        ),
+    ]
diff --git a/home/migrations/0021_alter_homepage_controller_and_more.py b/home/migrations/0021_alter_homepage_controller_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..946cb281e320f8b84b0982aa1ecc189b1b6294fd
--- /dev/null
+++ b/home/migrations/0021_alter_homepage_controller_and_more.py
@@ -0,0 +1,40 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:39
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0020_homearticlepage_author_page_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='homepage',
+            name='controller',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='council_members',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='director',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='employees',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='volunteers',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'),
+        ),
+    ]
diff --git a/home/migrations/0022_alter_homepage_controller_and_more.py b/home/migrations/0022_alter_homepage_controller_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..f58c59950cf30c93363d37691ddff4f791a27fa0
--- /dev/null
+++ b/home/migrations/0022_alter_homepage_controller_and_more.py
@@ -0,0 +1,40 @@
+# Generated by Django 4.2.4 on 2023-08-12 19:49
+
+from django.db import migrations
+import wagtail.blocks
+import wagtail.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('home', '0021_alter_homepage_controller_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='homepage',
+            name='controller',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Kontrolor'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='council_members',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Správní rada'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='director',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Ředitel'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='employees',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Zaměstnanci'),
+        ),
+        migrations.AlterField(
+            model_name='homepage',
+            name='volunteers',
+            field=wagtail.fields.StreamField([('person', wagtail.blocks.StructBlock([('name', wagtail.blocks.CharBlock(label='Jméno')), ('position', wagtail.blocks.TextBlock(label='Pracovní pozice', required=False)), ('email', wagtail.blocks.EmailBlock(label='E-mailová adresa', required=False))])), ('person_page', wagtail.blocks.PageChooserBlock(icon='user', label='Stránka osoby', page_type=['home.HomePersonPage']))], blank=True, null=True, use_json_field=True, verbose_name='Dobrovolníci'),
+        ),
+    ]
diff --git a/home/models.py b/home/models.py
index 262f4f5f5ee50cb440637259cc05350be5459f10..c939d03443473c9cdf82d271e7ad95af9ae53a8d 100644
--- a/home/models.py
+++ b/home/models.py
@@ -1,6 +1,7 @@
 from django.db import models
 from django.utils import timezone
 from wagtail.admin.panels import FieldPanel, MultiFieldPanel, TabbedInterface, ObjectList
+from wagtail.blocks import PageChooserBlock
 from wagtail.contrib.routable_page.models import RoutablePageMixin, path
 from wagtail.documents import get_document_model
 from wagtail.fields import RichTextField, StreamField
@@ -26,7 +27,16 @@ class HomePage(RoutablePageMixin, Page):
     # --- People ---
 
     director = StreamField(
-        [("person", PersonBlock())],
+        [
+            (
+                "person",
+                PersonBlock()
+            ),
+            (
+                "person_page",
+                PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user")
+            )
+        ],
         verbose_name="Ředitel",
         use_json_field=True,
         blank=True,
@@ -41,7 +51,16 @@ class HomePage(RoutablePageMixin, Page):
     )
 
     controller = StreamField(
-        [("person", PersonBlock())],
+        [
+            (
+                "person",
+                PersonBlock()
+            ),
+            (
+                "person_page",
+                PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user")
+            )
+        ],
         verbose_name="Kontrolor",
         use_json_field=True,
         blank=True,
@@ -52,7 +71,16 @@ class HomePage(RoutablePageMixin, Page):
     )
 
     council_members = StreamField(
-        [("person", PersonBlock())],
+        [
+            (
+                "person",
+                PersonBlock()
+            ),
+            (
+                "person_page",
+                PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user")
+            )
+        ],
         verbose_name="Správní rada",
         use_json_field=True,
         blank=True,
@@ -63,7 +91,16 @@ class HomePage(RoutablePageMixin, Page):
     )
 
     volunteers = StreamField(
-        [("person", PersonBlock())],
+        [
+            (
+                "person",
+                PersonBlock()
+            ),
+            (
+                "person_page",
+                PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user")
+            )
+        ],
         verbose_name="Dobrovolníci",
         use_json_field=True,
         blank=True,
@@ -74,7 +111,16 @@ class HomePage(RoutablePageMixin, Page):
     )
 
     employees = StreamField(
-        [("person", PersonBlock())],
+        [
+            (
+                "person",
+                PersonBlock()
+            ),
+            (
+                "person_page",
+                PageChooserBlock(page_type="home.HomePersonPage", label="Stránka osoby", icon="user")
+            )
+        ],
         verbose_name="Zaměstnanci",
         use_json_field=True,
         blank=True,
@@ -88,6 +134,7 @@ class HomePage(RoutablePageMixin, Page):
         "home.HomeArticlesPage",
         "home.HomeEventsPage",
         "home.HomeDocumentsPage",
+        "home.HomePeoplePage"
     ]
 
     intro_panels = Page.content_panels + [
@@ -172,6 +219,9 @@ class HomePage(RoutablePageMixin, Page):
         verbose_name = "Domovská stránka"
 
 
+# --- BEGIN Articles, events and documents ---
+
+
 class HomeArticlesPage(RoutablePageMixin, Page):
     content = RichTextField(verbose_name="Obsah", blank=True, null=True)
 
@@ -229,8 +279,17 @@ class HomeDocumentsPage(RoutablePageMixin, Page):
 class HomeContentPageMixin(RoutablePageMixin, Page):
     tags = models.ManyToManyField("Tag", verbose_name="Štítky")
 
+    author_page = models.ForeignKey(
+        "home.HomePersonPage",
+        on_delete=models.SET_NULL,
+        blank=True,
+        null=True,
+        verbose_name="Stránka autora",
+        help_text="Pokud je vybrána stránka, není nutno vyplňovat jméno autora níže."
+    )
+
     author = models.CharField(
-        verbose_name="Autor",
+        verbose_name="Jméno autora",
         max_length=128,
         blank=True,
         null=True,
@@ -243,7 +302,13 @@ class HomeContentPageMixin(RoutablePageMixin, Page):
     parent_page_type = ["home.HomeArticlesPage"]
 
     content_panels = Page.content_panels + [
-        FieldPanel("author", icon="user"),
+        MultiFieldPanel(
+            [
+                FieldPanel("author_page", icon="user"),
+                FieldPanel("author", icon="user"),
+            ],
+            heading="Autor"
+        ),
         FieldPanel("date", icon="calendar"),
         FieldPanel("content", icon="pilcrow"),
     ]
@@ -263,7 +328,13 @@ class HomeArticlePage(HomeContentPageMixin):
     perex = models.TextField(verbose_name="Perex")
 
     content_panels = Page.content_panels + [
-        FieldPanel("author", icon="user"),
+        MultiFieldPanel(
+            [
+                FieldPanel("author_page", icon="user"),
+                FieldPanel("author", icon="user"),
+            ],
+            heading="Autor"
+        ),
         FieldPanel("date", icon="calendar"),
         FieldPanel("perex", icon="pilcrow"),
         FieldPanel("content", icon="pilcrow"),
@@ -284,7 +355,13 @@ class HomeEventPage(HomeContentPageMixin):
     content_panels = Page.content_panels + [
         FieldPanel("date", icon="calendar"),
         FieldPanel("location", icon="globe"),
-        FieldPanel("author", icon="user"),
+        MultiFieldPanel(
+            [
+                FieldPanel("author_page", icon="user"),
+                FieldPanel("author", icon="user"),
+            ],
+            heading="Autor"
+        ),
         FieldPanel("content", icon="pilcrow"),
     ]
 
@@ -303,7 +380,13 @@ class HomeDocumentPage(HomeContentPageMixin):
 
     content_panels = Page.content_panels + [
         FieldPanel("document", icon="doc-full"),
-        FieldPanel("author", icon="user"),
+        MultiFieldPanel(
+            [
+                FieldPanel("author_page", icon="user"),
+                FieldPanel("author", icon="user"),
+            ],
+            heading="Autor"
+        ),
         FieldPanel("date", icon="calendar"),
         FieldPanel("content", icon="pilcrow"),
     ]
@@ -312,6 +395,58 @@ class HomeDocumentPage(HomeContentPageMixin):
         verbose_name = "Dokument"
 
 
+# --- END Articles, events and documents ---
+# --- BEGIN People ---
+
+
+class HomePeoplePage(RoutablePageMixin, Page):
+    content = RichTextField(verbose_name="Obsah", blank=True, null=True)
+
+    parent_page_type = ["home.HomePage"]
+    subpage_types = ["home.HomePersonPage"]
+
+    content_panels = Page.content_panels + [
+        FieldPanel("content", icon="pilcrow"),
+    ]
+
+    @property
+    def people(self):
+        return HomePersonPage.objects.live().order_by("-title").all()
+
+    class Meta:
+        verbose_name = "Rozcestník osob"
+
+
+class HomePersonPage(RoutablePageMixin, Page):
+    image = models.ForeignKey(
+        "wagtailimages.Image",
+        null=True,
+        blank=True,
+        on_delete=models.SET_NULL,
+        related_name='+',
+        verbose_name="Profilový obrázek"
+    )
+
+    position = models.TextField(verbose_name="Pracovní pozice", blank=True, null=True)
+
+    email = models.EmailField(verbose_name="Emailová adresa", blank=True, null=True)
+
+    description = RichTextField(verbose_name="Popis", blank=True, null=True)
+
+    content_panels = Page.content_panels + [
+        FieldPanel("image", icon="image"),
+        FieldPanel("position", icon="pilcrow"),
+        FieldPanel("email", icon="mail"),
+        FieldPanel("description", icon="pilcrow"),
+    ]
+
+    class Meta:
+        verbose_name = "Osoba"
+
+
+# --- END People ---
+
+
 class Tag(models.Model):
     name = models.CharField(verbose_name="Jméno", max_length=32)
 
diff --git a/home/templates/home/blocks/person_page_block.html b/home/templates/home/blocks/person_page_block.html
new file mode 100644
index 0000000000000000000000000000000000000000..903facb5e32ce79cac58b1df7100c3f8c6f81844
--- /dev/null
+++ b/home/templates/home/blocks/person_page_block.html
@@ -0,0 +1,25 @@
+<li>
+    <div class="flex gap-2">
+        <div class="flex gap-2">
+            <a href="{{ page.url }}">
+                {% if page.position %}
+                    <strong>{{ page.title }}</strong>
+                {% else %}
+                    {{ page.title }}
+                {% endif %}
+            </a>
+
+            {% if page.email %}
+                <a href="mailto:{{ page.email }}">
+                    <div class="flex items-center">
+                        <i class="ico--at text-xl text-pii-cyan"></i>
+                    </div>
+                </a>
+            {% endif %}
+        </div>
+    </div>
+
+    {% if page.position %}
+        <p class="leading-4 whitespace-pre-line">{{ page.position }}</p>
+    {% endif %}
+</li>
diff --git a/home/templates/home/home_article_page.html b/home/templates/home/home_article_page.html
index 45c7731ac797532c8914fe975f25c8dd5170e78b..4f0b5b74ccf4d37a16ecfacdb3388be657cb464f 100644
--- a/home/templates/home/home_article_page.html
+++ b/home/templates/home/home_article_page.html
@@ -11,7 +11,16 @@
                 <i class="ico--calendar"></i>
                 <div>{{ page.date }}</div>
             </div>
-            {% if page.author %}
+
+            {% if page.author_page %}
+                <a
+                    class="flex gap-2 items-center"
+                    href="{{ page.author_page.url }}"
+                >
+                    <i class="ico--user"></i>
+                    <div>{{ page.author_page.title }}</div>
+                </a>
+            {% elif page.author %}
                 <div class="flex gap-2 items-center">
                     <i class="ico--user"></i>
                     <div>{{ page.author }}</div>
diff --git a/home/templates/home/home_document_page.html b/home/templates/home/home_document_page.html
index a50f53b1dee5032ee8e3f1a0b93551d3089abd78..54e9eadd405b0c5e0e16cc4c8f03b676da8a8fcc 100644
--- a/home/templates/home/home_document_page.html
+++ b/home/templates/home/home_document_page.html
@@ -6,8 +6,16 @@
     <div class="container">
         <h1 class="font-bebas text-4xl">{{ page.title }}</h1>
 
-        {% if page.author %}
-            <div class="flex gap-2 mt-3 items-center text-gray-700">
+        {% if page.author_page %}
+            <a
+                class="flex gap-2 items-center"
+                href="{{ page.author_page.url }}"
+            >
+                <i class="ico--user"></i>
+                <div>{{ page.author_page.title }}</div>
+            </a>
+        {% elif page.author %}
+            <div class="flex gap-2 items-center">
                 <i class="ico--user"></i>
                 <div>{{ page.author }}</div>
             </div>
diff --git a/home/templates/home/home_documents_page.html b/home/templates/home/home_documents_page.html
index 6d9dfa087945dc1195c060178f13377734eb43d9..82d187d54e23f14cafcdb2c994f2db9ab55f14fa 100644
--- a/home/templates/home/home_documents_page.html
+++ b/home/templates/home/home_documents_page.html
@@ -12,7 +12,7 @@
             </div>
         {% endif %}
 
-        <ul class="flex flex-col gap-2 list-disc ml-3">
+        <ul class="flex flex-col gap-2 list-disc ml-3 font-serif">
             {% for document in page.documents %}
                 <li>
                     <a
diff --git a/home/templates/home/home_event_page.html b/home/templates/home/home_event_page.html
index 4e67595aae849df3aa32451292e59b66f29a7854..f8f38c0c2218734dcb746dc850daabbebb345ec1 100644
--- a/home/templates/home/home_event_page.html
+++ b/home/templates/home/home_event_page.html
@@ -21,7 +21,15 @@
                 </div>
             {% endif %}
 
-            {% if page.author %}
+            {% if page.author_page %}
+                <a
+                    class="flex gap-2 items-center"
+                    href="{{ page.author_page.url }}"
+                >
+                    <i class="ico--user"></i>
+                    <div>{{ page.author_page.title }}</div>
+                </a>
+            {% elif page.author %}
                 <div class="flex gap-2 items-center">
                     <i class="ico--user"></i>
                     <div>{{ page.author }}</div>
diff --git a/home/templates/home/home_events_page.html b/home/templates/home/home_events_page.html
index 109bb99dd86271a696a790227b8424a5da9aa4f9..3fe549f403f20e8a17f01084a98ce8d23de4ff27 100644
--- a/home/templates/home/home_events_page.html
+++ b/home/templates/home/home_events_page.html
@@ -12,19 +12,18 @@
             </div>
         {% endif %}
 
-        <ul class="flex flex-col gap-2 list-disc ml-3">
+        <ul class="flex flex-col gap-2 list-disc ml-3 font-serif">
             {% for event in page.events %}
                 <li class="text-gray-500">
                     <a
-                        class="flex gap-3"
+                        class="flex gap-2 flex-wrap"
                         href="{{ event.url }}"
                     >
+                        <div class="underline text-black">{{ event.title }}</div>
                         <div>
-                            {{ event.date }}{% if event.location %},
-                                {{ event.location }}
-                            {% endif %}
+                            ({{ event.date }}{% if event.location %},
+                                {{ event.location }}{% endif %})
                         </div>
-                        <div class="underline text-black">{{ event.title }}</div>
                     </a>
                 </li>
             {% endfor %}
diff --git a/home/templates/home/home_page.html b/home/templates/home/home_page.html
index 0add6da8f1f57d7e67ab580072287a7712232770..1959d3c304dd5d451c1248335907a166cc430543 100644
--- a/home/templates/home/home_page.html
+++ b/home/templates/home/home_page.html
@@ -164,7 +164,9 @@
         </div>
     </section>
 
-    <section class="container flex flex-col gap-3" id="dary">
+    <section class="container flex flex-col gap-3">
+        <span class="invisible relative top-[-8rem]" id="dary"></span>
+
         <h2 class="font-bebas text-3xl uppercase leading-7">Dary</h2>
 
         <div>
@@ -176,7 +178,9 @@
         </div>
     </section>
 
-    <section class="flex justify-center bg-grey-50 p-10 w-full" id="kontakty">
+    <section class="flex justify-center bg-grey-50 p-10 w-full">
+        <span class="invisible relative top-[-8rem]" id="kontakty"></span>
+
         <div class="container flex flex-col gap-3">
             <h2 class="font-bebas text-3xl uppercase leading-7">Kontakty</h2>
 
@@ -210,7 +214,9 @@
         </div>
     </section>
 
-    <section class="container flex flex-col gap-3" id="lide">
+    <section class="container flex flex-col gap-3">
+        <span class="invisible relative top-[-8rem]" id="lide"></span>
+
         <h2 class="font-bebas text-3xl uppercase leading-7">Lidé</h2>
 
         <div class="flex flex-col lg:grid lg:grid-cols-3 gap-20 min-h-screen">
@@ -221,9 +227,13 @@
                         {{ page.director_description }}
                     </p>
 
-                    <ul>
+                    <ul class="flex flex-col gap-3">
                         {% for block in page.director %}
-                            {% include_block block %}
+                            {% if block.block_type == "person" %}
+                                {% include_block block %}
+                            {% else %}
+                                {% include "home/blocks/person_page_block.html" with page=block.value %}
+                            {% endif %}
                         {% endfor %}
                     </ul>
                 </section>
@@ -241,9 +251,13 @@
                         {{ page.controller_description }}
                     </p>
 
-                    <ul>
+                    <ul class="flex flex-col gap-3">
                         {% for block in page.controller %}
-                            {% include_block block %}
+                            {% if block.block_type == "person" %}
+                                {% include_block block %}
+                            {% else %}
+                                {% include "home/blocks/person_page_block.html" with page=block %}
+                            {% endif %}
                         {% endfor %}
                     </ul>
                 </section>
@@ -258,7 +272,11 @@
 
                     <ul class="flex flex-col gap-3">
                         {% for block in page.council_members %}
-                            {% include_block block %}
+                            {% if block.block_type == "person" %}
+                                {% include_block block %}
+                            {% else %}
+                                {% include "home/blocks/person_page_block.html" with page=block %}
+                            {% endif %}
                         {% endfor %}
                     </ul>
                 </section>
@@ -279,7 +297,11 @@
                     </h4>
                     <ul class="flex flex-col leading-5">
                         {% for block in page.volunteers %}
-                            {% include_block block %}
+                            {% if block.block_type == "person" %}
+                                {% include_block block %}
+                            {% else %}
+                                {% include "home/blocks/person_page_block.html" with page=block %}
+                            {% endif %}
                         {% endfor %}
                     </ul>
                 </section>
@@ -297,7 +319,11 @@
                 </p>
 
                 {% for block in page.employees %}
-                    {% include_block block %}
+                    {% if block.block_type == "person" %}
+                        {% include_block block %}
+                    {% else %}
+                        {% include "home/blocks/person_page_block.html" with page=block %}
+                    {% endif %}
                 {% endfor %}
             </ul>
         </section>
diff --git a/home/templates/home/home_people_page.html b/home/templates/home/home_people_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..6bc7bfdea2e33db69c93869b76c40d3211c55bf6
--- /dev/null
+++ b/home/templates/home/home_people_page.html
@@ -0,0 +1,29 @@
+{% extends "base.html" %}
+{% load static wagtailcore_tags %}
+
+{% block content %}
+<main class="flex flex-col items-center gap-10 pt-14">
+    <div class="container">
+        <h1 class="font-bebas text-4xl mb-4">{{ page.title }}</h1>
+
+        {% if page.content %}
+            <div class="prose font-serif mb-3">
+                {{ page.content|richtext }}
+            </div>
+        {% endif %}
+
+        <ul class="flex flex-col gap-2 list-disc ml-3 font-serif">
+            {% for person in page.people %}
+                <li>
+                    <a
+                        class="underline"
+                        href="{{ person.url }}"
+                    >
+                        {{ person.title }}
+                    </a>
+                </li>
+            {% endfor %}
+        </ul>
+    </div>
+</main>
+{% endblock content %}
diff --git a/home/templates/home/home_person_page.html b/home/templates/home/home_person_page.html
new file mode 100644
index 0000000000000000000000000000000000000000..0d6fd81ed90758a27918b8327f94d2590129be71
--- /dev/null
+++ b/home/templates/home/home_person_page.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+{% load static wagtailcore_tags wagtailimages_tags %}
+
+{% block content %}
+<main class="flex justify-center pt-14">
+    <div class="container flex flex-col gap-5">
+        <div class="flex gap-3">
+            {% if page.image %}
+                {% image page.image max-400x400 as profile_image %}
+
+                <img
+                    class="rounded-full w-40 h-40"
+                    src="{{ profile_image.url }}"
+                    alt="Profilový obrázek osoby {{ page.title }}"
+                >
+            {% endif %}
+            <div class="flex flex-col">
+                <h1 class="font-bebas text-4xl">{{ page.title }}</h1>
+
+                {% if page.position %}
+                    <div class="text-gray-500 whitespace-pre-line font-serif">{{ page.position }}</div>
+                {% endif %}
+
+                {% if page.email %}
+                    <hr class="my-2">
+
+                    <a class="flex gap-2 font-serif text-gray-500" href="mailto:{{ page.email }}">
+                        <div class="flex items-center">
+                            <i class="ico--at text-xl"></i>
+                        </div>
+                        <span>{{ page.email }}</span>
+                    </a>
+                {% endif %}
+            </div>
+        </div>
+
+        {% if page.position %}
+            <div class="prose max-w-screen-md font-serif">
+                {{ page.position|richtext }}
+            </div>
+        {% endif %}
+    </div>
+</main>
+{% endblock content %}
diff --git a/institut/templates/base.html b/institut/templates/base.html
index c25a00ca76b3f80d9d4a6c05950a5b267b102b46..d9d96a7b28aa2f2ffc4a155d71f431cd562fbac9 100644
--- a/institut/templates/base.html
+++ b/institut/templates/base.html
@@ -45,7 +45,7 @@
     <body>
         {% wagtailuserbar %}
 
-        <nav class="bg-grey-800 py-8 flex justify-center">
+        <nav class="sticky top-0 drop-shadow-lg bg-grey-800 py-8 flex justify-center">
             <div class="flex gap-7 container text-white items-center">
                 <a
                     href="/"
@@ -62,8 +62,7 @@
                 ></div>
 
                 <div class="gap-4 hidden md:flex">
-                    <a class="nav__item" href="/#uvod">Úvod</a>
-                    <a class="nav__item" href="/clanky">Aktuálně</a>
+                    <a class="nav__item" href="/clanky">Články</a>
                     <a class="nav__item" href="/akce">Akce</a>
                     <a class="nav__item" href="/dokumenty">Dokumenty</a>
                     <a class="nav__item" href="/#dary">Dary</a>